UNPKG

@state-sync/js-client

Version:
36 lines (35 loc) 1.24 kB
import { ISyncArea } from './ISyncArea'; /** * Primary sync service interface */ export interface ISyncService { /** * Connect store to remote server * @param store - Redux or NgRX store * @param url - websocket url * @param {SyncConfig} config - sync configuration */ initSync(store: any, url: string, config?: any): void; /** * Declare sync area and return reducer for this area * * @param {string} name - unique name of area * @param initialState - initial state of area * @param reducer - optional reducer to perform state modification. Modifications made by this reducer are * automatically syncronized to server according sycn rules provided by server during subscription. * @param isLocal - if true, area do not synchronize with server * @returns reducer - reducer able for automatic sync of area data */ declareArea(name: string, initialState: any, reducer?: any, isLocal?: boolean): any; /** * Declare sync status reducer * @returns reducer */ declareStatusArea(): any; /** * Returns api for declared area * @param {string} area * @returns {ISyncArea} */ area(area: string): ISyncArea; }