jinaga
Version:
Data management for web and mobile applications.
32 lines • 1.56 kB
TypeScript
import { Specification } from "../specification/specification";
import { FactEnvelope, FactFeed, FactRecord, FactReference, ProjectedResult, Storage } from '../storage';
type TimeProvider = () => Date;
export declare function getPredecessors(fact: FactRecord | null, role: string): FactReference[];
export declare class MemoryStore implements Storage {
private factEnvelopes;
private bookmarksByFeed;
private runner;
private mruDateBySpecificationHash;
private timeProvider;
constructor(timeProvider?: TimeProvider);
close(): Promise<void>;
save(envelopes: FactEnvelope[]): Promise<FactEnvelope[]>;
read(start: FactReference[], specification: Specification): Promise<ProjectedResult[]>;
feed(feed: Specification, start: FactReference[], _bookmark: string): Promise<FactFeed>;
whichExist(references: FactReference[]): Promise<FactReference[]>;
load(references: FactReference[]): Promise<FactEnvelope[]>;
purge(purgeConditions: Specification[]): Promise<number>;
purgeDescendants(purgeRoot: FactReference, triggers: FactReference[]): Promise<number>;
loadBookmark(feed: string): Promise<string>;
saveBookmark(feed: string, bookmark: string): Promise<void>;
getMruDate(specificationHash: string): Promise<Date | null>;
setMruDate(specificationHash: string, mruDate: Date): Promise<void>;
private findFact;
private getPredecessors;
private getSuccessors;
private ancestorsOf;
private addAllAncestors;
private hydrate;
}
export {};
//# sourceMappingURL=memory-store.d.ts.map