realm-object-server
Version:
61 lines (60 loc) • 2.04 kB
TypeScript
/// <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 {};