@launchdarkly/js-server-sdk-common
Version:
LaunchDarkly Server SDK for JavaScript - common code
24 lines • 1.46 kB
TypeScript
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