UNPKG

realm-object-server

Version:

Realm Object Server

61 lines (60 loc) 3.17 kB
/// <reference types="node" /> import { Realm } from "./realmUtil"; import * as superagent from "superagent"; import { EventEmitter } from "events"; import { StrictEventEmitter } from "strict-event-emitter-types"; import { RealmType } from "../realms/RealmType"; export declare function Promisify<T>(callback: any, ...args: any[]): Promise<T>; export declare class TimeoutError extends Error { ms: number; constructor(ms: number); } export declare function timeout<T>(promise: Promise<T>, ms: number): Promise<T>; export declare function delay(ms: number): Promise<void>; export declare function validateRealmPath(path: string, userId: string): string; export declare function getUserIdFromRealmPath(path: string): string; export declare function writeAsync(realm: Realm, callback: () => void): Promise<void>; export declare function downloadAllServerChanges(realm: Realm): Promise<void>; export declare function uploadAllLocalChanges(realm: Realm): Promise<void>; export declare function closeAfterUpload(realm: Realm): void; export declare function convertHttpError(error: any): any; export declare function waitAsync<T>(getter: () => T | Promise<T>, verifier?: (item: T) => boolean, timeout?: number, throwOnTimeout?: boolean): Promise<T>; export declare function retryRequest(retries?: number, delay?: number, shouldRetry?: (response: superagent.Response) => boolean): superagent.Plugin; export declare function isPartialPath(path: string): boolean; export declare function extractPartialInfo(path: string): { partialIndex: number; isPartial: boolean; canonicalPath: string; customIdentifier: string; fullPath: string; }; export declare function getValueIfResolved<T>(promise: Promise<T>): Promise<T | undefined>; export declare function enumerateObject<T>(obj: { [key: string]: T; }): T[]; export declare function enumValues<T extends Object>(enumObject: T): [keyof T]; export declare function mapEnum<T extends Object, U>(enumObject: T, func: (current: keyof T) => U): { [key in keyof T]: U; }; export declare function createPromise<T>(): { promise: Promise<T>; resolve: (value: T) => void; reject: (reason?: any) => void; }; export declare function waitForEvent<TEventRecord, P extends keyof TEventRecord>(emitter: StrictEventEmitter<EventEmitter, TEventRecord>, eventName: P): Promise<TEventRecord[P]>; export declare function gaussianRandom(array: number[]): number; export declare function startStopwatch(): [number, number]; export declare function readStopwatch(stopwatch: [number, number]): number; export declare function measureTime<T>(toMeasure: () => Promise<T>): Promise<{ result: T; time: number; }>; export declare function ensureRealmOfType(requiredType: RealmType, actualType: RealmType): void; export declare function getValueOrDefault<T>(value: T | undefined, defaultValue: T): T; export declare function isArrayEmpty(arr: any[]): boolean; export declare function getAccessLevel(permissions: { mayRead: boolean; mayWrite: boolean; mayManage: boolean; }): Realm.Sync.AccessLevel; export declare function nameof<T>(name: Exclude<Extract<keyof T, string>, Function>): string;