@synerty/vortexjs
Version:
Custom observable data serialisation and routing based on Angular 2+
27 lines (26 loc) • 1.29 kB
TypeScript
import { Tuple } from "../Tuple";
import { TupleSelector } from "../TupleSelector";
import { TupleOfflineStorageNameService } from "./TupleOfflineStorageNameService";
export interface TransactionDoWorkCallable {
(TupleStorageTransaction: any): void;
}
export interface TupleStorageBatchSaveArguments {
tupleSelector: TupleSelector;
vortexMsg: string;
}
export declare abstract class TupleStorageServiceABC {
protected name: TupleOfflineStorageNameService;
protected dbName: string;
protected constructor(name: TupleOfflineStorageNameService);
abstract open(): Promise<void>;
abstract isOpen(): Promise<boolean>;
abstract close(): Promise<void>;
abstract truncateStorage(): Promise<void>;
loadTuples(tupleSelector: TupleSelector): Promise<Tuple[]>;
abstract loadTuplesEncoded(tupleSelector: TupleSelector): Promise<string | null>;
saveTuples(tupleSelector: TupleSelector, tuples: Tuple[]): Promise<void>;
abstract saveTuplesEncoded(tupleSelector: TupleSelector, vortexMsg: string): Promise<void>;
abstract batchSaveTuplesEncoded(data: TupleStorageBatchSaveArguments[]): Promise<void>;
abstract deleteTuples(tupleSelector: TupleSelector): Promise<void>;
abstract deleteOldTuples(deleteDataBeforeDate: Date): Promise<void>;
}