store-js
Install
npm install --save @blackglory/store-js
# or
yarn add @blackglory/store-js
API
StoreClient
new StoreClient({
server: string
, token?: string
, basicAuth?: {
username: string
, password: string
}
, keepalive?: boolean
, timeout?: number
})
interface IStoreClientRequestOptions {
signal?: AbortSignal
token?: string
keepalive?: boolean
timeout?: number | false
}
interface IStoreClientRequestOptionsWithRevision extends IStoreClientRequestOptions {
revision?: string
}
interface IStoreClientRequestOptionsWithoutToken {
signal?: AbortSignal
keepalive?: boolean
timeout?: number | false
}
set
StoreClient#set(
namespace: string
, id: string
, payload: string
, options?: IStoreClientRequestOptionsWithRevision
): Promise<void>
setJSON
StoreClient#setJSON(
namespace: string
, id: string
, payload: Json
, options?: IStoreClientRequestOptionsWithRevision
): Promise<void>
setCSV
StoreClient#setJSON<T extends object>(
namespace: string
, id: string
, payload: T[]
, options?: IStoreClientRequestOptionsWithRevision
): Promise<void>
has
StoreClient#has(
namespace: string
, id: string
, options?: IStoreClientRequestOptionsWithRevision
): Promise<boolean>
get
StoreClient#get(
namespace: string
, id: string
, options?: IStoreClientRequestOptionsWithRevision
): Promise<{
revision: string
payload: string
} | undefined>
getJSON
StoreClient#getJSON(
namespace: string
, id: string
, options?: IStoreClientRequestOptionsWithRevision
): Promise<{
revision: string
payload: Json
} | undefined>
getCSV
StoreClient#getCSV<T extends object>(
namespace: string
, id: string
, options?: IStoreClientRequestOptionsWithRevision
): Promise<{
revision: string
payload: T[]
} | undefined>
del
StoreClient#del(
namespace: string
, id: string
, options?: IStoreClientRequestOptionsWithRevision
): Promise<void>
clear
StoreClient#clear(
namespace: string
, options?: IStoreClientRequestOptions
): Promise<void>
getAllItemIds
StoreClient#getAllItemIds(
namespace: string
, options?: IStoreClientRequestOptions
): Promise<string[]>
getAllNamespaces
StoreClient#getAllNamespaces(
options?: IStoreClientRequestOptionsWithoutToken
): Promise<string[]>
stats
StoreClient#stats(
namespace: string
, options?: IStoreClientRequestOptionsWithoutToken
): Promise<<{
namespace: string
items: number
}>
StoreManager
new StoreManager({
server: string
, adminPassword: string
, keepalive?: boolean
, timeout?: number
})
interface IStoreManagerRequestOptions {
signal?: AbortSignal
keepalive?: boolean
timeout?: number | false
}
JsonSchema
getNamespaces
StoreManager#JsonSchema.getNamespaces(
options?: IStoreManagerRequestOptions
): Promise<string[]>
get
StoreManager#JsonSchema.get(namespace: string, options?: IStoreManagerRequestOptions): Promise<Json>
set
StoreManager#JsonSchema.set(
namespace: string
, schema: Json
, options?: IStoreManagerRequestOptions
): Promise<void>
remove
StoreManager#JsonSchema.remove(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
RevisionPolicy
getNamespaces
StoreManager#RevisionPolicy.getNamespaces(
options?: IStoreManagerRequestOptions
): Promise<string[]>
get
StoreManager#RevisionPolicy.get(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<{
updateRevisionRequired: boolean | null
deleteRevisionRequired: boolean | null
}>
setUpdateRevisionRequired
StoreManager#RevisionPolicy.setUpdateRevisionRequired(
namespace: string
, val: boolean
, options?: IStoreManagerRequestOptions
): Promise<void>
removeUpdateRevisionRequired
StoreManager#RevisionPolicy.removeUpdateRevisionRequired(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
setDeleteRevisionRequired
StoreManager#RevisionPolicy.setDeleteRevisionRequired(
namespace: string
, val: boolean
, options?: IStoreManagerRequestOptions
): Promise<void>
removeDeleteRevisionRequired
StoreManager#RevisionPolicy.removeDeleteRevisionRequired(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
Blacklist
getNamespaces
StoreManager#Blacklist.getNamespaces(
options?: IStoreManagerRequestOptions
): Promise<string[]>
add
StoreManager#Blacklist.add(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
remove
StoreManager#Blacklist.remove(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
Whitelist
getNamespaces
StoreManager#Whitelist.getNamespaces(
options?: IStoreManagerRequestOptions
): Promise<string[]>
add
StoreManager#Whitelist.add(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
remove
StoreManager#Whitelist.remove(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
TokenPolicy
getNamespaces
StoreManager#TokenPolicy.getNamespaces(
options?: IStoreManagerRequestOptions
): Promise<string[]>
get
StoreManager#TokenPolicy.get(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<{
writeTokenRequired: boolean | null
readTokenRequired: boolean | null
deleteTokenRequired: boolean | null
}>
setWriteTokenRequired
StoreManager#TokenPolicy.setWriteTokenRequired(
namespace: string
, val: boolean
, options?: IStoreManagerRequestOptions
): Promise<void>
removeWriteTokenRequired
StoreManager#TokenPolicy.removeWriteTokenRequired(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
setReadTokenRequired
StoreManager#TokenPolicy.setReadTokenRequired(
namespace: string
, val: boolean
, options?: IStoreManagerRequestOptions
): Promise<void>
removeReadTokenRequired
StoreManager#TokenPolicy.removeReadTokenRequired(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
setDeleteTokenRequired
StoreManager#TokenPolicy.setDeleteTokenRequired(
namespace: string
, val: boolean
, options?: IStoreManagerRequestOptions
): Promise<void>
removeDeleteTokenRequired
StoreManager#TokenPolicy.removeDeleteTokenRequired(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<void>
Token
getNamespaces
StoreManager#Token.getNamespaces(options?: IStoreManagerRequestOptions): Promise<string[]>
getTokens
StoreManager#Token.getTokens(
namespace: string
, options?: IStoreManagerRequestOptions
): Promise<Array<{
token: string
write: boolean
read: boolean
delete: boolean
}>>
addWriteToken
StoreManager#Token.addWriteToken(
namespace: string
, token: string
, options?: IStoreManagerRequestOptions
): Promise<void>
removeWriteToken
StoreManager#Token.removeWriteToken(
namespace: string
, token: string
, options?: IStoreManagerRequestOptions
): Promise<void>
addReadToken
StoreManager#Token.addReadToken(
namespace: string
, token: string
, options?: IStoreManagerRequestOptions
): Promise<void>
removeReadToken
StoreManager#Token.removeReadToken(
namespace: string
, token: string
, options?: IStoreManagerRequestOptions
): Promise<void>
addDeleteToken
StoreManager#Token.addDeleteToken(
namespace: string
, token: string
, options?: IStoreManagerRequestOptions
): Promise<void>
removeDeleteToken
StoreManager#Token.removeDeleteToken(
namespace: string
, token: string
, options?: IStoreManagerRequestOptions
): Promise<void>