UNPKG

@webda/core

Version:

Expose API with Lambda

152 lines (151 loc) 3.67 kB
import { CoreModel } from "../models/coremodel.js"; import { Store, StoreFindResult, StoreParameters } from "./store.js"; import { WebdaQL } from "./webdaql/query.js"; interface StorageMap { [key: string]: string; } /** * Memory store */ declare class MemoryStoreParameters extends StoreParameters { /** * Persist the data in a file */ persistence?: { /** * File path to save to */ path: string; /** * Encryption key for AES encryption */ key?: string; /** * By default only save once every 1s if modified * * @default 1000 */ delay?: number; /** * cipher to use */ cipher?: string; /** * Compression level to use * @default 9 * @max 9 * @min 0 */ compressionLevel?: number; }; constructor(params: any, service: MemoryStore); } /** * Store in Memory * * @category CoreServices * @WebdaModda */ declare class MemoryStore<T extends CoreModel = CoreModel, K extends MemoryStoreParameters = MemoryStoreParameters> extends Store<T, K> { /** * Inmemory storage */ storage: StorageMap; /** * Persistence timeout id */ private persistenceTimeout; /** * Current persistence */ persistencePromise: any; /** * AES encryption key */ private key; /** * Persist inmemory storage to file * * Called every this.parameters.persistence.delay ms */ persist(): Promise<void>; /** * Load a persisted memory data */ load(): Promise<void>; /** * @override */ loadParameters(params: any): MemoryStoreParameters; /** * @override */ init(): Promise<this>; /** * Ensure the store is saved if persistence is on */ stop(): Promise<void>; /** * @override */ _exists(uid: any): Promise<boolean>; /** * @override */ find(query: WebdaQL.Query): Promise<StoreFindResult<T>>; /** * @override */ _save(object: T): Promise<T>; /** * @override */ _delete(uid: string): Promise<void>; /** * @override */ _patch(object: any, uuid: string, writeCondition?: any, writeConditionField?: string): Promise<T>; /** * @override */ _update(object: any, uid: string, writeCondition?: any, writeConditionField?: string): Promise<T>; /** * @override */ getAll(uids?: string[]): Promise<any>; /** * Retrieve the object as model * * @param uid * @returns */ _getSync(uid: string, raiseIfNotFound?: boolean): T; /** * @override */ _removeAttribute(uuid: string, attribute: string, writeCondition?: any, writeConditionField?: string): Promise<void>; /** * @override */ _get(uid: any, raiseIfNotFound?: boolean): Promise<T>; /** * @override */ __clean(): Promise<void>; /** * @override */ _incrementAttributes(uid: any, params: { property: string; value: number; }[], updateDate: Date): Promise<T>; /** * @inheritdoc */ _upsertItemToCollection(uid: string, prop: string, item: any, index: number, itemWriteCondition: any, itemWriteConditionField: string, updateDate: Date): Promise<void>; /** * @override */ _deleteItemFromCollection(uid: any, prop: any, index: any, itemWriteCondition: any, itemWriteConditionField: any, updateDate: Date): Promise<T>; } export { MemoryStore, MemoryStore as Plop, StorageMap };