Add signatures for once.

This commit is contained in:
Simon Seyock
2021-06-23 18:47:14 +02:00
committed by Andreas Hocevar
parent 1870a64984
commit d914006d51
25 changed files with 364 additions and 126 deletions

View File

@@ -44,6 +44,14 @@ 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> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types|
* 'change:length'|'add'|'remove'>} CollectionOnSignature
*/
/**
* @typedef {Object} Options
* @property {boolean} [unique=false] Disallow the same item from being added to
@@ -72,13 +80,15 @@ class Collection extends BaseObject {
super();
/***
* @type {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> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types|'change:length'|'add'|'remove'>}
* @type {CollectionOnSignature}
*/
this.on;
/***
* @type {CollectionOnSignature}
*/
this.once;
const options = opt_options || {};
/**

View File

@@ -14,6 +14,13 @@ import {listen, unlistenByKey} from './events.js';
* @typedef {Feature|import("./render/Feature.js").default} FeatureLike
*/
/***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> &
* import("./Observable").OnSignature<import("./ObjectEventType").Types|'change:geometry', import("./Object").ObjectEvent> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types
* |'change:geometry'>} FeatureOnSignature
*/
/**
* @classdesc
* A vector object for geographic features with a geometry and other
@@ -70,12 +77,15 @@ class Feature extends BaseObject {
super();
/***
* @type {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> &
* import("./Observable").OnSignature<import("./ObjectEventType").Types|'change:geometry', import("./Object").ObjectEvent> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|import("./ObjectEventType").Types|'change:geometry'>}
* @type {FeatureOnSignature}
*/
this.on;
/***
* @type {FeatureOnSignature}
*/
this.once;
/**
* @private
* @type {number|string|undefined}

View File

@@ -67,6 +67,14 @@ class GeolocationError extends BaseEvent {
* 'change:trackingOptions'} GeolocationObjectEventTypes
*/
/***
* @typedef {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> &
* import("./Observable").OnSignature<GeolocationObjectEventTypes, import("./Object").ObjectEvent> &
* import("./Observable").OnSignature<'error', GeolocationError> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|GeolocationObjectEventTypes|
* 'error'>} GeolocationOnSignature
*/
/**
* @classdesc
* Helper class for providing HTML5 Geolocation capabilities.
@@ -98,13 +106,15 @@ class Geolocation extends BaseObject {
super();
/***
* @type {import("./Observable").OnSignature<import("./Observable").EventTypes, import("./events/Event.js").default> &
* import("./Observable").OnSignature<GeolocationObjectEventTypes, import("./Object").ObjectEvent> &
* import("./Observable").OnSignature<'error', GeolocationError> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|GeolocationObjectEventTypes|'error'>}
* @type {GeolocationOnSignature}
*/
this.on;
/***
* @type {GeolocationOnSignature}
*/
this.once;
const options = opt_options || {};
/**

View File

@@ -37,6 +37,12 @@ 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
*/
/**
* @classdesc
* Abstract base class; normally only used for creating subclasses and not
@@ -88,12 +94,15 @@ class BaseObject extends Observable {
super();
/***
* @type {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>}
* @type {ObjectOnSignature}
*/
this.on;
/***
* @type {ObjectOnSignature}
*/
this.once;
// 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

@@ -40,6 +40,11 @@ class Observable extends EventTarget {
*/
this.on = this.onInternal;
/***
* @type {OnSignature<EventTypes, import("./events/Event.js").default>}
*/
this.once = this.onceInternal;
/**
* @private
* @type {number}
@@ -87,15 +92,13 @@ class Observable extends EventTarget {
}
/**
* Listen once for a certain type of event.
* @param {string|Array<string>} type The event type or array of event types.
* @param {function(?): ?} listener The listener function.
* @return {import("./events.js").EventsKey|Array<import("./events.js").EventsKey>} Unique key for the listener. If
* called with an array of event types as the first argument, the return
* will be an array of keys.
* @api
* @param {string|Array<string>} type Type.
* @param {function(import("./events/Event").default): (void|boolean)} listener Listener.
* @return {import("./events.js").EventsKey|Array<import("./events.js").EventsKey>} Event key.
* @protected
*/
once(type, listener) {
// the jsdoc api annotation follows below the class declaration.
onceInternal(type, listener) {
let key;
if (Array.isArray(type)) {
const len = type.length;
@@ -113,7 +116,7 @@ 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(?): ?} listener The listener function.
* @param {function(import("./events/Event").default): (void|boolean)} listener The listener function.
* @api
*/
un(type, listener) {
@@ -134,7 +137,7 @@ class Observable extends EventTarget {
* Listen for a certain type of event.
* @function
* @param {string|Array<string>} type The event type or array of event types.
* @param {function(?): ?} listener The listener function.
* @param {function(import("./events/Event").default): (void|boolean)} listener The listener function.
* @return {import("./events.js").EventsKey|Array<import("./events.js").EventsKey>} Unique key for the listener. If
* called with an array of event types as the first argument, the return
* will be an array of keys.
@@ -142,6 +145,18 @@ class Observable extends EventTarget {
*/
Observable.prototype.on;
/**
* Listen once for a certain type of event.
* @function
* @param {string|Array<string>} type The event type or array of event types.
* @param {function(import("./events/Event").default): (void|boolean)} listener The listener function.
* @return {import("./events.js").EventsKey|Array<import("./events.js").EventsKey>} Unique key for the listener. If
* called with an array of event types as the first argument, the return
* will be an array of keys.
* @api
*/
Observable.prototype.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()`

View File

@@ -88,6 +88,12 @@ const Property = {
* 'change:positioning'} OverlayObjectEventTypes
*/
/***
* @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
*/
/**
* @classdesc
* An element to be displayed over the map and attached to a single map
@@ -116,12 +122,15 @@ class Overlay extends BaseObject {
super();
/***
* @type {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>}
* @type {OverlayOnSignature}
*/
this.on;
/***
* @type {OverlayOnSignature}
*/
this.once;
/**
* @protected
* @type {Options}

View File

@@ -90,6 +90,17 @@ import {removeNode} from './dom.js';
* @typedef {import("./ObjectEventType").Types|'change:layergroup'|'change:size'|'change:target'|'change:view'} MapObjectEventTypes
*/
/***
* @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> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|MapObjectEventTypes|
* import("./MapBrowserEventType").Types|import("./MapEventType").Types|
* import("./render/EventType").MapRenderEventTypes>} PluggableMapOnSignature
*/
/**
* Object literal with config options for the map.
* @typedef {Object} MapOptions
@@ -141,16 +152,15 @@ class PluggableMap extends BaseObject {
super();
/***
* @type {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> &
* import("./Observable").CombinedOnSignature<import("./Observable").EventTypes|MapObjectEventTypes|
* import("./MapBrowserEventType").Types|import("./MapEventType").Types|import("./render/EventType").MapRenderEventTypes>}
* @type {PluggableMapOnSignature}
*/
this.on;
/***
* @type {PluggableMapOnSignature}
*/
this.once;
const optionsInternal = createOptionsInternal(options);
/** @private */

View File

@@ -222,6 +222,12 @@ const DEFAULT_MIN_ZOOM = 0;
* @typedef {import("./ObjectEventType").Types|'change:center'|'change:resolution'|'change:rotation'} ViewObjectEventTypes
*/
/***
* @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
*/
/**
* @classdesc
* A View object represents a simple 2D view of the map.
@@ -302,12 +308,15 @@ class View extends BaseObject {
super();
/***
* @type {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>}
* @type {ViewOnSignature}
*/
this.on;
/***
* @type {ViewOnSignature}
*/
this.once;
const options = assign({}, opt_options);
/**

View File

@@ -32,6 +32,14 @@ const FullScreenEventType = {
LEAVEFULLSCREEN: 'leavefullscreen',
};
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes|
* 'enterfullscreen'|'leavefullscreen', import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|
* 'enterfullscreen'|'leavefullscreen'|import("../ObjectEventType").Types>} FullScreenOnSignature
*/
/**
* @typedef {Object} Options
* @property {string} [className='ol-full-screen'] CSS class name.
@@ -81,14 +89,15 @@ class FullScreen extends Control {
});
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes|
* 'enterfullscreen'|'leavefullscreen', import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types, import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|
* 'enterfullscreen'|'leavefullscreen'|import("../ObjectEventType").Types>}
* @type {FullScreenOnSignature}
*/
this.on;
/***
* @type {FullScreenOnSignature}
*/
this.once;
/**
* @private
* @type {string}

View File

@@ -22,6 +22,14 @@ const PROJECTION = 'projection';
*/
const COORDINATE_FORMAT = 'coordinateFormat';
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:coordinateFormat'|'change:projection', import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:coordinateFormat'|'change:projection'>} MousePositionOnSignature
*/
/**
* @typedef {Object} Options
* @property {string} [className='ol-mouse-position'] CSS class name.
@@ -69,14 +77,15 @@ class MousePosition extends Control {
});
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:coordinateFormat'|'change:projection', import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:coordinateFormat'|'change:projection'>}
* @type {MousePositionOnSignature}
*/
this.on;
/***
* @type {MousePositionOnSignature}
*/
this.once;
this.addChangeListener(PROJECTION, this.handleProjectionChanged_);
if (options.coordinateFormat) {

View File

@@ -37,6 +37,14 @@ 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> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:units', import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types
* |'change:units'>} ScaleLineOnSignature
*/
/**
* @typedef {Object} Options
* @property {string} [className='ol-scale-line'] CSS Class name.
@@ -91,13 +99,15 @@ class ScaleLine extends Control {
});
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:units', import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|'change:units'>}
* @type {ScaleLineOnSignature}
*/
this.on;
/***
* @type {ScaleLineOnSignature}
*/
this.once;
/**
* @private
* @type {HTMLElement}

View File

@@ -93,6 +93,15 @@ export class DragBoxEvent extends Event {
}
}
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'boxcancel'|'boxdrag'|'boxend', DragBoxEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'boxcancel'|'boxdrag'|'boxend'>} DragBoxOnSignature
*/
/**
* @classdesc
* Allows the user to draw a vector box by clicking and dragging on the map,
@@ -113,15 +122,15 @@ class DragBox extends PointerInteraction {
super();
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'boxcancel'|'boxdrag'|'boxend', DragBoxEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'boxcancel'|'boxdrag'|'boxend'>}
* @type {DragBoxOnSignature}
*/
this.on;
/***
* @type {DragBoxOnSignature}
*/
this.once;
const options = opt_options ? opt_options : {};
/**

View File

@@ -172,6 +172,15 @@ export class DrawEvent extends Event {
}
}
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'drawabort'|'drawend'|'drawstart', DrawEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'drawabort'|'drawend'|'drawstart'>} DrawOnSignature
*/
/**
* @classdesc
* Interaction for drawing feature geometries.
@@ -194,15 +203,15 @@ class Draw extends PointerInteraction {
super(pointerOptions);
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'drawabort'|'drawend'|'drawstart', DrawEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'drawabort'|'drawend'|'drawstart'>}
* @type {DrawOnSignature}
*/
this.on;
/***
* @type {DrawOnSignature}
*/
this.once;
/**
* @type {boolean}
* @private

View File

@@ -74,6 +74,15 @@ export class ExtentEvent extends Event {
}
}
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'extentchanged', ExtentEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'extentchanged'>} ExtentOnSignature
*/
/**
* @classdesc
* Allows the user to draw a vector box by clicking and dragging on the map.
@@ -93,15 +102,15 @@ class Extent extends PointerInteraction {
super(/** @type {import("./Pointer.js").Options} */ (options));
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'extentchanged', ExtentEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'extentchanged'>}
* @type {ExtentOnSignature}
*/
this.on;
/***
* @type {ExtentOnSignature}
*/
this.once;
/**
* Condition
* @type {import("../events/condition.js").Condition}

View File

@@ -5,6 +5,14 @@ import BaseObject from '../Object.js';
import InteractionProperty from './Property.js';
import {easeOut, linear} from '../easing.js';
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'>} InteractionOnSignature
*/
/**
* Object literal with config options for interactions.
* @typedef {Object} InteractionOptions
@@ -37,13 +45,15 @@ class Interaction extends BaseObject {
super();
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|'change:active'>}
* @type {InteractionOnSignature}
*/
this.on;
/***
* @type {InteractionOnSignature}
*/
this.once;
if (opt_options && opt_options.handleEvent) {
this.handleEvent = opt_options.handleEvent;
}

View File

@@ -164,6 +164,15 @@ export class ModifyEvent extends Event {
}
}
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'modifyend'|'modifystart', ModifyEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'modifyend'|'modifystart'>} ModifyOnSignature
*/
/**
* @classdesc
* Interaction for modifying feature geometries. To modify features that have
@@ -193,15 +202,15 @@ class Modify extends PointerInteraction {
super(/** @type {import("./Pointer.js").Options} */ (options));
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'modifyend'|'modifystart', ModifyEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'modifyend'|'modifystart'>}
* @type {ModifyOnSignature}
*/
this.on;
/***
* @type {ModifyOnSignature}
*/
this.once;
/** @private */
this.boundHandleFeatureChange_ = this.handleFeatureChange_.bind(this);

View File

@@ -134,6 +134,15 @@ export class SelectEvent extends Event {
*/
const originalFeatureStyles = {};
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'select', SelectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'select'>} SelectOnSignature
*/
/**
* @classdesc
* Interaction for selecting vector features. By default, selected features are
@@ -157,15 +166,15 @@ class Select extends Interaction {
super();
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'select', SelectEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'select'>}
* @type {SelectOnSignature}
*/
this.on;
/***
* @type {SelectOnSignature}
*/
this.once;
const options = opt_options ? opt_options : {};
/**

View File

@@ -110,6 +110,15 @@ export class TranslateEvent extends Event {
}
}
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'translateend'|'translatestart'|'translating', TranslateEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'translateend'|'translatestart'|'translating'>} TranslateOnSignature
*/
/**
* @classdesc
* Interaction for translating (moving) features.
@@ -127,15 +136,15 @@ class Translate extends PointerInteraction {
super(/** @type {import("./Pointer.js").Options} */ (options));
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("../ObjectEventType").Types|
* 'change:active', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<'translateend'|'translatestart'|'translating', TranslateEvent> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* 'change:active'|'translateend'|'translatestart'|'translating'>}
* @type {TranslateOnSignature}
*/
this.on;
/***
* @type {TranslateOnSignature}
*/
this.once;
/**
* The last position we translated to.
* @type {import("../coordinate.js").Coordinate}

View File

@@ -13,6 +13,12 @@ import {clamp} from '../math.js';
* 'change:minResolution'|'change:minZoom'|'change:opacity'|'change:visible'|'change:zIndex'} BaseLayerObjectEventTypes
*/
/***
* @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
*/
/**
* @typedef {Object} Options
* @property {string} [className='ol-layer'] A CSS class name to set to the layer element.
@@ -53,12 +59,15 @@ class BaseLayer extends BaseObject {
super();
/***
* @type {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>}
* @type {BaseLayerOnSignature}
*/
this.on;
/***
* @type {BaseLayerOnSignature}
*/
this.once;
/**
* @type {Object<string, *>}
*/

View File

@@ -5,6 +5,15 @@ import Layer from './Layer.js';
import TileProperty from './TileProperty.js';
import {assign} from '../obj.js';
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* 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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes>} BaseTileLayerOnSignature
*/
/**
* @template {import("../source/Tile.js").default} TileSourceType
* @typedef {Object} Options
@@ -62,15 +71,15 @@ class BaseTileLayer extends Layer {
super(baseOptions);
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* 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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes>}
* @type {BaseTileLayerOnSignature}
*/
this.on;
/***
* @type {BaseTileLayerOnSignature}
*/
this.once;
this.setPreload(options.preload !== undefined ? options.preload : 0);
this.setUseInterimTilesOnError(
options.useInterimTilesOnError !== undefined

View File

@@ -14,6 +14,15 @@ import {listen, unlistenByKey} from '../events.js';
* @typedef {function(import("../PluggableMap.js").FrameState):HTMLElement} RenderFunction
*/
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes|
* 'change:source', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|'change:source'|
* import("../render/EventType").LayerRenderEventTypes>} LayerOnSignature
*/
/**
* @template {import("../source/Source.js").default} SourceType
* @typedef {Object} Options
@@ -97,15 +106,15 @@ class Layer extends BaseLayer {
super(baseOptions);
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* import("../Observable").OnSignature<import("./Base").BaseLayerObjectEventTypes|
* 'change:source', import("../Object").ObjectEvent> &
* import("../Observable").OnSignature<import("../render/EventType").LayerRenderEventTypes, import("../render/Event").default> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|'change:source'|
* import("../render/EventType").LayerRenderEventTypes>}
* @type {LayerOnSignature}
*/
this.on;
/***
* @type {LayerOnSignature}
*/
this.once;
/**
* @private
* @type {?import("../events.js").EventsKey}

View File

@@ -8,6 +8,15 @@ import VectorTileRenderType from './VectorTileRenderType.js';
import {assert} from '../asserts.js';
import {assign} from '../obj.js';
/***
* @typedef {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* 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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes>} VectorTileLayerOnSignature
*/
/**
* @typedef {Object} Options
* @property {string} [className='ol-layer'] A CSS class name to set to the layer element.
@@ -96,15 +105,15 @@ class VectorTileLayer extends BaseVectorLayer {
);
/***
* @type {import("../Observable").OnSignature<import("../Observable").EventTypes, import("../events/Event.js").default> &
* 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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("./Base").BaseLayerObjectEventTypes|
* 'change:source'|'change:preload'|'change:useInterimTilesOnError'|import("../render/EventType").LayerRenderEventTypes>}
* @type {VectorTileLayerOnSignature}
*/
this.on;
/***
* @type {VectorTileLayerOnSignature}
*/
this.once;
if (options.renderMode === VectorTileRenderType.IMAGE) {
//FIXME deprecated - remove this check in v7.
//eslint-disable-next-line

View File

@@ -64,6 +64,14 @@ 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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types
* |ImageSourceEventTypes>} ImageSourceOnSignature
*/
/**
* @typedef {Object} Options
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
@@ -94,13 +102,15 @@ class ImageSource extends Source {
});
/***
* @type {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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|ImageSourceEventTypes>}
* @type {ImageSourceOnSignature}
*/
this.on;
/***
* @type {ImageSourceOnSignature}
*/
this.once;
/**
* @private
* @type {Array<number>}

View File

@@ -15,6 +15,14 @@ import {
} from '../tilegrid.js';
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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* import("./TileEventType").TileSourceEventTypes>} TileSourceOnSignature
*/
/**
* @typedef {Object} Options
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
@@ -53,14 +61,15 @@ class TileSource extends Source {
});
/***
* @type {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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* import("./TileEventType").TileSourceEventTypes>}
* @type {TileSourceOnSignature}
*/
this.on;
/***
* @type {TileSourceOnSignature}
*/
this.once;
/**
* @private
* @type {boolean}

View File

@@ -61,6 +61,14 @@ 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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* import("./VectorEventType").VectorSourceEventTypes>} VectorSourceOnSignature
*/
/**
* @typedef {Object} Options
* @property {import("./Source.js").AttributionLike} [attributions] Attributions.
@@ -178,14 +186,15 @@ class VectorSource extends Source {
});
/***
* @type {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> &
* import("../Observable").CombinedOnSignature<import("../Observable").EventTypes|import("../ObjectEventType").Types|
* import("./VectorEventType").VectorSourceEventTypes>}
* @type {VectorSourceOnSignature}
*/
this.on;
/***
* @type {VectorSourceOnSignature}
*/
this.once;
/**
* @private
* @type {import("../featureloader.js").FeatureLoader}