UNPKG

1.49 kBTypeScriptView Raw
1import "reflect-metadata";
2import { ContainerModule } from "inversify";
3import { RxDatabase, RxCollection } from "rxdb";
4import { NarwhalSchema } from "./data_engine/NarwhalSchema";
5import { INarwhalSchemaParams, ISystemContextComponent } from "./data_engine/schema_parser";
6import { ConcreteProxiedCollection } from "./data_engine/proxied_collection";
7export interface INarwhalNamespace {
8 schema: {
9 [schemaName: string]: INarwhalSchemaParams;
10 };
11 views?: {
12 [viewName: string]: any;
13 };
14}
15export declare type DataEngineDatabaseProdiver = (db?: DataEngineDatabase) => Promise<DataEngineDatabase>;
16export declare type DataEngineDatabase = RxDatabase;
17export declare class DataEngineDatabaseContainer {
18 db: DataEngineDatabase;
19 init(db?: RxDatabase): Promise<void>;
20}
21export declare class EmptyContext implements ISystemContextComponent {
22 context(): {
23 [key: string]: any;
24 };
25}
26export interface INamespaceHandlerHook {
27 handleNamespace(name: string, version: number, namespace: INarwhalNamespace): void;
28}
29export declare class NamespaceHandler {
30 hooks: INamespaceHandlerHook[];
31 addNamespace(namespace_name: string, namespace: INarwhalNamespace, version?: number): void;
32}
33export declare type ConcreteProxiedCollectionFactory = (schema: NarwhalSchema, collection: RxCollection) => ConcreteProxiedCollection;
34export declare const container_module_generator: (db?: RxDatabase<import("rxdb").CollectionsOfDatabase>) => ContainerModule;