@getanthill/datastore
Version:
Event-Sourced Datastore
23 lines (22 loc) • 1 kB
TypeScript
import type { AnyValidateFunction } from 'ajv/dist/core';
import type { AnyObject, Event, ModelConfig } from '../typings';
import type FullyHomomorphicEncryptionClient from '../services/fhe';
import Ajv from 'ajv';
import * as jsonpatch from 'fast-json-patch';
export declare function defaultReducer(state: AnyObject | null, event: AnyObject, patch?: jsonpatch.Operation[]): {
updated_at: any;
created_at: any;
};
export declare function applyEventHandler(schema: AnyValidateFunction, eventSchema: AnyObject, state: AnyObject, event: Event, options: {
throwOnInvalidEvent?: boolean;
model?: AnyObject;
modelConfig?: ModelConfig;
fhe?: FullyHomomorphicEncryptionClient;
}): Promise<AnyObject>;
declare const _default: (schemas: AnyObject, options?: {
throwOnInvalidEvent?: boolean;
model?: AnyObject;
modelConfig?: ModelConfig;
fhe?: FullyHomomorphicEncryptionClient;
}) => (state: object, event: Event, validator?: Ajv) => Promise<object>;
export default _default;