UNPKG

realm-object-server

Version:

Realm Object Server

61 lines (60 loc) 2.04 kB
/// <reference types="node" /> import { Realm } from "./shared/realmUtil"; import { Agent } from "https"; import { Discovery } from "./discovery"; import { Logger } from "./shared/Logger"; import { RealmDirectoryClient } from "./service-clients/RealmDirectoryClient"; export interface RealmDefinition { remotePath: string; localPath?: string; syncLabel?: string; schema: any[]; user?: Realm.Sync.User; forceCloseHandler?: { id: string; handler: ForceCloseHandler; }; } export declare type ForceCloseHandler = (deleteAfterClose: boolean) => void; export declare function createRealmSchema(klass: any): any; declare class RealmPromise extends Promise<Realm> { openCount: number; forceClose: (message: string, isToBeDeleted?: boolean) => void; config: Realm.Configuration; remotePath: string; isResolved: boolean; error: Error; forceCloseHandlers: { [id: string]: ForceCloseHandler; }; constructor(executor: (resolve: (value?: Realm | PromiseLike<Realm>) => void, reject: (reason?: any) => void) => void); } export interface RealmFactoryParams { discovery: Discovery; dataPath: string; adminToken: string; logger: Logger; realmDirectoryClient: RealmDirectoryClient; ssl?: { agent: Agent; httpsCertificatePath: string; }; realmsEncryptionKey?: ArrayBuffer | ArrayBufferView; } export declare class RealmFactory { private syncedRealmPromises; private readonly discovery; private readonly adminToken; private readonly dataPath; private readonly logger; private readonly realmDirectoryClient; private readonly ssl?; private readonly realmsEncryptionKey?; private static sessionStopPolicy; constructor(params: RealmFactoryParams); open(definition: RealmDefinition): Promise<Realm>; close(): Promise<void>; forceCloseRealm(pathOrPromise: string | RealmPromise, message: string, deleteAfterClose?: boolean): Promise<void>; private findSyncLabel; } export {};