Skip to main content

Class: NatsStateStore


PURISTA API / Modules / @purista/nats-state-store / NatsStateStore

Class: NatsStateStore

@purista/nats-state-store.NatsStateStore

A state store for using NATS (with JetStream) as storage.

Example

const config = {
  port: 8222
}

const store = new NatsStateStore({ config })

await store.setState('stateKey',{ myState: 'value' })

let value = await store.getState('stateKey')
console.log(value) // outputs: { stateKey: { myState: 'value' } }

await store.removeState('stateKey')

value = await store.getState('stateKey')
console.log(value) // outputs: undefined

Hierarchy

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new NatsStateStore(config?): NatsStateStore

Parameters

NameTypeDescription
config?Object-
config.cacheTtl?numberCache time to live in ms
config.enableCache?booleanEnable cache
config.enableGet?booleanEnable generally get method
config.enableRemove?booleanEnable generally remove method
config.enableSet?booleanEnable generally set method
config.keyValueStoreName?string-
config.logLevel?LogLevelNameA log level for new logger if logger is not set
config.logger?LoggerA logger instance

Returns

NatsStateStore

Overrides

StateStoreBaseClass<NatsStateStoreConfig>.constructor

Defined in

nats-state-store/src/NatsStateStore.impl.ts:34open in new window

Properties

config

config: Object

Type declaration

NameTypeDescription
cacheTtl?numberCache time to live in ms
enableCache?booleanEnable cache
enableGet?booleanEnable generally get method
enableRemove?booleanEnable generally remove method
enableSet?booleanEnable generally set method
keyValueStoreNamestring-
logLevel?LogLevelNameA log level for new logger if logger is not set
logger?LoggerA logger instance

Inherited from

StateStoreBaseClass.config

Defined in

core/lib/types/core/StateStore/StateStoreBaseClass.impl.d.ts:10


connection

connection: undefined | NatsConnection

Defined in

nats-state-store/src/NatsStateStore.impl.ts:29open in new window


kv

kv: undefined | KV

Defined in

nats-state-store/src/NatsStateStore.impl.ts:32open in new window


logger

logger: Logger

Inherited from

StateStoreBaseClass.logger

Defined in

core/lib/types/core/StateStore/StateStoreBaseClass.impl.d.ts:9


name

name: string

Inherited from

StateStoreBaseClass.name

Defined in

core/lib/types/core/StateStore/StateStoreBaseClass.impl.d.ts:11


sc

sc: Codec<unknown>

Defined in

nats-state-store/src/NatsStateStore.impl.ts:31open in new window

Methods

destroy

destroy(): Promise<void>

Returns

Promise<void>

Overrides

StateStoreBaseClass.destroy

Defined in

nats-state-store/src/NatsStateStore.impl.ts:123open in new window


getState

getState(...stateNames): Promise<Record<string, unknown>>

Parameters

NameType
...stateNamesstring[]

Returns

Promise<Record<string, unknown>>

Overrides

StateStoreBaseClass.getState

Defined in

nats-state-store/src/NatsStateStore.impl.ts:70open in new window


getStore

getStore(): Promise<KV>

Returns

Promise<KV>

Defined in

nats-state-store/src/NatsStateStore.impl.ts:42open in new window


removeState

removeState(stateName): Promise<void>

Parameters

NameType
stateNamestring

Returns

Promise<void>

Overrides

StateStoreBaseClass.removeState

Defined in

nats-state-store/src/NatsStateStore.impl.ts:91open in new window


setState

setState(stateName, stateValue): Promise<void>

Parameters

NameType
stateNamestring
stateValueunknown

Returns

Promise<void>

Overrides

StateStoreBaseClass.setState

Defined in

nats-state-store/src/NatsStateStore.impl.ts:107open in new window

Last update:
Contributors: Sebastian Wessel