An open API service indexing awesome lists of open source software.

https://github.com/blackglory/store-js

🌲 The JavaScript SDK for Store
https://github.com/blackglory/store-js

browser esm library nodejs npm-package typescript

Last synced: 3 months ago
JSON representation

🌲 The JavaScript SDK for Store

Awesome Lists containing this project

README

          

# store-js
## Install
```sh
npm install --save @blackglory/store-js
# or
yarn add @blackglory/store-js
```

## API
### StoreClient
```ts
interface IStoreClientOptions {
server: string
timeout?: number
retryIntervalForReconnection?: number
}

interface INamespaceStats {
items: number
}

interface IItem {
value: JSONValue
revision: string
}

class IncorrectRevision extends CustomError {}

class StoreClient {
static create(options: IStoreClientOptions): Promise

close(): Promise

getNamespaceStats(
namespace: string
, signal?: AbortSignal
): Promise

getAllNamespaces(signal?: AbortSignal): Promise

getAllItemIds(namespace: string, signal?: AbortSignal): Promise

clearItemsByNamespace(namespace: string, signal?: AbortSignal): Promise

hasItem(
namespace: string
, itemId: string
, signal?: AbortSignal
): Promise

getItem(
namespace: string
, itemId: string
, signal?: AbortSignal
): Promise

/**
* @throws {IncorrectRevision}
* 在提供revision参数的情况下, 如果目标项目的revision值不等于参数, 或项目不存在, 则抛出此错误.
*/
setItem(
namespace: string
, itemId: string
, value: JSONValue
, revision?: string | null
, signal?: AbortSignal
): Promise

/**
* @throws {IncorrectRevision}
* 在提供revision参数的情况下, 如果目标项目的revision值不等于参数, 或项目不存在, 则抛出此错误.
*/
removeItem(
namespace: string
, itemId: string
, revision?: string
, signal?: AbortSignal
): Promise
}
```