UNPKG

@launchdarkly/js-server-sdk-common

Version:
24 lines 1.46 kB
import { internal } from '@launchdarkly/js-sdk-common'; import { DataKind } from '../api/interfaces'; import { LDFeatureStore, LDFeatureStoreDataStorage, LDFeatureStoreItem, LDFeatureStoreKindData, LDKeyedFeatureStoreItem, LDTransactionalFeatureStore } from '../api/subsystems'; /** * This decorator can take a non-transactional {@link LDFeatureStore} implementation * and adapt it to be transactional through the use of an in-memory store acting as * cache. */ export default class TransactionalFeatureStore implements LDTransactionalFeatureStore { private readonly _nonTransPersistenceStore; private _memoryStore; private _activeStore; constructor(_nonTransPersistenceStore: LDFeatureStore); get(kind: DataKind, key: string, callback: (res: LDFeatureStoreItem | null) => void): void; all(kind: DataKind, callback: (res: LDFeatureStoreKindData) => void): void; init(allData: LDFeatureStoreDataStorage, callback: () => void): void; delete(kind: DataKind, key: string, version: number, callback: () => void): void; upsert(kind: DataKind, data: LDKeyedFeatureStoreItem, callback: () => void): void; applyChanges(basis: boolean, data: LDFeatureStoreDataStorage, callback: () => void, initMetadata?: internal.InitMetadata, selector?: string): void; initialized(callback: (isInitialized: boolean) => void): void; close(): void; getDescription(): string; } //# sourceMappingURL=TransactionalFeatureStore.d.ts.map