Use type template for the source type of layers

This commit is contained in:
Frederic Junod
2019-01-28 15:33:29 +01:00
parent 53fc082fc2
commit 5318d52036
6 changed files with 12 additions and 40 deletions
+6 -7
View File
@@ -62,6 +62,8 @@ import SourceState from '../source/State.js';
*
* @fires import("../render/Event.js").RenderEvent#prerender
* @fires import("../render/Event.js").RenderEvent#postrender
*
* @template {import("../source/Source.js").default} SourceType
*/
class Layer extends BaseLayer {
/**
@@ -106,7 +108,7 @@ class Layer extends BaseLayer {
getChangeEventType(LayerProperty.SOURCE),
this.handleSourcePropertyChange_, this);
const source = options.source ? options.source : null;
const source = options.source ? /** @type {SourceType} */ (options.source) : null;
this.setSource(source);
}
@@ -130,15 +132,12 @@ class Layer extends BaseLayer {
/**
* Get the layer source.
* @return {import("../source/Source.js").default} The layer source (or `null` if not yet set).
* @return {SourceType} The layer source (or `null` if not yet set).
* @observable
* @api
*/
getSource() {
const source = this.get(LayerProperty.SOURCE);
return (
/** @type {import("../source/Source.js").default} */ (source) || null
);
return /** @type {SourceType} */ (this.get(LayerProperty.SOURCE)) || null;
}
/**
@@ -227,7 +226,7 @@ class Layer extends BaseLayer {
/**
* Set the layer source.
* @param {import("../source/Source.js").default} source The layer source.
* @param {SourceType} source The layer source.
* @observable
* @api
*/