package.Observable.d.ts Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ol Show documentation
Show all versions of ol Show documentation
OpenLayers mapping library
The newest version!
/**
* Removes an event listener using the key returned by `on()` or `once()`.
* @param {import("./events.js").EventsKey|Array} key The key returned by `on()`
* or `once()` (or an array of keys).
* @api
*/
export function unByKey(key: import("./events.js").EventsKey | Array): void;
export default Observable;
/**
* *
*/
export type OnSignature = (type: Type, listener: (event: EventClass) => unknown) => Return;
/**
* *
*/
export type CombinedOnSignature = (type: Type[], listener: (event: Event | import("./events/Event").default) => unknown) => Return extends void ? void : Return[];
export type EventTypes = "change" | "error";
/**
* *
*/
export type ObservableOnSignature = OnSignature & CombinedOnSignature;
/***
* @template {string} Type
* @template {Event|import("./events/Event.js").default} EventClass
* @template Return
* @typedef {(type: Type, listener: (event: EventClass) => ?) => Return} OnSignature
*/
/***
* @template {string} Type
* @template Return
* @typedef {(type: Type[], listener: (event: Event|import("./events/Event").default) => ?) => Return extends void ? void : Return[]} CombinedOnSignature
*/
/**
* @typedef {'change'|'error'} EventTypes
*/
/***
* @template Return
* @typedef {OnSignature & CombinedOnSignature} ObservableOnSignature
*/
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
* instantiated in apps.
* An event target providing convenient methods for listener registration
* and unregistration. A generic `change` event is always available through
* {@link module:ol/Observable~Observable#changed}.
*
* @fires import("./events/Event.js").default
* @api
*/
declare class Observable extends EventTarget {
constructor();
on: ObservableOnSignature;
once: ObservableOnSignature;
un: ObservableOnSignature;
/**
* @private
* @type {number}
*/
private revision_;
/**
* Increases the revision counter and dispatches a 'change' event.
* @api
*/
changed(): void;
/**
* Get the version number for this object. Each time the object is modified,
* its version number will be incremented.
* @return {number} Revision.
* @api
*/
getRevision(): number;
/**
* @param {string|Array} type Type.
* @param {function((Event|import("./events/Event").default)): ?} listener Listener.
* @return {import("./events.js").EventsKey|Array} Event key.
* @protected
*/
protected onInternal(type: string | Array, listener: (arg0: (Event | import("./events/Event").default)) => unknown): import("./events.js").EventsKey | Array;
/**
* @param {string|Array} type Type.
* @param {function((Event|import("./events/Event").default)): ?} listener Listener.
* @return {import("./events.js").EventsKey|Array} Event key.
* @protected
*/
protected onceInternal(type: string | Array, listener: (arg0: (Event | import("./events/Event").default)) => unknown): import("./events.js").EventsKey | Array;
/**
* Unlisten for a certain type of event.
* @param {string|Array} type Type.
* @param {function((Event|import("./events/Event").default)): ?} listener Listener.
* @protected
*/
protected unInternal(type: string | Array, listener: (arg0: (Event | import("./events/Event").default)) => unknown): void;
}
import EventTarget from './events/Target.js';
//# sourceMappingURL=Observable.d.ts.map