All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.Observable.d.ts Maven / Gradle / Ivy

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy