Add typed signature for Observable#un()

This commit is contained in:
Andreas Hocevar
2021-06-25 10:51:27 +02:00
parent 3a73af842d
commit e9e664f3c9
25 changed files with 309 additions and 145 deletions

View File

@@ -45,11 +45,12 @@ export class CollectionEvent extends Event {
} }
/*** /***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> & * @template Return
* import("./Observable").OnSignature<import("./ObjectEventType").Types|'change:length', import("./Object").ObjectEvent> & * @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").OnSignature<'add'|'remove', CollectionEvent> & * import("./Observable").OnSignature<import("./ObjectEventType").Types|'change:length', import("./Object").ObjectEvent, Return> &
* import("./Observable").OnSignature<'add'|'remove', CollectionEvent, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types| * import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types|
* 'change:length'|'add'|'remove'>} CollectionOnSignature * 'change:length'|'add'|'remove',Return>} CollectionOnSignature
*/ */
/** /**
@@ -80,15 +81,20 @@ class Collection extends BaseObject {
super(); super();
/*** /***
* @type {CollectionOnSignature} * @type {CollectionOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {CollectionOnSignature} * @type {CollectionOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {CollectionOnSignature<void>}
*/
this.un;
const options = opt_options || {}; const options = opt_options || {};
/** /**

View File

@@ -15,10 +15,11 @@ import {listen, unlistenByKey} from './events.js';
*/ */
/*** /***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> & * @template Return
* import("./Observable").OnSignature<import("./ObjectEventType").Types|'change:geometry', import("./Object").ObjectEvent> & * @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").OnSignature<import("./ObjectEventType").Types|'change:geometry', import("./Object").ObjectEvent, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types * import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types
* |'change:geometry'>} FeatureOnSignature * |'change:geometry', Return>} FeatureOnSignature
*/ */
/** /**
@@ -77,15 +78,20 @@ class Feature extends BaseObject {
super(); super();
/*** /***
* @type {FeatureOnSignature} * @type {FeatureOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {FeatureOnSignature} * @type {FeatureOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {FeatureOnSignature<void>}
*/
this.un;
/** /**
* @private * @private
* @type {number|string|undefined} * @type {number|string|undefined}

View File

@@ -68,11 +68,12 @@ class GeolocationError extends BaseEvent {
*/ */
/*** /***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> & * @template Return
* import("./Observable").OnSignature<GeolocationObjectEventTypes, import("./Object").ObjectEvent> & * @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").OnSignature<'error', GeolocationError> & * import("./Observable").OnSignature<GeolocationObjectEventTypes, import("./Object").ObjectEvent, Return> &
* import("./Observable").OnSignature<'error', GeolocationError, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|GeolocationObjectEventTypes| * import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|GeolocationObjectEventTypes|
* 'error'>} GeolocationOnSignature * 'error', Return>} GeolocationOnSignature
*/ */
/** /**
@@ -106,15 +107,20 @@ class Geolocation extends BaseObject {
super(); super();
/*** /***
* @type {GeolocationOnSignature} * @type {GeolocationOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {GeolocationOnSignature} * @type {GeolocationOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {GeolocationOnSignature<void>}
*/
this.un;
const options = opt_options || {}; const options = opt_options || {};
/** /**

View File

@@ -38,9 +38,10 @@ export class ObjectEvent extends Event {
} }
/*** /***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> & * @template Return
* import("./Observable").OnSignature<import("./ObjectEventType").Types, ObjectEvent> & * @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types>} ObjectOnSignature * import("./Observable").OnSignature<import("./ObjectEventType").Types, ObjectEvent, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types, Return>} ObjectOnSignature
*/ */
/** /**
@@ -94,15 +95,20 @@ class BaseObject extends Observable {
super(); super();
/*** /***
* @type {ObjectOnSignature} * @type {ObjectOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {ObjectOnSignature} * @type {ObjectOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {ObjectOnSignature<void>}
*/
this.un;
// Call {@link module:ol/util.getUid} to ensure that the order of objects' ids is // Call {@link module:ol/util.getUid} to ensure that the order of objects' ids is
// the same as the order in which they were created. This also helps to // the same as the order in which they were created. This also helps to
// ensure that object properties are always added in the same order, which // ensure that object properties are always added in the same order, which

View File

@@ -8,12 +8,18 @@ import {listen, listenOnce, unlistenByKey} from './events.js';
/*** /***
* @template {string} Type * @template {string} Type
* @template {Event|import("./events/Event.js").default} EventClass * @template {Event|import("./events/Event.js").default} EventClass
* @typedef {(type: Type|Type[], listener: (event: EventClass) => (void|boolean)) => import("./events").EventsKey|Array<import("./events").EventsKey>} OnSignature * @template Return
* @typedef {(type: Type|Type[], listener: (event: EventClass) => (void|boolean)) => Return} OnSignature
*/ */
/*** /***
* @template {string} Type * @template {string} Type
* @typedef {(type: Type[], listener: (event: Event|import("./events/Event").default) => (void|boolean)) => import("./events").EventsKey|Array<import("./events").EventsKey>} CombinedOnSignature * @template Return
* @typedef {(type: Type[], listener: (event: Event|import("./events/Event").default) => (void|boolean)) => Return} CombinedOnSignature
*/
/***
* @typedef {import("./events").EventsKey|Array<import("./events").EventsKey>} OnReturn
*/ */
/** /**
@@ -36,15 +42,20 @@ class Observable extends EventTarget {
super(); super();
/*** /***
* @type {OnSignature<EventTypes, import("./events/Event.js").default>} * @type {OnSignature<EventTypes, import("./events/Event.js").default, OnReturn>}
*/ */
this.on = this.onInternal; this.on = this.onInternal;
/*** /***
* @type {OnSignature<EventTypes, import("./events/Event.js").default>} * @type {OnSignature<EventTypes, import("./events/Event.js").default, OnReturn>}
*/ */
this.once = this.onceInternal; this.once = this.onceInternal;
/***
* @type {OnSignature<EventTypes, import("./events/Event.js").default, void>}
*/
this.un = this.unInternal;
/** /**
* @private * @private
* @type {number} * @type {number}
@@ -113,11 +124,11 @@ class Observable extends EventTarget {
/** /**
* Unlisten for a certain type of event. * Unlisten for a certain type of event.
* @param {string|Array<string>} type The event type or array of event types. * @param {string|Array<string>} type Type.
* @param {function((Event|import("./events/Event").default)): (void|boolean)} listener The listener function. * @param {function(?): (void|boolean)} listener Listener.
* @api * @protected
*/ */
un(type, listener) { unInternal(type, listener) {
const key = /** @type {Object} */ (listener).ol_key; const key = /** @type {Object} */ (listener).ol_key;
if (key) { if (key) {
unByKey(key); unByKey(key);
@@ -155,6 +166,15 @@ Observable.prototype.on;
*/ */
Observable.prototype.once; Observable.prototype.once;
/**
* Unlisten for a certain type of event.
* @function
* @param {string|Array<string>} type The event type or array of event types.
* @param {function((Event|import("./events/Event").default)): (void|boolean)} listener The listener function.
* @api
*/
Observable.prototype.un;
/** /**
* Removes an event listener using the key returned by `on()` or `once()`. * Removes an event listener using the key returned by `on()` or `once()`.
* @param {import("./events.js").EventsKey|Array<import("./events.js").EventsKey>} key The key returned by `on()` * @param {import("./events.js").EventsKey|Array<import("./events.js").EventsKey>} key The key returned by `on()`

View File

@@ -89,9 +89,10 @@ const Property = {
*/ */
/*** /***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> & * @template Return
* import("./Observable").OnSignature<OverlayObjectEventTypes, import("./Object").ObjectEvent> & * @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|OverlayObjectEventTypes>} OverlayOnSignature * import("./Observable").OnSignature<OverlayObjectEventTypes, import("./Object").ObjectEvent, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|OverlayObjectEventTypes, Return>} OverlayOnSignature
*/ */
/** /**
@@ -122,15 +123,20 @@ class Overlay extends BaseObject {
super(); super();
/*** /***
* @type {OverlayOnSignature} * @type {OverlayOnSignature<import("./Observable").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {OverlayOnSignature} * @type {OverlayOnSignature<import("./Observable").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {OverlayOnSignature<void>}
*/
this.un;
/** /**
* @protected * @protected
* @type {Options} * @type {Options}

View File

@@ -91,14 +91,15 @@ import {removeNode} from './dom.js';
*/ */
/*** /***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> & * @template Return
* import("./Observable").OnSignature<MapObjectEventTypes, import("./Object").ObjectEvent> & * @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").OnSignature<import("./MapBrowserEventType").Types, import("./MapBrowserEvent").default> & * import("./Observable").OnSignature<MapObjectEventTypes, import("./Object").ObjectEvent, Return> &
* import("./Observable").OnSignature<import("./MapEventType").Types, import("./MapEvent").default> & * import("./Observable").OnSignature<import("./MapBrowserEventType").Types, import("./MapBrowserEvent").default, Return> &
* import("./Observable").OnSignature<import("./render/EventType").MapRenderEventTypes, import("./render/Event").default> & * import("./Observable").OnSignature<import("./MapEventType").Types, import("./MapEvent").default, Return> &
* import("./Observable").OnSignature<import("./render/EventType").MapRenderEventTypes, import("./render/Event").default, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|MapObjectEventTypes| * import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|MapObjectEventTypes|
* import("./MapBrowserEventType").Types|import("./MapEventType").Types| * import("./MapBrowserEventType").Types|import("./MapEventType").Types|
* import("./render/EventType").MapRenderEventTypes>} PluggableMapOnSignature * import("./render/EventType").MapRenderEventTypes, Return>} PluggableMapOnSignature
*/ */
/** /**
@@ -152,15 +153,20 @@ class PluggableMap extends BaseObject {
super(); super();
/*** /***
* @type {PluggableMapOnSignature} * @type {PluggableMapOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {PluggableMapOnSignature} * @type {PluggableMapOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {PluggableMapOnSignature<void>}
*/
this.un;
const optionsInternal = createOptionsInternal(options); const optionsInternal = createOptionsInternal(options);
/** @private */ /** @private */

View File

@@ -223,9 +223,10 @@ const DEFAULT_MIN_ZOOM = 0;
*/ */
/*** /***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> & * @template Return
* import("./Observable").OnSignature<ViewObjectEventTypes, import("./Object").ObjectEvent> & * @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|ViewObjectEventTypes>} ViewOnSignature * import("./Observable").OnSignature<ViewObjectEventTypes, import("./Object").ObjectEvent, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|ViewObjectEventTypes, Return>} ViewOnSignature
*/ */
/** /**
@@ -308,15 +309,20 @@ class View extends BaseObject {
super(); super();
/*** /***
* @type {ViewOnSignature} * @type {ViewOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {ViewOnSignature} * @type {ViewOnSignature<import("./Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {ViewOnSignature<void>}
*/
this.un;
const options = assign({}, opt_options); const options = assign({}, opt_options);
/** /**

View File

@@ -33,11 +33,12 @@ const FullScreenEventType = {
}; };
/*** /***
* @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes| * @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes|
* 'enterfullscreen'|'leavefullscreen', import("../events/Event.js").default> & * 'enterfullscreen'|'leavefullscreen', import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> & * import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|
* 'enterfullscreen'|'leavefullscreen'|import("../ObjectEventType").Types>} FullScreenOnSignature * 'enterfullscreen'|'leavefullscreen'|import("../ObjectEventType").Types, Return>} FullScreenOnSignature
*/ */
/** /**
@@ -89,15 +90,20 @@ class FullScreen extends Control {
}); });
/*** /***
* @type {FullScreenOnSignature} * @type {FullScreenOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {FullScreenOnSignature} * @type {FullScreenOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {FullScreenOnSignature<void>}
*/
this.un;
/** /**
* @private * @private
* @type {string} * @type {string}

View File

@@ -23,11 +23,12 @@ const PROJECTION = 'projection';
const COORDINATE_FORMAT = 'coordinateFormat'; const COORDINATE_FORMAT = 'coordinateFormat';
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:coordinateFormat'|'change:projection', import("../Object").ObjectEvent> & * 'change:coordinateFormat'|'change:projection', import("../Object").ObjectEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:coordinateFormat'|'change:projection'>} MousePositionOnSignature * 'change:coordinateFormat'|'change:projection', Return>} MousePositionOnSignature
*/ */
/** /**
@@ -77,15 +78,20 @@ class MousePosition extends Control {
}); });
/*** /***
* @type {MousePositionOnSignature} * @type {MousePositionOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {MousePositionOnSignature} * @type {MousePositionOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {MousePositionOnSignature<void>}
*/
this.un;
this.addChangeListener(PROJECTION, this.handleProjectionChanged_); this.addChangeListener(PROJECTION, this.handleProjectionChanged_);
if (options.coordinateFormat) { if (options.coordinateFormat) {

View File

@@ -38,11 +38,12 @@ const LEADING_DIGITS = [1, 2, 5];
const DEFAULT_DPI = 25.4 / 0.28; const DEFAULT_DPI = 25.4 / 0.28;
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:units', import("../Object").ObjectEvent> & * 'change:units', import("../Object").ObjectEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types
* |'change:units'>} ScaleLineOnSignature * |'change:units', Return>} ScaleLineOnSignature
*/ */
/** /**
@@ -99,15 +100,20 @@ class ScaleLine extends Control {
}); });
/*** /***
* @type {ScaleLineOnSignature} * @type {ScaleLineOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {ScaleLineOnSignature} * @type {ScaleLineOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {ScaleLineOnSignature<void>}
*/
this.un;
/** /**
* @private * @private
* @type {HTMLElement} * @type {HTMLElement}

View File

@@ -94,12 +94,13 @@ export class DragBoxEvent extends Event {
} }
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> & * 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'boxcancel'|'boxdrag'|'boxend', DragBoxEvent> & * import("../Observable").OnSignature<'boxcancel'|'boxdrag'|'boxend', DragBoxEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'boxcancel'|'boxdrag'|'boxend'>} DragBoxOnSignature * 'change:active'|'boxcancel'|'boxdrag'|'boxend', Return>} DragBoxOnSignature
*/ */
/** /**
@@ -122,15 +123,20 @@ class DragBox extends PointerInteraction {
super(); super();
/*** /***
* @type {DragBoxOnSignature} * @type {DragBoxOnSignature<import("../Observable").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {DragBoxOnSignature} * @type {DragBoxOnSignature<import("../Observable").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {DragBoxOnSignature<void>}
*/
this.un;
const options = opt_options ? opt_options : {}; const options = opt_options ? opt_options : {};
/** /**

View File

@@ -173,12 +173,13 @@ export class DrawEvent extends Event {
} }
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> & * 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'drawabort'|'drawend'|'drawstart', DrawEvent> & * import("../Observable").OnSignature<'drawabort'|'drawend'|'drawstart', DrawEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'drawabort'|'drawend'|'drawstart'>} DrawOnSignature * 'change:active'|'drawabort'|'drawend'|'drawstart', Return>} DrawOnSignature
*/ */
/** /**
@@ -203,15 +204,20 @@ class Draw extends PointerInteraction {
super(pointerOptions); super(pointerOptions);
/*** /***
* @type {DrawOnSignature} * @type {DrawOnSignature<import("../Observable").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {DrawOnSignature} * @type {DrawOnSignature<import("../Observable").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {DrawOnSignature<void>}
*/
this.un;
/** /**
* @type {boolean} * @type {boolean}
* @private * @private

View File

@@ -75,12 +75,13 @@ export class ExtentEvent extends Event {
} }
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> & * 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'extentchanged', ExtentEvent> & * import("../Observable").OnSignature<'extentchanged', ExtentEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'extentchanged'>} ExtentOnSignature * 'change:active'|'extentchanged', Return>} ExtentOnSignature
*/ */
/** /**
@@ -102,15 +103,20 @@ class Extent extends PointerInteraction {
super(/** @type {import("./Pointer.js").Options} */ (options)); super(/** @type {import("./Pointer.js").Options} */ (options));
/*** /***
* @type {ExtentOnSignature} * @type {ExtentOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {ExtentOnSignature} * @type {ExtentOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {ExtentOnSignature<void>}
*/
this.un;
/** /**
* Condition * Condition
* @type {import("../events/condition.js").Condition} * @type {import("../events/condition.js").Condition}

View File

@@ -6,11 +6,12 @@ import InteractionProperty from './Property.js';
import {easeOut, linear} from '../easing.js'; import {easeOut, linear} from '../easing.js';
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> & * 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'>} InteractionOnSignature * 'change:active', Return>} InteractionOnSignature
*/ */
/** /**
@@ -45,15 +46,20 @@ class Interaction extends BaseObject {
super(); super();
/*** /***
* @type {InteractionOnSignature} * @type {InteractionOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {InteractionOnSignature} * @type {InteractionOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {InteractionOnSignature<void>}
*/
this.un;
if (opt_options && opt_options.handleEvent) { if (opt_options && opt_options.handleEvent) {
this.handleEvent = opt_options.handleEvent; this.handleEvent = opt_options.handleEvent;
} }

View File

@@ -165,12 +165,13 @@ export class ModifyEvent extends Event {
} }
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> & * 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'modifyend'|'modifystart', ModifyEvent> & * import("../Observable").OnSignature<'modifyend'|'modifystart', ModifyEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'modifyend'|'modifystart'>} ModifyOnSignature * 'change:active'|'modifyend'|'modifystart', Return>} ModifyOnSignature
*/ */
/** /**
@@ -202,15 +203,20 @@ class Modify extends PointerInteraction {
super(/** @type {import("./Pointer.js").Options} */ (options)); super(/** @type {import("./Pointer.js").Options} */ (options));
/*** /***
* @type {ModifyOnSignature} * @type {ModifyOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {ModifyOnSignature} * @type {ModifyOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {ModifyOnSignature<void>}
*/
this.un;
/** @private */ /** @private */
this.boundHandleFeatureChange_ = this.handleFeatureChange_.bind(this); this.boundHandleFeatureChange_ = this.handleFeatureChange_.bind(this);

View File

@@ -135,12 +135,13 @@ export class SelectEvent extends Event {
const originalFeatureStyles = {}; const originalFeatureStyles = {};
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> & * 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'select', SelectEvent> & * import("../Observable").OnSignature<'select', SelectEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'select'>} SelectOnSignature * 'change:active'|'select', Return>} SelectOnSignature
*/ */
/** /**
@@ -166,15 +167,20 @@ class Select extends Interaction {
super(); super();
/*** /***
* @type {SelectOnSignature} * @type {SelectOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {SelectOnSignature} * @type {SelectOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {SelectOnSignature<void>}
*/
this.un;
const options = opt_options ? opt_options : {}; const options = opt_options ? opt_options : {};
/** /**

View File

@@ -111,12 +111,13 @@ export class TranslateEvent extends Event {
} }
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types| * import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> & * 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'translateend'|'translatestart'|'translating', TranslateEvent> & * import("../Observable").OnSignature<'translateend'|'translatestart'|'translating', TranslateEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'translateend'|'translatestart'|'translating'>} TranslateOnSignature * 'change:active'|'translateend'|'translatestart'|'translating', Return>} TranslateOnSignature
*/ */
/** /**
@@ -136,15 +137,20 @@ class Translate extends PointerInteraction {
super(/** @type {import("./Pointer.js").Options} */ (options)); super(/** @type {import("./Pointer.js").Options} */ (options));
/*** /***
* @type {TranslateOnSignature} * @type {TranslateOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {TranslateOnSignature} * @type {TranslateOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {TranslateOnSignature<void>}
*/
this.un;
/** /**
* The last position we translated to. * The last position we translated to.
* @type {import("../coordinate.js").Coordinate} * @type {import("../coordinate.js").Coordinate}

View File

@@ -14,9 +14,10 @@ import {clamp} from '../math.js';
*/ */
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* import("../Observable").OnSignature<BaseLayerObjectEventTypes, import("../Object").ObjectEvent> & * @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|BaseLayerObjectEventTypes>} BaseLayerOnSignature * import("../Observable").OnSignature<BaseLayerObjectEventTypes, import("../Object").ObjectEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|BaseLayerObjectEventTypes, Return>} BaseLayerOnSignature
*/ */
/** /**
@@ -59,15 +60,20 @@ class BaseLayer extends BaseObject {
super(); super();
/*** /***
* @type {BaseLayerOnSignature} * @type {BaseLayerOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {BaseLayerOnSignature} * @type {BaseLayerOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {BaseLayerOnSignature<void>}
*/
this.un;
/** /**
* @type {Object<string, *>} * @type {Object<string, *>}
*/ */

View File

@@ -6,12 +6,13 @@ import TileProperty from './TileProperty.js';
import {assign} from '../obj.js'; import {assign} from '../obj.js';
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes| * import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError', import("../Object").ObjectEvent> & * 'change:source'|'change:preload'|'change:useInterimTilesOnError', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default> & * import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes>} BaseTileLayerOnSignature * 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes, Return>} BaseTileLayerOnSignature
*/ */
/** /**
@@ -71,15 +72,20 @@ class BaseTileLayer extends Layer {
super(baseOptions); super(baseOptions);
/*** /***
* @type {BaseTileLayerOnSignature} * @type {BaseTileLayerOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {BaseTileLayerOnSignature} * @type {BaseTileLayerOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {BaseTileLayerOnSignature<void>}
*/
this.un;
this.setPreload(options.preload !== undefined ? options.preload : 0); this.setPreload(options.preload !== undefined ? options.preload : 0);
this.setUseInterimTilesOnError( this.setUseInterimTilesOnError(
options.useInterimTilesOnError !== undefined options.useInterimTilesOnError !== undefined

View File

@@ -15,12 +15,13 @@ import {listen, unlistenByKey} from '../events.js';
*/ */
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes| * import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes|
* 'change:source', import("../Object").ObjectEvent> & * 'change:source', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default> & * import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|'change:source'| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|'change:source'|
* import("../render/EventType").LayerRenderEventTypes>} LayerOnSignature * import("../render/EventType").LayerRenderEventTypes, Return>} LayerOnSignature
*/ */
/** /**
@@ -106,15 +107,20 @@ class Layer extends BaseLayer {
super(baseOptions); super(baseOptions);
/*** /***
* @type {LayerOnSignature} * @type {LayerOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {LayerOnSignature} * @type {LayerOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {LayerOnSignature<void>}
*/
this.un;
/** /**
* @private * @private
* @type {?import("../events.js").EventsKey} * @type {?import("../events.js").EventsKey}

View File

@@ -9,12 +9,13 @@ import {assert} from '../asserts.js';
import {assign} from '../obj.js'; import {assign} from '../obj.js';
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes| * import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError', import("../Object").ObjectEvent> & * 'change:source'|'change:preload'|'change:useInterimTilesOnError', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default> & * import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes>} VectorTileLayerOnSignature * 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes, Return>} VectorTileLayerOnSignature
*/ */
/** /**
@@ -105,15 +106,20 @@ class VectorTileLayer extends BaseVectorLayer {
); );
/*** /***
* @type {VectorTileLayerOnSignature} * @type {VectorTileLayerOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {VectorTileLayerOnSignature} * @type {VectorTileLayerOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {VectorTileLayerOnSignature<void>}
*/
this.un;
if (options.renderMode === VectorTileRenderType.IMAGE) { if (options.renderMode === VectorTileRenderType.IMAGE) {
//FIXME deprecated - remove this check in v7. //FIXME deprecated - remove this check in v7.
//eslint-disable-next-line //eslint-disable-next-line

View File

@@ -65,11 +65,12 @@ export class ImageSourceEvent extends Event {
} }
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> & * @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<ImageSourceEventTypes, ImageSourceEvent> & * import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<ImageSourceEventTypes, ImageSourceEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types
* |ImageSourceEventTypes>} ImageSourceOnSignature * |ImageSourceEventTypes, Return>} ImageSourceOnSignature
*/ */
/** /**
@@ -102,15 +103,20 @@ class ImageSource extends Source {
}); });
/*** /***
* @type {ImageSourceOnSignature} * @type {ImageSourceOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {ImageSourceOnSignature} * @type {ImageSourceOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {ImageSourceOnSignature<void>}
*/
this.un;
/** /**
* @private * @private
* @type {Array<number>} * @type {Array<number>}

View File

@@ -16,11 +16,12 @@ import {
import {scale as scaleSize, toSize} from '../size.js'; import {scale as scaleSize, toSize} from '../size.js';
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> & * @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("./TileEventType").TileSourceEventTypes, TileSourceEvent> & * import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<import("./TileEventType").TileSourceEventTypes, TileSourceEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* import("./TileEventType").TileSourceEventTypes>} TileSourceOnSignature * import("./TileEventType").TileSourceEventTypes, Return>} TileSourceOnSignature
*/ */
/** /**
@@ -61,15 +62,20 @@ class TileSource extends Source {
}); });
/*** /***
* @type {TileSourceOnSignature} * @type {TileSourceOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {TileSourceOnSignature} * @type {TileSourceOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {TileSourceOnSignature<void>}
*/
this.un;
/** /**
* @private * @private
* @type {boolean} * @type {boolean}

View File

@@ -62,11 +62,12 @@ export class VectorSourceEvent extends Event {
} }
/*** /***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> & * @template Return
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> & * @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("./VectorEventType").VectorSourceEventTypes, VectorSourceEvent> & * import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<import("./VectorEventType").VectorSourceEventTypes, VectorSourceEvent, Return> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types| * import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* import("./VectorEventType").VectorSourceEventTypes>} VectorSourceOnSignature * import("./VectorEventType").VectorSourceEventTypes, Return>} VectorSourceOnSignature
*/ */
/** /**
@@ -186,15 +187,20 @@ class VectorSource extends Source {
}); });
/*** /***
* @type {VectorSourceOnSignature} * @type {VectorSourceOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.on; this.on;
/*** /***
* @type {VectorSourceOnSignature} * @type {VectorSourceOnSignature<import("../Observable.js").OnReturn>}
*/ */
this.once; this.once;
/***
* @type {VectorSourceOnSignature<void>}
*/
this.un;
/** /**
* @private * @private
* @type {import("../featureloader.js").FeatureLoader} * @type {import("../featureloader.js").FeatureLoader}