UNPKG

router-primitives

Version:

A cross-platform application router. Declarative routing by way of layout primitives

22 lines (21 loc) 927 B
import { IOutputLocation, IInputLocation, StateObserver } from '../types'; import { ISerializedStateStore, SerializedStateSerializer, SerializedStateDeserializer, ISerializedStateStoreConfig } from '../types/serialized_state'; export default class BrowserStore implements ISerializedStateStore { kind: 'browser'; serializer: SerializedStateSerializer; deserializer: SerializedStateDeserializer; private observers; private existingLocation; private stateWatcher; constructor(config?: ISerializedStateStoreConfig); cleanUp: () => void; setState(unserializedLocation: IInputLocation): void; getState(): IOutputLocation; subscribeToStateChanges(fn: StateObserver): void; unsubscribeFromStateChanges(fn: StateObserver): void; back(): void; forward(): void; go(historyChange: number): void; private _monitorLocation; private notifyObservers; }