Use typeof to simplify JSDoc class types

This commit is contained in:
Kevin Schmidt
2018-10-01 07:10:30 -06:00
parent 88cde255f8
commit accdc79c05
5 changed files with 6 additions and 12 deletions

View File

@@ -8,8 +8,7 @@ import {listenOnce, unlistenByKey} from './events.js';
import EventType from './events/EventType.js';
/**
* @typedef {function(new: ImageTile, import("./tilecoord.js").TileCoord,
* TileState, string, ?string, import("./Tile.js").LoadFunction)} TileClass
* @typedef {typeof ImageTile} TileClass
* @api
*/

View File

@@ -13,7 +13,7 @@ import {get as getProjection} from '../proj.js';
/**
* @typedef {Object} Options
* @property {Array<function(new: import("../format/Feature.js").default)>} [formatConstructors] Format constructors.
* @property {Array<typeof import("../format/Feature.js").default>} [formatConstructors] Format constructors.
* @property {import("../source/Vector.js").default} [source] Optional vector source where features will be added. If a source is provided
* all existing features will be removed and new features will be added when
* they are dropped on the target. If you want to add features to a vector
@@ -101,7 +101,7 @@ class DragAndDrop extends Interaction {
/**
* @private
* @type {Array<function(new: import("../format/Feature.js").default)>}
* @type {Array<typeof import("../format/Feature.js").default>}
*/
this.formatConstructors_ = options.formatConstructors ?
options.formatConstructors : [];

View File

@@ -19,9 +19,7 @@ import {create as createTransform, compose as composeTransform} from '../../tran
/**
* @type {Object<ReplayType,
* function(new: CanvasReplay, number, import("../../extent.js").Extent,
* number, number, boolean, Array<import("../canvas.js").DeclutterGroup>)>}
* @type {Object<ReplayType, typeof CanvasReplay>}
*/
const BATCH_CONSTRUCTORS = {
'Circle': CanvasPolygonReplay,

View File

@@ -19,9 +19,7 @@ import WebGLTextReplay from '../webgl/TextReplay.js';
const HIT_DETECTION_SIZE = [1, 1];
/**
* @type {Object<import("../ReplayType.js").default,
* function(new: import("./Replay.js").default, number,
* import("../../extent.js").Extent)>}
* @type {Object<import("../ReplayType.js").default, typeof import("./Replay.js").default>}
*/
const BATCH_CONSTRUCTORS = {
'Circle': WebGLCircleReplay,

View File

@@ -93,8 +93,7 @@ class TileImage extends UrlTile {
/**
* @protected
* @type {function(new: ImageTile, import("../tilecoord.js").TileCoord, TileState, string,
* ?string, import("../Tile.js").LoadFunction, import("../Tile.js").Options=)}
* @type {typeof ImageTile}
*/
this.tileClass = options.tileClass !== undefined ?
options.tileClass : ImageTile;