diff --git a/externs/olx.js b/externs/olx.js index 8ada72db1a..eee156fdec 100644 --- a/externs/olx.js +++ b/externs/olx.js @@ -143,14 +143,14 @@ olx.GraticuleOptions.prototype.targetSize; /** * Object literal with config options for the map. - * @typedef {{controls: (ol.Collection|Array.|undefined), + * @typedef {{controls: (ol.Collection.|Array.|undefined), * deviceOptions: (olx.DeviceOptions|undefined), * pixelRatio: (number|undefined), - * interactions: (ol.Collection|Array.|undefined), + * interactions: (ol.Collection.|Array.|undefined), * keyboardEventTarget: (Element|Document|string|undefined), - * layers: (Array.|ol.Collection|undefined), + * layers: (Array.|ol.Collection.|undefined), * logo: (boolean|string|olx.LogoOptions|undefined), - * overlays: (ol.Collection|Array.|undefined), + * overlays: (ol.Collection.|Array.|undefined), * renderer: (ol.RendererType|Array.|string|undefined), * target: (Element|string|undefined), * view: (ol.View|undefined)}} @@ -162,7 +162,7 @@ olx.MapOptions; /** * Controls initially added to the map. If not specified, * {@link ol.control.defaults ol.control.defaults()} is used. - * @type {ol.Collection|Array.|undefined} + * @type {ol.Collection.|Array.|undefined} */ olx.MapOptions.prototype.controls; @@ -185,7 +185,7 @@ olx.MapOptions.prototype.pixelRatio; /** * Interactions that are initially added to the map. If not specified, * {@link ol.interaction.defaults ol.interaction.defaults()} is used. - * @type {ol.Collection|Array.|undefined} + * @type {ol.Collection.|Array.|undefined} */ olx.MapOptions.prototype.interactions; @@ -205,7 +205,7 @@ olx.MapOptions.prototype.keyboardEventTarget; /** * Layers. If this is not defined, a map with no layers will be rendered. - * @type {Array.|ol.Collection|undefined} + * @type {Array.|ol.Collection.|undefined} */ olx.MapOptions.prototype.layers; @@ -223,7 +223,7 @@ olx.MapOptions.prototype.logo; /** * Overlays initially added to the map. By default, no overlays are added. - * @type {ol.Collection|Array.|undefined} + * @type {ol.Collection.|Array.|undefined} */ olx.MapOptions.prototype.overlays; @@ -1732,7 +1732,7 @@ olx.interaction.DragZoomOptions.prototype.style; /** - * @typedef {{features: (ol.Collection|undefined), + * @typedef {{features: (ol.Collection.|undefined), * source: (ol.source.Vector|undefined), * snapTolerance: (number|undefined), * type: ol.geom.GeometryType, @@ -1747,7 +1747,7 @@ olx.interaction.DrawOptions; /** * Destination collection for the drawn features. - * @type {ol.Collection|undefined} + * @type {ol.Collection.|undefined} */ olx.interaction.DrawOptions.prototype.features; @@ -1866,7 +1866,7 @@ olx.interaction.KeyboardZoomOptions.prototype.delta; * @typedef {{deleteCondition: (ol.events.ConditionType|undefined), * pixelTolerance: (number|undefined), * style: (ol.style.Style|Array.|ol.style.StyleFunction|undefined), - * features: ol.Collection}} + * features: ol.Collection.}} * @api */ olx.interaction.ModifyOptions; @@ -1899,7 +1899,7 @@ olx.interaction.ModifyOptions.prototype.style; /** * The features the interaction works on. - * @type {ol.Collection} + * @type {ol.Collection.} */ olx.interaction.ModifyOptions.prototype.features; @@ -2200,7 +2200,7 @@ olx.layer.LayerOptions.prototype.maxResolution; * extent: (ol.Extent|undefined), * minResolution: (number|undefined), * maxResolution: (number|undefined), - * layers: (Array.|ol.Collection|undefined)}} + * layers: (Array.|ol.Collection.|undefined)}} * @api */ olx.layer.GroupOptions; @@ -2272,7 +2272,7 @@ olx.layer.GroupOptions.prototype.maxResolution; /** * Child layers. - * @type {Array.|ol.Collection|undefined} + * @type {Array.|ol.Collection.|undefined} */ olx.layer.GroupOptions.prototype.layers; @@ -2615,7 +2615,7 @@ olx.layer.VectorOptions.prototype.visible; /** - * @typedef {{features: (Array.|ol.Collection|undefined), + * @typedef {{features: (Array.|ol.Collection.|undefined), * map: (ol.Map|undefined), * style: (ol.style.Style|Array.|ol.style.StyleFunction|undefined)}} * @api @@ -2625,7 +2625,7 @@ olx.FeatureOverlayOptions; /** * Features. - * @type {Array.|ol.Collection|undefined} + * @type {Array.|ol.Collection.|undefined} */ olx.FeatureOverlayOptions.prototype.features; diff --git a/src/ol/collection.js b/src/ol/collection.js index d4b9519542..25505c3f0a 100644 --- a/src/ol/collection.js +++ b/src/ol/collection.js @@ -79,7 +79,8 @@ ol.CollectionProperty = { * @constructor * @extends {ol.Object} * @fires ol.CollectionEvent - * @param {Array=} opt_array Array. + * @param {Array.=} opt_array Array. + * @template T * @api stable */ ol.Collection = function(opt_array) { @@ -88,7 +89,7 @@ ol.Collection = function(opt_array) { /** * @private - * @type {Array.<*>} + * @type {Array.} */ this.array_ = opt_array || []; @@ -110,8 +111,8 @@ ol.Collection.prototype.clear = function() { /** - * @param {Array} arr Array. - * @return {ol.Collection} This collection. + * @param {Array.} arr Array. + * @return {ol.Collection.} This collection. * @api stable */ ol.Collection.prototype.extend = function(arr) { @@ -129,7 +130,7 @@ ol.Collection.prototype.extend = function(arr) { * for every element. This function takes 3 arguments (the element, the * index and the array). The return value is ignored. * @param {S=} opt_this The object to use as `this` in `f`. - * @template T,S + * @template S * @api stable */ ol.Collection.prototype.forEach = function(f, opt_this) { @@ -142,7 +143,7 @@ ol.Collection.prototype.forEach = function(f, opt_this) { * is mutated, no events will be dispatched by the collection, and the * collection's "length" property won't be in sync with the actual length * of the array. - * @return {Array} Array. + * @return {Array.} Array. * @api stable */ ol.Collection.prototype.getArray = function() { @@ -153,7 +154,7 @@ ol.Collection.prototype.getArray = function() { /** * Get the element at the provided index. * @param {number} index Index. - * @return {*} Element. + * @return {T} Element. * @api stable */ ol.Collection.prototype.item = function(index) { @@ -175,7 +176,7 @@ ol.Collection.prototype.getLength = function() { /** * Insert an element at the provided index. * @param {number} index Index. - * @param {*} elem Element. + * @param {T} elem Element. * @api stable */ ol.Collection.prototype.insertAt = function(index, elem) { @@ -188,7 +189,7 @@ ol.Collection.prototype.insertAt = function(index, elem) { /** * Remove the last element of the collection. - * @return {*} Element. + * @return {T} Element. * @api stable */ ol.Collection.prototype.pop = function() { @@ -198,7 +199,7 @@ ol.Collection.prototype.pop = function() { /** * Insert the provided element at the end of the collection. - * @param {*} elem Element. + * @param {T} elem Element. * @return {number} Length. * @api stable */ @@ -211,8 +212,8 @@ ol.Collection.prototype.push = function(elem) { /** * Removes the first occurence of elem from the collection. - * @param {*} elem Element. - * @return {*} The removed element or undefined if elem was not found. + * @param {T} elem Element. + * @return {T|undefined} The removed element or undefined if elem was not found. * @api stable */ ol.Collection.prototype.remove = function(elem) { @@ -230,7 +231,7 @@ ol.Collection.prototype.remove = function(elem) { /** * Remove the element at the provided index. * @param {number} index Index. - * @return {*} Value. + * @return {T} Value. * @api stable */ ol.Collection.prototype.removeAt = function(index) { @@ -246,7 +247,7 @@ ol.Collection.prototype.removeAt = function(index) { /** * Set the element at the provided index. * @param {number} index Index. - * @param {*} elem Element. + * @param {T} elem Element. * @api stable */ ol.Collection.prototype.setAt = function(index, elem) { diff --git a/src/ol/control/controldefaults.js b/src/ol/control/controldefaults.js index b36539fa58..b97351f410 100644 --- a/src/ol/control/controldefaults.js +++ b/src/ol/control/controldefaults.js @@ -15,7 +15,7 @@ goog.require('ol.control.Zoom'); * * {@link ol.control.Attribution} * * @param {olx.control.DefaultsOptions=} opt_options Defaults options. - * @return {ol.Collection} Controls. + * @return {ol.Collection.} Controls. * @api */ ol.control.defaults = function(opt_options) { diff --git a/src/ol/featureoverlay.js b/src/ol/featureoverlay.js index 09b7151342..683ca34dc7 100644 --- a/src/ol/featureoverlay.js +++ b/src/ol/featureoverlay.js @@ -33,7 +33,7 @@ ol.FeatureOverlay = function(opt_options) { /** * @private - * @type {ol.Collection} + * @type {ol.Collection.} */ this.features_ = null; @@ -104,7 +104,7 @@ ol.FeatureOverlay.prototype.addFeature = function(feature) { /** - * @return {ol.Collection} Features collection. + * @return {ol.Collection.} Features collection. * @api */ ol.FeatureOverlay.prototype.getFeatures = function() { @@ -212,7 +212,7 @@ ol.FeatureOverlay.prototype.render_ = function() { /** - * @param {ol.Collection} features Features collection. + * @param {ol.Collection.} features Features collection. * @api */ ol.FeatureOverlay.prototype.setFeatures = function(features) { diff --git a/src/ol/interaction/drawinteraction.js b/src/ol/interaction/drawinteraction.js index efef4bb5a7..7c3d98f4bd 100644 --- a/src/ol/interaction/drawinteraction.js +++ b/src/ol/interaction/drawinteraction.js @@ -95,7 +95,7 @@ ol.interaction.Draw = function(options) { /** * Target collection for drawn features. - * @type {ol.Collection} + * @type {ol.Collection.} * @private */ this.features_ = goog.isDef(options.features) ? options.features : null; diff --git a/src/ol/interaction/interactiondefaults.js b/src/ol/interaction/interactiondefaults.js index 8e7ff11e38..4b0815a9ad 100644 --- a/src/ol/interaction/interactiondefaults.js +++ b/src/ol/interaction/interactiondefaults.js @@ -35,8 +35,8 @@ goog.require('ol.interaction.PinchZoom'); * should be excluded if you want a build with no vector support. * * @param {olx.interaction.DefaultsOptions=} opt_options Defaults options. - * @return {ol.Collection} A collection of interactions to be used with - * the ol.Map constructor's interactions option. + * @return {ol.Collection.} A collection of + * interactions to be used with the ol.Map constructor's interactions option. * @api stable */ ol.interaction.defaults = function(opt_options) { diff --git a/src/ol/interaction/modifyinteraction.js b/src/ol/interaction/modifyinteraction.js index 28066d44cf..2513de9833 100644 --- a/src/ol/interaction/modifyinteraction.js +++ b/src/ol/interaction/modifyinteraction.js @@ -133,7 +133,7 @@ ol.interaction.Modify = function(options) { }; /** - * @type {ol.Collection} + * @type {ol.Collection.} * @private */ this.features_ = options.features; diff --git a/src/ol/interaction/selectinteraction.js b/src/ol/interaction/selectinteraction.js index 752d17f5ac..5d40859f9b 100644 --- a/src/ol/interaction/selectinteraction.js +++ b/src/ol/interaction/selectinteraction.js @@ -106,7 +106,7 @@ goog.inherits(ol.interaction.Select, ol.interaction.Interaction); /** * Get the selected features. - * @return {ol.Collection} Features collection. + * @return {ol.Collection.} Features collection. * @api stable */ ol.interaction.Select.prototype.getFeatures = function() { diff --git a/src/ol/layer/layergroup.js b/src/ol/layer/layergroup.js index fc6edd8579..eb8ffb8c97 100644 --- a/src/ol/layer/layergroup.js +++ b/src/ol/layer/layergroup.js @@ -145,12 +145,12 @@ ol.layer.Group.prototype.handleLayersRemove_ = function(collectionEvent) { /** - * @return {ol.Collection|undefined} Collection of {@link ol.layer.Layer layers} - * that are part of this group. + * @return {ol.Collection.|undefined} Collection of + * {@link ol.layer.Layer layers} that are part of this group. * @observable */ ol.layer.Group.prototype.getLayers = function() { - return /** @type {ol.Collection|undefined} */ (this.get( + return /** @type {ol.Collection.|undefined} */ (this.get( ol.layer.GroupProperty.LAYERS)); }; goog.exportProperty( @@ -160,7 +160,7 @@ goog.exportProperty( /** - * @param {ol.Collection|undefined} layers Collection of + * @param {ol.Collection.|undefined} layers Collection of * {@link ol.layer.Layer layers} that are part of this group. * @observable */ diff --git a/src/ol/map.js b/src/ol/map.js index 1d47c533cb..f4760cef4f 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -296,7 +296,7 @@ ol.Map = function(options) { this.registerDisposable(mouseWheelHandler); /** - * @type {ol.Collection} + * @type {ol.Collection.} * @private */ this.controls_ = optionsInternal.controls; @@ -308,13 +308,13 @@ ol.Map = function(options) { this.deviceOptions_ = optionsInternal.deviceOptions; /** - * @type {ol.Collection} + * @type {ol.Collection.} * @private */ this.interactions_ = optionsInternal.interactions; /** - * @type {ol.Collection} + * @type {ol.Collection.} * @private */ this.overlays_ = optionsInternal.overlays; @@ -653,7 +653,7 @@ ol.Map.prototype.getCoordinateFromPixel = function(pixel) { /** - * @return {ol.Collection} Controls. + * @return {ol.Collection.} Controls. * @api stable */ ol.Map.prototype.getControls = function() { @@ -662,7 +662,7 @@ ol.Map.prototype.getControls = function() { /** - * @return {ol.Collection} Overlays. + * @return {ol.Collection.} Overlays. * @api stable */ ol.Map.prototype.getOverlays = function() { @@ -676,7 +676,7 @@ ol.Map.prototype.getOverlays = function() { * associated with the map. * * Interactions are used for e.g. pan, zoom and rotate. - * @return {ol.Collection} {@link ol.interaction.Interaction Interactions}. + * @return {ol.Collection.} Interactions. * @api stable */ ol.Map.prototype.getInteractions = function() { @@ -701,7 +701,7 @@ goog.exportProperty( /** * Get the collection of layers associated with this map. - * @return {ol.Collection|undefined} Layers. + * @return {ol.Collection.|undefined} Layers. * @api stable */ ol.Map.prototype.getLayers = function() { @@ -856,8 +856,8 @@ ol.Map.prototype.handleMapBrowserEvent = function(mapBrowserEvent) { this.focus_ = mapBrowserEvent.coordinate; mapBrowserEvent.frameState = this.frameState_; var interactions = this.getInteractions(); - var interactionsArray = /** @type {Array.} */ - (interactions.getArray()); + goog.asserts.assert(goog.isDef(interactions)); + var interactionsArray = interactions.getArray(); var i; if (this.dispatchEvent(mapBrowserEvent) !== false) { for (i = interactionsArray.length - 1; i >= 0; i--) { @@ -1146,7 +1146,7 @@ ol.Map.prototype.removeInteraction = function(interaction) { ol.Map.prototype.removeLayer = function(layer) { var layers = this.getLayerGroup().getLayers(); goog.asserts.assert(goog.isDef(layers)); - return /** @type {ol.layer.Base|undefined} */ (layers.remove(layer)); + return layers.remove(layer); }; @@ -1377,12 +1377,12 @@ ol.Map.prototype.unskipFeature = function(feature) { /** - * @typedef {{controls: ol.Collection, + * @typedef {{controls: ol.Collection., * deviceOptions: olx.DeviceOptions, - * interactions: ol.Collection, + * interactions: ol.Collection., * keyboardEventTarget: (Element|Document), * logos: Object, - * overlays: ol.Collection, + * overlays: ol.Collection., * rendererConstructor: * function(new: ol.renderer.Map, Element, ol.Map), * values: Object.}}