@zestlabs-io/react-native-zest-mobile
Version:
ZEST Labs Mobility Platform plugin for React Native
60 lines (59 loc) • 2.3 kB
TypeScript
import ZDB from "./zdb";
import { AuthBridge, User } from "./authBridge";
declare const SyncChange = "_sync_change";
declare const SyncPaused = "_sync_paused";
declare const SyncActive = "_sync_active";
declare const SyncDenied = "_sync_denied";
declare const SyncComplete = "_sync_complete";
declare const SyncError = "_sync_error";
declare function SyncEvent(db: string, event: string | symbol): string;
export interface SyncConfig {
syncUrl: string;
download: Array<string>;
upload: Array<string>;
twoway: Array<string>;
local?: Array<string> | null;
}
declare class SyncManager {
private _config;
private _eventEmitter;
private _authBridge;
private _loggedIn;
private _syncDBs;
private _localDBs;
private _dbg;
constructor(config: SyncConfig, authBridge: AuthBridge, debug?: boolean);
on(eventName: string | symbol, listener: (...args: any[]) => void): this;
removeListener(eventName: string | symbol, listener: (...args: any[]) => void): void;
getRemoteSyncURL: (db: string) => string;
_emit: (dbName: string, event: string | symbol, payload: any, error?: boolean) => void;
_syncDB: (dbName: string) => SyncDB;
syncDB: (dbName: string) => ZDB<{}> | undefined;
resetSyncDB: (dbName: string) => void;
restartSync: (dbName: string) => void;
getLocalDB: (dbName: string) => ZDB<{}> | undefined;
onUserLogin: (user: User) => void;
onUserLogout: () => void;
startSync: () => void;
stopSync: () => void;
getSyncConfig: () => SyncConfig;
}
declare class SyncDB {
private _remoteUrlFunction;
private _parentEmitter;
private _localDb;
private _name;
private _getAuthTokenFunc;
private _syncType;
private _handlerSync;
private _dbg;
constructor(remoteUrlFunction: (db: string) => string, parentEmitter: (dbName: string, event: string | symbol, payload: any, error?: any) => void, name: string, localDb: ZDB<{}>, getAuthTokenFunc: Function, syncType: string, debug?: boolean);
getLocalDB: () => ZDB<{}>;
resetLocalDatabase: () => void;
startSync: () => void;
restartSync: () => void;
stopSync: () => void;
}
export { SyncManager, SyncDB };
export { SyncChange, SyncPaused, SyncActive, SyncDenied, SyncComplete, SyncError, };
export { SyncEvent };