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> &
* import("./Observable").OnSignature<import("./ObjectEventType").Types|'change:length', import("./Object").ObjectEvent> &
* import("./Observable").OnSignature<'add'|'remove', CollectionEvent> &
* @template Return
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* 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|
* 'change:length'|'add'|'remove'>} CollectionOnSignature
* 'change:length'|'add'|'remove',Return>} CollectionOnSignature
*/
/**
@@ -80,15 +81,20 @@ class Collection extends BaseObject {
super();
/***
* @type {CollectionOnSignature}
* @type {CollectionOnSignature<import("./Observable.js").OnReturn>}
*/
this.on;
/***
* @type {CollectionOnSignature}
* @type {CollectionOnSignature<import("./Observable.js").OnReturn>}
*/
this.once;
/***
* @type {CollectionOnSignature<void>}
*/
this.un;
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> &
* import("./Observable").OnSignature<import("./ObjectEventType").Types|'change:geometry', import("./Object").ObjectEvent> &
* @template Return
* @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
* |'change:geometry'>} FeatureOnSignature
* |'change:geometry', Return>} FeatureOnSignature
*/
/**
@@ -77,15 +78,20 @@ class Feature extends BaseObject {
super();
/***
* @type {FeatureOnSignature}
* @type {FeatureOnSignature<import("./Observable.js").OnReturn>}
*/
this.on;
/***
* @type {FeatureOnSignature}
* @type {FeatureOnSignature<import("./Observable.js").OnReturn>}
*/
this.once;
/***
* @type {FeatureOnSignature<void>}
*/
this.un;
/**
* @private
* @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> &
* import("./Observable").OnSignature<GeolocationObjectEventTypes, import("./Object").ObjectEvent> &
* import("./Observable").OnSignature<'error', GeolocationError> &
* @template Return
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").OnSignature<GeolocationObjectEventTypes, import("./Object").ObjectEvent, Return> &
* import("./Observable").OnSignature<'error', GeolocationError, Return> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|GeolocationObjectEventTypes|
* 'error'>} GeolocationOnSignature
* 'error', Return>} GeolocationOnSignature
*/
/**
@@ -106,15 +107,20 @@ class Geolocation extends BaseObject {
super();
/***
* @type {GeolocationOnSignature}
* @type {GeolocationOnSignature<import("./Observable.js").OnReturn>}
*/
this.on;
/***
* @type {GeolocationOnSignature}
* @type {GeolocationOnSignature<import("./Observable.js").OnReturn>}
*/
this.once;
/***
* @type {GeolocationOnSignature<void>}
*/
this.un;
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> &
* import("./Observable").OnSignature<import("./ObjectEventType").Types, ObjectEvent> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types>} ObjectOnSignature
* @template Return
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* 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();
/***
* @type {ObjectOnSignature}
* @type {ObjectOnSignature<import("./Observable.js").OnReturn>}
*/
this.on;
/***
* @type {ObjectOnSignature}
* @type {ObjectOnSignature<import("./Observable.js").OnReturn>}
*/
this.once;
/***
* @type {ObjectOnSignature<void>}
*/
this.un;
// 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
// 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 {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
* @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();
/***
* @type {OnSignature<EventTypes, import("./events/Event.js").default>}
* @type {OnSignature<EventTypes, import("./events/Event.js").default, OnReturn>}
*/
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;
/***
* @type {OnSignature<EventTypes, import("./events/Event.js").default, void>}
*/
this.un = this.unInternal;
/**
* @private
* @type {number}
@@ -113,11 +124,11 @@ class Observable extends EventTarget {
/**
* Unlisten for a certain type of event.
* @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
* @param {string|Array<string>} type Type.
* @param {function(?): (void|boolean)} listener Listener.
* @protected
*/
un(type, listener) {
unInternal(type, listener) {
const key = /** @type {Object} */ (listener).ol_key;
if (key) {
unByKey(key);
@@ -155,6 +166,15 @@ Observable.prototype.on;
*/
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()`.
* @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> &
* import("./Observable").OnSignature<OverlayObjectEventTypes, import("./Object").ObjectEvent> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|OverlayObjectEventTypes>} OverlayOnSignature
* @template Return
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* 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();
/***
* @type {OverlayOnSignature}
* @type {OverlayOnSignature<import("./Observable").OnReturn>}
*/
this.on;
/***
* @type {OverlayOnSignature}
* @type {OverlayOnSignature<import("./Observable").OnReturn>}
*/
this.once;
/***
* @type {OverlayOnSignature<void>}
*/
this.un;
/**
* @protected
* @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> &
* import("./Observable").OnSignature<MapObjectEventTypes, import("./Object").ObjectEvent> &
* import("./Observable").OnSignature<import("./MapBrowserEventType").Types, import("./MapBrowserEvent").default> &
* import("./Observable").OnSignature<import("./MapEventType").Types, import("./MapEvent").default> &
* import("./Observable").OnSignature<import("./render/EventType").MapRenderEventTypes, import("./render/Event").default> &
* @template Return
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* import("./Observable").OnSignature<MapObjectEventTypes, import("./Object").ObjectEvent, Return> &
* import("./Observable").OnSignature<import("./MapBrowserEventType").Types, import("./MapBrowserEvent").default, Return> &
* 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("./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();
/***
* @type {PluggableMapOnSignature}
* @type {PluggableMapOnSignature<import("./Observable.js").OnReturn>}
*/
this.on;
/***
* @type {PluggableMapOnSignature}
* @type {PluggableMapOnSignature<import("./Observable.js").OnReturn>}
*/
this.once;
/***
* @type {PluggableMapOnSignature<void>}
*/
this.un;
const optionsInternal = createOptionsInternal(options);
/** @private */

View File

@@ -223,9 +223,10 @@ const DEFAULT_MIN_ZOOM = 0;
*/
/***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> &
* import("./Observable").OnSignature<ViewObjectEventTypes, import("./Object").ObjectEvent> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|ViewObjectEventTypes>} ViewOnSignature
* @template Return
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default, Return> &
* 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();
/***
* @type {ViewOnSignature}
* @type {ViewOnSignature<import("./Observable.js").OnReturn>}
*/
this.on;
/***
* @type {ViewOnSignature}
* @type {ViewOnSignature<import("./Observable.js").OnReturn>}
*/
this.once;
/***
* @type {ViewOnSignature<void>}
*/
this.un;
const options = assign({}, opt_options);
/**

View File

@@ -33,11 +33,12 @@ const FullScreenEventType = {
};
/***
* @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes|
* 'enterfullscreen'|'leavefullscreen', import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> &
* 'enterfullscreen'|'leavefullscreen', import("../events/Event.js").default, Return> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent, Return> &
* 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;
/***
* @type {FullScreenOnSignature}
* @type {FullScreenOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {FullScreenOnSignature<void>}
*/
this.un;
/**
* @private
* @type {string}

View File

@@ -23,11 +23,12 @@ const PROJECTION = 'projection';
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|
* 'change:coordinateFormat'|'change:projection', import("../Object").ObjectEvent> &
* 'change:coordinateFormat'|'change:projection', import("../Object").ObjectEvent, Return> &
* 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;
/***
* @type {MousePositionOnSignature}
* @type {MousePositionOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {MousePositionOnSignature<void>}
*/
this.un;
this.addChangeListener(PROJECTION, this.handleProjectionChanged_);
if (options.coordinateFormat) {

View File

@@ -38,11 +38,12 @@ const LEADING_DIGITS = [1, 2, 5];
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|
* 'change:units', import("../Object").ObjectEvent> &
* 'change:units', import("../Object").ObjectEvent, Return> &
* 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;
/***
* @type {ScaleLineOnSignature}
* @type {ScaleLineOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {ScaleLineOnSignature<void>}
*/
this.un;
/**
* @private
* @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|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'boxcancel'|'boxdrag'|'boxend', DragBoxEvent> &
* 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'boxcancel'|'boxdrag'|'boxend', DragBoxEvent, Return> &
* 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();
/***
* @type {DragBoxOnSignature}
* @type {DragBoxOnSignature<import("../Observable").OnReturn>}
*/
this.on;
/***
* @type {DragBoxOnSignature}
* @type {DragBoxOnSignature<import("../Observable").OnReturn>}
*/
this.once;
/***
* @type {DragBoxOnSignature<void>}
*/
this.un;
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|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'drawabort'|'drawend'|'drawstart', DrawEvent> &
* 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'drawabort'|'drawend'|'drawstart', DrawEvent, Return> &
* 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);
/***
* @type {DrawOnSignature}
* @type {DrawOnSignature<import("../Observable").OnReturn>}
*/
this.on;
/***
* @type {DrawOnSignature}
* @type {DrawOnSignature<import("../Observable").OnReturn>}
*/
this.once;
/***
* @type {DrawOnSignature<void>}
*/
this.un;
/**
* @type {boolean}
* @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|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'extentchanged', ExtentEvent> &
* 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'extentchanged', ExtentEvent, Return> &
* 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));
/***
* @type {ExtentOnSignature}
* @type {ExtentOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {ExtentOnSignature}
* @type {ExtentOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {ExtentOnSignature<void>}
*/
this.un;
/**
* Condition
* @type {import("../events/condition.js").Condition}

View File

@@ -6,11 +6,12 @@ import InteractionProperty from './Property.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|
* 'change:active', import("../Object").ObjectEvent> &
* 'change:active', import("../Object").ObjectEvent, Return> &
* 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();
/***
* @type {InteractionOnSignature}
* @type {InteractionOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {InteractionOnSignature}
* @type {InteractionOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {InteractionOnSignature<void>}
*/
this.un;
if (opt_options && 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|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'modifyend'|'modifystart', ModifyEvent> &
* 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'modifyend'|'modifystart', ModifyEvent, Return> &
* 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));
/***
* @type {ModifyOnSignature}
* @type {ModifyOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {ModifyOnSignature}
* @type {ModifyOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {ModifyOnSignature<void>}
*/
this.un;
/** @private */
this.boundHandleFeatureChange_ = this.handleFeatureChange_.bind(this);

View File

@@ -135,12 +135,13 @@ export class SelectEvent extends Event {
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|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'select', SelectEvent> &
* 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'select', SelectEvent, Return> &
* 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();
/***
* @type {SelectOnSignature}
* @type {SelectOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {SelectOnSignature}
* @type {SelectOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {SelectOnSignature<void>}
*/
this.un;
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|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'translateend'|'translatestart'|'translating', TranslateEvent> &
* 'change:active', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<'translateend'|'translatestart'|'translating', TranslateEvent, Return> &
* 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));
/***
* @type {TranslateOnSignature}
* @type {TranslateOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {TranslateOnSignature}
* @type {TranslateOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {TranslateOnSignature<void>}
*/
this.un;
/**
* The last position we translated to.
* @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> &
* import("../Observable").OnSignature<BaseLayerObjectEventTypes, import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|BaseLayerObjectEventTypes>} BaseLayerOnSignature
* @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* 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();
/***
* @type {BaseLayerOnSignature}
* @type {BaseLayerOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {BaseLayerOnSignature}
* @type {BaseLayerOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {BaseLayerOnSignature<void>}
*/
this.un;
/**
* @type {Object<string, *>}
*/

View File

@@ -6,12 +6,13 @@ import TileProperty from './TileProperty.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|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default> &
* 'change:source'|'change:preload'|'change:useInterimTilesOnError', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default, Return> &
* 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);
/***
* @type {BaseTileLayerOnSignature}
* @type {BaseTileLayerOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {BaseTileLayerOnSignature}
* @type {BaseTileLayerOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {BaseTileLayerOnSignature<void>}
*/
this.un;
this.setPreload(options.preload !== undefined ? options.preload : 0);
this.setUseInterimTilesOnError(
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|
* 'change:source', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default> &
* 'change:source', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default, Return> &
* 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);
/***
* @type {LayerOnSignature}
* @type {LayerOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {LayerOnSignature}
* @type {LayerOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {LayerOnSignature<void>}
*/
this.un;
/**
* @private
* @type {?import("../events.js").EventsKey}

View File

@@ -9,12 +9,13 @@ import {assert} from '../asserts.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|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default> &
* 'change:source'|'change:preload'|'change:useInterimTilesOnError', import("../Object").ObjectEvent, Return> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default, Return> &
* 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;
/***
* @type {VectorTileLayerOnSignature}
* @type {VectorTileLayerOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {VectorTileLayerOnSignature<void>}
*/
this.un;
if (options.renderMode === VectorTileRenderType.IMAGE) {
//FIXME deprecated - remove this check in v7.
//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> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<ImageSourceEventTypes, ImageSourceEvent> &
* @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* 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
* |ImageSourceEventTypes>} ImageSourceOnSignature
* |ImageSourceEventTypes, Return>} ImageSourceOnSignature
*/
/**
@@ -102,15 +103,20 @@ class ImageSource extends Source {
});
/***
* @type {ImageSourceOnSignature}
* @type {ImageSourceOnSignature<import("../Observable.js").OnReturn>}
*/
this.on;
/***
* @type {ImageSourceOnSignature}
* @type {ImageSourceOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {ImageSourceOnSignature<void>}
*/
this.un;
/**
* @private
* @type {Array<number>}

View File

@@ -16,11 +16,12 @@ import {
import {scale as scaleSize, toSize} from '../size.js';
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<import("./TileEventType").TileSourceEventTypes, TileSourceEvent> &
* @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* 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("./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;
/***
* @type {TileSourceOnSignature}
* @type {TileSourceOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {TileSourceOnSignature<void>}
*/
this.un;
/**
* @private
* @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> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<import("./VectorEventType").VectorSourceEventTypes, VectorSourceEvent> &
* @template Return
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default, Return> &
* 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("./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;
/***
* @type {VectorSourceOnSignature}
* @type {VectorSourceOnSignature<import("../Observable.js").OnReturn>}
*/
this.once;
/***
* @type {VectorSourceOnSignature<void>}
*/
this.un;
/**
* @private
* @type {import("../featureloader.js").FeatureLoader}