@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
30 lines (29 loc) • 1.09 kB
TypeScript
import GirafeSingleton from '../../base/GirafeSingleton';
import State from './state';
import ConfigManager from '../configuration/configmanager';
export type Callback = (oldValue: any, value: any, parent?: any) => void | Promise<void>;
declare class StateManager extends GirafeSingleton {
#private;
get state(): State;
configManager: ConfigManager;
constructor(type: string);
private setDefaultValues;
private onChange;
subscribe(path: string, callback: Callback): Callback;
subscribe(path: RegExp, callback: Callback): Callback;
/** Unsubscribe one or multiple trackers by their callbacks. */
unsubscribe(callback: Callback): void;
unsubscribe(callbacks: Callback[]): void;
/**
* Returns true if to object are deeply equal, false otherwise
* Circular references are ignored
*/
private areEqual;
private areNumbersEqual;
private areNullOrUndefinedEqual;
private areSimpleValuesEqual;
private areCircularReferencesEqual;
private areArraysEqual;
private areObjectsEqual;
}
export default StateManager;