UNPKG

@darlean/core

Version:

Darlean core functionality for creating applications that define, expose and host actors

23 lines (22 loc) 1.54 kB
import { IMultiChunkTableSearchRequest, IPersistable, ITableIndexItem, ITablePersistence, ITablePutResponse, ITableSearchItem, ITableSearchRequest, ITableSearchResponse, ITablesService } from '@darlean/base'; import { IDeSer } from '@darlean/utils'; /** * Implementation of persistence that uses a table as persistence. * * Although this class implements persistence, it does not implement {@link IPersistence}, because it is too fundamentally * different. One such difference is that it only understands "just keys", not "partition" or "sort" keys. */ export declare class TablePersistence<T> implements ITablePersistence<T> { private deser; private service; private specifier; private indexer; constructor(service: ITablesService, indexer: (item: T) => ITableIndexItem[], deser: IDeSer, specifier?: string); search(options: ITableSearchRequest): Promise<ITableSearchResponse>; searchChunks(options: ITableSearchRequest & IMultiChunkTableSearchRequest): AsyncGenerator<ITableSearchResponse, void>; searchItems(options: ITableSearchRequest & IMultiChunkTableSearchRequest): AsyncGenerator<ITableSearchItem, void>; persistable(key: string[], value: T | undefined): IPersistable<T>; load(key: string[]): Promise<IPersistable<T>>; loadImpl(key: string[]): Promise<[value: T | undefined, version: string | undefined, baseline: string | undefined]>; storeImpl(key: string[], value: T | undefined, version: string, baseline: string | undefined): Promise<ITablePutResponse>; }