/*! memorio Copyright (c) 2025 Dario Passariello Licensed under MIT License, see https://dario.passariello.ca */ /** * Observer run a callback anytime the associated state going to change * @return Execution of function after state change. */ interface _observer { /** * Generate your observer * * @example * observer("myState", Function) * * @since memorio 1.0.6 */ (stateName: string, callBack?: any, option?: boolean): any /** * List of active observers * * @example * observer.list() * * @since memorio 1.0.6 */ readonly list?: Record /** * Remove the active observer (not the state) * * @example * observer.remove("myState") * * @since memorio 1.0.6 */ readonly remove?: (name: string, callBack?: any, flag?: boolean) => void /** * Remove all active observers * * @example * observer.removeAll() * * @since memorio 1.0.6 */ readonly removeAll?: () => boolean } declare var observer: _observer type observer = _observer // Extend globalThis to include observer declare global { var observer: _observer | null | undefined }