UNPKG

jinaga

Version:

Data management for web and mobile applications.

50 lines 2.49 kB
import { Fork } from "../fork/fork"; import { ObservableSource, SpecificationListener } from "../observable/observable"; import { Observer, ResultAddedFunc } from "../observer/observer"; import { Specification } from "../specification/specification"; import { FactEnvelope, FactRecord, FactReference, ProjectedResult, Storage } from "../storage"; import { Network } from "./NetworkManager"; export declare class FactManager { private readonly fork; private readonly observableSource; private readonly store; private readonly purgeConditions; private networkManager; private purgeManager; private singleUseKeyPair; constructor(fork: Fork, observableSource: ObservableSource, store: Storage, network: Network, purgeConditions: Specification[], feedRefreshIntervalSeconds?: number); addSpecificationListener(specification: Specification, onResult: (results: ProjectedResult[]) => Promise<void>): SpecificationListener; removeSpecificationListener(listener: SpecificationListener): void; close(): Promise<void>; testSpecificationForCompliance(specification: Specification): string[]; save(envelopes: FactEnvelope[]): Promise<FactEnvelope[]>; /** * Begin a single-use session. Generates a key pair, creates a User fact with the public key, * signs it, and saves it to the store. * @returns A structure containing the user fact */ beginSingleUse(): Promise<{ graph: any; last: FactRecord; }>; /** * End a single-use session. Discards the private key. */ endSingleUse(): void; read(start: FactReference[], specification: Specification): Promise<ProjectedResult[]>; fetch(start: FactReference[], specification: Specification): Promise<void>; subscribe(start: FactReference[], specification: Specification): Promise<string[]>; unsubscribe(feeds: string[]): void; load(references: FactReference[]): Promise<FactEnvelope[]>; getMruDate(specificationHash: string): Promise<Date | null>; setMruDate(specificationHash: string, mruDate: Date): Promise<void>; startObserver<U>(references: FactReference[], specification: Specification, resultAdded: ResultAddedFunc<U>, keepAlive: boolean): Observer<U>; private factsAdded; purge(): Promise<void>; /** * Processes the queue immediately, bypassing any delay. * Only works if the fork is a PersistentFork. */ push(): Promise<void>; } //# sourceMappingURL=factManager.d.ts.map