pubsub-js
Install
npm install --save @blackglory/pubsub-js
# or
yarn add @blackglory/pubsub-js
API
PubSubClient
new PubSubClient{
server: string
, token?: string
, basicAuth?: {
username: string
, password: string
}
, keepalive?: boolean
, heartbeat?: IHeartbeatOptions
, timeout?: number
})
interface IPubSubClientRequestOptions {
signal?: AbortSignal
token?: string
keepalive?: boolean
timeout?: number | false
}
interface IPubSubClientObserveOptions {
token?: string
heartbeat?: IHeartbeatOptions
}
interface IHeartbeatOptions {
timeout: number
}
publish
PubSubClient#publish(
namespace: string
, val: string
, options?: IPubSubClientRequestOptions
): Promise<void>
publishJSON
PubSubClient#publishJSON(
namespace: string
, val: Json
, options?: IPubSubClientRequestOptions
): Promise<void>
subscribe
PubSubClient#subscribe(
namespace: string
, options?: IPubSubClientObserveOptions
): Observable<string>
subscribeJSON
PubSubClient#subscribeJSON(
namespace: string
, options?: IPubSubClientObserveOptions
): Observable<Json>
PubSubManager
new PubSubManager({
server: string
, adminPassword: string
, keepalive?: boolean
, timeout?: number
})
interface IPubSubManagerRequestOptions {
signal?: AbortSignal
keepalive?: boolean
timeout?: number | false
}
JsonSchema
getNamespaces
PubSubManager#JsonSchema.getNamespaces(
options?: IPubSubManagerRequestOptions
): Promise<string[]>
get
PubSubManager#JsonSchema.get(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<Json>
set
PubSubManager#JsonSchema.set(
namespace: string
, schema: Json
, options?: IPubSubManagerRequestOptions
): Promise<void>
remove
PubSubManager#JsonSchema.remove(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
RevisionPolicy
getNamespaces
PubSubManager#RevisionPolicy.getNamespaces(
options?: IPubSubManagerRequestOptions
): Promise<string[]>
get
PubSubManager#RevisionPolicy.get(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<{
updateRevisionRequired: boolean | null
deleteRevisionRequired: boolean | null
}>
setUpdateRevisionRequired
PubSubManager#RevisionPolicy.setUpdateRevisionRequired(
namespace: string
, val: boolean
, options?: IPubSubManagerRequestOptions
): Promise<void>
removeUpdateRevisionRequired
PubSubManager#RevisionPolicy.removeUpdateRevisionRequired(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
setDeleteRevisionRequired
PubSubManager#RevisionPolicy.setDeleteRevisionRequired(
namespace: string
, val: boolean
, options?: IPubSubManagerRequestOptions
): Promise<void>
removeDeleteRevisionRequired
PubSubManager#RevisionPolicy.removeDeleteRevisionRequired(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
Blacklist
getNamespaces
PubSubManager#Blacklist.getNamespaces(
options?: IPubSubManagerRequestOptions
): Promise<string[]>
add
PubSubManager#Blacklist.add(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
remove
PubSubManager#Blacklist.remove(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
Whitelist
getNamespaces
PubSubManager#Whitelist.getNamespaces(
options?: IPubSubManagerRequestOptions
): Promise<string[]>
add
PubSubManager#Whitelist.add(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
remove
PubSubManager#Whitelist.remove(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
TokenPolicy
getNamespaces
PubSubManager#TokenPolicy.getNamespaces(
options?: IPubSubManagerRequestOptions
): Promise<string[]>
get
PubSubManager#TokenPolicy.get(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<{
writeTokenRequired: boolean | null
readTokenRequired: boolean | null
}>
setWriteTokenRequired
PubSubManager#TokenPolicy.setWriteTokenRequired(
namespace: string
, val: boolean
, options?: IPubSubManagerRequestOptions
): Promise<void>
removeWriteTokenRequired
PubSubManager#TokenPolicy.removeWriteTokenRequired(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
setReadTokenRequired
PubSubManager#TokenPolicy.setReadTokenRequired(
namespace: string
, val: boolean
, options?: IPubSubManagerRequestOptions
): Promise<void>
removeReadTokenRequired
PubSubManager#TokenPolicy.removeReadTokenRequired(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
Token
getNamespaces
PubSubManager#Token.getNamespaces(
options?: IPubSubManagerRequestOptions
): Promise<string[]>
getTokens
PubSubManager#Token.getTokens(
namespace: string
, options?: IPubSubManagerRequestOptions
): Promise<Array<{
token: string
write: boolean
read: boolean
}>>
addWriteToken
PubSubManager#Token.addWriteToken(
namespace: string
, token: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
removeWriteToken
PubSubManager#Token.removeWriteToken(
namespace: string
, token: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
addReadToken
PubSubManager#Token.addReadToken(
namespace: string
, token: string
, options?: IPubSubManagerRequestOptions
): Promise<void>
removeReadToken
PubSubManager#Token.removeReadToken(
namespace: string
, token: string
, options?: IPubSubManagerRequestOptions
): Promise<void>