diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000000..65380bf587 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,6 @@ +{ + "extend": "openlayers", + "rules": { + "no-console": [2, {"allow": ["assert"]}] + } +} diff --git a/changelog/upgrade-notes.md b/changelog/upgrade-notes.md index c36fdfd1e7..8e5786a985 100644 --- a/changelog/upgrade-notes.md +++ b/changelog/upgrade-notes.md @@ -1,5 +1,9 @@ ## Upgrade notes +#### Changes in the way assertions are handled + +Previously, minified builds of the library did not have any assertions. This caused applications to fail silently or with cryptic stack traces. Starting with this release, developers get notified of many runtime errors through the new `ol.AssertionError`. This error has a `code` property. The meaning of the code can be found on http://openlayers.org/en/latest/doc/errors.html. There are additional console assertion checks when in debug mode when the new `ol.DEBUG` compiler flag (previously `goog.DEBUG`) is `true`. As this is `true` by default, it is recommended that those creating custom builds set this to `false` so these assertions are stripped.' + #### Removal of `ol.ENABLE_NAMED_COLORS` This option was previously needed to use named colors with the WebGL renderer but is no longer needed. diff --git a/config/ol.json b/config/ol.json index fb8e681084..839ea7b984 100644 --- a/config/ol.json +++ b/config/ol.json @@ -15,7 +15,8 @@ "externs/topojson.js" ], "define": [ - "goog.DEBUG=false" + "goog.DEBUG=false", + "ol.DEBUG=false" ], "jscomp_error": [ "*" diff --git a/doc/errors.md b/doc/errors.md new file mode 100644 index 0000000000..c31432c265 --- /dev/null +++ b/doc/errors.md @@ -0,0 +1,222 @@ +--- +title: Errors +layout: doc.hbs +--- + +# Errors + +### 1 + +The view center is not defined. + +### 2 + +The view resolution is not defined. + +### 3 + +The view rotation is not defined. + +### 4 + +`image` and `src` cannot be provided at the same time. + +### 5 + +`imgSize` must be set when `image` is provided. + +### 6 + +A defined and non-empty `src` or `image` must be provided. + +### 7 + +`format` must be set when `url` is set. + +### 8 + +Unknown `serverType` configured. + +### 9 + +`url` must be configured or set using `#setUrl()`. + +### 10 + +The default `geometryFunction` can only handle `ol.geom.Point` geometries. + +### 11 + +`options.featureTypes` should be an Array. + +### 12 + +`options.geometryName` must also be provided when `options.bbox` is set. + +### 13 + +Invalid corner. Valid corners are `top-left`, `top-right`, `bottom-right` and `bottom-left`. + +### 14 + +Invalid color. Valid colors are all [CSS colors](https://developer.mozilla.org/en-US/docs/Web/CSS/color). + +### 15 + +Tried to get a value for a key that does not exist in the cache. + +### 16 + +Tried to set a value for a key that is used already. + +### 17 + +`resolutions` must be sorted in descending order. + +### 18 + +Either `origin` or `origins` must be configured, never both. + +### 19 + +Number of `tileSizes` and `resolutions` must be equal. + +### 20 + +Number of `origins` and `resolutions` must be equal. + +### 21 + +Tile range for `extent` must not exceed tilegrid width and height. + +### 22 + +Either `tileSize` or `tileSizes` must be configured, never both. + +### 23 + +The passed `ol.TileCoord`s must all have the same `z` value. + +### 24 + +Invalid extent or geometry provided as `geometry`. + +### 25 + +Cannot fit empty extent provided as `geometry`. + +### 26 + +Features for `deletes` must have an id set by the feature reader or `ol.Feature#setId()`. + +### 27 + +Features for `updates` must have an id set by the feature reader or `ol.Feature#setId()`. + +### 28 + +`renderMode` must be `'image'`, `'hybrid'` or `'vector'`. + +### 29 + +`x` must be greater than `0`. + +### 30 + +The passed `feature` was already added to the source. + +### 31 + +Tried to enqueue an `element` that was already added to the queue. + +### 32 + +Transformation matrix cannot be inverted. + +### 33 + +Invalid `units`. `'degrees'`, `'imperial'`, `'nautical'`, `'metric'` or `'us'` required. + +### 34 + +Invalid geometry layout. Must be `XY`, `XYZ`, `XYM` or `XYZM`. + +### 35 + +Unknown GeoJSON object type. Expected `"Feature"` or `"FeatureCollection"`. + +### 36 + +Unknown SRS type. Expected `"name"` or `"EPSG"`. + +### 37 + +Unknown geometry type found. Expected `'Point'`, `'LineString'`, `'Polygon'` or `'GeometryCollection'`. + +### 38 + +`styleMapValue` has an unknown type. + +### 39 + +Unknown geometry type found. Expected `'GeometryCollection'`, `'MultiPoint'`, `'MultiLineString'` or `'MultiPolygon'`. + +### 40 + +Expected `feature` to have a geometry. + +### 41 + +Expected an `ol.style.Style` or an array of `ol.style.Style`. + +### 42 + +Expected an `ol.Feature`, but got an `ol.RenderFeature`. + +### 43 + +Expected `layers` to be an array or an `ol.Collection`. + +### 44 + +`logo.href` should be a string. + +### 45 + +`logo.src` should be a string. + +### 46 + +Incorrect format for `renderer` option. + +### 47 + +Expected `controls` to be an array or an `ol.Collection`. + +### 48 + +Expected `interactions` to be an array or an `ol.Collection`. + +### 49 + +Expected `overlays` to be an array or an `ol.Collection`. + +### 50 + +Cannot determine Rest Service from url. + +### 51 + +Either `url` or `tileJSON` options must be provided. + +### 52 + +Unknown `serverType` configured. + +### 53 + +Unknown `tierSizeCalculation` configured. + +### 54 + +Hex color should have 3 or 6 digits. diff --git a/externs/oli.js b/externs/oli.js index d3522f7cfe..d7cdcce0eb 100644 --- a/externs/oli.js +++ b/externs/oli.js @@ -9,6 +9,18 @@ var oli; +/** + * @interface + */ +oli.AssertionError = function() {}; + + +/** + * @type {number} + */ +oli.AssertionError.prototype.code; + + /** * @interface */ diff --git a/src/ol/array.js b/src/ol/array.js index f6b9486594..356b578112 100644 --- a/src/ol/array.js +++ b/src/ol/array.js @@ -1,7 +1,5 @@ goog.provide('ol.array'); -goog.require('goog.asserts'); - /** * Performs a binary search on the provided sorted list and returns the index of the item if found. If it can't be found it'll return -1. @@ -135,9 +133,6 @@ ol.array.linearFindNearest = function(arr, target, direction) { } } } - // We should never get here, but the compiler complains - // if it finds a path for which no number is returned. - goog.asserts.fail(); return n - 1; } }; @@ -149,9 +144,9 @@ ol.array.linearFindNearest = function(arr, target, direction) { * @param {number} end End index. */ ol.array.reverseSubArray = function(arr, begin, end) { - goog.asserts.assert(begin >= 0, + ol.DEBUG && console.assert(begin >= 0, 'Array begin index should be equal to or greater than 0'); - goog.asserts.assert(end < arr.length, + ol.DEBUG && console.assert(end < arr.length, 'Array end index should be less than the array length'); while (begin < end) { var tmp = arr[begin]; diff --git a/src/ol/color/color.js b/src/ol/color/color.js index 4ca2fc0d44..178bca7521 100644 --- a/src/ol/color/color.js +++ b/src/ol/color/color.js @@ -1,6 +1,5 @@ goog.provide('ol.color'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.math'); @@ -55,8 +54,7 @@ ol.color.asArray = function(color) { if (Array.isArray(color)) { return color; } else { - goog.asserts.assert(typeof color === 'string', 'Color should be a string'); - return ol.color.fromString(color); + return ol.color.fromString(/** @type {string} */ (color)); } }; @@ -71,7 +69,6 @@ ol.color.asString = function(color) { if (typeof color === 'string') { return color; } else { - goog.asserts.assert(Array.isArray(color), 'Color should be an array'); return ol.color.toString(color); } }; @@ -162,8 +159,7 @@ ol.color.fromStringInternal_ = function(s) { if (ol.color.hexColorRe_.exec(s)) { // hex var n = s.length - 1; // number of hex digits - goog.asserts.assert(n == 3 || n == 6, - 'Color string length should be 3 or 6'); + ol.assert(n == 3 || n == 6, 54); // Hex color should have 3 or 6 digits var d = n == 3 ? 1 : 2; // number of digits per channel r = parseInt(s.substr(1 + 0 * d, d), 16); g = parseInt(s.substr(1 + 1 * d, d), 16); @@ -175,26 +171,21 @@ ol.color.fromStringInternal_ = function(s) { } a = 1; color = [r, g, b, a]; - goog.asserts.assert(ol.color.isValid(color), - 'Color should be a valid color'); - return color; } else if ((match = ol.color.rgbaColorRe_.exec(s))) { // rgba() r = Number(match[1]); g = Number(match[2]); b = Number(match[3]); a = Number(match[4]); - color = [r, g, b, a]; - return ol.color.normalize(color, color); + color = ol.color.normalize([r, g, b, a]); } else if ((match = ol.color.rgbColorRe_.exec(s))) { // rgb() r = Number(match[1]); g = Number(match[2]); b = Number(match[3]); - color = [r, g, b, 1]; - return ol.color.normalize(color, color); + color = ol.color.normalize([r, g, b, 1]); } else { - goog.asserts.fail(s + ' is not a valid color'); + ol.assert(false, 14); // Invalid color } - + return /** @type {ol.Color} */ (color); }; diff --git a/src/ol/control/attributioncontrol.js b/src/ol/control/attributioncontrol.js index 35bda5afab..ec7c67f94e 100644 --- a/src/ol/control/attributioncontrol.js +++ b/src/ol/control/attributioncontrol.js @@ -2,7 +2,6 @@ goog.provide('ol.control.Attribution'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.dom'); goog.require('ol.Attribution'); @@ -11,7 +10,6 @@ goog.require('ol.css'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.object'); -goog.require('ol.source.Tile'); /** @@ -160,8 +158,7 @@ ol.control.Attribution.prototype.getSourceAttributions = function(frameState) { var attributions = ol.object.assign({}, frameState.attributions); /** @type {Object.} */ var hiddenAttributions = {}; - var projection = frameState.viewState.projection; - goog.asserts.assert(projection, 'projection of viewState required'); + var projection = /** @type {!ol.proj.Projection} */ (frameState.viewState.projection); for (i = 0, ii = layerStatesArray.length; i < ii; i++) { source = layerStatesArray[i].layer.getSource(); if (!source) { @@ -180,10 +177,7 @@ ol.control.Attribution.prototype.getSourceAttributions = function(frameState) { } tileRanges = frameState.usedTiles[sourceKey]; if (tileRanges) { - goog.asserts.assertInstanceof(source, ol.source.Tile, - 'source should be an ol.source.Tile'); - var tileGrid = source.getTileGridForProjection(projection); - goog.asserts.assert(tileGrid, 'tileGrid required for projection'); + var tileGrid = /** @type {ol.source.Tile} */ (source).getTileGridForProjection(projection); intersectsTileRange = sourceAttribution.intersectsAnyTileRange( tileRanges, tileGrid, projection); } else { diff --git a/src/ol/control/fullscreencontrol.js b/src/ol/control/fullscreencontrol.js index 976de1bf64..dfb3053778 100644 --- a/src/ol/control/fullscreencontrol.js +++ b/src/ol/control/fullscreencontrol.js @@ -1,6 +1,5 @@ goog.provide('ol.control.FullScreen'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol'); @@ -125,7 +124,6 @@ ol.control.FullScreen.prototype.handleFullScreen_ = function() { } else { element = map.getTargetElement(); } - goog.asserts.assert(element, 'element should be defined'); if (this.keys_) { ol.control.FullScreen.requestFullScreenWithKeys(element); diff --git a/src/ol/control/overviewmapcontrol.js b/src/ol/control/overviewmapcontrol.js index 658316e7e1..f72771f6aa 100644 --- a/src/ol/control/overviewmapcontrol.js +++ b/src/ol/control/overviewmapcontrol.js @@ -1,6 +1,5 @@ goog.provide('ol.control.OverviewMap'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol'); @@ -272,18 +271,14 @@ ol.control.OverviewMap.prototype.validateExtent_ = function() { return; } - var mapSize = map.getSize(); - goog.asserts.assertArray(mapSize, 'mapSize should be an array'); + var mapSize = /** @type {ol.Size} */ (map.getSize()); var view = map.getView(); - goog.asserts.assert(view, 'view should be defined'); var extent = view.calculateExtent(mapSize); - var ovmapSize = ovmap.getSize(); - goog.asserts.assertArray(ovmapSize, 'ovmapSize should be an array'); + var ovmapSize = /** @type {ol.Size} */ (ovmap.getSize()); var ovview = ovmap.getView(); - goog.asserts.assert(ovview, 'ovview should be defined'); var ovextent = ovview.calculateExtent(ovmapSize); var topLeftPixel = @@ -321,18 +316,14 @@ ol.control.OverviewMap.prototype.resetExtent_ = function() { var map = this.getMap(); var ovmap = this.ovmap_; - var mapSize = map.getSize(); - goog.asserts.assertArray(mapSize, 'mapSize should be an array'); + var mapSize = /** @type {ol.Size} */ (map.getSize()); var view = map.getView(); - goog.asserts.assert(view, 'view should be defined'); var extent = view.calculateExtent(mapSize); - var ovmapSize = ovmap.getSize(); - goog.asserts.assertArray(ovmapSize, 'ovmapSize should be an array'); + var ovmapSize = /** @type {ol.Size} */ (ovmap.getSize()); var ovview = ovmap.getView(); - goog.asserts.assert(ovview, 'ovview should be defined'); // get how many times the current map overview could hold different // box sizes using the min and max ratio, pick the step in the middle used @@ -355,10 +346,8 @@ ol.control.OverviewMap.prototype.recenter_ = function() { var ovmap = this.ovmap_; var view = map.getView(); - goog.asserts.assert(view, 'view should be defined'); var ovview = ovmap.getView(); - goog.asserts.assert(ovview, 'ovview should be defined'); ovview.setCenter(view.getCenter()); }; @@ -376,20 +365,15 @@ ol.control.OverviewMap.prototype.updateBox_ = function() { return; } - var mapSize = map.getSize(); - goog.asserts.assertArray(mapSize, 'mapSize should be an array'); + var mapSize = /** @type {ol.Size} */ (map.getSize()); var view = map.getView(); - goog.asserts.assert(view, 'view should be defined'); var ovview = ovmap.getView(); - goog.asserts.assert(ovview, 'ovview should be defined'); var ovmapSize = ovmap.getSize(); - goog.asserts.assertArray(ovmapSize, 'ovmapSize should be an array'); var rotation = view.getRotation(); - goog.asserts.assert(rotation !== undefined, 'rotation should be defined'); var overlay = this.boxOverlay_; var box = this.boxOverlay_.getElement(); @@ -422,7 +406,6 @@ ol.control.OverviewMap.prototype.calculateCoordinateRotate_ = function( var map = this.getMap(); var view = map.getView(); - goog.asserts.assert(view, 'view should be defined'); var currentCenter = view.getCenter(); diff --git a/src/ol/control/scalelinecontrol.js b/src/ol/control/scalelinecontrol.js index b5dd25e816..2b28824552 100644 --- a/src/ol/control/scalelinecontrol.js +++ b/src/ol/control/scalelinecontrol.js @@ -1,7 +1,6 @@ goog.provide('ol.control.ScaleLine'); goog.provide('ol.control.ScaleLineUnits'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol'); goog.require('ol.Object'); @@ -246,7 +245,7 @@ ol.control.ScaleLine.prototype.updateElement_ = function() { pointResolution /= 1609.3472; } } else { - goog.asserts.fail('Scale line element cannot be updated'); + ol.assert(false, 33); // Invalid units } var i = 3 * Math.floor( diff --git a/src/ol/control/zoomslidercontrol.js b/src/ol/control/zoomslidercontrol.js index 880c825e8b..5f92a8441e 100644 --- a/src/ol/control/zoomslidercontrol.js +++ b/src/ol/control/zoomslidercontrol.js @@ -2,7 +2,6 @@ goog.provide('ol.control.ZoomSlider'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.Event'); goog.require('ol.events.EventType'); @@ -216,8 +215,6 @@ ol.control.ZoomSlider.render = function(mapEvent) { if (!mapEvent.frameState) { return; } - goog.asserts.assert(mapEvent.frameState.viewState, - 'viewState should be defined'); if (!this.sliderInitialized_) { this.initSlider_(); } @@ -237,10 +234,8 @@ ol.control.ZoomSlider.prototype.handleContainerClick_ = function(event) { var map = this.getMap(); var view = map.getView(); var currentResolution = view.getResolution(); - goog.asserts.assert(currentResolution, - 'currentResolution should be defined'); map.beforeRender(ol.animation.zoom({ - resolution: currentResolution, + resolution: /** @type {number} */ (currentResolution), duration: this.duration_, easing: ol.easing.easeOut })); @@ -312,10 +307,8 @@ ol.control.ZoomSlider.prototype.handleDraggerEnd_ = function(event) { var map = this.getMap(); var view = map.getView(); view.setHint(ol.ViewHint.INTERACTING, -1); - goog.asserts.assert(this.currentResolution_, - 'this.currentResolution_ should be defined'); map.beforeRender(ol.animation.zoom({ - resolution: this.currentResolution_, + resolution: /** @type {number} */ (this.currentResolution_), duration: this.duration_, easing: ol.easing.easeOut })); diff --git a/src/ol/control/zoomtoextentcontrol.js b/src/ol/control/zoomtoextentcontrol.js index b8f5e52387..3510aa42d7 100644 --- a/src/ol/control/zoomtoextentcontrol.js +++ b/src/ol/control/zoomtoextentcontrol.js @@ -1,6 +1,5 @@ goog.provide('ol.control.ZoomToExtent'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.control.Control'); @@ -73,7 +72,6 @@ ol.control.ZoomToExtent.prototype.handleZoomToExtent_ = function() { var map = this.getMap(); var view = map.getView(); var extent = !this.extent_ ? view.getProjection().getExtent() : this.extent_; - var size = map.getSize(); - goog.asserts.assert(size, 'size should be defined'); + var size = /** @type {ol.Size} */ (map.getSize()); view.fit(extent, size); }; diff --git a/src/ol/dom/dom.js b/src/ol/dom/dom.js index 78e7820dff..4a5a657c0b 100644 --- a/src/ol/dom/dom.js +++ b/src/ol/dom/dom.js @@ -1,6 +1,5 @@ goog.provide('ol.dom'); -goog.require('goog.asserts'); goog.require('goog.userAgent'); goog.require('ol'); goog.require('ol.vec.Mat4'); @@ -41,11 +40,6 @@ ol.dom.canUseCssTransform = (function() { var canUseCssTransform; return function() { if (canUseCssTransform === undefined) { - goog.asserts.assert(document.body, - 'document.body should not be null'); - goog.asserts.assert(ol.global.getComputedStyle, - 'getComputedStyle is required (unsupported browser?)'); - var el = document.createElement('P'), has2d, transforms = { @@ -82,11 +76,6 @@ ol.dom.canUseCssTransform3D = (function() { var canUseCssTransform3D; return function() { if (canUseCssTransform3D === undefined) { - goog.asserts.assert(document.body, - 'document.body should not be null'); - goog.asserts.assert(ol.global.getComputedStyle, - 'getComputedStyle is required (unsupported browser?)'); - var el = document.createElement('P'), has3d, transforms = { diff --git a/src/ol/events/condition.js b/src/ol/events/condition.js index a2e9e2cb63..425ea769b9 100644 --- a/src/ol/events/condition.js +++ b/src/ol/events/condition.js @@ -1,6 +1,5 @@ goog.provide('ol.events.condition'); -goog.require('goog.asserts'); goog.require('ol.functions'); goog.require('ol.MapBrowserEvent.EventType'); goog.require('ol.MapBrowserPointerEvent'); @@ -189,8 +188,6 @@ ol.events.condition.shiftKeyOnly = function(mapBrowserEvent) { */ ol.events.condition.targetNotEditable = function(mapBrowserEvent) { var target = mapBrowserEvent.originalEvent.target; - goog.asserts.assertInstanceof(target, Element, - 'target should be an Element'); var tagName = target.tagName; return ( tagName !== 'INPUT' && diff --git a/src/ol/events/eventtarget.js b/src/ol/events/eventtarget.js index 0c547506ad..2e6efb74ae 100644 --- a/src/ol/events/eventtarget.js +++ b/src/ol/events/eventtarget.js @@ -1,6 +1,5 @@ goog.provide('ol.events.EventTarget'); -goog.require('goog.asserts'); goog.require('ol.Disposable'); goog.require('ol.events'); goog.require('ol.events.Event'); @@ -144,7 +143,7 @@ ol.events.EventTarget.prototype.removeEventListener = function(type, listener) { var listeners = this.listeners_[type]; if (listeners) { var index = listeners.indexOf(listener); - goog.asserts.assert(index != -1, 'listener not found'); + ol.DEBUG && console.assert(index != -1, 'listener not found'); if (type in this.pendingRemovals_) { // make listener a no-op, and remove later in #dispatchEvent() listeners[index] = ol.nullFunction; diff --git a/src/ol/extent.js b/src/ol/extent.js index aaba2c1210..f96c886bdd 100644 --- a/src/ol/extent.js +++ b/src/ol/extent.js @@ -2,8 +2,6 @@ goog.provide('ol.extent'); goog.provide('ol.extent.Corner'); goog.provide('ol.extent.Relationship'); -goog.require('goog.asserts'); - /** * Extent corner. @@ -55,8 +53,8 @@ ol.extent.boundingExtent = function(coordinates) { * @return {ol.Extent} Extent. */ ol.extent.boundingExtentXYs_ = function(xs, ys, opt_extent) { - goog.asserts.assert(xs.length > 0, 'xs length should be larger than 0'); - goog.asserts.assert(ys.length > 0, 'ys length should be larger than 0'); + ol.DEBUG && console.assert(xs.length > 0, 'xs length should be larger than 0'); + ol.DEBUG && console.assert(ys.length > 0, 'ys length should be larger than 0'); var minX = Math.min.apply(null, xs); var minY = Math.min.apply(null, ys); var maxX = Math.max.apply(null, xs); @@ -528,10 +526,9 @@ ol.extent.getCorner = function(extent, corner) { } else if (corner === ol.extent.Corner.TOP_RIGHT) { coordinate = ol.extent.getTopRight(extent); } else { - goog.asserts.fail('Invalid corner: %s', corner); + ol.assert(false, 13); // Invalid corner } - goog.asserts.assert(coordinate, 'coordinate should be defined'); - return coordinate; + return /** @type {!ol.Coordinate} */ (coordinate); }; diff --git a/src/ol/feature.js b/src/ol/feature.js index 84620e797f..a9f351c2bb 100644 --- a/src/ol/feature.js +++ b/src/ol/feature.js @@ -1,6 +1,5 @@ goog.provide('ol.Feature'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol'); @@ -100,8 +99,6 @@ ol.Feature = function(opt_geometryOrProperties) { var geometry = opt_geometryOrProperties; this.setGeometry(geometry); } else { - goog.asserts.assert(goog.isObject(opt_geometryOrProperties), - 'opt_geometryOrProperties should be an Object'); /** @type {Object.} */ var properties = opt_geometryOrProperties; this.setProperties(properties); @@ -304,8 +301,8 @@ ol.Feature.createStyleFunction = function(obj) { if (Array.isArray(obj)) { styles = obj; } else { - goog.asserts.assertInstanceof(obj, ol.style.Style, - 'obj should be an ol.style.Style'); + ol.assert(obj instanceof ol.style.Style, + 41); // Expected an `ol.style.Style` or an array of `ol.style.Style` styles = [obj]; } styleFunction = function() { diff --git a/src/ol/featureloader.js b/src/ol/featureloader.js index 57b7125952..5e295bac72 100644 --- a/src/ol/featureloader.js +++ b/src/ol/featureloader.js @@ -1,6 +1,5 @@ goog.provide('ol.featureloader'); -goog.require('goog.asserts'); goog.require('ol.TileState'); goog.require('ol.VectorTile'); goog.require('ol.format.FormatType'); @@ -56,15 +55,13 @@ ol.featureloader.loadFeaturesXhr = function(url, format, success, failure) { } } else if (type == ol.format.FormatType.ARRAY_BUFFER) { source = /** @type {ArrayBuffer} */ (xhr.response); - } else { - goog.asserts.fail('unexpected format type'); } if (source) { success.call(this, format.readFeatures(source, {featureProjection: projection}), format.readProjection(source)); } else { - goog.asserts.fail('undefined or null source'); + failure.call(this); } } else { failure.call(this); diff --git a/src/ol/format/esrijsonformat.js b/src/ol/format/esrijsonformat.js index 9c7e837038..79c4a68fa6 100644 --- a/src/ol/format/esrijsonformat.js +++ b/src/ol/format/esrijsonformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.EsriJSON'); -goog.require('goog.asserts'); goog.require('ol.Feature'); goog.require('ol.array'); goog.require('ol.extent'); @@ -56,6 +55,7 @@ ol.format.EsriJSON.readGeometry_ = function(object, opt_options) { if (!object) { return null; } + /** @type {ol.geom.GeometryType} */ var type; if (typeof object.x === 'number' && typeof object.y === 'number') { type = ol.geom.GeometryType.POINT; @@ -79,9 +79,8 @@ ol.format.EsriJSON.readGeometry_ = function(object, opt_options) { object.rings = rings; } } - goog.asserts.assert(type, 'geometry type should be defined'); var geometryReader = ol.format.EsriJSON.GEOMETRY_READERS_[type]; - goog.asserts.assert(geometryReader, + ol.DEBUG && console.assert(geometryReader, 'geometryReader should be defined'); return /** @type {ol.geom.Geometry} */ ( ol.format.Feature.transformWithOptions( @@ -145,8 +144,8 @@ ol.format.EsriJSON.convertRings_ = function(rings, layout) { * @return {ol.geom.Geometry} Point. */ ol.format.EsriJSON.readPointGeometry_ = function(object) { - goog.asserts.assert(typeof object.x === 'number', 'object.x should be number'); - goog.asserts.assert(typeof object.y === 'number', 'object.y should be number'); + ol.DEBUG && console.assert(typeof object.x === 'number', 'object.x should be number'); + ol.DEBUG && console.assert(typeof object.y === 'number', 'object.y should be number'); var point; if (object.m !== undefined && object.z !== undefined) { point = new ol.geom.Point([object.x, object.y, object.z, object.m], @@ -170,9 +169,9 @@ ol.format.EsriJSON.readPointGeometry_ = function(object) { * @return {ol.geom.Geometry} LineString. */ ol.format.EsriJSON.readLineStringGeometry_ = function(object) { - goog.asserts.assert(Array.isArray(object.paths), + ol.DEBUG && console.assert(Array.isArray(object.paths), 'object.paths should be an array'); - goog.asserts.assert(object.paths.length === 1, + ol.DEBUG && console.assert(object.paths.length === 1, 'object.paths array length should be 1'); var layout = ol.format.EsriJSON.getGeometryLayout_(object); return new ol.geom.LineString(object.paths[0], layout); @@ -185,9 +184,9 @@ ol.format.EsriJSON.readLineStringGeometry_ = function(object) { * @return {ol.geom.Geometry} MultiLineString. */ ol.format.EsriJSON.readMultiLineStringGeometry_ = function(object) { - goog.asserts.assert(Array.isArray(object.paths), + ol.DEBUG && console.assert(Array.isArray(object.paths), 'object.paths should be an array'); - goog.asserts.assert(object.paths.length > 1, + ol.DEBUG && console.assert(object.paths.length > 1, 'object.paths array length should be more than 1'); var layout = ol.format.EsriJSON.getGeometryLayout_(object); return new ol.geom.MultiLineString(object.paths, layout); @@ -218,7 +217,7 @@ ol.format.EsriJSON.getGeometryLayout_ = function(object) { * @return {ol.geom.Geometry} MultiPoint. */ ol.format.EsriJSON.readMultiPointGeometry_ = function(object) { - goog.asserts.assert(object.points, 'object.points should be defined'); + ol.DEBUG && console.assert(object.points, 'object.points should be defined'); var layout = ol.format.EsriJSON.getGeometryLayout_(object); return new ol.geom.MultiPoint(object.points, layout); }; @@ -230,8 +229,8 @@ ol.format.EsriJSON.readMultiPointGeometry_ = function(object) { * @return {ol.geom.Geometry} MultiPolygon. */ ol.format.EsriJSON.readMultiPolygonGeometry_ = function(object) { - goog.asserts.assert(object.rings); - goog.asserts.assert(object.rings.length > 1, + ol.DEBUG && console.assert(object.rings); + ol.DEBUG && console.assert(object.rings.length > 1, 'object.rings should have length larger than 1'); var layout = ol.format.EsriJSON.getGeometryLayout_(object); return new ol.geom.MultiPolygon( @@ -246,7 +245,7 @@ ol.format.EsriJSON.readMultiPolygonGeometry_ = function(object) { * @return {ol.geom.Geometry} Polygon. */ ol.format.EsriJSON.readPolygonGeometry_ = function(object) { - goog.asserts.assert(object.rings); + ol.DEBUG && console.assert(object.rings); var layout = ol.format.EsriJSON.getGeometryLayout_(object); return new ol.geom.Polygon(object.rings, layout); }; @@ -259,37 +258,37 @@ ol.format.EsriJSON.readPolygonGeometry_ = function(object) { * @return {EsriJSONGeometry} EsriJSON geometry. */ ol.format.EsriJSON.writePointGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.Point, - 'geometry should be an ol.geom.Point'); - var coordinates = geometry.getCoordinates(); - var layout = geometry.getLayout(); + var coordinates = /** @type ol.geom.Point */ (geometry).getCoordinates(); + var esriJSON; + var layout = /** @type ol.geom.Point */ (geometry).getLayout(); if (layout === ol.geom.GeometryLayout.XYZ) { - return /** @type {EsriJSONPoint} */ ({ + esriJSON = /** @type {EsriJSONPoint} */ ({ x: coordinates[0], y: coordinates[1], z: coordinates[2] }); } else if (layout === ol.geom.GeometryLayout.XYM) { - return /** @type {EsriJSONPoint} */ ({ + esriJSON = /** @type {EsriJSONPoint} */ ({ x: coordinates[0], y: coordinates[1], m: coordinates[2] }); } else if (layout === ol.geom.GeometryLayout.XYZM) { - return /** @type {EsriJSONPoint} */ ({ + esriJSON = /** @type {EsriJSONPoint} */ ({ x: coordinates[0], y: coordinates[1], z: coordinates[2], m: coordinates[3] }); } else if (layout === ol.geom.GeometryLayout.XY) { - return /** @type {EsriJSONPoint} */ ({ + esriJSON = /** @type {EsriJSONPoint} */ ({ x: coordinates[0], y: coordinates[1] }); } else { - goog.asserts.fail('Unknown geometry layout'); + ol.assert(false, 34); // Invalid geometry layout } + return /** @type {EsriJSONGeometry} */ (esriJSON); }; @@ -316,13 +315,11 @@ ol.format.EsriJSON.getHasZM_ = function(geometry) { * @return {EsriJSONPolyline} EsriJSON geometry. */ ol.format.EsriJSON.writeLineStringGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.LineString, - 'geometry should be an ol.geom.LineString'); - var hasZM = ol.format.EsriJSON.getHasZM_(geometry); + var hasZM = ol.format.EsriJSON.getHasZM_(/** @type {ol.geom.LineString} */ (geometry)); return /** @type {EsriJSONPolyline} */ ({ hasZ: hasZM.hasZ, hasM: hasZM.hasM, - paths: [geometry.getCoordinates()] + paths: [/** @type {ol.geom.LineString} */ (geometry).getCoordinates()] }); }; @@ -334,14 +331,12 @@ ol.format.EsriJSON.writeLineStringGeometry_ = function(geometry, opt_options) { * @return {EsriJSONPolygon} EsriJSON geometry. */ ol.format.EsriJSON.writePolygonGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.Polygon, - 'geometry should be an ol.geom.Polygon'); // Esri geometries use the left-hand rule - var hasZM = ol.format.EsriJSON.getHasZM_(geometry); + var hasZM = ol.format.EsriJSON.getHasZM_(/** @type {ol.geom.Polygon} */ (geometry)); return /** @type {EsriJSONPolygon} */ ({ hasZ: hasZM.hasZ, hasM: hasZM.hasM, - rings: geometry.getCoordinates(false) + rings: /** @type {ol.geom.Polygon} */ (geometry).getCoordinates(false) }); }; @@ -353,13 +348,11 @@ ol.format.EsriJSON.writePolygonGeometry_ = function(geometry, opt_options) { * @return {EsriJSONPolyline} EsriJSON geometry. */ ol.format.EsriJSON.writeMultiLineStringGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.MultiLineString, - 'geometry should be an ol.geom.MultiLineString'); - var hasZM = ol.format.EsriJSON.getHasZM_(geometry); + var hasZM = ol.format.EsriJSON.getHasZM_(/** @type {ol.geom.MultiLineString} */ (geometry)); return /** @type {EsriJSONPolyline} */ ({ hasZ: hasZM.hasZ, hasM: hasZM.hasM, - paths: geometry.getCoordinates() + paths: /** @type {ol.geom.MultiLineString} */ (geometry).getCoordinates() }); }; @@ -371,13 +364,11 @@ ol.format.EsriJSON.writeMultiLineStringGeometry_ = function(geometry, opt_option * @return {EsriJSONMultipoint} EsriJSON geometry. */ ol.format.EsriJSON.writeMultiPointGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.MultiPoint, - 'geometry should be an ol.geom.MultiPoint'); - var hasZM = ol.format.EsriJSON.getHasZM_(geometry); + var hasZM = ol.format.EsriJSON.getHasZM_(/** @type {ol.geom.MultiPoint} */ (geometry)); return /** @type {EsriJSONMultipoint} */ ({ hasZ: hasZM.hasZ, hasM: hasZM.hasM, - points: geometry.getCoordinates() + points: /** @type {ol.geom.MultiPoint} */ (geometry).getCoordinates() }); }; @@ -390,10 +381,8 @@ ol.format.EsriJSON.writeMultiPointGeometry_ = function(geometry, opt_options) { */ ol.format.EsriJSON.writeMultiPolygonGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.MultiPolygon, - 'geometry should be an ol.geom.MultiPolygon'); - var hasZM = ol.format.EsriJSON.getHasZM_(geometry); - var coordinates = geometry.getCoordinates(false); + var hasZM = ol.format.EsriJSON.getHasZM_(/** @type {ol.geom.MultiPolygon} */ (geometry)); + var coordinates = /** @type {ol.geom.MultiPolygon} */ (geometry).getCoordinates(false); var output = []; for (var i = 0; i < coordinates.length; i++) { for (var x = coordinates[i].length - 1; x >= 0; x--) { @@ -480,7 +469,7 @@ ol.format.EsriJSON.prototype.readFeatures; ol.format.EsriJSON.prototype.readFeatureFromObject = function( object, opt_options) { var esriJSONFeature = /** @type {EsriJSONFeature} */ (object); - goog.asserts.assert(esriJSONFeature.geometry || + ol.DEBUG && console.assert(esriJSONFeature.geometry || esriJSONFeature.attributes, 'geometry or attributes should be defined'); var geometry = ol.format.EsriJSON.readGeometry_(esriJSONFeature.geometry, @@ -492,7 +481,7 @@ ol.format.EsriJSON.prototype.readFeatureFromObject = function( feature.setGeometry(geometry); if (opt_options && opt_options.idField && esriJSONFeature.attributes[opt_options.idField]) { - goog.asserts.assert( + ol.DEBUG && console.assert( typeof esriJSONFeature.attributes[opt_options.idField] === 'number', 'objectIdFieldName value should be a number'); feature.setId(/** @type {number} */( @@ -586,7 +575,7 @@ ol.format.EsriJSON.prototype.readProjectionFromObject = function(object) { */ ol.format.EsriJSON.writeGeometry_ = function(geometry, opt_options) { var geometryWriter = ol.format.EsriJSON.GEOMETRY_WRITERS_[geometry.getType()]; - goog.asserts.assert(geometryWriter, 'geometryWriter should be defined'); + ol.DEBUG && console.assert(geometryWriter, 'geometryWriter should be defined'); return geometryWriter(/** @type {ol.geom.Geometry} */ ( ol.format.Feature.transformWithOptions(geometry, true, opt_options)), opt_options); diff --git a/src/ol/format/geojsonformat.js b/src/ol/format/geojsonformat.js index 81a50c69cf..f53da82e55 100644 --- a/src/ol/format/geojsonformat.js +++ b/src/ol/format/geojsonformat.js @@ -3,7 +3,6 @@ goog.provide('ol.format.GeoJSON'); -goog.require('goog.asserts'); goog.require('ol.Feature'); goog.require('ol.format.Feature'); goog.require('ol.format.JSONFeature'); @@ -71,7 +70,7 @@ ol.format.GeoJSON.readGeometry_ = function(object, opt_options) { return null; } var geometryReader = ol.format.GeoJSON.GEOMETRY_READERS_[object.type]; - goog.asserts.assert(geometryReader, 'geometryReader should be defined'); + ol.DEBUG && console.assert(geometryReader, 'geometryReader should be defined'); return /** @type {ol.geom.Geometry} */ ( ol.format.Feature.transformWithOptions( geometryReader(object), false, opt_options)); @@ -86,7 +85,7 @@ ol.format.GeoJSON.readGeometry_ = function(object, opt_options) { */ ol.format.GeoJSON.readGeometryCollectionGeometry_ = function( object, opt_options) { - goog.asserts.assert(object.type == 'GeometryCollection', + ol.DEBUG && console.assert(object.type == 'GeometryCollection', 'object.type should be GeometryCollection'); var geometries = object.geometries.map( /** @@ -106,7 +105,7 @@ ol.format.GeoJSON.readGeometryCollectionGeometry_ = function( * @return {ol.geom.Point} Point. */ ol.format.GeoJSON.readPointGeometry_ = function(object) { - goog.asserts.assert(object.type == 'Point', + ol.DEBUG && console.assert(object.type == 'Point', 'object.type should be Point'); return new ol.geom.Point(object.coordinates); }; @@ -118,7 +117,7 @@ ol.format.GeoJSON.readPointGeometry_ = function(object) { * @return {ol.geom.LineString} LineString. */ ol.format.GeoJSON.readLineStringGeometry_ = function(object) { - goog.asserts.assert(object.type == 'LineString', + ol.DEBUG && console.assert(object.type == 'LineString', 'object.type should be LineString'); return new ol.geom.LineString(object.coordinates); }; @@ -130,7 +129,7 @@ ol.format.GeoJSON.readLineStringGeometry_ = function(object) { * @return {ol.geom.MultiLineString} MultiLineString. */ ol.format.GeoJSON.readMultiLineStringGeometry_ = function(object) { - goog.asserts.assert(object.type == 'MultiLineString', + ol.DEBUG && console.assert(object.type == 'MultiLineString', 'object.type should be MultiLineString'); return new ol.geom.MultiLineString(object.coordinates); }; @@ -142,7 +141,7 @@ ol.format.GeoJSON.readMultiLineStringGeometry_ = function(object) { * @return {ol.geom.MultiPoint} MultiPoint. */ ol.format.GeoJSON.readMultiPointGeometry_ = function(object) { - goog.asserts.assert(object.type == 'MultiPoint', + ol.DEBUG && console.assert(object.type == 'MultiPoint', 'object.type should be MultiPoint'); return new ol.geom.MultiPoint(object.coordinates); }; @@ -154,7 +153,7 @@ ol.format.GeoJSON.readMultiPointGeometry_ = function(object) { * @return {ol.geom.MultiPolygon} MultiPolygon. */ ol.format.GeoJSON.readMultiPolygonGeometry_ = function(object) { - goog.asserts.assert(object.type == 'MultiPolygon', + ol.DEBUG && console.assert(object.type == 'MultiPolygon', 'object.type should be MultiPolygon'); return new ol.geom.MultiPolygon(object.coordinates); }; @@ -166,7 +165,7 @@ ol.format.GeoJSON.readMultiPolygonGeometry_ = function(object) { * @return {ol.geom.Polygon} Polygon. */ ol.format.GeoJSON.readPolygonGeometry_ = function(object) { - goog.asserts.assert(object.type == 'Polygon', + ol.DEBUG && console.assert(object.type == 'Polygon', 'object.type should be Polygon'); return new ol.geom.Polygon(object.coordinates); }; @@ -180,7 +179,7 @@ ol.format.GeoJSON.readPolygonGeometry_ = function(object) { */ ol.format.GeoJSON.writeGeometry_ = function(geometry, opt_options) { var geometryWriter = ol.format.GeoJSON.GEOMETRY_WRITERS_[geometry.getType()]; - goog.asserts.assert(geometryWriter, 'geometryWriter should be defined'); + ol.DEBUG && console.assert(geometryWriter, 'geometryWriter should be defined'); return geometryWriter(/** @type {ol.geom.Geometry} */ ( ol.format.Feature.transformWithOptions(geometry, true, opt_options)), opt_options); @@ -201,15 +200,13 @@ ol.format.GeoJSON.writeEmptyGeometryCollectionGeometry_ = function(geometry) { /** - * @param {ol.geom.Geometry} geometry Geometry. + * @param {ol.geom.GeometryCollection} geometry Geometry. * @param {olx.format.WriteOptions=} opt_options Write options. * @private * @return {GeoJSONGeometryCollection} GeoJSON geometry collection. */ ol.format.GeoJSON.writeGeometryCollectionGeometry_ = function( geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.GeometryCollection, - 'geometry should be an ol.geom.GeometryCollection'); var geometries = geometry.getGeometriesArray().map(function(geometry) { var options = ol.object.assign({}, opt_options); delete options.featureProjection; @@ -223,14 +220,12 @@ ol.format.GeoJSON.writeGeometryCollectionGeometry_ = function( /** - * @param {ol.geom.Geometry} geometry Geometry. + * @param {ol.geom.LineString} geometry Geometry. * @param {olx.format.WriteOptions=} opt_options Write options. * @private * @return {GeoJSONGeometry} GeoJSON geometry. */ ol.format.GeoJSON.writeLineStringGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.LineString, - 'geometry should be an ol.geom.LineString'); return /** @type {GeoJSONGeometry} */ ({ type: 'LineString', coordinates: geometry.getCoordinates() @@ -239,14 +234,12 @@ ol.format.GeoJSON.writeLineStringGeometry_ = function(geometry, opt_options) { /** - * @param {ol.geom.Geometry} geometry Geometry. + * @param {ol.geom.MultiLineString} geometry Geometry. * @param {olx.format.WriteOptions=} opt_options Write options. * @private * @return {GeoJSONGeometry} GeoJSON geometry. */ ol.format.GeoJSON.writeMultiLineStringGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.MultiLineString, - 'geometry should be an ol.geom.MultiLineString'); return /** @type {GeoJSONGeometry} */ ({ type: 'MultiLineString', coordinates: geometry.getCoordinates() @@ -255,14 +248,12 @@ ol.format.GeoJSON.writeMultiLineStringGeometry_ = function(geometry, opt_options /** - * @param {ol.geom.Geometry} geometry Geometry. + * @param {ol.geom.MultiPoint} geometry Geometry. * @param {olx.format.WriteOptions=} opt_options Write options. * @private * @return {GeoJSONGeometry} GeoJSON geometry. */ ol.format.GeoJSON.writeMultiPointGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.MultiPoint, - 'geometry should be an ol.geom.MultiPoint'); return /** @type {GeoJSONGeometry} */ ({ type: 'MultiPoint', coordinates: geometry.getCoordinates() @@ -271,14 +262,12 @@ ol.format.GeoJSON.writeMultiPointGeometry_ = function(geometry, opt_options) { /** - * @param {ol.geom.Geometry} geometry Geometry. + * @param {ol.geom.MultiPolygon} geometry Geometry. * @param {olx.format.WriteOptions=} opt_options Write options. * @private * @return {GeoJSONGeometry} GeoJSON geometry. */ ol.format.GeoJSON.writeMultiPolygonGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.MultiPolygon, - 'geometry should be an ol.geom.MultiPolygon'); var right; if (opt_options) { right = opt_options.rightHanded; @@ -291,14 +280,12 @@ ol.format.GeoJSON.writeMultiPolygonGeometry_ = function(geometry, opt_options) { /** - * @param {ol.geom.Geometry} geometry Geometry. + * @param {ol.geom.Point} geometry Geometry. * @param {olx.format.WriteOptions=} opt_options Write options. * @private * @return {GeoJSONGeometry} GeoJSON geometry. */ ol.format.GeoJSON.writePointGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.Point, - 'geometry should be an ol.geom.Point'); return /** @type {GeoJSONGeometry} */ ({ type: 'Point', coordinates: geometry.getCoordinates() @@ -307,14 +294,12 @@ ol.format.GeoJSON.writePointGeometry_ = function(geometry, opt_options) { /** - * @param {ol.geom.Geometry} geometry Geometry. + * @param {ol.geom.Polygon} geometry Geometry. * @param {olx.format.WriteOptions=} opt_options Write options. * @private * @return {GeoJSONGeometry} GeoJSON geometry. */ ol.format.GeoJSON.writePolygonGeometry_ = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.Polygon, - 'geometry should be an ol.geom.Polygon'); var right; if (opt_options) { right = opt_options.rightHanded; @@ -399,7 +384,7 @@ ol.format.GeoJSON.prototype.readFeatures; ol.format.GeoJSON.prototype.readFeatureFromObject = function( object, opt_options) { var geoJSONFeature = /** @type {GeoJSONFeature} */ (object); - goog.asserts.assert(geoJSONFeature.type == 'Feature', + ol.DEBUG && console.assert(geoJSONFeature.type == 'Feature', 'geoJSONFeature.type should be Feature'); var geometry = ol.format.GeoJSON.readGeometry_(geoJSONFeature.geometry, opt_options); @@ -424,24 +409,24 @@ ol.format.GeoJSON.prototype.readFeatureFromObject = function( ol.format.GeoJSON.prototype.readFeaturesFromObject = function( object, opt_options) { var geoJSONObject = /** @type {GeoJSONObject} */ (object); + /** @type {Array.} */ + var features; if (geoJSONObject.type == 'Feature') { - return [this.readFeatureFromObject(object, opt_options)]; + features = [this.readFeatureFromObject(object, opt_options)]; } else if (geoJSONObject.type == 'FeatureCollection') { var geoJSONFeatureCollection = /** @type {GeoJSONFeatureCollection} */ (object); - /** @type {Array.} */ - var features = []; + features = []; var geoJSONFeatures = geoJSONFeatureCollection.features; var i, ii; for (i = 0, ii = geoJSONFeatures.length; i < ii; ++i) { features.push(this.readFeatureFromObject(geoJSONFeatures[i], opt_options)); } - return features; } else { - goog.asserts.fail('Unknown geoJSONObject.type: ' + geoJSONObject.type); - return []; + ol.assert(false, 35); // Unknown GeoJSON object type } + return /** Array. */ (features); }; @@ -484,22 +469,23 @@ ol.format.GeoJSON.prototype.readProjection; ol.format.GeoJSON.prototype.readProjectionFromObject = function(object) { var geoJSONObject = /** @type {GeoJSONObject} */ (object); var crs = geoJSONObject.crs; + var projection; if (crs) { if (crs.type == 'name') { - return ol.proj.get(crs.properties.name); + projection = ol.proj.get(crs.properties.name); } else if (crs.type == 'EPSG') { // 'EPSG' is not part of the GeoJSON specification, but is generated by // GeoServer. // TODO: remove this when http://jira.codehaus.org/browse/GEOS-5996 // is fixed and widely deployed. - return ol.proj.get('EPSG:' + crs.properties.code); + projection = ol.proj.get('EPSG:' + crs.properties.code); } else { - goog.asserts.fail('Unknown crs.type: ' + crs.type); - return null; + ol.assert(false, 36); // Unknown SRS type } } else { - return this.defaultDataProjection; + projection = this.defaultDataProjection; } + return /** @type {ol.proj.Projection} */ (projection); }; diff --git a/src/ol/format/gml/gml2format.js b/src/ol/format/gml/gml2format.js index a01310e624..24aec4a66d 100644 --- a/src/ol/format/gml/gml2format.js +++ b/src/ol/format/gml/gml2format.js @@ -1,6 +1,5 @@ goog.provide('ol.format.GML2'); -goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.format.GMLBase'); goog.require('ol.format.XSD'); @@ -56,7 +55,6 @@ ol.format.GML2.schemaLocation_ = ol.format.GMLBase.GMLNS + ol.format.GML2.prototype.readFlatCoordinates_ = function(node, objectStack) { var s = ol.xml.getAllTextContent(node, false).replace(/^\s*|\s*$/g, ''); var context = /** @type {ol.XmlNodeStackItem} */ (objectStack[0]); - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var containerSrs = context['srsName']; var containerDimension = node.parentNode.getAttribute('srsDimension'); var axisOrientation = 'enu'; @@ -101,9 +99,9 @@ ol.format.GML2.prototype.readFlatCoordinates_ = function(node, objectStack) { * @return {ol.Extent|undefined} Envelope. */ ol.format.GML2.prototype.readBox_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Box', 'localName should be Box'); + ol.DEBUG && console.assert(node.localName == 'Box', 'localName should be Box'); /** @type {Array.} */ var flatCoordinates = ol.xml.pushParseAndPop([null], this.BOX_PARSERS_, node, objectStack, this); @@ -119,9 +117,9 @@ ol.format.GML2.prototype.readBox_ = function(node, objectStack) { * @private */ ol.format.GML2.prototype.innerBoundaryIsParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'innerBoundaryIs', + ol.DEBUG && console.assert(node.localName == 'innerBoundaryIs', 'localName should be innerBoundaryIs'); /** @type {Array.|undefined} */ var flatLinearRing = ol.xml.pushParseAndPop(undefined, @@ -129,9 +127,9 @@ ol.format.GML2.prototype.innerBoundaryIsParser_ = function(node, objectStack) { if (flatLinearRing) { var flatLinearRings = /** @type {Array.>} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(Array.isArray(flatLinearRings), + ol.DEBUG && console.assert(Array.isArray(flatLinearRings), 'flatLinearRings should be an array'); - goog.asserts.assert(flatLinearRings.length > 0, + ol.DEBUG && console.assert(flatLinearRings.length > 0, 'flatLinearRings should have an array length larger than 0'); flatLinearRings.push(flatLinearRing); } @@ -144,9 +142,9 @@ ol.format.GML2.prototype.innerBoundaryIsParser_ = function(node, objectStack) { * @private */ ol.format.GML2.prototype.outerBoundaryIsParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'outerBoundaryIs', + ol.DEBUG && console.assert(node.localName == 'outerBoundaryIs', 'localName should be outerBoundaryIs'); /** @type {Array.|undefined} */ var flatLinearRing = ol.xml.pushParseAndPop(undefined, @@ -154,9 +152,9 @@ ol.format.GML2.prototype.outerBoundaryIsParser_ = function(node, objectStack) { if (flatLinearRing) { var flatLinearRings = /** @type {Array.>} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(Array.isArray(flatLinearRings), + ol.DEBUG && console.assert(Array.isArray(flatLinearRings), 'flatLinearRings should be an array'); - goog.asserts.assert(flatLinearRings.length > 0, + ol.DEBUG && console.assert(flatLinearRings.length > 0, 'flatLinearRings should have an array length larger than 0'); flatLinearRings[0] = flatLinearRing; } diff --git a/src/ol/format/gml/gml3format.js b/src/ol/format/gml/gml3format.js index 9dabea50dc..b5b684e8e4 100644 --- a/src/ol/format/gml/gml3format.js +++ b/src/ol/format/gml/gml3format.js @@ -1,7 +1,6 @@ goog.provide('ol.format.GML'); goog.provide('ol.format.GML3'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.array'); goog.require('ol.Feature'); @@ -93,9 +92,9 @@ ol.format.GML3.schemaLocation_ = ol.format.GMLBase.GMLNS + * @return {ol.geom.MultiLineString|undefined} MultiLineString. */ ol.format.GML3.prototype.readMultiCurve_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'MultiCurve', + ol.DEBUG && console.assert(node.localName == 'MultiCurve', 'localName should be MultiCurve'); /** @type {Array.} */ var lineStrings = ol.xml.pushParseAndPop([], @@ -117,9 +116,9 @@ ol.format.GML3.prototype.readMultiCurve_ = function(node, objectStack) { * @return {ol.geom.MultiPolygon|undefined} MultiPolygon. */ ol.format.GML3.prototype.readMultiSurface_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'MultiSurface', + ol.DEBUG && console.assert(node.localName == 'MultiSurface', 'localName should be MultiSurface'); /** @type {Array.} */ var polygons = ol.xml.pushParseAndPop([], @@ -140,9 +139,9 @@ ol.format.GML3.prototype.readMultiSurface_ = function(node, objectStack) { * @private */ ol.format.GML3.prototype.curveMemberParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'curveMember' || + ol.DEBUG && console.assert(node.localName == 'curveMember' || node.localName == 'curveMembers', 'localName should be curveMember or curveMembers'); ol.xml.parseNode(this.CURVEMEMBER_PARSERS_, node, objectStack, this); @@ -155,9 +154,9 @@ ol.format.GML3.prototype.curveMemberParser_ = function(node, objectStack) { * @private */ ol.format.GML3.prototype.surfaceMemberParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'surfaceMember' || + ol.DEBUG && console.assert(node.localName == 'surfaceMember' || node.localName == 'surfaceMembers', 'localName should be surfaceMember or surfaceMembers'); ol.xml.parseNode(this.SURFACEMEMBER_PARSERS_, @@ -172,9 +171,9 @@ ol.format.GML3.prototype.surfaceMemberParser_ = function(node, objectStack) { * @return {Array.<(Array.)>|undefined} flat coordinates. */ ol.format.GML3.prototype.readPatch_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'patches', + ol.DEBUG && console.assert(node.localName == 'patches', 'localName should be patches'); return ol.xml.pushParseAndPop([null], this.PATCHES_PARSERS_, node, objectStack, this); @@ -188,9 +187,9 @@ ol.format.GML3.prototype.readPatch_ = function(node, objectStack) { * @return {Array.|undefined} flat coordinates. */ ol.format.GML3.prototype.readSegment_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'segments', + ol.DEBUG && console.assert(node.localName == 'segments', 'localName should be segments'); return ol.xml.pushParseAndPop([null], this.SEGMENTS_PARSERS_, node, objectStack, this); @@ -204,9 +203,9 @@ ol.format.GML3.prototype.readSegment_ = function(node, objectStack) { * @return {Array.<(Array.)>|undefined} flat coordinates. */ ol.format.GML3.prototype.readPolygonPatch_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'npde.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'PolygonPatch', + ol.DEBUG && console.assert(node.localName == 'PolygonPatch', 'localName should be PolygonPatch'); return ol.xml.pushParseAndPop([null], this.FLAT_LINEAR_RINGS_PARSERS_, node, objectStack, this); @@ -220,9 +219,9 @@ ol.format.GML3.prototype.readPolygonPatch_ = function(node, objectStack) { * @return {Array.|undefined} flat coordinates. */ ol.format.GML3.prototype.readLineStringSegment_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LineStringSegment', + ol.DEBUG && console.assert(node.localName == 'LineStringSegment', 'localName should be LineStringSegment'); return ol.xml.pushParseAndPop([null], this.GEOMETRY_FLAT_COORDINATES_PARSERS_, @@ -236,9 +235,9 @@ ol.format.GML3.prototype.readLineStringSegment_ = function(node, objectStack) { * @private */ ol.format.GML3.prototype.interiorParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'interior', + ol.DEBUG && console.assert(node.localName == 'interior', 'localName should be interior'); /** @type {Array.|undefined} */ var flatLinearRing = ol.xml.pushParseAndPop(undefined, @@ -246,9 +245,9 @@ ol.format.GML3.prototype.interiorParser_ = function(node, objectStack) { if (flatLinearRing) { var flatLinearRings = /** @type {Array.>} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(Array.isArray(flatLinearRings), + ol.DEBUG && console.assert(Array.isArray(flatLinearRings), 'flatLinearRings should be an array'); - goog.asserts.assert(flatLinearRings.length > 0, + ol.DEBUG && console.assert(flatLinearRings.length > 0, 'flatLinearRings should have an array length of 1 or more'); flatLinearRings.push(flatLinearRing); } @@ -261,9 +260,9 @@ ol.format.GML3.prototype.interiorParser_ = function(node, objectStack) { * @private */ ol.format.GML3.prototype.exteriorParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'exterior', + ol.DEBUG && console.assert(node.localName == 'exterior', 'localName should be exterior'); /** @type {Array.|undefined} */ var flatLinearRing = ol.xml.pushParseAndPop(undefined, @@ -271,9 +270,9 @@ ol.format.GML3.prototype.exteriorParser_ = function(node, objectStack) { if (flatLinearRing) { var flatLinearRings = /** @type {Array.>} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(Array.isArray(flatLinearRings), + ol.DEBUG && console.assert(Array.isArray(flatLinearRings), 'flatLinearRings should be an array'); - goog.asserts.assert(flatLinearRings.length > 0, + ol.DEBUG && console.assert(flatLinearRings.length > 0, 'flatLinearRings should have an array length of 1 or more'); flatLinearRings[0] = flatLinearRing; } @@ -287,9 +286,9 @@ ol.format.GML3.prototype.exteriorParser_ = function(node, objectStack) { * @return {ol.geom.Polygon|undefined} Polygon. */ ol.format.GML3.prototype.readSurface_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Surface', + ol.DEBUG && console.assert(node.localName == 'Surface', 'localName should be Surface'); /** @type {Array.>} */ var flatLinearRings = ol.xml.pushParseAndPop([null], @@ -319,9 +318,9 @@ ol.format.GML3.prototype.readSurface_ = function(node, objectStack) { * @return {ol.geom.LineString|undefined} LineString. */ ol.format.GML3.prototype.readCurve_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Curve', 'localName should be Curve'); + ol.DEBUG && console.assert(node.localName == 'Curve', 'localName should be Curve'); /** @type {Array.} */ var flatCoordinates = ol.xml.pushParseAndPop([null], this.CURVE_PARSERS_, node, objectStack, this); @@ -342,9 +341,9 @@ ol.format.GML3.prototype.readCurve_ = function(node, objectStack) { * @return {ol.Extent|undefined} Envelope. */ ol.format.GML3.prototype.readEnvelope_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Envelope', + ol.DEBUG && console.assert(node.localName == 'Envelope', 'localName should be Envelope'); /** @type {Array.} */ var flatCoordinates = ol.xml.pushParseAndPop([null], @@ -375,7 +374,6 @@ ol.format.GML3.prototype.readFlatPos_ = function(node, objectStack) { return undefined; } var context = objectStack[0]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var containerSrs = context['srsName']; var axisOrientation = 'enu'; if (containerSrs) { @@ -411,7 +409,6 @@ ol.format.GML3.prototype.readFlatPos_ = function(node, objectStack) { ol.format.GML3.prototype.readFlatPosList_ = function(node, objectStack) { var s = ol.xml.getAllTextContent(node, false).replace(/^\s*|\s*$/g, ''); var context = objectStack[0]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var containerSrs = context['srsName']; var containerDimension = node.parentNode.getAttribute('srsDimension'); var axisOrientation = 'enu'; @@ -633,7 +630,6 @@ ol.format.GML3.prototype.SEGMENTS_PARSERS_ = { */ ol.format.GML3.prototype.writePos_ = function(node, value, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; var axisOrientation = 'enu'; if (srsName) { @@ -676,7 +672,6 @@ ol.format.GML3.prototype.getCoords_ = function(point, opt_srsName) { */ ol.format.GML3.prototype.writePosList_ = function(node, value, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; // only 2d for simple features profile var points = value.getCoordinates(); @@ -699,7 +694,6 @@ ol.format.GML3.prototype.writePosList_ = function(node, value, objectStack) { */ ol.format.GML3.prototype.writePoint_ = function(node, geometry, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; if (srsName) { node.setAttribute('srsName', srsName); @@ -728,9 +722,8 @@ ol.format.GML3.ENVELOPE_SERIALIZERS_ = { * @param {Array.<*>} objectStack Node stack. */ ol.format.GML3.prototype.writeEnvelope = function(node, extent, objectStack) { - goog.asserts.assert(extent.length == 4, 'extent should have 4 items'); + ol.DEBUG && console.assert(extent.length == 4, 'extent should have 4 items'); var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; if (srsName) { node.setAttribute('srsName', srsName); @@ -753,7 +746,6 @@ ol.format.GML3.prototype.writeEnvelope = function(node, extent, objectStack) { */ ol.format.GML3.prototype.writeLinearRing_ = function(node, geometry, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; if (srsName) { node.setAttribute('srsName', srsName); @@ -774,7 +766,6 @@ ol.format.GML3.prototype.writeLinearRing_ = function(node, geometry, objectStack ol.format.GML3.prototype.RING_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { var context = objectStack[objectStack.length - 1]; var parentNode = context.node; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var exteriorWritten = context['exteriorWritten']; if (exteriorWritten === undefined) { context['exteriorWritten'] = true; @@ -792,7 +783,6 @@ ol.format.GML3.prototype.RING_NODE_FACTORY_ = function(value, objectStack, opt_n */ ol.format.GML3.prototype.writeSurfaceOrPolygon_ = function(node, geometry, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; if (node.nodeName !== 'PolygonPatch' && srsName) { node.setAttribute('srsName', srsName); @@ -821,7 +811,6 @@ ol.format.GML3.prototype.writeSurfaceOrPolygon_ = function(node, geometry, objec */ ol.format.GML3.prototype.writeCurveOrLineString_ = function(node, geometry, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; if (node.nodeName !== 'LineStringSegment' && srsName) { node.setAttribute('srsName', srsName); @@ -848,7 +837,6 @@ ol.format.GML3.prototype.writeCurveOrLineString_ = function(node, geometry, obje */ ol.format.GML3.prototype.writeMultiSurfaceOrPolygon_ = function(node, geometry, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; var surface = context['surface']; if (srsName) { @@ -871,7 +859,6 @@ ol.format.GML3.prototype.writeMultiSurfaceOrPolygon_ = function(node, geometry, ol.format.GML3.prototype.writeMultiPoint_ = function(node, geometry, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; if (srsName) { node.setAttribute('srsName', srsName); @@ -892,7 +879,6 @@ ol.format.GML3.prototype.writeMultiPoint_ = function(node, geometry, */ ol.format.GML3.prototype.writeMultiCurveOrLineString_ = function(node, geometry, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var srsName = context['srsName']; var curve = context['curve']; if (srsName) { @@ -927,7 +913,6 @@ ol.format.GML3.prototype.writeRing_ = function(node, ring, objectStack) { */ ol.format.GML3.prototype.writeSurfaceOrPolygonMember_ = function(node, polygon, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var child = this.GEOMETRY_NODE_FACTORY_( polygon, objectStack); if (child) { @@ -958,7 +943,6 @@ ol.format.GML3.prototype.writePointMember_ = function(node, point, objectStack) */ ol.format.GML3.prototype.writeLineStringOrCurveMember_ = function(node, line, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var child = this.GEOMETRY_NODE_FACTORY_(line, objectStack); if (child) { node.appendChild(child); @@ -1000,8 +984,7 @@ ol.format.GML3.prototype.writeCurveSegments_ = function(node, line, objectStack) * @param {Array.<*>} objectStack Node stack. */ ol.format.GML3.prototype.writeGeometryElement = function(node, geometry, objectStack) { - var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); + var context = /** @type {olx.format.WriteOptions} */ (objectStack[objectStack.length - 1]); var item = ol.object.assign({}, context); item.node = node; var value; @@ -1013,10 +996,8 @@ ol.format.GML3.prototype.writeGeometryElement = function(node, geometry, objectS value = geometry; } } else { - goog.asserts.assertInstanceof(geometry, ol.geom.Geometry, - 'geometry should be an ol.geom.Geometry'); value = - ol.format.Feature.transformWithOptions(geometry, true, context); + ol.format.Feature.transformWithOptions(/** @type {ol.geom.Geometry} */ (geometry), true, context); } ol.xml.pushSerializeAndPop(/** @type {ol.XmlNodeStackItem} */ (item), ol.format.GML3.GEOMETRY_SERIALIZERS_, @@ -1035,8 +1016,7 @@ ol.format.GML3.prototype.writeFeatureElement = function(node, feature, objectSta if (fid) { node.setAttribute('fid', fid); } - var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); var featureNS = context['featureNS']; var geometryName = feature.getGeometryName(); if (!context.serializers) { @@ -1080,8 +1060,7 @@ ol.format.GML3.prototype.writeFeatureElement = function(node, feature, objectSta * @private */ ol.format.GML3.prototype.writeFeatureMembers_ = function(node, features, objectStack) { - var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); var featureType = context['featureType']; var featureNS = context['featureNS']; var serializers = {}; @@ -1206,7 +1185,7 @@ ol.format.GML3.MULTIGEOMETRY_TO_MEMBER_NODENAME_ = { */ ol.format.GML3.prototype.MULTIGEOMETRY_MEMBER_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { var parentNode = objectStack[objectStack.length - 1].node; - goog.asserts.assert(ol.xml.isNode(parentNode), + ol.DEBUG && console.assert(ol.xml.isNode(parentNode), 'parentNode should be a node'); return ol.xml.createElementNS('http://www.opengis.net/gml', ol.format.GML3.MULTIGEOMETRY_TO_MEMBER_NODENAME_[parentNode.nodeName]); @@ -1223,19 +1202,16 @@ ol.format.GML3.prototype.MULTIGEOMETRY_MEMBER_NODE_FACTORY_ = function(value, ob */ ol.format.GML3.prototype.GEOMETRY_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var multiSurface = context['multiSurface']; var surface = context['surface']; var curve = context['curve']; var multiCurve = context['multiCurve']; var parentNode = objectStack[objectStack.length - 1].node; - goog.asserts.assert(ol.xml.isNode(parentNode), + ol.DEBUG && console.assert(ol.xml.isNode(parentNode), 'parentNode should be a node'); var nodeName; if (!Array.isArray(value)) { - goog.asserts.assertInstanceof(value, ol.geom.Geometry, - 'value should be an ol.geom.Geometry'); - nodeName = value.getType(); + nodeName = /** @type {ol.geom.Geometry} */ (value).getType(); if (nodeName === 'MultiPolygon' && multiSurface === true) { nodeName = 'MultiSurface'; } else if (nodeName === 'Polygon' && surface === true) { diff --git a/src/ol/format/gml/gmlbaseformat.js b/src/ol/format/gml/gmlbaseformat.js index eaa016b70b..ac5b42aaf0 100644 --- a/src/ol/format/gml/gmlbaseformat.js +++ b/src/ol/format/gml/gmlbaseformat.js @@ -3,7 +3,6 @@ // envelopes/extents, only geometries! goog.provide('ol.format.GMLBase'); -goog.require('goog.asserts'); goog.require('ol.array'); goog.require('ol.Feature'); goog.require('ol.format.Feature'); @@ -108,7 +107,7 @@ ol.format.GMLBase.ONLY_WHITESPACE_RE_ = /^[\s\xa0]*$/; * @return {Array. | undefined} Features. */ ol.format.GMLBase.prototype.readFeaturesInternal = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); var localName = node.localName; var features = null; @@ -124,7 +123,6 @@ ol.format.GMLBase.prototype.readFeaturesInternal = function(node, objectStack) { } } else if (localName == 'featureMembers' || localName == 'featureMember') { var context = objectStack[0]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var featureType = context['featureType']; var featureNS = context['featureNS']; var i, ii, prefix = 'p', defaultPrefix = 'p0'; @@ -199,8 +197,7 @@ ol.format.GMLBase.prototype.readFeaturesInternal = function(node, objectStack) { * @return {ol.geom.Geometry|undefined} Geometry. */ ol.format.GMLBase.prototype.readGeometryElement = function(node, objectStack) { - var context = objectStack[0]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); + var context = /** @type {Object} */ (objectStack[0]); context['srsName'] = node.firstElementChild.getAttribute('srsName'); /** @type {ol.geom.Geometry} */ var geometry = ol.xml.pushParseAndPop(null, @@ -262,14 +259,14 @@ ol.format.GMLBase.prototype.readFeatureElement = function(node, objectStack) { * @return {ol.geom.Point|undefined} Point. */ ol.format.GMLBase.prototype.readPoint = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Point', 'localName should be Point'); + ol.DEBUG && console.assert(node.localName == 'Point', 'localName should be Point'); var flatCoordinates = this.readFlatCoordinatesFromNode_(node, objectStack); if (flatCoordinates) { var point = new ol.geom.Point(null); - goog.asserts.assert(flatCoordinates.length == 3, + ol.DEBUG && console.assert(flatCoordinates.length == 3, 'flatCoordinates should have a length of 3'); point.setFlatCoordinates(ol.geom.GeometryLayout.XYZ, flatCoordinates); return point; @@ -283,9 +280,9 @@ ol.format.GMLBase.prototype.readPoint = function(node, objectStack) { * @return {ol.geom.MultiPoint|undefined} MultiPoint. */ ol.format.GMLBase.prototype.readMultiPoint = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'MultiPoint', + ol.DEBUG && console.assert(node.localName == 'MultiPoint', 'localName should be MultiPoint'); /** @type {Array.>} */ var coordinates = ol.xml.pushParseAndPop([], @@ -304,9 +301,9 @@ ol.format.GMLBase.prototype.readMultiPoint = function(node, objectStack) { * @return {ol.geom.MultiLineString|undefined} MultiLineString. */ ol.format.GMLBase.prototype.readMultiLineString = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'MultiLineString', + ol.DEBUG && console.assert(node.localName == 'MultiLineString', 'localName should be MultiLineString'); /** @type {Array.} */ var lineStrings = ol.xml.pushParseAndPop([], @@ -327,9 +324,9 @@ ol.format.GMLBase.prototype.readMultiLineString = function(node, objectStack) { * @return {ol.geom.MultiPolygon|undefined} MultiPolygon. */ ol.format.GMLBase.prototype.readMultiPolygon = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'MultiPolygon', + ol.DEBUG && console.assert(node.localName == 'MultiPolygon', 'localName should be MultiPolygon'); /** @type {Array.} */ var polygons = ol.xml.pushParseAndPop([], @@ -350,9 +347,9 @@ ol.format.GMLBase.prototype.readMultiPolygon = function(node, objectStack) { * @private */ ol.format.GMLBase.prototype.pointMemberParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'pointMember' || + ol.DEBUG && console.assert(node.localName == 'pointMember' || node.localName == 'pointMembers', 'localName should be pointMember or pointMembers'); ol.xml.parseNode(this.POINTMEMBER_PARSERS_, @@ -366,9 +363,9 @@ ol.format.GMLBase.prototype.pointMemberParser_ = function(node, objectStack) { * @private */ ol.format.GMLBase.prototype.lineStringMemberParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'lineStringMember' || + ol.DEBUG && console.assert(node.localName == 'lineStringMember' || node.localName == 'lineStringMembers', 'localName should be LineStringMember or LineStringMembers'); ol.xml.parseNode(this.LINESTRINGMEMBER_PARSERS_, @@ -382,9 +379,9 @@ ol.format.GMLBase.prototype.lineStringMemberParser_ = function(node, objectStack * @private */ ol.format.GMLBase.prototype.polygonMemberParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'polygonMember' || + ol.DEBUG && console.assert(node.localName == 'polygonMember' || node.localName == 'polygonMembers', 'localName should be polygonMember or polygonMembers'); ol.xml.parseNode(this.POLYGONMEMBER_PARSERS_, node, @@ -398,9 +395,9 @@ ol.format.GMLBase.prototype.polygonMemberParser_ = function(node, objectStack) { * @return {ol.geom.LineString|undefined} LineString. */ ol.format.GMLBase.prototype.readLineString = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LineString', + ol.DEBUG && console.assert(node.localName == 'LineString', 'localName should be LineString'); var flatCoordinates = this.readFlatCoordinatesFromNode_(node, objectStack); @@ -421,9 +418,9 @@ ol.format.GMLBase.prototype.readLineString = function(node, objectStack) { * @return {Array.|undefined} LinearRing flat coordinates. */ ol.format.GMLBase.prototype.readFlatLinearRing_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LinearRing', + ol.DEBUG && console.assert(node.localName == 'LinearRing', 'localName should be LinearRing'); var ring = ol.xml.pushParseAndPop(null, this.GEOMETRY_FLAT_COORDINATES_PARSERS_, node, @@ -442,9 +439,9 @@ ol.format.GMLBase.prototype.readFlatLinearRing_ = function(node, objectStack) { * @return {ol.geom.LinearRing|undefined} LinearRing. */ ol.format.GMLBase.prototype.readLinearRing = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LinearRing', + ol.DEBUG && console.assert(node.localName == 'LinearRing', 'localName should be LinearRing'); var flatCoordinates = this.readFlatCoordinatesFromNode_(node, objectStack); @@ -464,9 +461,9 @@ ol.format.GMLBase.prototype.readLinearRing = function(node, objectStack) { * @return {ol.geom.Polygon|undefined} Polygon. */ ol.format.GMLBase.prototype.readPolygon = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Polygon', + ol.DEBUG && console.assert(node.localName == 'Polygon', 'localName should be Polygon'); /** @type {Array.>} */ var flatLinearRings = ol.xml.pushParseAndPop([null], @@ -496,7 +493,7 @@ ol.format.GMLBase.prototype.readPolygon = function(node, objectStack) { * @return {Array.} Flat coordinates. */ ol.format.GMLBase.prototype.readFlatCoordinatesFromNode_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); return ol.xml.pushParseAndPop(null, this.GEOMETRY_FLAT_COORDINATES_PARSERS_, node, diff --git a/src/ol/format/gpxformat.js b/src/ol/format/gpxformat.js index 8d7ccbfb3c..5cf04e8585 100644 --- a/src/ol/format/gpxformat.js +++ b/src/ol/format/gpxformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.GPX'); -goog.require('goog.asserts'); goog.require('ol.Feature'); goog.require('ol.array'); goog.require('ol.format.Feature'); @@ -72,7 +71,7 @@ ol.format.GPX.SCHEMA_LOCATION_ = 'http://www.topografix.com/GPX/1/1 ' + * @return {Array.} Flat coordinates. */ ol.format.GPX.appendCoordinate_ = function(flatCoordinates, node, values) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); flatCoordinates.push( parseFloat(node.getAttribute('lon')), @@ -99,9 +98,9 @@ ol.format.GPX.appendCoordinate_ = function(flatCoordinates, node, values) { * @private */ ol.format.GPX.parseLink_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'link', 'localName should be link'); + ol.DEBUG && console.assert(node.localName == 'link', 'localName should be link'); var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); var href = node.getAttribute('href'); if (href !== null) { @@ -117,9 +116,9 @@ ol.format.GPX.parseLink_ = function(node, objectStack) { * @private */ ol.format.GPX.parseExtensions_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'extensions', + ol.DEBUG && console.assert(node.localName == 'extensions', 'localName should be extensions'); var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); values['extensionsNode_'] = node; @@ -132,9 +131,9 @@ ol.format.GPX.parseExtensions_ = function(node, objectStack) { * @private */ ol.format.GPX.parseRtePt_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'rtept', 'localName should be rtept'); + ol.DEBUG && console.assert(node.localName == 'rtept', 'localName should be rtept'); var values = ol.xml.pushParseAndPop( {}, ol.format.GPX.RTEPT_PARSERS_, node, objectStack); if (values) { @@ -152,9 +151,9 @@ ol.format.GPX.parseRtePt_ = function(node, objectStack) { * @private */ ol.format.GPX.parseTrkPt_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'trkpt', 'localName should be trkpt'); + ol.DEBUG && console.assert(node.localName == 'trkpt', 'localName should be trkpt'); var values = ol.xml.pushParseAndPop( {}, ol.format.GPX.TRKPT_PARSERS_, node, objectStack); if (values) { @@ -172,9 +171,9 @@ ol.format.GPX.parseTrkPt_ = function(node, objectStack) { * @private */ ol.format.GPX.parseTrkSeg_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'trkseg', + ol.DEBUG && console.assert(node.localName == 'trkseg', 'localName should be trkseg'); var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); ol.xml.parseNode(ol.format.GPX.TRKSEG_PARSERS_, node, objectStack); @@ -192,9 +191,9 @@ ol.format.GPX.parseTrkSeg_ = function(node, objectStack) { * @return {ol.Feature|undefined} Track. */ ol.format.GPX.readRte_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'rte', 'localName should be rte'); + ol.DEBUG && console.assert(node.localName == 'rte', 'localName should be rte'); var options = /** @type {olx.format.ReadOptions} */ (objectStack[0]); var values = ol.xml.pushParseAndPop({ 'flatCoordinates': [] @@ -221,9 +220,9 @@ ol.format.GPX.readRte_ = function(node, objectStack) { * @return {ol.Feature|undefined} Track. */ ol.format.GPX.readTrk_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'trk', 'localName should be trk'); + ol.DEBUG && console.assert(node.localName == 'trk', 'localName should be trk'); var options = /** @type {olx.format.ReadOptions} */ (objectStack[0]); var values = ol.xml.pushParseAndPop({ 'flatCoordinates': [], @@ -254,9 +253,9 @@ ol.format.GPX.readTrk_ = function(node, objectStack) { * @return {ol.Feature|undefined} Waypoint. */ ol.format.GPX.readWpt_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'wpt', 'localName should be wpt'); + ol.DEBUG && console.assert(node.localName == 'wpt', 'localName should be wpt'); var options = /** @type {olx.format.ReadOptions} */ (objectStack[0]); var values = ol.xml.pushParseAndPop( {}, ol.format.GPX.WPT_PARSERS_, node, objectStack); @@ -456,7 +455,7 @@ ol.format.GPX.prototype.readFeature; * @inheritDoc */ ol.format.GPX.prototype.readFeatureFromNode = function(node, opt_options) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); if (!ol.array.includes(ol.format.GPX.NAMESPACE_URIS_, node.namespaceURI)) { return null; @@ -492,7 +491,7 @@ ol.format.GPX.prototype.readFeatures; * @inheritDoc */ ol.format.GPX.prototype.readFeaturesFromNode = function(node, opt_options) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); if (!ol.array.includes(ol.format.GPX.NAMESPACE_URIS_, node.namespaceURI)) { return []; @@ -532,7 +531,6 @@ ol.format.GPX.prototype.readProjection; ol.format.GPX.writeLink_ = function(node, value, objectStack) { node.setAttribute('href', value); var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var properties = context['properties']; var link = [ properties['linkText'], @@ -552,9 +550,8 @@ ol.format.GPX.writeLink_ = function(node, value, objectStack) { */ ol.format.GPX.writeWptType_ = function(node, coordinate, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var parentNode = context.node; - goog.asserts.assert(ol.xml.isNode(parentNode), + ol.DEBUG && console.assert(ol.xml.isNode(parentNode), 'parentNode should be an XML node'); var namespaceURI = parentNode.namespaceURI; var properties = context['properties']; @@ -604,8 +601,6 @@ ol.format.GPX.writeRte_ = function(node, feature, objectStack) { var context = {node: node, 'properties': properties}; var geometry = feature.getGeometry(); if (geometry) { - goog.asserts.assertInstanceof(geometry, ol.geom.LineString, - 'geometry should be an ol.geom.LineString'); geometry = /** @type {ol.geom.LineString} */ (ol.format.Feature.transformWithOptions(geometry, true, options)); context['geometryLayout'] = geometry.getLayout(); @@ -633,8 +628,6 @@ ol.format.GPX.writeTrk_ = function(node, feature, objectStack) { var context = {node: node, 'properties': properties}; var geometry = feature.getGeometry(); if (geometry) { - goog.asserts.assertInstanceof(geometry, ol.geom.MultiLineString, - 'geometry should be an ol.geom.MultiLineString'); geometry = /** @type {ol.geom.MultiLineString} */ (ol.format.Feature.transformWithOptions(geometry, true, options)); properties['trkseg'] = geometry.getLineStrings(); @@ -673,12 +666,9 @@ ol.format.GPX.writeTrkSeg_ = function(node, lineString, objectStack) { ol.format.GPX.writeWpt_ = function(node, feature, objectStack) { var options = /** @type {olx.format.WriteOptions} */ (objectStack[0]); var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); context['properties'] = feature.getProperties(); var geometry = feature.getGeometry(); if (geometry) { - goog.asserts.assertInstanceof(geometry, ol.geom.Point, - 'geometry should be an ol.geom.Point'); geometry = /** @type {ol.geom.Point} */ (ol.format.Feature.transformWithOptions(geometry, true, options)); context['geometryLayout'] = geometry.getLayout(); @@ -863,14 +853,12 @@ ol.format.GPX.GEOMETRY_TYPE_TO_NODENAME_ = { * @private */ ol.format.GPX.GPX_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { - goog.asserts.assertInstanceof(value, ol.Feature, - 'value should be an ol.Feature'); - var geometry = value.getGeometry(); + var geometry = /** @type {ol.Feature} */ (value).getGeometry(); if (geometry) { var nodeName = ol.format.GPX.GEOMETRY_TYPE_TO_NODENAME_[geometry.getType()]; if (nodeName) { var parentNode = objectStack[objectStack.length - 1].node; - goog.asserts.assert(ol.xml.isNode(parentNode), + ol.DEBUG && console.assert(ol.xml.isNode(parentNode), 'parentNode should be an XML node'); return ol.xml.createElementNS(parentNode.namespaceURI, nodeName); } diff --git a/src/ol/format/igcformat.js b/src/ol/format/igcformat.js index 5955abd709..85dc44810b 100644 --- a/src/ol/format/igcformat.js +++ b/src/ol/format/igcformat.js @@ -1,7 +1,6 @@ goog.provide('ol.format.IGC'); goog.provide('ol.format.IGCZ'); -goog.require('goog.asserts'); goog.require('ol.Feature'); goog.require('ol.format.Feature'); goog.require('ol.format.TextFeature'); @@ -154,7 +153,7 @@ ol.format.IGC.prototype.readFeatureFromText = function(text, opt_options) { } else if (altitudeMode == ol.format.IGCZ.BAROMETRIC) { z = parseInt(m[12], 10); } else { - goog.asserts.fail(); + ol.DEBUG && console.assert(false, 'Unknown altitude mode.'); z = 0; } flatCoordinates.push(z); diff --git a/src/ol/format/jsonfeatureformat.js b/src/ol/format/jsonfeatureformat.js index 666eef841c..c460256efc 100644 --- a/src/ol/format/jsonfeatureformat.js +++ b/src/ol/format/jsonfeatureformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.JSONFeature'); -goog.require('goog.asserts'); goog.require('ol.format.Feature'); goog.require('ol.format.FormatType'); @@ -32,7 +31,6 @@ ol.format.JSONFeature.prototype.getObject_ = function(source) { } else if (source !== null) { return source; } else { - goog.asserts.fail(); return null; } }; diff --git a/src/ol/format/kmlformat.js b/src/ol/format/kmlformat.js index 48f7fdca3c..921ff01c9f 100644 --- a/src/ol/format/kmlformat.js +++ b/src/ol/format/kmlformat.js @@ -5,7 +5,6 @@ goog.provide('ol.format.KML'); -goog.require('goog.asserts'); goog.require('goog.object'); goog.require('ol'); goog.require('ol.Feature'); @@ -543,9 +542,9 @@ ol.format.KML.readStyleMapValue_ = function(node, objectStack) { * @private */ ol.format.KML.IconStyleParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be an ELEMENT'); - goog.asserts.assert(node.localName == 'IconStyle', + ol.DEBUG && console.assert(node.localName == 'IconStyle', 'localName should be IconStyle'); // FIXME refreshMode // FIXME refreshInterval @@ -559,8 +558,6 @@ ol.format.KML.IconStyleParser_ = function(node, objectStack) { return; } var styleObject = /** @type {Object} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(goog.isObject(styleObject), - 'styleObject should be an Object'); var IconObject = 'Icon' in object ? object['Icon'] : {}; var src; var href = /** @type {string|undefined} */ @@ -644,9 +641,9 @@ ol.format.KML.IconStyleParser_ = function(node, objectStack) { * @private */ ol.format.KML.LabelStyleParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LabelStyle', + ol.DEBUG && console.assert(node.localName == 'LabelStyle', 'localName should be LabelStyle'); // FIXME colorMode var object = ol.xml.pushParseAndPop( @@ -655,8 +652,6 @@ ol.format.KML.LabelStyleParser_ = function(node, objectStack) { return; } var styleObject = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(styleObject), - 'styleObject should be an Object'); var textStyle = new ol.style.Text({ fill: new ol.style.Fill({ color: /** @type {ol.Color} */ @@ -675,9 +670,9 @@ ol.format.KML.LabelStyleParser_ = function(node, objectStack) { * @private */ ol.format.KML.LineStyleParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LineStyle', + ol.DEBUG && console.assert(node.localName == 'LineStyle', 'localName should be LineStyle'); // FIXME colorMode // FIXME gx:outerColor @@ -690,8 +685,6 @@ ol.format.KML.LineStyleParser_ = function(node, objectStack) { return; } var styleObject = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(styleObject), - 'styleObject should be an Object'); var strokeStyle = new ol.style.Stroke({ color: /** @type {ol.Color} */ ('color' in object ? object['color'] : ol.format.KML.DEFAULT_COLOR_), @@ -707,9 +700,9 @@ ol.format.KML.LineStyleParser_ = function(node, objectStack) { * @private */ ol.format.KML.PolyStyleParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'PolyStyle', + ol.DEBUG && console.assert(node.localName == 'PolyStyle', 'localName should be PolyStyle'); // FIXME colorMode var object = ol.xml.pushParseAndPop( @@ -718,8 +711,6 @@ ol.format.KML.PolyStyleParser_ = function(node, objectStack) { return; } var styleObject = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(styleObject), - 'styleObject should be an Object'); var fillStyle = new ol.style.Fill({ color: /** @type {ol.Color} */ ('color' in object ? object['color'] : ol.format.KML.DEFAULT_COLOR_) @@ -744,9 +735,9 @@ ol.format.KML.PolyStyleParser_ = function(node, objectStack) { * @return {Array.} LinearRing flat coordinates. */ ol.format.KML.readFlatLinearRing_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LinearRing', + ol.DEBUG && console.assert(node.localName == 'LinearRing', 'localName should be LinearRing'); return ol.xml.pushParseAndPop(null, ol.format.KML.FLAT_LINEAR_RING_PARSERS_, node, objectStack); @@ -759,16 +750,14 @@ ol.format.KML.readFlatLinearRing_ = function(node, objectStack) { * @private */ ol.format.KML.gxCoordParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(ol.array.includes( + ol.DEBUG && console.assert(ol.array.includes( ol.format.KML.GX_NAMESPACE_URIS_, node.namespaceURI), 'namespaceURI of the node should be known to the KML parser'); - goog.asserts.assert(node.localName == 'coord', 'localName should be coord'); + ol.DEBUG && console.assert(node.localName == 'coord', 'localName should be coord'); var gxTrackObject = /** @type {ol.KMLGxTrackObject_} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(goog.isObject(gxTrackObject), - 'gxTrackObject should be an Object'); var flatCoordinates = gxTrackObject.flatCoordinates; var s = ol.xml.getAllTextContent(node, false); var re = @@ -792,12 +781,12 @@ ol.format.KML.gxCoordParser_ = function(node, objectStack) { * @return {ol.geom.MultiLineString|undefined} MultiLineString. */ ol.format.KML.readGxMultiTrack_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(ol.array.includes( + ol.DEBUG && console.assert(ol.array.includes( ol.format.KML.GX_NAMESPACE_URIS_, node.namespaceURI), 'namespaceURI of the node should be known to the KML parser'); - goog.asserts.assert(node.localName == 'MultiTrack', + ol.DEBUG && console.assert(node.localName == 'MultiTrack', 'localName should be MultiTrack'); var lineStrings = ol.xml.pushParseAndPop([], ol.format.KML.GX_MULTITRACK_GEOMETRY_PARSERS_, node, objectStack); @@ -817,12 +806,12 @@ ol.format.KML.readGxMultiTrack_ = function(node, objectStack) { * @return {ol.geom.LineString|undefined} LineString. */ ol.format.KML.readGxTrack_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(ol.array.includes( + ol.DEBUG && console.assert(ol.array.includes( ol.format.KML.GX_NAMESPACE_URIS_, node.namespaceURI), 'namespaceURI of the node should be known to the KML parser'); - goog.asserts.assert(node.localName == 'Track', 'localName should be Track'); + ol.DEBUG && console.assert(node.localName == 'Track', 'localName should be Track'); var gxTrackObject = ol.xml.pushParseAndPop( /** @type {ol.KMLGxTrackObject_} */ ({ flatCoordinates: [], @@ -833,7 +822,7 @@ ol.format.KML.readGxTrack_ = function(node, objectStack) { } var flatCoordinates = gxTrackObject.flatCoordinates; var whens = gxTrackObject.whens; - goog.asserts.assert(flatCoordinates.length / 4 == whens.length, + ol.DEBUG && console.assert(flatCoordinates.length / 4 == whens.length, 'the length of the flatCoordinates array divided by 4 should be the ' + 'length of the whens array'); var i, ii; @@ -854,9 +843,9 @@ ol.format.KML.readGxTrack_ = function(node, objectStack) { * @return {Object} Icon object. */ ol.format.KML.readIcon_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Icon', 'localName should be Icon'); + ol.DEBUG && console.assert(node.localName == 'Icon', 'localName should be Icon'); var iconObject = ol.xml.pushParseAndPop( {}, ol.format.KML.ICON_PARSERS_, node, objectStack); if (iconObject) { @@ -874,7 +863,7 @@ ol.format.KML.readIcon_ = function(node, objectStack) { * @return {Array.} Flat coordinates. */ ol.format.KML.readFlatCoordinatesFromNode_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); return ol.xml.pushParseAndPop(null, ol.format.KML.GEOMETRY_FLAT_COORDINATES_PARSERS_, node, objectStack); @@ -888,9 +877,9 @@ ol.format.KML.readFlatCoordinatesFromNode_ = function(node, objectStack) { * @return {ol.geom.LineString|undefined} LineString. */ ol.format.KML.readLineString_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LineString', + ol.DEBUG && console.assert(node.localName == 'LineString', 'localName should be LineString'); var properties = ol.xml.pushParseAndPop({}, ol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_, node, @@ -915,9 +904,9 @@ ol.format.KML.readLineString_ = function(node, objectStack) { * @return {ol.geom.Polygon|undefined} Polygon. */ ol.format.KML.readLinearRing_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'LinearRing', + ol.DEBUG && console.assert(node.localName == 'LinearRing', 'localName should be LinearRing'); var properties = ol.xml.pushParseAndPop({}, ol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_, node, @@ -943,9 +932,9 @@ ol.format.KML.readLinearRing_ = function(node, objectStack) { * @return {ol.geom.Geometry} Geometry. */ ol.format.KML.readMultiGeometry_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'MultiGeometry', + ol.DEBUG && console.assert(node.localName == 'MultiGeometry', 'localName should be MultiGeometry'); var geometries = ol.xml.pushParseAndPop([], ol.format.KML.MULTI_GEOMETRY_PARSERS_, node, objectStack); @@ -955,6 +944,8 @@ ol.format.KML.readMultiGeometry_ = function(node, objectStack) { if (geometries.length === 0) { return new ol.geom.GeometryCollection(geometries); } + /** @type {ol.geom.Geometry} */ + var multiGeometry; var homogeneous = true; var type = geometries[0].getType(); var geometry, i, ii; @@ -970,41 +961,34 @@ ol.format.KML.readMultiGeometry_ = function(node, objectStack) { var flatCoordinates; if (type == ol.geom.GeometryType.POINT) { var point = geometries[0]; - goog.asserts.assertInstanceof(point, ol.geom.Point, - 'point should be an ol.geom.Point'); layout = point.getLayout(); flatCoordinates = point.getFlatCoordinates(); for (i = 1, ii = geometries.length; i < ii; ++i) { geometry = geometries[i]; - goog.asserts.assertInstanceof(geometry, ol.geom.Point, - 'geometry should be an ol.geom.Point'); - goog.asserts.assert(geometry.getLayout() == layout, + ol.DEBUG && console.assert(geometry.getLayout() == layout, 'geometry layout should be consistent'); ol.array.extend(flatCoordinates, geometry.getFlatCoordinates()); } - var multiPoint = new ol.geom.MultiPoint(null); - multiPoint.setFlatCoordinates(layout, flatCoordinates); - ol.format.KML.setCommonGeometryProperties_(multiPoint, geometries); - return multiPoint; + multiGeometry = new ol.geom.MultiPoint(null); + multiGeometry.setFlatCoordinates(layout, flatCoordinates); + ol.format.KML.setCommonGeometryProperties_(multiGeometry, geometries); } else if (type == ol.geom.GeometryType.LINE_STRING) { - var multiLineString = new ol.geom.MultiLineString(null); - multiLineString.setLineStrings(geometries); - ol.format.KML.setCommonGeometryProperties_(multiLineString, geometries); - return multiLineString; + multiGeometry = new ol.geom.MultiLineString(null); + multiGeometry.setLineStrings(geometries); + ol.format.KML.setCommonGeometryProperties_(multiGeometry, geometries); } else if (type == ol.geom.GeometryType.POLYGON) { - var multiPolygon = new ol.geom.MultiPolygon(null); - multiPolygon.setPolygons(geometries); - ol.format.KML.setCommonGeometryProperties_(multiPolygon, geometries); - return multiPolygon; + multiGeometry = new ol.geom.MultiPolygon(null); + multiGeometry.setPolygons(geometries); + ol.format.KML.setCommonGeometryProperties_(multiGeometry, geometries); } else if (type == ol.geom.GeometryType.GEOMETRY_COLLECTION) { - return new ol.geom.GeometryCollection(geometries); + multiGeometry = new ol.geom.GeometryCollection(geometries); } else { - goog.asserts.fail('Unexpected type: ' + type); - return null; + ol.assert(false, 37); // Unknown geometry type found } } else { - return new ol.geom.GeometryCollection(geometries); + multiGeometry = new ol.geom.GeometryCollection(geometries); } + return /** @type {ol.geom.Geometry} */ (multiGeometry); }; @@ -1015,9 +999,9 @@ ol.format.KML.readMultiGeometry_ = function(node, objectStack) { * @return {ol.geom.Point|undefined} Point. */ ol.format.KML.readPoint_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Point', 'localName should be Point'); + ol.DEBUG && console.assert(node.localName == 'Point', 'localName should be Point'); var properties = ol.xml.pushParseAndPop({}, ol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_, node, objectStack); @@ -1025,7 +1009,7 @@ ol.format.KML.readPoint_ = function(node, objectStack) { ol.format.KML.readFlatCoordinatesFromNode_(node, objectStack); if (flatCoordinates) { var point = new ol.geom.Point(null); - goog.asserts.assert(flatCoordinates.length == 3, + ol.DEBUG && console.assert(flatCoordinates.length == 3, 'flatCoordinates should have a length of 3'); point.setFlatCoordinates(ol.geom.GeometryLayout.XYZ, flatCoordinates); point.setProperties(properties); @@ -1043,9 +1027,9 @@ ol.format.KML.readPoint_ = function(node, objectStack) { * @return {ol.geom.Polygon|undefined} Polygon. */ ol.format.KML.readPolygon_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Polygon', + ol.DEBUG && console.assert(node.localName == 'Polygon', 'localName should be Polygon'); var properties = ol.xml.pushParseAndPop(/** @type {Object} */ ({}), ol.format.KML.EXTRUDE_AND_ALTITUDE_MODE_PARSERS_, node, @@ -1078,9 +1062,9 @@ ol.format.KML.readPolygon_ = function(node, objectStack) { * @return {Array.} Style. */ ol.format.KML.readStyle_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Style', 'localName should be Style'); + ol.DEBUG && console.assert(node.localName == 'Style', 'localName should be Style'); var styleObject = ol.xml.pushParseAndPop( {}, ol.format.KML.STYLE_PARSERS_, node, objectStack); if (!styleObject) { @@ -1154,9 +1138,9 @@ ol.format.KML.setCommonGeometryProperties_ = function(multiGeometry, * @private */ ol.format.KML.DataParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Data', 'localName should be Data'); + ol.DEBUG && console.assert(node.localName == 'Data', 'localName should be Data'); var name = node.getAttribute('name'); if (name !== null) { var data = ol.xml.pushParseAndPop( @@ -1164,8 +1148,6 @@ ol.format.KML.DataParser_ = function(node, objectStack) { if (data) { var featureObject = /** @type {Object} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(goog.isObject(featureObject), - 'featureObject should be an Object'); featureObject[name] = data; } } @@ -1178,9 +1160,9 @@ ol.format.KML.DataParser_ = function(node, objectStack) { * @private */ ol.format.KML.ExtendedDataParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'ExtendedData', + ol.DEBUG && console.assert(node.localName == 'ExtendedData', 'localName should be ExtendedData'); ol.xml.parseNode(ol.format.KML.EXTENDED_DATA_PARSERS_, node, objectStack); }; @@ -1192,9 +1174,9 @@ ol.format.KML.ExtendedDataParser_ = function(node, objectStack) { * @private */ ol.format.KML.PairDataParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Pair', 'localName should be Pair'); + ol.DEBUG && console.assert(node.localName == 'Pair', 'localName should be Pair'); var pairObject = ol.xml.pushParseAndPop( {}, ol.format.KML.PAIR_PARSERS_, node, objectStack); if (!pairObject) { @@ -1223,23 +1205,21 @@ ol.format.KML.PairDataParser_ = function(node, objectStack) { * @private */ ol.format.KML.PlacemarkStyleMapParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'StyleMap', + ol.DEBUG && console.assert(node.localName == 'StyleMap', 'localName should be StyleMap'); var styleMapValue = ol.format.KML.readStyleMapValue_(node, objectStack); if (!styleMapValue) { return; } var placemarkObject = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(placemarkObject), - 'placemarkObject should be an Object'); if (Array.isArray(styleMapValue)) { placemarkObject['Style'] = styleMapValue; } else if (typeof styleMapValue === 'string') { placemarkObject['styleUrl'] = styleMapValue; } else { - goog.asserts.fail('styleMapValue has an unknown type'); + ol.assert(false, 38); // `styleMapValue` has an unknown type } }; @@ -1250,9 +1230,9 @@ ol.format.KML.PlacemarkStyleMapParser_ = function(node, objectStack) { * @private */ ol.format.KML.SchemaDataParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'SchemaData', + ol.DEBUG && console.assert(node.localName == 'SchemaData', 'localName should be SchemaData'); ol.xml.parseNode(ol.format.KML.SCHEMA_DATA_PARSERS_, node, objectStack); }; @@ -1264,9 +1244,9 @@ ol.format.KML.SchemaDataParser_ = function(node, objectStack) { * @private */ ol.format.KML.SimpleDataParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'SimpleData', + ol.DEBUG && console.assert(node.localName == 'SimpleData', 'localName should be SimpleData'); var name = node.getAttribute('name'); if (name !== null) { @@ -1284,9 +1264,9 @@ ol.format.KML.SimpleDataParser_ = function(node, objectStack) { * @private */ ol.format.KML.innerBoundaryIsParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'innerBoundaryIs', + ol.DEBUG && console.assert(node.localName == 'innerBoundaryIs', 'localName should be innerBoundaryIs'); /** @type {Array.|undefined} */ var flatLinearRing = ol.xml.pushParseAndPop(undefined, @@ -1294,9 +1274,9 @@ ol.format.KML.innerBoundaryIsParser_ = function(node, objectStack) { if (flatLinearRing) { var flatLinearRings = /** @type {Array.>} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(Array.isArray(flatLinearRings), + ol.DEBUG && console.assert(Array.isArray(flatLinearRings), 'flatLinearRings should be an array'); - goog.asserts.assert(flatLinearRings.length > 0, + ol.DEBUG && console.assert(flatLinearRings.length > 0, 'flatLinearRings array should not be empty'); flatLinearRings.push(flatLinearRing); } @@ -1309,9 +1289,9 @@ ol.format.KML.innerBoundaryIsParser_ = function(node, objectStack) { * @private */ ol.format.KML.outerBoundaryIsParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'outerBoundaryIs', + ol.DEBUG && console.assert(node.localName == 'outerBoundaryIs', 'localName should be outerBoundaryIs'); /** @type {Array.|undefined} */ var flatLinearRing = ol.xml.pushParseAndPop(undefined, @@ -1319,9 +1299,9 @@ ol.format.KML.outerBoundaryIsParser_ = function(node, objectStack) { if (flatLinearRing) { var flatLinearRings = /** @type {Array.>} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(Array.isArray(flatLinearRings), + ol.DEBUG && console.assert(Array.isArray(flatLinearRings), 'flatLinearRings should be an array'); - goog.asserts.assert(flatLinearRings.length > 0, + ol.DEBUG && console.assert(flatLinearRings.length > 0, 'flatLinearRings array should not be empty'); flatLinearRings[0] = flatLinearRing; } @@ -1334,9 +1314,9 @@ ol.format.KML.outerBoundaryIsParser_ = function(node, objectStack) { * @private */ ol.format.KML.LinkParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Link', 'localName should be Link'); + ol.DEBUG && console.assert(node.localName == 'Link', 'localName should be Link'); ol.xml.parseNode(ol.format.KML.LINK_PARSERS_, node, objectStack); }; @@ -1347,13 +1327,11 @@ ol.format.KML.LinkParser_ = function(node, objectStack) { * @private */ ol.format.KML.whenParser_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'when', 'localName should be when'); + ol.DEBUG && console.assert(node.localName == 'when', 'localName should be when'); var gxTrackObject = /** @type {ol.KMLGxTrackObject_} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(goog.isObject(gxTrackObject), - 'gxTrackObject should be an Object'); var whens = gxTrackObject.whens; var s = ol.xml.getAllTextContent(node, false); var when = Date.parse(s); @@ -1690,10 +1668,10 @@ ol.format.KML.prototype.getExtensions = function() { * @return {Array.|undefined} Features. */ ol.format.KML.prototype.readDocumentOrFolder_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); var localName = node.localName; - goog.asserts.assert(localName == 'Document' || localName == 'Folder', + ol.DEBUG && console.assert(localName == 'Document' || localName == 'Folder', 'localName should be Document or Folder'); // FIXME use scope somehow var parsersNS = ol.xml.makeStructureNS( @@ -1721,9 +1699,9 @@ ol.format.KML.prototype.readDocumentOrFolder_ = function(node, objectStack) { * @return {ol.Feature|undefined} Feature. */ ol.format.KML.prototype.readPlacemark_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Placemark', + ol.DEBUG && console.assert(node.localName == 'Placemark', 'localName should be Placemark'); var object = ol.xml.pushParseAndPop({'geometry': null}, ol.format.KML.PLACEMARK_PARSERS_, node, objectStack); @@ -1768,9 +1746,9 @@ ol.format.KML.prototype.readPlacemark_ = function(node, objectStack) { * @private */ ol.format.KML.prototype.readSharedStyle_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Style', 'localName should be Style'); + ol.DEBUG && console.assert(node.localName == 'Style', 'localName should be Style'); var id = node.getAttribute('id'); if (id !== null) { var style = ol.format.KML.readStyle_(node, objectStack); @@ -1794,9 +1772,9 @@ ol.format.KML.prototype.readSharedStyle_ = function(node, objectStack) { * @private */ ol.format.KML.prototype.readSharedStyleMap_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'StyleMap', + ol.DEBUG && console.assert(node.localName == 'StyleMap', 'localName should be StyleMap'); var id = node.getAttribute('id'); if (id === null) { @@ -1835,12 +1813,12 @@ ol.format.KML.prototype.readFeature; * @inheritDoc */ ol.format.KML.prototype.readFeatureFromNode = function(node, opt_options) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); if (!ol.array.includes(ol.format.KML.NAMESPACE_URIS_, node.namespaceURI)) { return null; } - goog.asserts.assert(node.localName == 'Placemark', + ol.DEBUG && console.assert(node.localName == 'Placemark', 'localName should be Placemark'); var feature = this.readPlacemark_( node, [this.getReadOptions(node, opt_options)]); @@ -1870,7 +1848,7 @@ ol.format.KML.prototype.readFeatures; * @inheritDoc */ ol.format.KML.prototype.readFeaturesFromNode = function(node, opt_options) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); if (!ol.array.includes(ol.format.KML.NAMESPACE_URIS_, node.namespaceURI)) { return []; @@ -1925,7 +1903,6 @@ ol.format.KML.prototype.readName = function(source) { var doc = ol.xml.parse(source); return this.readNameFromDocument(doc); } else { - goog.asserts.fail('Unknown type for source'); return undefined; } }; @@ -1996,8 +1973,6 @@ ol.format.KML.prototype.readNetworkLinks = function(source) { } else if (typeof source === 'string') { var doc = ol.xml.parse(source); ol.array.extend(networkLinks, this.readNetworkLinksFromDocument(doc)); - } else { - goog.asserts.fail('unknown type for source'); } return networkLinks; }; @@ -2082,7 +2057,6 @@ ol.format.KML.writeColorTextNode_ = function(node, color) { */ ol.format.KML.writeCoordinatesTextNode_ = function(node, coordinates, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var layout = context['layout']; var stride = context['stride']; @@ -2095,7 +2069,7 @@ ol.format.KML.writeCoordinatesTextNode_ = function(node, coordinates, objectStac layout == ol.geom.GeometryLayout.XYZM) { dimension = 3; } else { - goog.asserts.fail('Unknown geometry layout'); + ol.assert(false, 34); // Invalid geometry layout } var d, i; @@ -2265,13 +2239,6 @@ ol.format.KML.writeLineStyle_ = function(node, style, objectStack) { * @private */ ol.format.KML.writeMultiGeometry_ = function(node, geometry, objectStack) { - goog.asserts.assert( - (geometry instanceof ol.geom.GeometryCollection) || - (geometry instanceof ol.geom.MultiPoint) || - (geometry instanceof ol.geom.MultiLineString) || - (geometry instanceof ol.geom.MultiPolygon), - 'geometry should be one of: ol.geom.GeometryCollection, ' + - 'ol.geom.MultiPoint, ol.geom.MultiLineString or ol.geom.MultiPolygon'); /** @type {ol.XmlNodeStackItem} */ var context = {node: node}; var type = geometry.getType(); @@ -2280,11 +2247,10 @@ ol.format.KML.writeMultiGeometry_ = function(node, geometry, objectStack) { /** @type {function(*, Array.<*>, string=): (Node|undefined)} */ var factory; if (type == ol.geom.GeometryType.GEOMETRY_COLLECTION) { - geometries = geometry.getGeometries(); + geometries = /** @type {ol.geom.GeometryCollection} */ (geometry).getGeometries(); factory = ol.format.KML.GEOMETRY_NODE_FACTORY_; } else if (type == ol.geom.GeometryType.MULTI_POINT) { - geometries = - (/** @type {ol.geom.MultiPoint} */ (geometry)).getPoints(); + geometries = /** @type {ol.geom.MultiPoint} */ (geometry).getPoints(); factory = ol.format.KML.POINT_NODE_FACTORY_; } else if (type == ol.geom.GeometryType.MULTI_LINE_STRING) { geometries = @@ -2295,7 +2261,7 @@ ol.format.KML.writeMultiGeometry_ = function(node, geometry, objectStack) { (/** @type {ol.geom.MultiPolygon} */ (geometry)).getPolygons(); factory = ol.format.KML.POLYGON_NODE_FACTORY_; } else { - goog.asserts.fail('Unknown geometry type: ' + type); + ol.assert(false, 39); // Unknown geometry type } ol.xml.pushSerializeAndPop(context, ol.format.KML.MULTI_GEOMETRY_SERIALIZERS_, factory, @@ -2378,7 +2344,7 @@ ol.format.KML.writePlacemark_ = function(node, feature, objectStack) { * @private */ ol.format.KML.writePrimitiveGeometry_ = function(node, geometry, objectStack) { - goog.asserts.assert( + ol.DEBUG && console.assert( (geometry instanceof ol.geom.Point) || (geometry instanceof ol.geom.LineString) || (geometry instanceof ol.geom.LinearRing), @@ -2402,10 +2368,8 @@ ol.format.KML.writePrimitiveGeometry_ = function(node, geometry, objectStack) { * @private */ ol.format.KML.writePolygon_ = function(node, polygon, objectStack) { - goog.asserts.assertInstanceof(polygon, ol.geom.Polygon, - 'polygon should be an ol.geom.Polygon'); var linearRings = polygon.getLinearRings(); - goog.asserts.assert(linearRings.length > 0, + ol.DEBUG && console.assert(linearRings.length > 0, 'linearRings should not be empty'); var outerRing = linearRings.shift(); var /** @type {ol.XmlNodeStackItem} */ context = {node: node}; @@ -2803,10 +2767,8 @@ ol.format.KML.GX_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { */ ol.format.KML.DOCUMENT_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { - goog.asserts.assertInstanceof(value, ol.Feature, - 'value should be an ol.Feature'); var parentNode = objectStack[objectStack.length - 1].node; - goog.asserts.assert(ol.xml.isNode(parentNode), + ol.DEBUG && console.assert(ol.xml.isNode(parentNode), 'parentNode should be an XML node'); return ol.xml.createElementNS(parentNode.namespaceURI, 'Placemark'); }; @@ -2823,13 +2785,11 @@ ol.format.KML.DOCUMENT_NODE_FACTORY_ = function(value, objectStack, ol.format.KML.GEOMETRY_NODE_FACTORY_ = function(value, objectStack, opt_nodeName) { if (value) { - goog.asserts.assertInstanceof(value, ol.geom.Geometry, - 'value should be an ol.geom.Geometry'); var parentNode = objectStack[objectStack.length - 1].node; - goog.asserts.assert(ol.xml.isNode(parentNode), + ol.DEBUG && console.assert(ol.xml.isNode(parentNode), 'parentNode should be an XML node'); return ol.xml.createElementNS(parentNode.namespaceURI, - ol.format.KML.GEOMETRY_TYPE_TO_NODENAME_[value.getType()]); + ol.format.KML.GEOMETRY_TYPE_TO_NODENAME_[/** @type {ol.geom.Geometry} */ (value).getType()]); } }; diff --git a/src/ol/format/mvtformat.js b/src/ol/format/mvtformat.js index 51e31f5a0e..c8c877f66e 100644 --- a/src/ol/format/mvtformat.js +++ b/src/ol/format/mvtformat.js @@ -2,7 +2,6 @@ goog.provide('ol.format.MVT'); -goog.require('goog.asserts'); goog.require('ol.Feature'); goog.require('ol.ext.pbf'); goog.require('ol.ext.vectortile'); @@ -102,7 +101,6 @@ ol.format.MVT.prototype.readFeature_ = function( ol.format.MVT.readGeometry_(rawFeature), false, this.adaptOptions(opt_options)); if (geometry) { - goog.asserts.assertInstanceof(geometry, ol.geom.Geometry); values[this.geometryName_] = geometry; } feature.setId(id); @@ -152,11 +150,9 @@ ol.format.MVT.prototype.readRenderFeature_ = function(rawFeature, layer) { * @api */ ol.format.MVT.prototype.readFeatures = function(source, opt_options) { - goog.asserts.assertInstanceof(source, ArrayBuffer); - var layers = this.layers_; - var pbf = new ol.ext.pbf(source); + var pbf = new ol.ext.pbf(/** @type {ArrayBuffer} */ (source)); var tile = new ol.ext.vectortile.VectorTile(pbf); var features = []; var featureClass = this.featureClass_; diff --git a/src/ol/format/osmxmlformat.js b/src/ol/format/osmxmlformat.js index 2fe712c2b6..5e83583d4b 100644 --- a/src/ol/format/osmxmlformat.js +++ b/src/ol/format/osmxmlformat.js @@ -1,7 +1,6 @@ // FIXME add typedef for stack state objects goog.provide('ol.format.OSMXML'); -goog.require('goog.asserts'); goog.require('ol.array'); goog.require('ol.Feature'); goog.require('ol.format.Feature'); @@ -57,9 +56,9 @@ ol.format.OSMXML.prototype.getExtensions = function() { * @private */ ol.format.OSMXML.readNode_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'node', 'localName should be node'); + ol.DEBUG && console.assert(node.localName == 'node', 'localName should be node'); var options = /** @type {olx.format.ReadOptions} */ (objectStack[0]); var state = /** @type {Object} */ (objectStack[objectStack.length - 1]); var id = node.getAttribute('id'); @@ -90,9 +89,9 @@ ol.format.OSMXML.readNode_ = function(node, objectStack) { * @private */ ol.format.OSMXML.readWay_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'way', 'localName should be way'); + ol.DEBUG && console.assert(node.localName == 'way', 'localName should be way'); var options = /** @type {olx.format.ReadOptions} */ (objectStack[0]); var id = node.getAttribute('id'); var values = ol.xml.pushParseAndPop({ @@ -130,9 +129,9 @@ ol.format.OSMXML.readWay_ = function(node, objectStack) { * @private */ ol.format.OSMXML.readNd_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'nd', 'localName should be nd'); + ol.DEBUG && console.assert(node.localName == 'nd', 'localName should be nd'); var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); values.ndrefs.push(node.getAttribute('ref')); }; @@ -144,9 +143,9 @@ ol.format.OSMXML.readNd_ = function(node, objectStack) { * @private */ ol.format.OSMXML.readTag_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'tag', 'localName should be tag'); + ol.DEBUG && console.assert(node.localName == 'tag', 'localName should be tag'); var values = /** @type {Object} */ (objectStack[objectStack.length - 1]); values.tags[node.getAttribute('k')] = node.getAttribute('v'); }; @@ -213,7 +212,7 @@ ol.format.OSMXML.prototype.readFeatures; * @inheritDoc */ ol.format.OSMXML.prototype.readFeaturesFromNode = function(node, opt_options) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); var options = this.getReadOptions(node, opt_options); if (node.localName == 'osm') { diff --git a/src/ol/format/owsformat.js b/src/ol/format/owsformat.js index 0e77aac70b..a650cfff5b 100644 --- a/src/ol/format/owsformat.js +++ b/src/ol/format/owsformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.OWS'); -goog.require('goog.asserts'); goog.require('ol.format.XLink'); goog.require('ol.format.XML'); goog.require('ol.format.XSD'); @@ -22,7 +21,7 @@ ol.inherits(ol.format.OWS, ol.format.XML); * @return {Object} OWS object. */ ol.format.OWS.prototype.readFromDocument = function(doc) { - goog.asserts.assert(doc.nodeType == Node.DOCUMENT_NODE, + ol.DEBUG && console.assert(doc.nodeType == Node.DOCUMENT_NODE, 'doc.nodeType should be DOCUMENT'); for (var n = doc.firstChild; n; n = n.nextSibling) { if (n.nodeType == Node.ELEMENT_NODE) { @@ -38,7 +37,7 @@ ol.format.OWS.prototype.readFromDocument = function(doc) { * @return {Object} OWS object. */ ol.format.OWS.prototype.readFromNode = function(node) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); var owsObject = ol.xml.pushParseAndPop({}, ol.format.OWS.PARSERS_, node, []); @@ -53,9 +52,9 @@ ol.format.OWS.prototype.readFromNode = function(node) { * @return {Object|undefined} The address. */ ol.format.OWS.readAddress_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Address', + ol.DEBUG && console.assert(node.localName == 'Address', 'localName should be Address'); return ol.xml.pushParseAndPop({}, ol.format.OWS.ADDRESS_PARSERS_, node, objectStack); @@ -69,9 +68,9 @@ ol.format.OWS.readAddress_ = function(node, objectStack) { * @return {Object|undefined} The values. */ ol.format.OWS.readAllowedValues_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'AllowedValues', + ol.DEBUG && console.assert(node.localName == 'AllowedValues', 'localName should be AllowedValues'); return ol.xml.pushParseAndPop({}, ol.format.OWS.ALLOWED_VALUES_PARSERS_, node, objectStack); @@ -85,9 +84,9 @@ ol.format.OWS.readAllowedValues_ = function(node, objectStack) { * @return {Object|undefined} The constraint. */ ol.format.OWS.readConstraint_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Constraint', + ol.DEBUG && console.assert(node.localName == 'Constraint', 'localName should be Constraint'); var name = node.getAttribute('name'); if (!name) { @@ -106,9 +105,9 @@ ol.format.OWS.readConstraint_ = function(node, objectStack) { * @return {Object|undefined} The contact info. */ ol.format.OWS.readContactInfo_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'ContactInfo', + ol.DEBUG && console.assert(node.localName == 'ContactInfo', 'localName should be ContactInfo'); return ol.xml.pushParseAndPop({}, ol.format.OWS.CONTACT_INFO_PARSERS_, node, objectStack); @@ -122,9 +121,9 @@ ol.format.OWS.readContactInfo_ = function(node, objectStack) { * @return {Object|undefined} The DCP. */ ol.format.OWS.readDcp_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'DCP', 'localName should be DCP'); + ol.DEBUG && console.assert(node.localName == 'DCP', 'localName should be DCP'); return ol.xml.pushParseAndPop({}, ol.format.OWS.DCP_PARSERS_, node, objectStack); }; @@ -137,9 +136,9 @@ ol.format.OWS.readDcp_ = function(node, objectStack) { * @return {Object|undefined} The GET object. */ ol.format.OWS.readGet_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Get', 'localName should be Get'); + ol.DEBUG && console.assert(node.localName == 'Get', 'localName should be Get'); var href = ol.format.XLink.readHref(node); if (!href) { return undefined; @@ -156,9 +155,9 @@ ol.format.OWS.readGet_ = function(node, objectStack) { * @return {Object|undefined} The HTTP object. */ ol.format.OWS.readHttp_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'HTTP', 'localName should be HTTP'); + ol.DEBUG && console.assert(node.localName == 'HTTP', 'localName should be HTTP'); return ol.xml.pushParseAndPop({}, ol.format.OWS.HTTP_PARSERS_, node, objectStack); }; @@ -171,9 +170,9 @@ ol.format.OWS.readHttp_ = function(node, objectStack) { * @return {Object|undefined} The operation. */ ol.format.OWS.readOperation_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Operation', + ol.DEBUG && console.assert(node.localName == 'Operation', 'localName should be Operation'); var name = node.getAttribute('name'); var value = ol.xml.pushParseAndPop({}, @@ -183,7 +182,6 @@ ol.format.OWS.readOperation_ = function(node, objectStack) { } var object = /** @type {Object} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(goog.isObject(object), 'object should be an Object'); object[name] = value; }; @@ -197,9 +195,9 @@ ol.format.OWS.readOperation_ = function(node, objectStack) { */ ol.format.OWS.readOperationsMetadata_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'OperationsMetadata', + ol.DEBUG && console.assert(node.localName == 'OperationsMetadata', 'localName should be OperationsMetadata'); return ol.xml.pushParseAndPop({}, ol.format.OWS.OPERATIONS_METADATA_PARSERS_, node, @@ -214,9 +212,9 @@ ol.format.OWS.readOperationsMetadata_ = function(node, * @return {Object|undefined} The phone. */ ol.format.OWS.readPhone_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Phone', 'localName should be Phone'); + ol.DEBUG && console.assert(node.localName == 'Phone', 'localName should be Phone'); return ol.xml.pushParseAndPop({}, ol.format.OWS.PHONE_PARSERS_, node, objectStack); }; @@ -230,9 +228,9 @@ ol.format.OWS.readPhone_ = function(node, objectStack) { */ ol.format.OWS.readServiceIdentification_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'ServiceIdentification', + ol.DEBUG && console.assert(node.localName == 'ServiceIdentification', 'localName should be ServiceIdentification'); return ol.xml.pushParseAndPop( {}, ol.format.OWS.SERVICE_IDENTIFICATION_PARSERS_, node, @@ -247,9 +245,9 @@ ol.format.OWS.readServiceIdentification_ = function(node, * @return {Object|undefined} The service contact. */ ol.format.OWS.readServiceContact_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'ServiceContact', + ol.DEBUG && console.assert(node.localName == 'ServiceContact', 'localName should be ServiceContact'); return ol.xml.pushParseAndPop( {}, ol.format.OWS.SERVICE_CONTACT_PARSERS_, node, @@ -264,9 +262,9 @@ ol.format.OWS.readServiceContact_ = function(node, objectStack) { * @return {Object|undefined} The service provider. */ ol.format.OWS.readServiceProvider_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'ServiceProvider', + ol.DEBUG && console.assert(node.localName == 'ServiceProvider', 'localName should be ServiceProvider'); return ol.xml.pushParseAndPop( {}, ol.format.OWS.SERVICE_PROVIDER_PARSERS_, node, @@ -281,9 +279,9 @@ ol.format.OWS.readServiceProvider_ = function(node, objectStack) { * @return {string|undefined} The value. */ ol.format.OWS.readValue_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Value', 'localName should be Value'); + ol.DEBUG && console.assert(node.localName == 'Value', 'localName should be Value'); return ol.format.XSD.readString(node); }; diff --git a/src/ol/format/polylineformat.js b/src/ol/format/polylineformat.js index 135a342a41..c0b1116423 100644 --- a/src/ol/format/polylineformat.js +++ b/src/ol/format/polylineformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.Polyline'); -goog.require('goog.asserts'); goog.require('ol.Feature'); goog.require('ol.format.Feature'); goog.require('ol.format.TextFeature'); @@ -356,7 +355,7 @@ ol.format.Polyline.prototype.writeFeatureText = function(feature, opt_options) { if (geometry) { return this.writeGeometryText(geometry, opt_options); } else { - goog.asserts.fail('geometry needs to be defined'); + ol.assert(false, 40); // Expected `feature` to have a geometry return ''; } }; @@ -366,7 +365,7 @@ ol.format.Polyline.prototype.writeFeatureText = function(feature, opt_options) { * @inheritDoc */ ol.format.Polyline.prototype.writeFeaturesText = function(features, opt_options) { - goog.asserts.assert(features.length == 1, + ol.DEBUG && console.assert(features.length == 1, 'features array should have 1 item'); return this.writeFeatureText(features[0], opt_options); }; @@ -388,8 +387,6 @@ ol.format.Polyline.prototype.writeGeometry; * @inheritDoc */ ol.format.Polyline.prototype.writeGeometryText = function(geometry, opt_options) { - goog.asserts.assertInstanceof(geometry, ol.geom.LineString, - 'geometry should be an ol.geom.LineString'); geometry = /** @type {ol.geom.LineString} */ (ol.format.Feature.transformWithOptions( geometry, true, this.adaptOptions(opt_options))); diff --git a/src/ol/format/textfeatureformat.js b/src/ol/format/textfeatureformat.js index a58cd3df79..11914117ac 100644 --- a/src/ol/format/textfeatureformat.js +++ b/src/ol/format/textfeatureformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.TextFeature'); -goog.require('goog.asserts'); goog.require('ol.format.Feature'); goog.require('ol.format.FormatType'); @@ -29,7 +28,6 @@ ol.format.TextFeature.prototype.getText_ = function(source) { if (typeof source === 'string') { return source; } else { - goog.asserts.fail(); return ''; } }; diff --git a/src/ol/format/topojsonformat.js b/src/ol/format/topojsonformat.js index 6fa5060296..78e1bb4671 100644 --- a/src/ol/format/topojsonformat.js +++ b/src/ol/format/topojsonformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.TopoJSON'); -goog.require('goog.asserts'); goog.require('ol.Feature'); goog.require('ol.format.Feature'); goog.require('ol.format.JSONFeature'); @@ -250,7 +249,7 @@ ol.format.TopoJSON.readFeatureFromGeometry_ = function(object, arcs, var geometry; var type = object.type; var geometryReader = ol.format.TopoJSON.GEOMETRY_READERS_[type]; - goog.asserts.assert(geometryReader, 'geometryReader should be defined'); + ol.DEBUG && console.assert(geometryReader, 'geometryReader should be defined'); if ((type === 'Point') || (type === 'MultiPoint')) { geometry = geometryReader(object, scale, translate); } else { diff --git a/src/ol/format/wfsformat.js b/src/ol/format/wfsformat.js index 16b4db2e37..c5d5a67ad6 100644 --- a/src/ol/format/wfsformat.js +++ b/src/ol/format/wfsformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.WFS'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.format.GML3'); goog.require('ol.format.GMLBase'); @@ -142,7 +141,6 @@ ol.format.WFS.prototype.readTransactionResponse = function(source) { var doc = ol.xml.parse(source); return this.readTransactionResponseFromDocument(doc); } else { - goog.asserts.fail('Unknown source type'); return undefined; } }; @@ -167,7 +165,6 @@ ol.format.WFS.prototype.readFeatureCollectionMetadata = function(source) { var doc = ol.xml.parse(source); return this.readFeatureCollectionMetadataFromDocument(doc); } else { - goog.asserts.fail('Unknown source type'); return undefined; } }; @@ -179,7 +176,7 @@ ol.format.WFS.prototype.readFeatureCollectionMetadata = function(source) { * FeatureCollection metadata. */ ol.format.WFS.prototype.readFeatureCollectionMetadataFromDocument = function(doc) { - goog.asserts.assert(doc.nodeType == Node.DOCUMENT_NODE, + ol.DEBUG && console.assert(doc.nodeType == Node.DOCUMENT_NODE, 'doc.nodeType should be DOCUMENT'); for (var n = doc.firstChild; n; n = n.nextSibling) { if (n.nodeType == Node.ELEMENT_NODE) { @@ -209,9 +206,9 @@ ol.format.WFS.FEATURE_COLLECTION_PARSERS_ = { * FeatureCollection metadata. */ ol.format.WFS.prototype.readFeatureCollectionMetadataFromNode = function(node) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'FeatureCollection', + ol.DEBUG && console.assert(node.localName == 'FeatureCollection', 'localName should be FeatureCollection'); var result = {}; var value = ol.format.XSD.readNonNegativeIntegerString( @@ -320,7 +317,7 @@ ol.format.WFS.TRANSACTION_RESPONSE_PARSERS_ = { * @return {ol.WFSTransactionResponse|undefined} Transaction response. */ ol.format.WFS.prototype.readTransactionResponseFromDocument = function(doc) { - goog.asserts.assert(doc.nodeType == Node.DOCUMENT_NODE, + ol.DEBUG && console.assert(doc.nodeType == Node.DOCUMENT_NODE, 'doc.nodeType should be DOCUMENT'); for (var n = doc.firstChild; n; n = n.nextSibling) { if (n.nodeType == Node.ELEMENT_NODE) { @@ -336,9 +333,9 @@ ol.format.WFS.prototype.readTransactionResponseFromDocument = function(doc) { * @return {ol.WFSTransactionResponse|undefined} Transaction response. */ ol.format.WFS.prototype.readTransactionResponseFromNode = function(node) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'TransactionResponse', + ol.DEBUG && console.assert(node.localName == 'TransactionResponse', 'localName should be TransactionResponse'); return ol.xml.pushParseAndPop( /** @type {ol.WFSTransactionResponse} */({}), @@ -365,7 +362,6 @@ ol.format.WFS.QUERY_SERIALIZERS_ = { */ ol.format.WFS.writeFeature_ = function(node, feature, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); var featureType = context['featureType']; var featureNS = context['featureNS']; var child = ol.xml.createElementNS(featureNS, featureType); @@ -397,8 +393,7 @@ ol.format.WFS.writeOgcFidFilter_ = function(node, fid, objectStack) { */ ol.format.WFS.writeDelete_ = function(node, feature, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); - goog.asserts.assert(feature.getId() !== undefined, 'feature should have an id'); + ol.assert(feature.getId() !== undefined, 26); // Features must have an id set var featureType = context['featureType']; var featurePrefix = context['featurePrefix']; featurePrefix = featurePrefix ? featurePrefix : @@ -422,8 +417,7 @@ ol.format.WFS.writeDelete_ = function(node, feature, objectStack) { */ ol.format.WFS.writeUpdate_ = function(node, feature, objectStack) { var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); - goog.asserts.assert(feature.getId() !== undefined, 'feature should have an id'); + ol.assert(feature.getId() !== undefined, 27); // Features must have an id set var featureType = context['featureType']; var featurePrefix = context['featurePrefix']; featurePrefix = featurePrefix ? featurePrefix : @@ -517,8 +511,7 @@ ol.format.WFS.TRANSACTION_SERIALIZERS_ = { * @private */ ol.format.WFS.writeQuery_ = function(node, featureType, objectStack) { - var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); var featurePrefix = context['featurePrefix']; var featureNS = context['featureNS']; var propertyNames = context['propertyNames']; @@ -565,16 +558,12 @@ ol.format.WFS.writeFilterCondition_ = function(node, filter, objectStack) { /** * @param {Node} node Node. - * @param {ol.format.ogc.filter.Filter} filter Filter. + * @param {ol.format.ogc.filter.Bbox} filter Filter. * @param {Array.<*>} objectStack Node stack. * @private */ ol.format.WFS.writeBboxFilter_ = function(node, filter, objectStack) { - goog.asserts.assertInstanceof(filter, ol.format.ogc.filter.Bbox, - 'must be bbox filter'); - var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); context['srsName'] = filter.srsName; ol.format.WFS.writeOgcPropertyName_(node, filter.geometryName); @@ -584,7 +573,7 @@ ol.format.WFS.writeBboxFilter_ = function(node, filter, objectStack) { /** * @param {Node} node Node. - * @param {ol.format.ogc.filter.Filter} filter Filter. + * @param {ol.format.ogc.filter.LogicalBinary} filter Filter. * @param {Array.<*>} objectStack Node stack. * @private */ @@ -627,8 +616,6 @@ ol.format.WFS.writeWithinFilter_ = function(node, filter, objectStack) { * @private */ ol.format.WFS.writeLogicalFilter_ = function(node, filter, objectStack) { - goog.asserts.assertInstanceof(filter, ol.format.ogc.filter.LogicalBinary, - 'must be logical filter'); /** @type {ol.XmlNodeStackItem} */ var item = {node: node}; var conditionA = filter.conditionA; @@ -646,13 +633,11 @@ ol.format.WFS.writeLogicalFilter_ = function(node, filter, objectStack) { /** * @param {Node} node Node. - * @param {ol.format.ogc.filter.Filter} filter Filter. + * @param {ol.format.ogc.filter.Not} filter Filter. * @param {Array.<*>} objectStack Node stack. * @private */ ol.format.WFS.writeNotFilter_ = function(node, filter, objectStack) { - goog.asserts.assertInstanceof(filter, ol.format.ogc.filter.Not, - 'must be Not filter'); /** @type {ol.XmlNodeStackItem} */ var item = {node: node}; var condition = filter.condition; @@ -665,13 +650,11 @@ ol.format.WFS.writeNotFilter_ = function(node, filter, objectStack) { /** * @param {Node} node Node. - * @param {ol.format.ogc.filter.Filter} filter Filter. + * @param {ol.format.ogc.filter.ComparisonBinary} filter Filter. * @param {Array.<*>} objectStack Node stack. * @private */ ol.format.WFS.writeComparisonFilter_ = function(node, filter, objectStack) { - goog.asserts.assertInstanceof(filter, ol.format.ogc.filter.ComparisonBinary, - 'must be binary comparison filter'); if (filter.matchCase !== undefined) { node.setAttribute('matchCase', filter.matchCase.toString()); } @@ -682,26 +665,22 @@ ol.format.WFS.writeComparisonFilter_ = function(node, filter, objectStack) { /** * @param {Node} node Node. - * @param {ol.format.ogc.filter.Filter} filter Filter. + * @param {ol.format.ogc.filter.IsNull} filter Filter. * @param {Array.<*>} objectStack Node stack. * @private */ ol.format.WFS.writeIsNullFilter_ = function(node, filter, objectStack) { - goog.asserts.assertInstanceof(filter, ol.format.ogc.filter.IsNull, - 'must be IsNull comparison filter'); ol.format.WFS.writeOgcPropertyName_(node, filter.propertyName); }; /** * @param {Node} node Node. - * @param {ol.format.ogc.filter.Filter} filter Filter. + * @param {ol.format.ogc.filter.IsBetween} filter Filter. * @param {Array.<*>} objectStack Node stack. * @private */ ol.format.WFS.writeIsBetweenFilter_ = function(node, filter, objectStack) { - goog.asserts.assertInstanceof(filter, ol.format.ogc.filter.IsBetween, - 'must be IsBetween comparison filter'); ol.format.WFS.writeOgcPropertyName_(node, filter.propertyName); ol.format.WFS.writeOgcExpression_('LowerBoundary', node, '' + filter.lowerBoundary); ol.format.WFS.writeOgcExpression_('UpperBoundary', node, '' + filter.upperBoundary); @@ -710,13 +689,11 @@ ol.format.WFS.writeIsBetweenFilter_ = function(node, filter, objectStack) { /** * @param {Node} node Node. - * @param {ol.format.ogc.filter.Filter} filter Filter. + * @param {ol.format.ogc.filter.IsLike} filter Filter. * @param {Array.<*>} objectStack Node stack. * @private */ ol.format.WFS.writeIsLikeFilter_ = function(node, filter, objectStack) { - goog.asserts.assertInstanceof(filter, ol.format.ogc.filter.IsLike, - 'must be IsLike comparison filter'); node.setAttribute('wildCard', filter.wildCard); node.setAttribute('singleChar', filter.singleChar); node.setAttribute('escapeChar', filter.escapeChar); @@ -791,13 +768,12 @@ ol.format.WFS.GETFEATURE_SERIALIZERS_ = { /** * @param {Node} node Node. - * @param {Array.<{string}>} featureTypes Feature types. + * @param {Array.} featureTypes Feature types. * @param {Array.<*>} objectStack Node stack. * @private */ ol.format.WFS.writeGetFeature_ = function(node, featureTypes, objectStack) { - var context = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(context), 'context should be an Object'); + var context = /** @type {Object} */ (objectStack[objectStack.length - 1]); var item = /** @type {ol.XmlNodeStackItem} */ (ol.object.assign({}, context)); item.node = node; ol.xml.pushSerializeAndPop(item, @@ -841,10 +817,10 @@ ol.format.WFS.prototype.writeGetFeature = function(options) { } filter = options.filter; if (options.bbox) { - goog.asserts.assert(options.geometryName, - 'geometryName must be set when using bbox filter'); + ol.assert(options.geometryName, + 12); // `options.geometryName` must also be provided when `options.bbox` is set var bbox = ol.format.ogc.filter.bbox( - options.geometryName, options.bbox, options.srsName); + /** @type {string} */ (options.geometryName), options.bbox, options.srsName); if (filter) { // if bbox and filter are both set, combine the two into a single filter filter = ol.format.ogc.filter.and(filter, bbox); @@ -865,9 +841,9 @@ ol.format.WFS.prototype.writeGetFeature = function(options) { 'filter': filter, 'propertyNames': options.propertyNames ? options.propertyNames : [] }; - goog.asserts.assert(Array.isArray(options.featureTypes), - 'options.featureTypes should be an array'); - ol.format.WFS.writeGetFeature_(node, options.featureTypes, [context]); + ol.assert(Array.isArray(options.featureTypes), + 11); // `options.featureTypes` should be an Array + ol.format.WFS.writeGetFeature_(node, /** @type {!Array.} */ (options.featureTypes), [context]); return node; }; @@ -955,7 +931,7 @@ ol.format.WFS.prototype.readProjection; * @inheritDoc */ ol.format.WFS.prototype.readProjectionFromDocument = function(doc) { - goog.asserts.assert(doc.nodeType == Node.DOCUMENT_NODE, + ol.DEBUG && console.assert(doc.nodeType == Node.DOCUMENT_NODE, 'doc.nodeType should be a DOCUMENT'); for (var n = doc.firstChild; n; n = n.nextSibling) { if (n.nodeType == Node.ELEMENT_NODE) { @@ -970,9 +946,9 @@ ol.format.WFS.prototype.readProjectionFromDocument = function(doc) { * @inheritDoc */ ol.format.WFS.prototype.readProjectionFromNode = function(node) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'FeatureCollection', + ol.DEBUG && console.assert(node.localName == 'FeatureCollection', 'localName should be FeatureCollection'); if (node.firstElementChild && diff --git a/src/ol/format/wktformat.js b/src/ol/format/wktformat.js index 32c66d4466..9c3421b327 100644 --- a/src/ol/format/wktformat.js +++ b/src/ol/format/wktformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.WKT'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.Feature'); goog.require('ol.format.Feature'); @@ -167,7 +166,7 @@ ol.format.WKT.encodeMultiPolygonGeometry_ = function(geom) { ol.format.WKT.encode_ = function(geom) { var type = geom.getType(); var geometryEncoder = ol.format.WKT.GeometryEncoder_[type]; - goog.asserts.assert(geometryEncoder, 'geometryEncoder should be defined'); + ol.DEBUG && console.assert(geometryEncoder, 'geometryEncoder should be defined'); var enc = geometryEncoder(geom); type = type.toUpperCase(); if (enc.length === 0) { @@ -574,7 +573,7 @@ ol.format.WKT.Parser.prototype.match = function(type) { ol.format.WKT.Parser.prototype.parse = function() { this.consume_(); var geometry = this.parseGeometry_(); - goog.asserts.assert(this.token_.type == ol.format.WKT.TokenType.EOF, + ol.DEBUG && console.assert(this.token_.type == ol.format.WKT.TokenType.EOF, 'token type should be end of file'); return geometry; }; diff --git a/src/ol/format/wmscapabilitiesformat.js b/src/ol/format/wmscapabilitiesformat.js index dd8e359e5f..a95066479d 100644 --- a/src/ol/format/wmscapabilitiesformat.js +++ b/src/ol/format/wmscapabilitiesformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.WMSCapabilities'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.format.XLink'); goog.require('ol.format.XML'); @@ -44,7 +43,7 @@ ol.format.WMSCapabilities.prototype.read; * @return {Object} WMS Capability object. */ ol.format.WMSCapabilities.prototype.readFromDocument = function(doc) { - goog.asserts.assert(doc.nodeType == Node.DOCUMENT_NODE, + ol.DEBUG && console.assert(doc.nodeType == Node.DOCUMENT_NODE, 'doc.nodeType should be DOCUMENT'); for (var n = doc.firstChild; n; n = n.nextSibling) { if (n.nodeType == Node.ELEMENT_NODE) { @@ -60,13 +59,12 @@ ol.format.WMSCapabilities.prototype.readFromDocument = function(doc) { * @return {Object} WMS Capability object. */ ol.format.WMSCapabilities.prototype.readFromNode = function(node) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'WMS_Capabilities' || + ol.DEBUG && console.assert(node.localName == 'WMS_Capabilities' || node.localName == 'WMT_MS_Capabilities', 'localName should be WMS_Capabilities or WMT_MS_Capabilities'); this.version = node.getAttribute('version').trim(); - goog.asserts.assertString(this.version, 'this.version should be a string'); var wmsCapabilityObject = ol.xml.pushParseAndPop({ 'version': this.version }, ol.format.WMSCapabilities.PARSERS_, node, []); @@ -81,9 +79,9 @@ ol.format.WMSCapabilities.prototype.readFromNode = function(node) { * @return {Object|undefined} Attribution object. */ ol.format.WMSCapabilities.readAttribution_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Attribution', + ol.DEBUG && console.assert(node.localName == 'Attribution', 'localName should be Attribution'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.ATTRIBUTION_PARSERS_, node, objectStack); @@ -97,9 +95,9 @@ ol.format.WMSCapabilities.readAttribution_ = function(node, objectStack) { * @return {Object} Bounding box object. */ ol.format.WMSCapabilities.readBoundingBox_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'BoundingBox', + ol.DEBUG && console.assert(node.localName == 'BoundingBox', 'localName should be BoundingBox'); var extent = [ @@ -129,9 +127,9 @@ ol.format.WMSCapabilities.readBoundingBox_ = function(node, objectStack) { * @return {ol.Extent|undefined} Bounding box object. */ ol.format.WMSCapabilities.readEXGeographicBoundingBox_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'EX_GeographicBoundingBox', + ol.DEBUG && console.assert(node.localName == 'EX_GeographicBoundingBox', 'localName should be EX_GeographicBoundingBox'); var geographicBoundingBox = ol.xml.pushParseAndPop( {}, @@ -166,9 +164,9 @@ ol.format.WMSCapabilities.readEXGeographicBoundingBox_ = function(node, objectSt * @return {Object|undefined} Capability object. */ ol.format.WMSCapabilities.readCapability_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Capability', + ol.DEBUG && console.assert(node.localName == 'Capability', 'localName should be Capability'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.CAPABILITY_PARSERS_, node, objectStack); @@ -182,9 +180,9 @@ ol.format.WMSCapabilities.readCapability_ = function(node, objectStack) { * @return {Object|undefined} Service object. */ ol.format.WMSCapabilities.readService_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Service', + ol.DEBUG && console.assert(node.localName == 'Service', 'localName should be Service'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.SERVICE_PARSERS_, node, objectStack); @@ -198,9 +196,9 @@ ol.format.WMSCapabilities.readService_ = function(node, objectStack) { * @return {Object|undefined} Contact information object. */ ol.format.WMSCapabilities.readContactInformation_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType shpuld be ELEMENT'); - goog.asserts.assert(node.localName == 'ContactInformation', + ol.DEBUG && console.assert(node.localName == 'ContactInformation', 'localName should be ContactInformation'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.CONTACT_INFORMATION_PARSERS_, @@ -215,9 +213,9 @@ ol.format.WMSCapabilities.readContactInformation_ = function(node, objectStack) * @return {Object|undefined} Contact person object. */ ol.format.WMSCapabilities.readContactPersonPrimary_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'ContactPersonPrimary', + ol.DEBUG && console.assert(node.localName == 'ContactPersonPrimary', 'localName should be ContactPersonPrimary'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.CONTACT_PERSON_PARSERS_, @@ -232,9 +230,9 @@ ol.format.WMSCapabilities.readContactPersonPrimary_ = function(node, objectStack * @return {Object|undefined} Contact address object. */ ol.format.WMSCapabilities.readContactAddress_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'ContactAddress', + ol.DEBUG && console.assert(node.localName == 'ContactAddress', 'localName should be ContactAddress'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.CONTACT_ADDRESS_PARSERS_, @@ -249,9 +247,9 @@ ol.format.WMSCapabilities.readContactAddress_ = function(node, objectStack) { * @return {Array.|undefined} Format array. */ ol.format.WMSCapabilities.readException_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Exception', + ol.DEBUG && console.assert(node.localName == 'Exception', 'localName should be Exception'); return ol.xml.pushParseAndPop( [], ol.format.WMSCapabilities.EXCEPTION_PARSERS_, node, objectStack); @@ -265,9 +263,9 @@ ol.format.WMSCapabilities.readException_ = function(node, objectStack) { * @return {Object|undefined} Layer object. */ ol.format.WMSCapabilities.readCapabilityLayer_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Layer', 'localName should be Layer'); + ol.DEBUG && console.assert(node.localName == 'Layer', 'localName should be Layer'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.LAYER_PARSERS_, node, objectStack); }; @@ -280,9 +278,9 @@ ol.format.WMSCapabilities.readCapabilityLayer_ = function(node, objectStack) { * @return {Object|undefined} Layer object. */ ol.format.WMSCapabilities.readLayer_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Layer', 'localName should be Layer'); + ol.DEBUG && console.assert(node.localName == 'Layer', 'localName should be Layer'); var parentLayerObject = /** @type {Object.} */ (objectStack[objectStack.length - 1]); @@ -362,9 +360,9 @@ ol.format.WMSCapabilities.readLayer_ = function(node, objectStack) { * @return {Object} Dimension object. */ ol.format.WMSCapabilities.readDimension_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Dimension', + ol.DEBUG && console.assert(node.localName == 'Dimension', 'localName should be Dimension'); var dimensionObject = { 'name': node.getAttribute('name'), @@ -389,7 +387,7 @@ ol.format.WMSCapabilities.readDimension_ = function(node, objectStack) { * @return {Object|undefined} Online resource object. */ ol.format.WMSCapabilities.readFormatOnlineresource_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.FORMAT_ONLINERESOURCE_PARSERS_, @@ -404,9 +402,9 @@ ol.format.WMSCapabilities.readFormatOnlineresource_ = function(node, objectStack * @return {Object|undefined} Request object. */ ol.format.WMSCapabilities.readRequest_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Request', + ol.DEBUG && console.assert(node.localName == 'Request', 'localName should be Request'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.REQUEST_PARSERS_, node, objectStack); @@ -420,9 +418,9 @@ ol.format.WMSCapabilities.readRequest_ = function(node, objectStack) { * @return {Object|undefined} DCP type object. */ ol.format.WMSCapabilities.readDCPType_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'DCPType', + ol.DEBUG && console.assert(node.localName == 'DCPType', 'localName should be DCPType'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.DCPTYPE_PARSERS_, node, objectStack); @@ -436,9 +434,9 @@ ol.format.WMSCapabilities.readDCPType_ = function(node, objectStack) { * @return {Object|undefined} HTTP object. */ ol.format.WMSCapabilities.readHTTP_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'HTTP', 'localName should be HTTP'); + ol.DEBUG && console.assert(node.localName == 'HTTP', 'localName should be HTTP'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.HTTP_PARSERS_, node, objectStack); }; @@ -451,7 +449,7 @@ ol.format.WMSCapabilities.readHTTP_ = function(node, objectStack) { * @return {Object|undefined} Operation type object. */ ol.format.WMSCapabilities.readOperationType_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.OPERATIONTYPE_PARSERS_, node, objectStack); @@ -465,7 +463,7 @@ ol.format.WMSCapabilities.readOperationType_ = function(node, objectStack) { * @return {Object|undefined} Online resource object. */ ol.format.WMSCapabilities.readSizedFormatOnlineresource_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); var formatOnlineresource = ol.format.WMSCapabilities.readFormatOnlineresource_(node, objectStack); @@ -488,9 +486,9 @@ ol.format.WMSCapabilities.readSizedFormatOnlineresource_ = function(node, object * @return {Object|undefined} Authority URL object. */ ol.format.WMSCapabilities.readAuthorityURL_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'AuthorityURL', + ol.DEBUG && console.assert(node.localName == 'AuthorityURL', 'localName should be AuthorityURL'); var authorityObject = ol.format.WMSCapabilities.readFormatOnlineresource_(node, objectStack); @@ -509,9 +507,9 @@ ol.format.WMSCapabilities.readAuthorityURL_ = function(node, objectStack) { * @return {Object|undefined} Metadata URL object. */ ol.format.WMSCapabilities.readMetadataURL_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'MetadataURL', + ol.DEBUG && console.assert(node.localName == 'MetadataURL', 'localName should be MetadataURL'); var metadataObject = ol.format.WMSCapabilities.readFormatOnlineresource_(node, objectStack); @@ -530,9 +528,9 @@ ol.format.WMSCapabilities.readMetadataURL_ = function(node, objectStack) { * @return {Object|undefined} Style object. */ ol.format.WMSCapabilities.readStyle_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Style', 'localName should be Style'); + ol.DEBUG && console.assert(node.localName == 'Style', 'localName should be Style'); return ol.xml.pushParseAndPop( {}, ol.format.WMSCapabilities.STYLE_PARSERS_, node, objectStack); }; @@ -545,9 +543,9 @@ ol.format.WMSCapabilities.readStyle_ = function(node, objectStack) { * @return {Array.|undefined} Keyword list. */ ol.format.WMSCapabilities.readKeywordList_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'KeywordList', + ol.DEBUG && console.assert(node.localName == 'KeywordList', 'localName should be KeywordList'); return ol.xml.pushParseAndPop( [], ol.format.WMSCapabilities.KEYWORDLIST_PARSERS_, node, objectStack); diff --git a/src/ol/format/wmsgetfeatureinfoformat.js b/src/ol/format/wmsgetfeatureinfoformat.js index 29554aaecf..beeef2b35c 100644 --- a/src/ol/format/wmsgetfeatureinfoformat.js +++ b/src/ol/format/wmsgetfeatureinfoformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.WMSGetFeatureInfo'); -goog.require('goog.asserts'); goog.require('ol.array'); goog.require('ol.format.GML2'); goog.require('ol.format.XMLFeature'); @@ -72,7 +71,7 @@ ol.format.WMSGetFeatureInfo.layerIdentifier_ = '_layer'; ol.format.WMSGetFeatureInfo.prototype.readFeatures_ = function(node, objectStack) { node.setAttribute('namespaceURI', this.featureNS_); - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); var localName = node.localName; /** @type {Array.} */ @@ -87,10 +86,8 @@ ol.format.WMSGetFeatureInfo.prototype.readFeatures_ = function(node, objectStack continue; } var context = objectStack[0]; - goog.asserts.assert(goog.isObject(context), - 'context should be an Object'); - goog.asserts.assert(layer.localName.indexOf( + ol.DEBUG && console.assert(layer.localName.indexOf( ol.format.WMSGetFeatureInfo.layerIdentifier_) >= 0, 'localName of layer node should match layerIdentifier'); diff --git a/src/ol/format/wmtscapabilitiesformat.js b/src/ol/format/wmtscapabilitiesformat.js index 080190f3f1..e0565c1fc0 100644 --- a/src/ol/format/wmtscapabilitiesformat.js +++ b/src/ol/format/wmtscapabilitiesformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.WMTSCapabilities'); -goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.format.OWS'); goog.require('ol.format.XLink'); @@ -45,7 +44,7 @@ ol.format.WMTSCapabilities.prototype.read; * @return {Object} WMTS Capability object. */ ol.format.WMTSCapabilities.prototype.readFromDocument = function(doc) { - goog.asserts.assert(doc.nodeType == Node.DOCUMENT_NODE, + ol.DEBUG && console.assert(doc.nodeType == Node.DOCUMENT_NODE, 'doc.nodeType should be DOCUMENT'); for (var n = doc.firstChild; n; n = n.nextSibling) { if (n.nodeType == Node.ELEMENT_NODE) { @@ -61,12 +60,11 @@ ol.format.WMTSCapabilities.prototype.readFromDocument = function(doc) { * @return {Object} WMTS Capability object. */ ol.format.WMTSCapabilities.prototype.readFromNode = function(node) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Capabilities', + ol.DEBUG && console.assert(node.localName == 'Capabilities', 'localName should be Capabilities'); var version = node.getAttribute('version').trim(); - goog.asserts.assertString(version, 'version should be a string'); var WMTSCapabilityObject = this.owsParser_.readFromNode(node); if (!WMTSCapabilityObject) { return null; @@ -85,9 +83,9 @@ ol.format.WMTSCapabilities.prototype.readFromNode = function(node) { * @return {Object|undefined} Attribution object. */ ol.format.WMTSCapabilities.readContents_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Contents', + ol.DEBUG && console.assert(node.localName == 'Contents', 'localName should be Contents'); return ol.xml.pushParseAndPop({}, @@ -102,9 +100,9 @@ ol.format.WMTSCapabilities.readContents_ = function(node, objectStack) { * @return {Object|undefined} Layers object. */ ol.format.WMTSCapabilities.readLayer_ = function(node, objectStack) { - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); - goog.asserts.assert(node.localName == 'Layer', 'localName should be Layer'); + ol.DEBUG && console.assert(node.localName == 'Layer', 'localName should be Layer'); return ol.xml.pushParseAndPop({}, ol.format.WMTSCapabilities.LAYER_PARSERS_, node, objectStack); }; diff --git a/src/ol/format/xmlfeatureformat.js b/src/ol/format/xmlfeatureformat.js index e7f0890653..9d117913e3 100644 --- a/src/ol/format/xmlfeatureformat.js +++ b/src/ol/format/xmlfeatureformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.XMLFeature'); -goog.require('goog.asserts'); goog.require('ol.array'); goog.require('ol.format.Feature'); goog.require('ol.format.FormatType'); @@ -51,7 +50,6 @@ ol.format.XMLFeature.prototype.readFeature = function(source, opt_options) { var doc = ol.xml.parse(source); return this.readFeatureFromDocument(doc, opt_options); } else { - goog.asserts.fail('Unknown source type'); return null; } }; @@ -95,7 +93,6 @@ ol.format.XMLFeature.prototype.readFeatures = function(source, opt_options) { var doc = ol.xml.parse(source); return this.readFeaturesFromDocument(doc, opt_options); } else { - goog.asserts.fail('Unknown source type'); return []; } }; @@ -144,7 +141,6 @@ ol.format.XMLFeature.prototype.readGeometry = function(source, opt_options) { var doc = ol.xml.parse(source); return this.readGeometryFromDocument(doc, opt_options); } else { - goog.asserts.fail('Unknown source type'); return null; } }; @@ -182,7 +178,6 @@ ol.format.XMLFeature.prototype.readProjection = function(source) { var doc = ol.xml.parse(source); return this.readProjectionFromDocument(doc); } else { - goog.asserts.fail('Unknown source type'); return null; } }; @@ -213,7 +208,7 @@ ol.format.XMLFeature.prototype.readProjectionFromNode = function(node) { */ ol.format.XMLFeature.prototype.writeFeature = function(feature, opt_options) { var node = this.writeFeatureNode(feature, opt_options); - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); return this.xmlSerializer_.serializeToString(node); }; @@ -234,7 +229,7 @@ ol.format.XMLFeature.prototype.writeFeatureNode = function(feature, opt_options) */ ol.format.XMLFeature.prototype.writeFeatures = function(features, opt_options) { var node = this.writeFeaturesNode(features, opt_options); - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); return this.xmlSerializer_.serializeToString(node); }; @@ -254,7 +249,7 @@ ol.format.XMLFeature.prototype.writeFeaturesNode = function(features, opt_option */ ol.format.XMLFeature.prototype.writeGeometry = function(geometry, opt_options) { var node = this.writeGeometryNode(geometry, opt_options); - goog.asserts.assert(node.nodeType == Node.ELEMENT_NODE, + ol.DEBUG && console.assert(node.nodeType == Node.ELEMENT_NODE, 'node.nodeType should be ELEMENT'); return this.xmlSerializer_.serializeToString(node); }; diff --git a/src/ol/format/xmlformat.js b/src/ol/format/xmlformat.js index 25ea7ca92d..dd814078c2 100644 --- a/src/ol/format/xmlformat.js +++ b/src/ol/format/xmlformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.XML'); -goog.require('goog.asserts'); goog.require('ol.xml'); @@ -28,7 +27,6 @@ ol.format.XML.prototype.read = function(source) { var doc = ol.xml.parse(source); return this.readFromDocument(doc); } else { - goog.asserts.fail(); return null; } }; diff --git a/src/ol/format/xsdformat.js b/src/ol/format/xsdformat.js index 18c5351b9e..32bff8a168 100644 --- a/src/ol/format/xsdformat.js +++ b/src/ol/format/xsdformat.js @@ -1,6 +1,5 @@ goog.provide('ol.format.XSD'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.xml'); goog.require('ol.string'); @@ -146,8 +145,8 @@ ol.format.XSD.writeDecimalTextNode = function(node, decimal) { * @param {number} nonNegativeInteger Non negative integer. */ ol.format.XSD.writeNonNegativeIntegerTextNode = function(node, nonNegativeInteger) { - goog.asserts.assert(nonNegativeInteger >= 0, 'value should be more than 0'); - goog.asserts.assert(nonNegativeInteger == (nonNegativeInteger | 0), + ol.DEBUG && console.assert(nonNegativeInteger >= 0, 'value should be more than 0'); + ol.DEBUG && console.assert(nonNegativeInteger == (nonNegativeInteger | 0), 'value should be an integer value'); var string = nonNegativeInteger.toString(); node.appendChild(ol.xml.DOCUMENT.createTextNode(string)); diff --git a/src/ol/geom/circle.js b/src/ol/geom/circle.js index 732df610e9..a0c1b1d4f0 100644 --- a/src/ol/geom/circle.js +++ b/src/ol/geom/circle.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.Circle'); -goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.geom.GeometryLayout'); goog.require('ol.geom.GeometryType'); @@ -163,7 +162,7 @@ ol.geom.Circle.prototype.intersectsExtent = function(extent) { */ ol.geom.Circle.prototype.setCenter = function(center) { var stride = this.stride; - goog.asserts.assert(center.length == stride, + ol.DEBUG && console.assert(center.length == stride, 'center array length should match stride'); var radius = this.flatCoordinates[stride] - this.flatCoordinates[0]; var flatCoordinates = center.slice(); @@ -223,7 +222,7 @@ ol.geom.Circle.prototype.setFlatCoordinates = function(layout, flatCoordinates) * @api */ ol.geom.Circle.prototype.setRadius = function(radius) { - goog.asserts.assert(this.flatCoordinates, + ol.DEBUG && console.assert(this.flatCoordinates, 'truthy this.flatCoordinates expected'); this.flatCoordinates[this.stride] = this.flatCoordinates[0] + radius; this.changed(); diff --git a/src/ol/geom/flat/closestflatgeom.js b/src/ol/geom/flat/closestflatgeom.js index 1c09a5b97b..6686ad9a2f 100644 --- a/src/ol/geom/flat/closestflatgeom.js +++ b/src/ol/geom/flat/closestflatgeom.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.flat.closest'); -goog.require('goog.asserts'); goog.require('ol.math'); @@ -148,7 +147,7 @@ ol.geom.flat.closest.getClosestPoint = function(flatCoordinates, offset, end, return minSquaredDistance; } } - goog.asserts.assert(maxDelta > 0, 'maxDelta should be larger than 0'); + ol.DEBUG && console.assert(maxDelta > 0, 'maxDelta should be larger than 0'); var tmpPoint = opt_tmpPoint ? opt_tmpPoint : [NaN, NaN]; var index = offset + stride; while (index < end) { diff --git a/src/ol/geom/flat/containsflatgeom.js b/src/ol/geom/flat/containsflatgeom.js index 18324dc256..862594d16e 100644 --- a/src/ol/geom/flat/containsflatgeom.js +++ b/src/ol/geom/flat/containsflatgeom.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.flat.contains'); -goog.require('goog.asserts'); goog.require('ol.extent'); @@ -65,7 +64,7 @@ ol.geom.flat.contains.linearRingContainsXY = function(flatCoordinates, offset, e * @return {boolean} Contains (x, y). */ ol.geom.flat.contains.linearRingsContainsXY = function(flatCoordinates, offset, ends, stride, x, y) { - goog.asserts.assert(ends.length > 0, 'ends should not be an empty array'); + ol.DEBUG && console.assert(ends.length > 0, 'ends should not be an empty array'); if (ends.length === 0) { return false; } @@ -94,7 +93,7 @@ ol.geom.flat.contains.linearRingsContainsXY = function(flatCoordinates, offset, * @return {boolean} Contains (x, y). */ ol.geom.flat.contains.linearRingssContainsXY = function(flatCoordinates, offset, endss, stride, x, y) { - goog.asserts.assert(endss.length > 0, 'endss should not be an empty array'); + ol.DEBUG && console.assert(endss.length > 0, 'endss should not be an empty array'); if (endss.length === 0) { return false; } diff --git a/src/ol/geom/flat/deflateflatgeom.js b/src/ol/geom/flat/deflateflatgeom.js index afc532de89..bb59f67e5e 100644 --- a/src/ol/geom/flat/deflateflatgeom.js +++ b/src/ol/geom/flat/deflateflatgeom.js @@ -1,7 +1,5 @@ goog.provide('ol.geom.flat.deflate'); -goog.require('goog.asserts'); - /** * @param {Array.} flatCoordinates Flat coordinates. @@ -11,7 +9,7 @@ goog.require('goog.asserts'); * @return {number} offset Offset. */ ol.geom.flat.deflate.coordinate = function(flatCoordinates, offset, coordinate, stride) { - goog.asserts.assert(coordinate.length == stride, + ol.DEBUG && console.assert(coordinate.length == stride, 'length of the coordinate array should match stride'); var i, ii; for (i = 0, ii = coordinate.length; i < ii; ++i) { @@ -32,7 +30,7 @@ ol.geom.flat.deflate.coordinates = function(flatCoordinates, offset, coordinates var i, ii; for (i = 0, ii = coordinates.length; i < ii; ++i) { var coordinate = coordinates[i]; - goog.asserts.assert(coordinate.length == stride, + ol.DEBUG && console.assert(coordinate.length == stride, 'length of coordinate array should match stride'); var j; for (j = 0; j < stride; ++j) { diff --git a/src/ol/geom/flat/flipflatgeom.js b/src/ol/geom/flat/flipflatgeom.js index 62eb374c46..d65884428a 100644 --- a/src/ol/geom/flat/flipflatgeom.js +++ b/src/ol/geom/flat/flipflatgeom.js @@ -1,7 +1,5 @@ goog.provide('ol.geom.flat.flip'); -goog.require('goog.asserts'); - /** * @param {Array.} flatCoordinates Flat coordinates. @@ -18,7 +16,7 @@ ol.geom.flat.flip.flipXY = function(flatCoordinates, offset, end, stride, opt_de dest = opt_dest; destOffset = opt_destOffset !== undefined ? opt_destOffset : 0; } else { - goog.asserts.assert(opt_destOffset === undefined, + ol.DEBUG && console.assert(opt_destOffset === undefined, 'opt_destOffSet should be defined'); dest = []; destOffset = 0; diff --git a/src/ol/geom/flat/geodesicflatgeom.js b/src/ol/geom/flat/geodesicflatgeom.js index 864e762ff4..e91595161e 100644 --- a/src/ol/geom/flat/geodesicflatgeom.js +++ b/src/ol/geom/flat/geodesicflatgeom.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.flat.geodesic'); -goog.require('goog.asserts'); goog.require('ol.math'); goog.require('ol.proj'); @@ -65,7 +64,7 @@ ol.geom.flat.geodesic.line_ = function(interpolate, transform, squaredTolerance) // segment. flatCoordinates.push(b[0], b[1]); key = fracB.toString(); - goog.asserts.assert(!(key in fractions), + ol.DEBUG && console.assert(!(key in fractions), 'fractions object should contain key : ' + key); fractions[key] = true; } else { @@ -76,7 +75,7 @@ ol.geom.flat.geodesic.line_ = function(interpolate, transform, squaredTolerance) geoStack.push(geoB, geoM, geoM, geoA); } } - goog.asserts.assert(maxIterations > 0, + ol.DEBUG && console.assert(maxIterations > 0, 'maxIterations should be more than 0'); return flatCoordinates; diff --git a/src/ol/geom/flat/interiorpointflatgeom.js b/src/ol/geom/flat/interiorpointflatgeom.js index 15e9b7101f..d224814db8 100644 --- a/src/ol/geom/flat/interiorpointflatgeom.js +++ b/src/ol/geom/flat/interiorpointflatgeom.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.flat.interiorpoint'); -goog.require('goog.asserts'); goog.require('ol.array'); goog.require('ol.geom.flat.contains'); @@ -79,7 +78,7 @@ ol.geom.flat.interiorpoint.linearRings = function(flatCoordinates, offset, * @return {Array.} Interior points. */ ol.geom.flat.interiorpoint.linearRingss = function(flatCoordinates, offset, endss, stride, flatCenters) { - goog.asserts.assert(2 * endss.length == flatCenters.length, + ol.DEBUG && console.assert(2 * endss.length == flatCenters.length, 'endss.length times 2 should be flatCenters.length'); var interiorPoints = []; var i, ii; diff --git a/src/ol/geom/flat/interpolateflatgeom.js b/src/ol/geom/flat/interpolateflatgeom.js index 392642dd90..a802949024 100644 --- a/src/ol/geom/flat/interpolateflatgeom.js +++ b/src/ol/geom/flat/interpolateflatgeom.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.flat.interpolate'); -goog.require('goog.asserts'); goog.require('ol.array'); goog.require('ol.math'); @@ -17,13 +16,13 @@ goog.require('ol.math'); ol.geom.flat.interpolate.lineString = function(flatCoordinates, offset, end, stride, fraction, opt_dest) { // FIXME does not work when vertices are repeated // FIXME interpolate extra dimensions - goog.asserts.assert(0 <= fraction && fraction <= 1, + ol.DEBUG && console.assert(0 <= fraction && fraction <= 1, 'fraction should be in between 0 and 1'); var pointX = NaN; var pointY = NaN; var n = (end - offset) / stride; if (n === 0) { - goog.asserts.fail('n cannot be 0'); + ol.DEBUG && console.assert(false, 'n cannot be 0'); } else if (n == 1) { pointX = flatCoordinates[offset]; pointY = flatCoordinates[offset + 1]; @@ -121,8 +120,8 @@ ol.geom.flat.lineStringCoordinateAtM = function(flatCoordinates, offset, end, st return flatCoordinates.slice((lo - 1) * stride, (lo - 1) * stride + stride); } var m1 = flatCoordinates[(lo + 1) * stride - 1]; - goog.asserts.assert(m0 < m, 'm0 should be less than m'); - goog.asserts.assert(m <= m1, 'm should be less than or equal to m1'); + ol.DEBUG && console.assert(m0 < m, 'm0 should be less than m'); + ol.DEBUG && console.assert(m <= m1, 'm should be less than or equal to m1'); var t = (m - m0) / (m1 - m0); coordinate = []; var i; @@ -131,7 +130,7 @@ ol.geom.flat.lineStringCoordinateAtM = function(flatCoordinates, offset, end, st flatCoordinates[lo * stride + i], t)); } coordinate.push(m); - goog.asserts.assert(coordinate.length == stride, + ol.DEBUG && console.assert(coordinate.length == stride, 'length of coordinate array should match stride'); return coordinate; }; @@ -186,7 +185,7 @@ ol.geom.flat.lineStringsCoordinateAtM = function( } offset = end; } - goog.asserts.fail( + ol.DEBUG && console.assert(false, 'ol.geom.flat.lineStringsCoordinateAtM should have returned'); return null; }; diff --git a/src/ol/geom/flat/intersectsextent.js b/src/ol/geom/flat/intersectsextent.js index c520464da3..03381628f9 100644 --- a/src/ol/geom/flat/intersectsextent.js +++ b/src/ol/geom/flat/intersectsextent.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.flat.intersectsextent'); -goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.geom.flat.contains'); goog.require('ol.geom.flat.segments'); @@ -107,7 +106,7 @@ ol.geom.flat.intersectsextent.linearRing = function(flatCoordinates, offset, end * @return {boolean} True if the geometry and the extent intersect. */ ol.geom.flat.intersectsextent.linearRings = function(flatCoordinates, offset, ends, stride, extent) { - goog.asserts.assert(ends.length > 0, 'ends should not be an empty array'); + ol.DEBUG && console.assert(ends.length > 0, 'ends should not be an empty array'); if (!ol.geom.flat.intersectsextent.linearRing( flatCoordinates, offset, ends[0], stride, extent)) { return false; @@ -135,7 +134,7 @@ ol.geom.flat.intersectsextent.linearRings = function(flatCoordinates, offset, en * @return {boolean} True if the geometry and the extent intersect. */ ol.geom.flat.intersectsextent.linearRingss = function(flatCoordinates, offset, endss, stride, extent) { - goog.asserts.assert(endss.length > 0, 'endss should not be an empty array'); + ol.DEBUG && console.assert(endss.length > 0, 'endss should not be an empty array'); var i, ii; for (i = 0, ii = endss.length; i < ii; ++i) { var ends = endss[i]; diff --git a/src/ol/geom/geometry.js b/src/ol/geom/geometry.js index 69e9914477..f8466291da 100644 --- a/src/ol/geom/geometry.js +++ b/src/ol/geom/geometry.js @@ -2,7 +2,6 @@ goog.provide('ol.geom.Geometry'); goog.provide('ol.geom.GeometryLayout'); goog.provide('ol.geom.GeometryType'); -goog.require('goog.asserts'); goog.require('ol.functions'); goog.require('ol.Object'); goog.require('ol.extent'); @@ -262,7 +261,7 @@ ol.geom.Geometry.prototype.translate = function(deltaX, deltaY) {}; * @api stable */ ol.geom.Geometry.prototype.transform = function(source, destination) { - goog.asserts.assert( + ol.DEBUG && console.assert( ol.proj.get(source).getUnits() !== ol.proj.Units.TILE_PIXELS && ol.proj.get(destination).getUnits() !== ol.proj.Units.TILE_PIXELS, 'cannot transform geometries with TILE_PIXELS units'); diff --git a/src/ol/geom/linestring.js b/src/ol/geom/linestring.js index 298aae3060..988b6e2db2 100644 --- a/src/ol/geom/linestring.js +++ b/src/ol/geom/linestring.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.LineString'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.array'); goog.require('ol.extent'); @@ -67,7 +66,7 @@ ol.inherits(ol.geom.LineString, ol.geom.SimpleGeometry); * @api stable */ ol.geom.LineString.prototype.appendCoordinate = function(coordinate) { - goog.asserts.assert(coordinate.length == this.stride, + ol.DEBUG && console.assert(coordinate.length == this.stride, 'length of coordinate array should match stride'); if (!this.flatCoordinates) { this.flatCoordinates = coordinate.slice(); diff --git a/src/ol/geom/multilinestring.js b/src/ol/geom/multilinestring.js index 20559d8f6f..28e976379b 100644 --- a/src/ol/geom/multilinestring.js +++ b/src/ol/geom/multilinestring.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.MultiLineString'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.array'); goog.require('ol.extent'); @@ -60,7 +59,7 @@ ol.inherits(ol.geom.MultiLineString, ol.geom.SimpleGeometry); * @api stable */ ol.geom.MultiLineString.prototype.appendLineString = function(lineString) { - goog.asserts.assert(lineString.getLayout() == this.layout, + ol.DEBUG && console.assert(lineString.getLayout() == this.layout, 'layout of lineString should match the layout'); if (!this.flatCoordinates) { this.flatCoordinates = lineString.getFlatCoordinates().slice(); @@ -166,7 +165,7 @@ ol.geom.MultiLineString.prototype.getEnds = function() { * @api stable */ ol.geom.MultiLineString.prototype.getLineString = function(index) { - goog.asserts.assert(0 <= index && index < this.ends_.length, + ol.DEBUG && console.assert(0 <= index && index < this.ends_.length, 'index should be in between 0 and length of the this.ends_ array'); if (index < 0 || this.ends_.length <= index) { return null; @@ -287,13 +286,13 @@ ol.geom.MultiLineString.prototype.setCoordinates = function(coordinates, opt_lay */ ol.geom.MultiLineString.prototype.setFlatCoordinates = function(layout, flatCoordinates, ends) { if (!flatCoordinates) { - goog.asserts.assert(ends && ends.length === 0, + ol.DEBUG && console.assert(ends && ends.length === 0, 'ends must be truthy and ends.length should be 0'); } else if (ends.length === 0) { - goog.asserts.assert(flatCoordinates.length === 0, + ol.DEBUG && console.assert(flatCoordinates.length === 0, 'flatCoordinates should be an empty array'); } else { - goog.asserts.assert(flatCoordinates.length == ends[ends.length - 1], + ol.DEBUG && console.assert(flatCoordinates.length == ends[ends.length - 1], 'length of flatCoordinates array should match the last value of ends'); } this.setFlatCoordinatesInternal(layout, flatCoordinates); @@ -316,7 +315,7 @@ ol.geom.MultiLineString.prototype.setLineStrings = function(lineStrings) { layout = lineString.getLayout(); } else { // FIXME better handle the case of non-matching layouts - goog.asserts.assert(lineString.getLayout() == layout, + ol.DEBUG && console.assert(lineString.getLayout() == layout, 'layout of lineString should match layout'); } ol.array.extend(flatCoordinates, lineString.getFlatCoordinates()); diff --git a/src/ol/geom/multipoint.js b/src/ol/geom/multipoint.js index 29a4e109c2..1f3a633026 100644 --- a/src/ol/geom/multipoint.js +++ b/src/ol/geom/multipoint.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.MultiPoint'); -goog.require('goog.asserts'); goog.require('ol.array'); goog.require('ol.extent'); goog.require('ol.geom.GeometryLayout'); @@ -35,7 +34,7 @@ ol.inherits(ol.geom.MultiPoint, ol.geom.SimpleGeometry); * @api stable */ ol.geom.MultiPoint.prototype.appendPoint = function(point) { - goog.asserts.assert(point.getLayout() == this.layout, + ol.DEBUG && console.assert(point.getLayout() == this.layout, 'the layout of point should match layout'); if (!this.flatCoordinates) { this.flatCoordinates = point.getFlatCoordinates().slice(); @@ -104,7 +103,7 @@ ol.geom.MultiPoint.prototype.getCoordinates = function() { ol.geom.MultiPoint.prototype.getPoint = function(index) { var n = !this.flatCoordinates ? 0 : this.flatCoordinates.length / this.stride; - goog.asserts.assert(0 <= index && index < n, + ol.DEBUG && console.assert(0 <= index && index < n, 'index should be in between 0 and n'); if (index < 0 || n <= index) { return null; diff --git a/src/ol/geom/multipolygon.js b/src/ol/geom/multipolygon.js index 0e515023a3..3e69ca3157 100644 --- a/src/ol/geom/multipolygon.js +++ b/src/ol/geom/multipolygon.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.MultiPolygon'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.array'); goog.require('ol.extent'); @@ -89,7 +88,7 @@ ol.inherits(ol.geom.MultiPolygon, ol.geom.SimpleGeometry); * @api stable */ ol.geom.MultiPolygon.prototype.appendPolygon = function(polygon) { - goog.asserts.assert(polygon.getLayout() == this.layout, + ol.DEBUG && console.assert(polygon.getLayout() == this.layout, 'layout of polygon should match layout'); /** @type {Array.} */ var ends; @@ -280,7 +279,7 @@ ol.geom.MultiPolygon.prototype.getSimplifiedGeometryInternal = function(squaredT * @api stable */ ol.geom.MultiPolygon.prototype.getPolygon = function(index) { - goog.asserts.assert(0 <= index && index < this.endss_.length, + ol.DEBUG && console.assert(0 <= index && index < this.endss_.length, 'index should be in between 0 and the length of this.endss_'); if (index < 0 || this.endss_.length <= index) { return null; @@ -390,13 +389,13 @@ ol.geom.MultiPolygon.prototype.setCoordinates = function(coordinates, opt_layout * @param {Array.>} endss Endss. */ ol.geom.MultiPolygon.prototype.setFlatCoordinates = function(layout, flatCoordinates, endss) { - goog.asserts.assert(endss, 'endss must be truthy'); + ol.DEBUG && console.assert(endss, 'endss must be truthy'); if (!flatCoordinates || flatCoordinates.length === 0) { - goog.asserts.assert(endss.length === 0, 'the length of endss should be 0'); + ol.DEBUG && console.assert(endss.length === 0, 'the length of endss should be 0'); } else { - goog.asserts.assert(endss.length > 0, 'endss cannot be an empty array'); + ol.DEBUG && console.assert(endss.length > 0, 'endss cannot be an empty array'); var ends = endss[endss.length - 1]; - goog.asserts.assert(flatCoordinates.length == ends[ends.length - 1], + ol.DEBUG && console.assert(flatCoordinates.length == ends[ends.length - 1], 'the length of flatCoordinates should be the last value of ends'); } this.setFlatCoordinatesInternal(layout, flatCoordinates); @@ -419,7 +418,7 @@ ol.geom.MultiPolygon.prototype.setPolygons = function(polygons) { layout = polygon.getLayout(); } else { // FIXME better handle the case of non-matching layouts - goog.asserts.assert(polygon.getLayout() == layout, + ol.DEBUG && console.assert(polygon.getLayout() == layout, 'layout of polygon should be layout'); } var offset = flatCoordinates.length; diff --git a/src/ol/geom/polygon.js b/src/ol/geom/polygon.js index 5aa94dfab6..4024561538 100644 --- a/src/ol/geom/polygon.js +++ b/src/ol/geom/polygon.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.Polygon'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.array'); goog.require('ol.extent'); @@ -89,7 +88,7 @@ ol.inherits(ol.geom.Polygon, ol.geom.SimpleGeometry); * @api stable */ ol.geom.Polygon.prototype.appendLinearRing = function(linearRing) { - goog.asserts.assert(linearRing.getLayout() == this.layout, + ol.DEBUG && console.assert(linearRing.getLayout() == this.layout, 'layout of linearRing should match layout'); if (!this.flatCoordinates) { this.flatCoordinates = linearRing.getFlatCoordinates().slice(); @@ -237,7 +236,7 @@ ol.geom.Polygon.prototype.getLinearRingCount = function() { * @api stable */ ol.geom.Polygon.prototype.getLinearRing = function(index) { - goog.asserts.assert(0 <= index && index < this.ends_.length, + ol.DEBUG && console.assert(0 <= index && index < this.ends_.length, 'index should be in between 0 and and length of this.ends_'); if (index < 0 || this.ends_.length <= index) { return null; @@ -358,13 +357,13 @@ ol.geom.Polygon.prototype.setCoordinates = function(coordinates, opt_layout) { */ ol.geom.Polygon.prototype.setFlatCoordinates = function(layout, flatCoordinates, ends) { if (!flatCoordinates) { - goog.asserts.assert(ends && ends.length === 0, + ol.DEBUG && console.assert(ends && ends.length === 0, 'ends must be an empty array'); } else if (ends.length === 0) { - goog.asserts.assert(flatCoordinates.length === 0, + ol.DEBUG && console.assert(flatCoordinates.length === 0, 'flatCoordinates should be an empty array'); } else { - goog.asserts.assert(flatCoordinates.length == ends[ends.length - 1], + ol.DEBUG && console.assert(flatCoordinates.length == ends[ends.length - 1], 'the length of flatCoordinates should be the last entry of ends'); } this.setFlatCoordinatesInternal(layout, flatCoordinates); @@ -461,7 +460,7 @@ ol.geom.Polygon.makeRegular = function(polygon, center, radius, opt_angle) { var layout = polygon.getLayout(); var stride = polygon.getStride(); var ends = polygon.getEnds(); - goog.asserts.assert(ends.length === 1, 'only 1 ring is supported'); + ol.DEBUG && console.assert(ends.length === 1, 'only 1 ring is supported'); var sides = flatCoordinates.length / stride - 1; var startAngle = opt_angle ? opt_angle : 0; var angle, offset; diff --git a/src/ol/geom/simplegeometry.js b/src/ol/geom/simplegeometry.js index 7324386404..8ca829fb03 100644 --- a/src/ol/geom/simplegeometry.js +++ b/src/ol/geom/simplegeometry.js @@ -1,6 +1,5 @@ goog.provide('ol.geom.SimpleGeometry'); -goog.require('goog.asserts'); goog.require('ol.functions'); goog.require('ol.extent'); goog.require('ol.geom.Geometry'); @@ -50,15 +49,16 @@ ol.inherits(ol.geom.SimpleGeometry, ol.geom.Geometry); * @return {ol.geom.GeometryLayout} layout Layout. */ ol.geom.SimpleGeometry.getLayoutForStride_ = function(stride) { + var layout; if (stride == 2) { - return ol.geom.GeometryLayout.XY; + layout = ol.geom.GeometryLayout.XY; } else if (stride == 3) { - return ol.geom.GeometryLayout.XYZ; + layout = ol.geom.GeometryLayout.XYZ; } else if (stride == 4) { - return ol.geom.GeometryLayout.XYZM; - } else { - goog.asserts.fail('unsupported stride: ' + stride); + layout = ol.geom.GeometryLayout.XYZM; } + ol.DEBUG && console.assert(layout, 'unsupported stride: ' + stride); + return /** @type {ol.geom.GeometryLayout} */ (layout); }; @@ -67,17 +67,16 @@ ol.geom.SimpleGeometry.getLayoutForStride_ = function(stride) { * @return {number} Stride. */ ol.geom.SimpleGeometry.getStrideForLayout = function(layout) { + var stride; if (layout == ol.geom.GeometryLayout.XY) { - return 2; - } else if (layout == ol.geom.GeometryLayout.XYZ) { - return 3; - } else if (layout == ol.geom.GeometryLayout.XYM) { - return 3; + stride = 2; + } else if (layout == ol.geom.GeometryLayout.XYZ || layout == ol.geom.GeometryLayout.XYM) { + stride = 3; } else if (layout == ol.geom.GeometryLayout.XYZM) { - return 4; - } else { - goog.asserts.fail('unsupported layout: ' + layout); + stride = 4; } + ol.DEBUG && console.assert(stride, 'unsupported layout: ' + layout); + return /** @type {number} */ (stride); }; diff --git a/src/ol/graticule.js b/src/ol/graticule.js index 980a7b9c66..6571448438 100644 --- a/src/ol/graticule.js +++ b/src/ol/graticule.js @@ -1,6 +1,5 @@ goog.provide('ol.Graticule'); -goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.geom.GeometryLayout'); goog.require('ol.geom.LineString'); @@ -93,7 +92,7 @@ ol.Graticule = function(opt_options) { * @private */ this.maxLines_ = options.maxLines !== undefined ? options.maxLines : 100; - goog.asserts.assert(this.maxLines_ > 0, + ol.DEBUG && console.assert(this.maxLines_ > 0, 'this.maxLines_ should be more than 0'); /** @@ -334,13 +333,13 @@ ol.Graticule.prototype.getMap = function() { */ ol.Graticule.prototype.getMeridian_ = function(lon, minLat, maxLat, squaredTolerance, index) { - goog.asserts.assert(lon >= this.minLon_, + ol.DEBUG && console.assert(lon >= this.minLon_, 'lon should be larger than or equal to this.minLon_'); - goog.asserts.assert(lon <= this.maxLon_, + ol.DEBUG && console.assert(lon <= this.maxLon_, 'lon should be smaller than or equal to this.maxLon_'); var flatCoordinates = ol.geom.flat.geodesic.meridian(lon, minLat, maxLat, this.projection_, squaredTolerance); - goog.asserts.assert(flatCoordinates.length > 0, + ol.DEBUG && console.assert(flatCoordinates.length > 0, 'flatCoordinates cannot be empty'); var lineString = this.meridians_[index] !== undefined ? this.meridians_[index] : new ol.geom.LineString(null); @@ -370,13 +369,13 @@ ol.Graticule.prototype.getMeridians = function() { */ ol.Graticule.prototype.getParallel_ = function(lat, minLon, maxLon, squaredTolerance, index) { - goog.asserts.assert(lat >= this.minLat_, + ol.DEBUG && console.assert(lat >= this.minLat_, 'lat should be larger than or equal to this.minLat_'); - goog.asserts.assert(lat <= this.maxLat_, + ol.DEBUG && console.assert(lat <= this.maxLat_, 'lat should be smaller than or equal to this.maxLat_'); var flatCoordinates = ol.geom.flat.geodesic.parallel(lat, this.minLon_, this.maxLon_, this.projection_, squaredTolerance); - goog.asserts.assert(flatCoordinates.length > 0, + ol.DEBUG && console.assert(flatCoordinates.length > 0, 'flatCoordinates cannot be empty'); var lineString = this.parallels_[index] !== undefined ? this.parallels_[index] : new ol.geom.LineString(null); @@ -456,7 +455,7 @@ ol.Graticule.prototype.handlePostCompose_ = function(e) { * @private */ ol.Graticule.prototype.updateProjectionInfo_ = function(projection) { - goog.asserts.assert(projection, 'projection cannot be null'); + ol.DEBUG && console.assert(projection, 'projection cannot be null'); var epsg4326Projection = ol.proj.get('EPSG:4326'); @@ -475,19 +474,19 @@ ol.Graticule.prototype.updateProjectionInfo_ = function(projection) { var minLatP = worldExtentP[1]; var minLonP = worldExtentP[0]; - goog.asserts.assert(extent, 'extent cannot be null'); - goog.asserts.assert(maxLat !== undefined, 'maxLat should be defined'); - goog.asserts.assert(maxLon !== undefined, 'maxLon should be defined'); - goog.asserts.assert(minLat !== undefined, 'minLat should be defined'); - goog.asserts.assert(minLon !== undefined, 'minLon should be defined'); + ol.DEBUG && console.assert(extent, 'extent cannot be null'); + ol.DEBUG && console.assert(maxLat !== undefined, 'maxLat should be defined'); + ol.DEBUG && console.assert(maxLon !== undefined, 'maxLon should be defined'); + ol.DEBUG && console.assert(minLat !== undefined, 'minLat should be defined'); + ol.DEBUG && console.assert(minLon !== undefined, 'minLon should be defined'); - goog.asserts.assert(maxLatP !== undefined, + ol.DEBUG && console.assert(maxLatP !== undefined, 'projected maxLat should be defined'); - goog.asserts.assert(maxLonP !== undefined, + ol.DEBUG && console.assert(maxLonP !== undefined, 'projected maxLon should be defined'); - goog.asserts.assert(minLatP !== undefined, + ol.DEBUG && console.assert(minLatP !== undefined, 'projected minLat should be defined'); - goog.asserts.assert(minLonP !== undefined, + ol.DEBUG && console.assert(minLonP !== undefined, 'projected minLon should be defined'); this.maxLat_ = maxLat; diff --git a/src/ol/image.js b/src/ol/image.js index cefd3829c7..17a9ce9b1e 100644 --- a/src/ol/image.js +++ b/src/ol/image.js @@ -1,6 +1,5 @@ goog.provide('ol.Image'); -goog.require('goog.asserts'); goog.require('ol.ImageBase'); goog.require('ol.ImageState'); goog.require('ol.events'); @@ -131,7 +130,7 @@ ol.Image.prototype.load = function() { if (this.state == ol.ImageState.IDLE || this.state == ol.ImageState.ERROR) { this.state = ol.ImageState.LOADING; this.changed(); - goog.asserts.assert(!this.imageListenerKeys_, + ol.DEBUG && console.assert(!this.imageListenerKeys_, 'this.imageListenerKeys_ should be null'); this.imageListenerKeys_ = [ ol.events.listenOnce(this.image_, ol.events.EventType.ERROR, @@ -158,7 +157,7 @@ ol.Image.prototype.setImage = function(image) { * @private */ ol.Image.prototype.unlistenImage_ = function() { - goog.asserts.assert(this.imageListenerKeys_, + ol.DEBUG && console.assert(this.imageListenerKeys_, 'this.imageListenerKeys_ should not be null'); this.imageListenerKeys_.forEach(ol.events.unlistenByKey); this.imageListenerKeys_ = null; diff --git a/src/ol/imagebase.js b/src/ol/imagebase.js index 8d088d6ddc..b2d4f8d848 100644 --- a/src/ol/imagebase.js +++ b/src/ol/imagebase.js @@ -1,7 +1,6 @@ goog.provide('ol.ImageBase'); goog.provide('ol.ImageState'); -goog.require('goog.asserts'); goog.require('ol.events.EventTarget'); goog.require('ol.events.EventType'); goog.require('ol.Attribution'); @@ -109,8 +108,8 @@ ol.ImageBase.prototype.getPixelRatio = function() { * @return {number} Resolution. */ ol.ImageBase.prototype.getResolution = function() { - goog.asserts.assert(this.resolution !== undefined, 'resolution not yet set'); - return this.resolution; + ol.DEBUG && console.assert(this.resolution !== undefined, 'resolution not yet set'); + return /** @type {number} */ (this.resolution); }; diff --git a/src/ol/imagecanvas.js b/src/ol/imagecanvas.js index d641b17b4e..b442ba3693 100644 --- a/src/ol/imagecanvas.js +++ b/src/ol/imagecanvas.js @@ -1,6 +1,5 @@ goog.provide('ol.ImageCanvas'); -goog.require('goog.asserts'); goog.require('ol.ImageBase'); goog.require('ol.ImageState'); @@ -77,7 +76,7 @@ ol.ImageCanvas.prototype.handleLoad_ = function(err) { */ ol.ImageCanvas.prototype.load = function() { if (this.state == ol.ImageState.IDLE) { - goog.asserts.assert(this.loader_, 'this.loader_ must be set'); + ol.DEBUG && console.assert(this.loader_, 'this.loader_ must be set'); this.state = ol.ImageState.LOADING; this.changed(); this.loader_(this.handleLoad_.bind(this)); diff --git a/src/ol/imagetile.js b/src/ol/imagetile.js index 2785689383..4a6b9ee7ca 100644 --- a/src/ol/imagetile.js +++ b/src/ol/imagetile.js @@ -1,6 +1,5 @@ goog.provide('ol.ImageTile'); -goog.require('goog.asserts'); goog.require('ol.Tile'); goog.require('ol.TileState'); goog.require('ol.events'); @@ -146,7 +145,7 @@ ol.ImageTile.prototype.load = function() { if (this.state == ol.TileState.IDLE || this.state == ol.TileState.ERROR) { this.state = ol.TileState.LOADING; this.changed(); - goog.asserts.assert(!this.imageListenerKeys_, + ol.DEBUG && console.assert(!this.imageListenerKeys_, 'this.imageListenerKeys_ should be null'); this.imageListenerKeys_ = [ ol.events.listenOnce(this.image_, ol.events.EventType.ERROR, @@ -165,7 +164,7 @@ ol.ImageTile.prototype.load = function() { * @private */ ol.ImageTile.prototype.unlistenImage_ = function() { - goog.asserts.assert(this.imageListenerKeys_, + ol.DEBUG && console.assert(this.imageListenerKeys_, 'this.imageListenerKeys_ should not be null'); this.imageListenerKeys_.forEach(ol.events.unlistenByKey); this.imageListenerKeys_ = null; diff --git a/src/ol/interaction/doubleclickzoominteraction.js b/src/ol/interaction/doubleclickzoominteraction.js index 511b7061f4..98f0198743 100644 --- a/src/ol/interaction/doubleclickzoominteraction.js +++ b/src/ol/interaction/doubleclickzoominteraction.js @@ -1,6 +1,5 @@ goog.provide('ol.interaction.DoubleClickZoom'); -goog.require('goog.asserts'); goog.require('ol.MapBrowserEvent'); goog.require('ol.MapBrowserEvent.EventType'); goog.require('ol.interaction.Interaction'); @@ -55,7 +54,7 @@ ol.interaction.DoubleClickZoom.handleEvent = function(mapBrowserEvent) { var anchor = mapBrowserEvent.coordinate; var delta = browserEvent.shiftKey ? -this.delta_ : this.delta_; var view = map.getView(); - goog.asserts.assert(view, 'map must have a view'); + ol.DEBUG && console.assert(view, 'map must have a view'); ol.interaction.Interaction.zoomByDelta( map, view, delta, anchor, this.duration_); mapBrowserEvent.preventDefault(); diff --git a/src/ol/interaction/draganddropinteraction.js b/src/ol/interaction/draganddropinteraction.js index 821dd61bde..30171d931a 100644 --- a/src/ol/interaction/draganddropinteraction.js +++ b/src/ol/interaction/draganddropinteraction.js @@ -3,7 +3,6 @@ goog.provide('ol.interaction.DragAndDrop'); goog.provide('ol.interaction.DragAndDropEvent'); -goog.require('goog.asserts'); goog.require('ol.functions'); goog.require('ol.events'); goog.require('ol.events.Event'); @@ -97,13 +96,13 @@ ol.interaction.DragAndDrop.handleStop_ = function(event) { ol.interaction.DragAndDrop.prototype.handleResult_ = function(file, event) { var result = event.target.result; var map = this.getMap(); - goog.asserts.assert(map, 'map must be set'); + ol.DEBUG && console.assert(map, 'map must be set'); var projection = this.projection_; if (!projection) { var view = map.getView(); - goog.asserts.assert(view, 'map must have view'); + ol.DEBUG && console.assert(view, 'map must have view'); projection = view.getProjection(); - goog.asserts.assert(projection !== undefined, + ol.DEBUG && console.assert(projection !== undefined, 'projection should be defined'); } var formatConstructors = this.formatConstructors_; diff --git a/src/ol/interaction/dragpaninteraction.js b/src/ol/interaction/dragpaninteraction.js index 5fe55ca250..b1c1a44075 100644 --- a/src/ol/interaction/dragpaninteraction.js +++ b/src/ol/interaction/dragpaninteraction.js @@ -1,6 +1,5 @@ goog.provide('ol.interaction.DragPan'); -goog.require('goog.asserts'); goog.require('ol.Kinetic'); goog.require('ol.ViewHint'); @@ -69,7 +68,7 @@ ol.inherits(ol.interaction.DragPan, ol.interaction.Pointer); * @private */ ol.interaction.DragPan.handleDragEvent_ = function(mapBrowserEvent) { - goog.asserts.assert(this.targetPointers.length >= 1, + ol.DEBUG && console.assert(this.targetPointers.length >= 1, 'the length of this.targetPointers should be more than 1'); var centroid = ol.interaction.Pointer.centroid(this.targetPointers); @@ -107,8 +106,7 @@ ol.interaction.DragPan.handleUpEvent_ = function(mapBrowserEvent) { if (!this.noKinetic_ && this.kinetic_ && this.kinetic_.end()) { var distance = this.kinetic_.getDistance(); var angle = this.kinetic_.getAngle(); - var center = view.getCenter(); - goog.asserts.assert(center !== undefined, 'center should be defined'); + var center = /** @type {!ol.Coordinate} */ (view.getCenter()); this.kineticPreRenderFn_ = this.kinetic_.pan(center); map.beforeRender(this.kineticPreRenderFn_); var centerpx = map.getPixelFromCoordinate(center); diff --git a/src/ol/interaction/dragzoominteraction.js b/src/ol/interaction/dragzoominteraction.js index d41c0a696c..3a931ec8b8 100644 --- a/src/ol/interaction/dragzoominteraction.js +++ b/src/ol/interaction/dragzoominteraction.js @@ -1,6 +1,5 @@ goog.provide('ol.interaction.DragZoom'); -goog.require('goog.asserts'); goog.require('ol.animation'); goog.require('ol.easing'); goog.require('ol.events.condition'); @@ -55,11 +54,9 @@ ol.inherits(ol.interaction.DragZoom, ol.interaction.DragBox); ol.interaction.DragZoom.prototype.onBoxEnd = function() { var map = this.getMap(); - var view = map.getView(); - goog.asserts.assert(view, 'map must have view'); + var view = /** @type {!ol.View} */ (map.getView()); - var size = map.getSize(); - goog.asserts.assert(size !== undefined, 'size should be defined'); + var size = /** @type {!ol.Size} */ (map.getSize()); var extent = this.getGeometry().getExtent(); @@ -77,11 +74,9 @@ ol.interaction.DragZoom.prototype.onBoxEnd = function() { var resolution = view.constrainResolution( view.getResolutionForExtent(extent, size)); - var currentResolution = view.getResolution(); - goog.asserts.assert(currentResolution !== undefined, 'res should be defined'); + var currentResolution = /** @type {number} */ (view.getResolution()); - var currentCenter = view.getCenter(); - goog.asserts.assert(currentCenter !== undefined, 'center should be defined'); + var currentCenter = /** @type {!ol.Coordinate} */ (view.getCenter()); map.beforeRender(ol.animation.zoom({ resolution: currentResolution, diff --git a/src/ol/interaction/drawinteraction.js b/src/ol/interaction/drawinteraction.js index 45deca42a0..3337a74320 100644 --- a/src/ol/interaction/drawinteraction.js +++ b/src/ol/interaction/drawinteraction.js @@ -3,7 +3,6 @@ goog.provide('ol.interaction.DrawEvent'); goog.provide('ol.interaction.DrawEventType'); goog.provide('ol.interaction.DrawMode'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.Event'); goog.require('ol.Collection'); @@ -175,10 +174,8 @@ ol.interaction.Draw = function(options) { * @return {ol.geom.SimpleGeometry} A geometry. */ geometryFunction = function(coordinates, opt_geometry) { - var circle = opt_geometry ? opt_geometry : + var circle = opt_geometry ? /** @type {ol.geom.Circle} */ (opt_geometry) : new ol.geom.Circle([NaN, NaN]); - goog.asserts.assertInstanceof(circle, ol.geom.Circle, - 'geometry must be an ol.geom.Circle'); var squaredLength = ol.coordinate.squaredDistance( coordinates[0], coordinates[1]); circle.setCenterAndRadius(coordinates[0], Math.sqrt(squaredLength)); @@ -488,9 +485,7 @@ ol.interaction.Draw.prototype.createOrUpdateSketchPoint_ = function(event) { this.sketchPoint_ = new ol.Feature(new ol.geom.Point(coordinates)); this.updateSketchFeatures_(); } else { - var sketchPointGeom = this.sketchPoint_.getGeometry(); - goog.asserts.assertInstanceof(sketchPointGeom, ol.geom.Point, - 'sketchPointGeom should be an ol.geom.Point'); + var sketchPointGeom = /** @type {ol.geom.Point} */ (this.sketchPoint_.getGeometry()); sketchPointGeom.setCoordinates(coordinates); } }; @@ -520,7 +515,7 @@ ol.interaction.Draw.prototype.startDrawing_ = function(event) { new ol.geom.LineString(this.sketchLineCoords_)); } var geometry = this.geometryFunction_(this.sketchCoords_); - goog.asserts.assert(geometry !== undefined, 'geometry should be defined'); + ol.DEBUG && console.assert(geometry !== undefined, 'geometry should be defined'); this.sketchFeature_ = new ol.Feature(); if (this.geometryName_) { this.sketchFeature_.setGeometryName(this.geometryName_); @@ -539,9 +534,7 @@ ol.interaction.Draw.prototype.startDrawing_ = function(event) { */ ol.interaction.Draw.prototype.modifyDrawing_ = function(event) { var coordinate = event.coordinate; - var geometry = this.sketchFeature_.getGeometry(); - goog.asserts.assertInstanceof(geometry, ol.geom.SimpleGeometry, - 'geometry should be ol.geom.SimpleGeometry or subclass'); + var geometry = /** @type {ol.geom.SimpleGeometry} */ (this.sketchFeature_.getGeometry()); var coordinates, last; if (this.mode_ === ol.interaction.DrawMode.POINT) { last = this.sketchCoords_; @@ -558,12 +551,12 @@ ol.interaction.Draw.prototype.modifyDrawing_ = function(event) { } last[0] = coordinate[0]; last[1] = coordinate[1]; - goog.asserts.assert(this.sketchCoords_, 'sketchCoords_ expected'); - this.geometryFunction_(this.sketchCoords_, geometry); + ol.DEBUG && console.assert(this.sketchCoords_, 'sketchCoords_ expected'); + this.geometryFunction_( + /** @type {!ol.Coordinate|!Array.|!Array.>} */ (this.sketchCoords_), + geometry); if (this.sketchPoint_) { - var sketchPointGeom = this.sketchPoint_.getGeometry(); - goog.asserts.assertInstanceof(sketchPointGeom, ol.geom.Point, - 'sketchPointGeom should be an ol.geom.Point'); + var sketchPointGeom = /** @type {ol.geom.Point} */ (this.sketchPoint_.getGeometry()); sketchPointGeom.setCoordinates(coordinate); } var sketchLineGeom; @@ -573,15 +566,11 @@ ol.interaction.Draw.prototype.modifyDrawing_ = function(event) { this.sketchLine_ = new ol.Feature(new ol.geom.LineString(null)); } var ring = geometry.getLinearRing(0); - sketchLineGeom = this.sketchLine_.getGeometry(); - goog.asserts.assertInstanceof(sketchLineGeom, ol.geom.LineString, - 'sketchLineGeom must be an ol.geom.LineString'); + sketchLineGeom = /** @type {ol.geom.LineString} */ (this.sketchLine_.getGeometry()); sketchLineGeom.setFlatCoordinates( ring.getLayout(), ring.getFlatCoordinates()); } else if (this.sketchLineCoords_) { - sketchLineGeom = this.sketchLine_.getGeometry(); - goog.asserts.assertInstanceof(sketchLineGeom, ol.geom.LineString, - 'sketchLineGeom must be an ol.geom.LineString'); + sketchLineGeom = /** @type {ol.geom.LineString} */ (this.sketchLine_.getGeometry()); sketchLineGeom.setCoordinates(this.sketchLineCoords_); } this.updateSketchFeatures_(); @@ -595,9 +584,7 @@ ol.interaction.Draw.prototype.modifyDrawing_ = function(event) { */ ol.interaction.Draw.prototype.addToDrawing_ = function(event) { var coordinate = event.coordinate; - var geometry = this.sketchFeature_.getGeometry(); - goog.asserts.assertInstanceof(geometry, ol.geom.SimpleGeometry, - 'geometry must be an ol.geom.SimpleGeometry'); + var geometry = /** @type {ol.geom.SimpleGeometry} */ (this.sketchFeature_.getGeometry()); var done; var coordinates; if (this.mode_ === ol.interaction.DrawMode.LINE_STRING) { @@ -627,9 +614,7 @@ ol.interaction.Draw.prototype.addToDrawing_ = function(event) { * @api */ ol.interaction.Draw.prototype.removeLastPoint = function() { - var geometry = this.sketchFeature_.getGeometry(); - goog.asserts.assertInstanceof(geometry, ol.geom.SimpleGeometry, - 'geometry must be an ol.geom.SimpleGeometry'); + var geometry = /** @type {ol.geom.SimpleGeometry} */ (this.sketchFeature_.getGeometry()); var coordinates, sketchLineGeom; if (this.mode_ === ol.interaction.DrawMode.LINE_STRING) { coordinates = this.sketchCoords_; @@ -638,9 +623,7 @@ ol.interaction.Draw.prototype.removeLastPoint = function() { } else if (this.mode_ === ol.interaction.DrawMode.POLYGON) { coordinates = this.sketchCoords_[0]; coordinates.splice(-2, 1); - sketchLineGeom = this.sketchLine_.getGeometry(); - goog.asserts.assertInstanceof(sketchLineGeom, ol.geom.LineString, - 'sketchLineGeom must be an ol.geom.LineString'); + sketchLineGeom = /** @type {ol.geom.LineString} */ (this.sketchLine_.getGeometry()); sketchLineGeom.setCoordinates(coordinates); this.geometryFunction_(this.sketchCoords_, geometry); } @@ -661,11 +644,9 @@ ol.interaction.Draw.prototype.removeLastPoint = function() { */ ol.interaction.Draw.prototype.finishDrawing = function() { var sketchFeature = this.abortDrawing_(); - goog.asserts.assert(sketchFeature, 'sketchFeature expected to be truthy'); + ol.DEBUG && console.assert(sketchFeature, 'sketchFeature expected to be truthy'); var coordinates = this.sketchCoords_; - var geometry = sketchFeature.getGeometry(); - goog.asserts.assertInstanceof(geometry, ol.geom.SimpleGeometry, - 'geometry must be an ol.geom.SimpleGeometry'); + var geometry = /** @type {ol.geom.SimpleGeometry} */ (sketchFeature.getGeometry()); if (this.mode_ === ol.interaction.DrawMode.LINE_STRING) { // remove the redundant last point coordinates.pop(); @@ -729,10 +710,10 @@ ol.interaction.Draw.prototype.abortDrawing_ = function() { */ ol.interaction.Draw.prototype.extend = function(feature) { var geometry = feature.getGeometry(); - goog.asserts.assert(this.mode_ == ol.interaction.DrawMode.LINE_STRING, + ol.DEBUG && console.assert(this.mode_ == ol.interaction.DrawMode.LINE_STRING, 'interaction mode must be "line"'); - goog.asserts.assert(geometry, 'feature must have a geometry'); - goog.asserts.assert(geometry.getType() == ol.geom.GeometryType.LINE_STRING, + ol.DEBUG && console.assert(geometry, 'feature must have a geometry'); + ol.DEBUG && console.assert(geometry.getType() == ol.geom.GeometryType.LINE_STRING, 'feature geometry must be a line string'); var lineString = /** @type {ol.geom.LineString} */ (geometry); this.sketchFeature_ = feature; @@ -811,10 +792,8 @@ ol.interaction.Draw.createRegularPolygon = function(opt_sides, opt_angle) { var end = coordinates[1]; var radius = Math.sqrt( ol.coordinate.squaredDistance(center, end)); - var geometry = opt_geometry ? opt_geometry : + var geometry = opt_geometry ? /** @type {ol.geom.Polygon} */ (opt_geometry) : ol.geom.Polygon.fromCircle(new ol.geom.Circle(center), opt_sides); - goog.asserts.assertInstanceof(geometry, ol.geom.Polygon, - 'geometry must be a polygon'); var angle = opt_angle ? opt_angle : Math.atan((end[1] - center[1]) / (end[0] - center[0])); ol.geom.Polygon.makeRegular(geometry, center, radius, angle); @@ -845,8 +824,7 @@ ol.interaction.Draw.getMode_ = function(type) { } else if (type === ol.geom.GeometryType.CIRCLE) { mode = ol.interaction.DrawMode.CIRCLE; } - goog.asserts.assert(mode !== undefined, 'mode should be defined'); - return mode; + return /** @type {!ol.interaction.DrawMode} */ (mode); }; diff --git a/src/ol/interaction/keyboardpaninteraction.js b/src/ol/interaction/keyboardpaninteraction.js index 8caabae695..0ea4b2454a 100644 --- a/src/ol/interaction/keyboardpaninteraction.js +++ b/src/ol/interaction/keyboardpaninteraction.js @@ -1,6 +1,5 @@ goog.provide('ol.interaction.KeyboardPan'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.coordinate'); goog.require('ol.events.EventType'); @@ -88,7 +87,7 @@ ol.interaction.KeyboardPan.handleEvent = function(mapBrowserEvent) { keyCode == ol.events.KeyCode.UP)) { var map = mapBrowserEvent.map; var view = map.getView(); - goog.asserts.assert(view, 'map must have view'); + ol.DEBUG && console.assert(view, 'map must have view'); var mapUnitsDelta = view.getResolution() * this.pixelDelta_; var deltaX = 0, deltaY = 0; if (keyCode == ol.events.KeyCode.DOWN) { diff --git a/src/ol/interaction/keyboardzoominteraction.js b/src/ol/interaction/keyboardzoominteraction.js index 1aa9e3c740..1ab6b2cd95 100644 --- a/src/ol/interaction/keyboardzoominteraction.js +++ b/src/ol/interaction/keyboardzoominteraction.js @@ -1,6 +1,5 @@ goog.provide('ol.interaction.KeyboardZoom'); -goog.require('goog.asserts'); goog.require('ol.events.EventType'); goog.require('ol.events.condition'); goog.require('ol.interaction.Interaction'); @@ -75,7 +74,7 @@ ol.interaction.KeyboardZoom.handleEvent = function(mapBrowserEvent) { var delta = (charCode == '+'.charCodeAt(0)) ? this.delta_ : -this.delta_; map.render(); var view = map.getView(); - goog.asserts.assert(view, 'map must have view'); + ol.DEBUG && console.assert(view, 'map must have view'); ol.interaction.Interaction.zoomByDelta( map, view, delta, undefined, this.duration_); mapBrowserEvent.preventDefault(); diff --git a/src/ol/interaction/modifyinteraction.js b/src/ol/interaction/modifyinteraction.js index facdc8cdd1..b507749a84 100644 --- a/src/ol/interaction/modifyinteraction.js +++ b/src/ol/interaction/modifyinteraction.js @@ -1,7 +1,6 @@ goog.provide('ol.interaction.Modify'); goog.provide('ol.interaction.ModifyEvent'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.Event'); goog.require('ol.events.EventType'); @@ -332,10 +331,7 @@ ol.interaction.Modify.prototype.setMap = function(map) { * @private */ ol.interaction.Modify.prototype.handleFeatureAdd_ = function(evt) { - var feature = evt.element; - goog.asserts.assertInstanceof(feature, ol.Feature, - 'feature should be an ol.Feature'); - this.addFeature_(feature); + this.addFeature_(/** @type {ol.Feature} */ (evt.element)); }; @@ -714,9 +710,7 @@ ol.interaction.Modify.handleEvent = function(mapBrowserEvent) { if (this.vertexFeature_ && this.deleteCondition_(mapBrowserEvent)) { if (mapBrowserEvent.type != ol.MapBrowserEvent.EventType.SINGLECLICK || !this.ignoreNextSingleClick_) { - var geometry = this.vertexFeature_.getGeometry(); - goog.asserts.assertInstanceof(geometry, ol.geom.Point, - 'geometry should be an ol.geom.Point'); + var geometry = /** @type {ol.geom.Point} */ (this.vertexFeature_.getGeometry()); handled = this.removePoint(); } else { handled = true; @@ -817,7 +811,7 @@ ol.interaction.Modify.prototype.insertVertex_ = function(segmentData, vertex) { var feature = segmentData.feature; var geometry = segmentData.geometry; var depth = segmentData.depth; - var index = segmentData.index; + var index = /** @type {number} */ (segmentData.index); var coordinates; while (vertex.length < geometry.getStride()) { @@ -826,26 +820,18 @@ ol.interaction.Modify.prototype.insertVertex_ = function(segmentData, vertex) { switch (geometry.getType()) { case ol.geom.GeometryType.MULTI_LINE_STRING: - goog.asserts.assertInstanceof(geometry, ol.geom.MultiLineString, - 'geometry should be an ol.geom.MultiLineString'); coordinates = geometry.getCoordinates(); coordinates[depth[0]].splice(index + 1, 0, vertex); break; case ol.geom.GeometryType.POLYGON: - goog.asserts.assertInstanceof(geometry, ol.geom.Polygon, - 'geometry should be an ol.geom.Polygon'); coordinates = geometry.getCoordinates(); coordinates[depth[0]].splice(index + 1, 0, vertex); break; case ol.geom.GeometryType.MULTI_POLYGON: - goog.asserts.assertInstanceof(geometry, ol.geom.MultiPolygon, - 'geometry should be an ol.geom.MultiPolygon'); coordinates = geometry.getCoordinates(); coordinates[depth[1]][depth[0]].splice(index + 1, 0, vertex); break; case ol.geom.GeometryType.LINE_STRING: - goog.asserts.assertInstanceof(geometry, ol.geom.LineString, - 'geometry should be an ol.geom.LineString'); coordinates = geometry.getCoordinates(); coordinates.splice(index + 1, 0, vertex); break; @@ -855,9 +841,8 @@ ol.interaction.Modify.prototype.insertVertex_ = function(segmentData, vertex) { this.setGeometryCoordinates_(geometry, coordinates); var rTree = this.rBush_; - goog.asserts.assert(segment !== undefined, 'segment should be defined'); + ol.DEBUG && console.assert(segment !== undefined, 'segment should be defined'); rTree.remove(segmentData); - goog.asserts.assert(index !== undefined, 'index should be defined'); this.updateSegmentIndices_(geometry, index, depth, 1); var newSegmentData = /** @type {ol.ModifySegmentDataType} */ ({ segment: [segment[0], vertex], @@ -997,7 +982,7 @@ ol.interaction.Modify.prototype.removeVertex_ = function() { segments.push(right.segment[1]); } if (left !== undefined && right !== undefined) { - goog.asserts.assert(newIndex >= 0, 'newIndex should be larger than 0'); + ol.DEBUG && console.assert(newIndex >= 0, 'newIndex should be larger than 0'); var newSegmentData = /** @type {ol.ModifySegmentDataType} */ ({ depth: segmentData.depth, diff --git a/src/ol/interaction/mousewheelzoominteraction.js b/src/ol/interaction/mousewheelzoominteraction.js index ef83c7ac07..32359b8170 100644 --- a/src/ol/interaction/mousewheelzoominteraction.js +++ b/src/ol/interaction/mousewheelzoominteraction.js @@ -1,6 +1,5 @@ goog.provide('ol.interaction.MouseWheelZoom'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.events.EventType'); goog.require('ol.interaction.Interaction'); @@ -132,7 +131,7 @@ ol.interaction.MouseWheelZoom.prototype.doZoom_ = function(map) { var delta = ol.math.clamp(this.delta_, -maxDelta, maxDelta); var view = map.getView(); - goog.asserts.assert(view, 'map must have view'); + ol.DEBUG && console.assert(view, 'map must have view'); map.render(); ol.interaction.Interaction.zoomByDelta(map, view, -delta, this.lastAnchor_, diff --git a/src/ol/interaction/pinchrotateinteraction.js b/src/ol/interaction/pinchrotateinteraction.js index f71d473d31..cb593b9cce 100644 --- a/src/ol/interaction/pinchrotateinteraction.js +++ b/src/ol/interaction/pinchrotateinteraction.js @@ -1,6 +1,5 @@ goog.provide('ol.interaction.PinchRotate'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.functions'); goog.require('ol.ViewHint'); @@ -74,7 +73,7 @@ ol.inherits(ol.interaction.PinchRotate, ol.interaction.Pointer); * @private */ ol.interaction.PinchRotate.handleDragEvent_ = function(mapBrowserEvent) { - goog.asserts.assert(this.targetPointers.length >= 2, + ol.DEBUG && console.assert(this.targetPointers.length >= 2, 'length of this.targetPointers should be greater than or equal to 2'); var rotationDelta = 0.0; diff --git a/src/ol/interaction/pinchzoominteraction.js b/src/ol/interaction/pinchzoominteraction.js index 5ffddba0fc..fd93339d84 100644 --- a/src/ol/interaction/pinchzoominteraction.js +++ b/src/ol/interaction/pinchzoominteraction.js @@ -1,6 +1,5 @@ goog.provide('ol.interaction.PinchZoom'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.functions'); goog.require('ol.ViewHint'); @@ -62,7 +61,7 @@ ol.inherits(ol.interaction.PinchZoom, ol.interaction.Pointer); * @private */ ol.interaction.PinchZoom.handleDragEvent_ = function(mapBrowserEvent) { - goog.asserts.assert(this.targetPointers.length >= 2, + ol.DEBUG && console.assert(this.targetPointers.length >= 2, 'length of this.targetPointers should be 2 or more'); var scaleDelta = 1.0; diff --git a/src/ol/interaction/selectinteraction.js b/src/ol/interaction/selectinteraction.js index 9b696bc058..f2e739d2ad 100644 --- a/src/ol/interaction/selectinteraction.js +++ b/src/ol/interaction/selectinteraction.js @@ -2,7 +2,6 @@ goog.provide('ol.interaction.Select'); goog.provide('ol.interaction.SelectEvent'); goog.provide('ol.interaction.SelectEventType'); -goog.require('goog.asserts'); goog.require('ol.functions'); goog.require('ol.CollectionEventType'); goog.require('ol.Feature'); @@ -156,23 +155,13 @@ ol.interaction.Select = function(opt_options) { */ this.featureOverlay_ = featureOverlay; + /** @type {function(ol.layer.Layer): boolean} */ var layerFilter; if (options.layers) { if (typeof options.layers === 'function') { - /** - * @param {ol.layer.Layer} layer Layer. - * @return {boolean} Include. - */ - layerFilter = function(layer) { - goog.asserts.assertFunction(options.layers); - return options.layers(layer); - }; + layerFilter = options.layers; } else { var layers = options.layers; - /** - * @param {ol.layer.Layer} layer Layer. - * @return {boolean} Include. - */ layerFilter = function(layer) { return ol.array.includes(layers, layer); }; @@ -236,8 +225,8 @@ ol.interaction.Select.prototype.getFeatures = function() { * @api */ ol.interaction.Select.prototype.getLayer = function(feature) { - goog.asserts.assertInstanceof(feature, ol.Feature, - 'feature should be an ol.Feature'); + ol.assert(feature instanceof ol.Feature, + 42); // Expected an `ol.Feature`, but got an `ol.RenderFeature` var key = ol.getUid(feature); return /** @type {ol.layer.Vector} */ (this.featureLayerAssociation_[key]); }; @@ -370,12 +359,9 @@ ol.interaction.Select.getDefaultStyleFunction = function() { * @private */ ol.interaction.Select.prototype.addFeature_ = function(evt) { - var feature = evt.element; var map = this.getMap(); - goog.asserts.assertInstanceof(feature, ol.Feature, - 'feature should be an ol.Feature'); if (map) { - map.skipFeature(feature); + map.skipFeature(/** @type {ol.Feature} */ (evt.element)); } }; @@ -385,12 +371,9 @@ ol.interaction.Select.prototype.addFeature_ = function(evt) { * @private */ ol.interaction.Select.prototype.removeFeature_ = function(evt) { - var feature = evt.element; var map = this.getMap(); - goog.asserts.assertInstanceof(feature, ol.Feature, - 'feature should be an ol.Feature'); if (map) { - map.unskipFeature(feature); + map.unskipFeature(/** @type {ol.Feature} */ (evt.element)); } }; diff --git a/src/ol/interaction/snapinteraction.js b/src/ol/interaction/snapinteraction.js index 5f5eeb88d5..8276c9d638 100644 --- a/src/ol/interaction/snapinteraction.js +++ b/src/ol/interaction/snapinteraction.js @@ -1,7 +1,6 @@ goog.provide('ol.interaction.Snap'); goog.provide('ol.interaction.SnapProperty'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.Collection'); goog.require('ol.CollectionEvent'); @@ -228,8 +227,7 @@ ol.interaction.Snap.prototype.getFeatures_ = function() { } else if (this.source_) { features = this.source_.getFeatures(); } - goog.asserts.assert(features !== undefined, 'features should be defined'); - return features; + return /** @type {!Array.|!ol.Collection.} */ (features); }; @@ -244,9 +242,7 @@ ol.interaction.Snap.prototype.handleFeatureAdd_ = function(evt) { } else if (evt instanceof ol.CollectionEvent) { feature = evt.element; } - goog.asserts.assertInstanceof(feature, ol.Feature, - 'feature should be an ol.Feature'); - this.addFeature(feature); + this.addFeature(/** @type {ol.Feature} */ (feature)); }; @@ -261,9 +257,7 @@ ol.interaction.Snap.prototype.handleFeatureRemove_ = function(evt) { } else if (evt instanceof ol.CollectionEvent) { feature = evt.element; } - goog.asserts.assertInstanceof(feature, ol.Feature, - 'feature should be an ol.Feature'); - this.removeFeature(feature); + this.removeFeature(/** @type {ol.Feature} */ (feature)); }; @@ -272,8 +266,7 @@ ol.interaction.Snap.prototype.handleFeatureRemove_ = function(evt) { * @private */ ol.interaction.Snap.prototype.handleGeometryChange_ = function(evt) { - var feature = evt.target; - goog.asserts.assertInstanceof(feature, ol.Feature); + var feature = /** @type {ol.Feature} */ (evt.target); this.removeFeature(feature, true); this.addFeature(feature, true); }; diff --git a/src/ol/interaction/translateinteraction.js b/src/ol/interaction/translateinteraction.js index 9e72fdf334..fe706601ba 100644 --- a/src/ol/interaction/translateinteraction.js +++ b/src/ol/interaction/translateinteraction.js @@ -1,7 +1,6 @@ goog.provide('ol.interaction.Translate'); goog.provide('ol.interaction.TranslateEvent'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.Event'); goog.require('ol.array'); @@ -107,23 +106,13 @@ ol.interaction.Translate = function(options) { */ this.features_ = options.features !== undefined ? options.features : null; + /** @type {function(ol.layer.Layer): boolean} */ var layerFilter; if (options.layers) { if (typeof options.layers === 'function') { - /** - * @param {ol.layer.Layer} layer Layer. - * @return {boolean} Include. - */ - layerFilter = function(layer) { - goog.asserts.assertFunction(options.layers); - return options.layers(layer); - }; + layerFilter = options.layers; } else { var layers = options.layers; - /** - * @param {ol.layer.Layer} layer Layer. - * @return {boolean} Include. - */ layerFilter = function(layer) { return ol.array.includes(layers, layer); }; diff --git a/src/ol/layer/heatmaplayer.js b/src/ol/layer/heatmaplayer.js index e14ae77d0a..1a8c8930fe 100644 --- a/src/ol/layer/heatmaplayer.js +++ b/src/ol/layer/heatmaplayer.js @@ -1,6 +1,5 @@ goog.provide('ol.layer.Heatmap'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol'); goog.require('ol.Object'); @@ -101,12 +100,12 @@ ol.layer.Heatmap = function(opt_options) { } else { weightFunction = weight; } - goog.asserts.assert(typeof weightFunction === 'function', + ol.DEBUG && console.assert(typeof weightFunction === 'function', 'weightFunction should be a function'); this.setStyle(function(feature, resolution) { - goog.asserts.assert(this.styleCache_, 'this.styleCache_ expected'); - goog.asserts.assert(this.circleImage_ !== undefined, + ol.DEBUG && console.assert(this.styleCache_, 'this.styleCache_ expected'); + ol.DEBUG && console.assert(this.circleImage_ !== undefined, 'this.circleImage_ should be defined'); var weight = weightFunction(feature); var opacity = weight !== undefined ? ol.math.clamp(weight, 0, 1) : 1; @@ -174,7 +173,7 @@ ol.layer.Heatmap.createGradient_ = function(colors) { ol.layer.Heatmap.prototype.createCircle_ = function() { var radius = this.getRadius(); var blur = this.getBlur(); - goog.asserts.assert(radius !== undefined && blur !== undefined, + ol.DEBUG && console.assert(radius !== undefined && blur !== undefined, 'radius and blur should be defined'); var halfSize = radius + blur + 1; var size = 2 * halfSize; @@ -247,9 +246,9 @@ ol.layer.Heatmap.prototype.handleStyleChanged_ = function() { * @private */ ol.layer.Heatmap.prototype.handleRender_ = function(event) { - goog.asserts.assert(event.type == ol.render.EventType.RENDER, + ol.DEBUG && console.assert(event.type == ol.render.EventType.RENDER, 'event.type should be RENDER'); - goog.asserts.assert(this.gradient_, 'this.gradient_ expected'); + ol.DEBUG && console.assert(this.gradient_, 'this.gradient_ expected'); var context = event.context; var canvas = context.canvas; var image = context.getImageData(0, 0, canvas.width, canvas.height); diff --git a/src/ol/layer/layergroup.js b/src/ol/layer/layergroup.js index 62c384a9bd..50f7ff7985 100644 --- a/src/ol/layer/layergroup.js +++ b/src/ol/layer/layergroup.js @@ -1,6 +1,5 @@ goog.provide('ol.layer.Group'); -goog.require('goog.asserts'); goog.require('ol.Collection'); goog.require('ol.CollectionEvent'); goog.require('ol.CollectionEventType'); @@ -64,8 +63,8 @@ ol.layer.Group = function(opt_options) { if (Array.isArray(layers)) { layers = new ol.Collection(layers.slice()); } else { - goog.asserts.assertInstanceof(layers, ol.Collection, - 'layers should be an ol.Collection'); + ol.assert(layers instanceof ol.Collection, + 43); // Expected `layers` to be an array or an `ol.Collection` layers = layers; } } else { @@ -131,7 +130,7 @@ ol.layer.Group.prototype.handleLayersChanged_ = function(event) { ol.layer.Group.prototype.handleLayersAdd_ = function(collectionEvent) { var layer = /** @type {ol.layer.Base} */ (collectionEvent.element); var key = ol.getUid(layer).toString(); - goog.asserts.assert(!(key in this.listenerKeys_), + ol.DEBUG && console.assert(!(key in this.listenerKeys_), 'listeners already registered'); this.listenerKeys_[key] = [ ol.events.listen(layer, ol.ObjectEventType.PROPERTYCHANGE, @@ -150,7 +149,7 @@ ol.layer.Group.prototype.handleLayersAdd_ = function(collectionEvent) { ol.layer.Group.prototype.handleLayersRemove_ = function(collectionEvent) { var layer = /** @type {ol.layer.Base} */ (collectionEvent.element); var key = ol.getUid(layer).toString(); - goog.asserts.assert(key in this.listenerKeys_, 'no listeners to unregister'); + ol.DEBUG && console.assert(key in this.listenerKeys_, 'no listeners to unregister'); this.listenerKeys_[key].forEach(ol.events.unlistenByKey); delete this.listenerKeys_[key]; this.changed(); diff --git a/src/ol/layer/vectorlayer.js b/src/ol/layer/vectorlayer.js index 58e9e1c70b..6d9bf05e7e 100644 --- a/src/ol/layer/vectorlayer.js +++ b/src/ol/layer/vectorlayer.js @@ -1,6 +1,5 @@ goog.provide('ol.layer.Vector'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.layer.Layer'); goog.require('ol.object'); @@ -33,7 +32,7 @@ ol.layer.Vector = function(opt_options) { var options = opt_options ? opt_options : /** @type {olx.layer.VectorOptions} */ ({}); - goog.asserts.assert( + ol.DEBUG && console.assert( options.renderOrder === undefined || !options.renderOrder || typeof options.renderOrder === 'function', 'renderOrder must be a comparator function'); @@ -159,7 +158,7 @@ ol.layer.Vector.prototype.getUpdateWhileInteracting = function() { * Render order. */ ol.layer.Vector.prototype.setRenderOrder = function(renderOrder) { - goog.asserts.assert( + ol.DEBUG && console.assert( renderOrder === undefined || !renderOrder || typeof renderOrder === 'function', 'renderOrder must be a comparator function'); diff --git a/src/ol/layer/vectortilelayer.js b/src/ol/layer/vectortilelayer.js index 9125952324..df4ba65846 100644 --- a/src/ol/layer/vectortilelayer.js +++ b/src/ol/layer/vectortilelayer.js @@ -1,6 +1,5 @@ goog.provide('ol.layer.VectorTile'); -goog.require('goog.asserts'); goog.require('ol.layer.Vector'); goog.require('ol.object'); @@ -59,11 +58,11 @@ ol.layer.VectorTile = function(opt_options) { this.setUseInterimTilesOnError(options.useInterimTilesOnError ? options.useInterimTilesOnError : true); - goog.asserts.assert(options.renderMode == undefined || + ol.assert(options.renderMode == undefined || options.renderMode == ol.layer.VectorTileRenderType.IMAGE || options.renderMode == ol.layer.VectorTileRenderType.HYBRID || options.renderMode == ol.layer.VectorTileRenderType.VECTOR, - 'renderMode needs to be \'image\', \'hybrid\' or \'vector\''); + 28); // `renderMode` must be `'image'`, `'hybrid'` or `'vector'` /** * @private diff --git a/src/ol/map.js b/src/ol/map.js index f283d92f6d..4b129366ae 100644 --- a/src/ol/map.js +++ b/src/ol/map.js @@ -5,7 +5,6 @@ goog.provide('ol.Map'); goog.provide('ol.MapProperty'); -goog.require('goog.asserts'); goog.require('goog.async.nextTick'); goog.require('ol.Collection'); goog.require('ol.CollectionEventType'); @@ -15,7 +14,6 @@ goog.require('ol.MapBrowserEventHandler'); goog.require('ol.MapEvent'); goog.require('ol.MapEventType'); goog.require('ol.Object'); -goog.require('ol.ObjectEvent'); goog.require('ol.ObjectEventType'); goog.require('ol.RendererType'); goog.require('ol.TileQueue'); @@ -481,7 +479,7 @@ ol.inherits(ol.Map, ol.Object); */ ol.Map.prototype.addControl = function(control) { var controls = this.getControls(); - goog.asserts.assert(controls !== undefined, 'controls should be defined'); + ol.DEBUG && console.assert(controls !== undefined, 'controls should be defined'); controls.push(control); }; @@ -493,7 +491,7 @@ ol.Map.prototype.addControl = function(control) { */ ol.Map.prototype.addInteraction = function(interaction) { var interactions = this.getInteractions(); - goog.asserts.assert(interactions !== undefined, + ol.DEBUG && console.assert(interactions !== undefined, 'interactions should be defined'); interactions.push(interaction); }; @@ -519,7 +517,7 @@ ol.Map.prototype.addLayer = function(layer) { */ ol.Map.prototype.addOverlay = function(overlay) { var overlays = this.getOverlays(); - goog.asserts.assert(overlays !== undefined, 'overlays should be defined'); + ol.DEBUG && console.assert(overlays !== undefined, 'overlays should be defined'); overlays.push(overlay); }; @@ -976,7 +974,7 @@ ol.Map.prototype.handleMapBrowserEvent = function(mapBrowserEvent) { this.focus_ = mapBrowserEvent.coordinate; mapBrowserEvent.frameState = this.frameState_; var interactions = this.getInteractions(); - goog.asserts.assert(interactions !== undefined, + ol.DEBUG && console.assert(interactions !== undefined, 'interactions should be defined'); var interactionsArray = interactions.getArray(); var i; @@ -1061,7 +1059,7 @@ ol.Map.prototype.handleTargetChanged_ = function() { var targetElement; if (this.getTarget()) { targetElement = this.getTargetElement(); - goog.asserts.assert(targetElement !== null, + ol.DEBUG && console.assert(targetElement !== null, 'expects a non-null value for targetElement'); } @@ -1138,28 +1136,6 @@ ol.Map.prototype.handleViewChanged_ = function() { }; -/** - * @param {ol.events.Event} event Event. - * @private - */ -ol.Map.prototype.handleLayerGroupMemberChanged_ = function(event) { - goog.asserts.assertInstanceof(event, ol.events.Event, - 'event should be an Event'); - this.render(); -}; - - -/** - * @param {ol.ObjectEvent} event Event. - * @private - */ -ol.Map.prototype.handleLayerGroupPropertyChanged_ = function(event) { - goog.asserts.assertInstanceof(event, ol.ObjectEvent, - 'event should be an ol.ObjectEvent'); - this.render(); -}; - - /** * @private */ @@ -1173,10 +1149,10 @@ ol.Map.prototype.handleLayerGroupChanged_ = function() { this.layerGroupPropertyListenerKeys_ = [ ol.events.listen( layerGroup, ol.ObjectEventType.PROPERTYCHANGE, - this.handleLayerGroupPropertyChanged_, this), + this.render, this), ol.events.listen( layerGroup, ol.events.EventType.CHANGE, - this.handleLayerGroupMemberChanged_, this) + this.render, this) ]; } this.render(); @@ -1224,7 +1200,7 @@ ol.Map.prototype.render = function() { */ ol.Map.prototype.removeControl = function(control) { var controls = this.getControls(); - goog.asserts.assert(controls !== undefined, 'controls should be defined'); + ol.DEBUG && console.assert(controls !== undefined, 'controls should be defined'); return controls.remove(control); }; @@ -1238,7 +1214,7 @@ ol.Map.prototype.removeControl = function(control) { */ ol.Map.prototype.removeInteraction = function(interaction) { var interactions = this.getInteractions(); - goog.asserts.assert(interactions !== undefined, + ol.DEBUG && console.assert(interactions !== undefined, 'interactions should be defined'); return interactions.remove(interaction); }; @@ -1266,7 +1242,7 @@ ol.Map.prototype.removeLayer = function(layer) { */ ol.Map.prototype.removeOverlay = function(overlay) { var overlays = this.getOverlays(); - goog.asserts.assert(overlays !== undefined, 'overlays should be defined'); + ol.DEBUG && console.assert(overlays !== undefined, 'overlays should be defined'); return overlays.remove(overlay); }; @@ -1486,9 +1462,9 @@ ol.Map.createOptionsInternal = function(options) { logos[logo] = ''; } else if (logo instanceof HTMLElement) { logos[ol.getUid(logo).toString()] = logo; - } else if (logo !== null) { - goog.asserts.assertString(logo.href, 'logo.href should be a string'); - goog.asserts.assertString(logo.src, 'logo.src should be a string'); + } else if (logo) { + ol.assert(typeof logo.href == 'string', 44); // `logo.href` should be a string. + ol.assert(typeof logo.src == 'string', 45); // `logo.src` should be a string. logos[logo.src] = logo.href; } } @@ -1517,7 +1493,7 @@ ol.Map.createOptionsInternal = function(options) { } else if (typeof options.renderer === 'string') { rendererTypes = [options.renderer]; } else { - goog.asserts.fail('Incorrect format for renderer option'); + ol.assert(false, 46); // Incorrect format for `renderer` option } } else { rendererTypes = ol.DEFAULT_RENDERER_TYPES; @@ -1550,8 +1526,8 @@ ol.Map.createOptionsInternal = function(options) { if (Array.isArray(options.controls)) { controls = new ol.Collection(options.controls.slice()); } else { - goog.asserts.assertInstanceof(options.controls, ol.Collection, - 'options.controls should be an ol.Collection'); + ol.assert(options.controls instanceof ol.Collection, + 47); // Expected `controls` to be an array or an `ol.Collection` controls = options.controls; } } else { @@ -1563,8 +1539,8 @@ ol.Map.createOptionsInternal = function(options) { if (Array.isArray(options.interactions)) { interactions = new ol.Collection(options.interactions.slice()); } else { - goog.asserts.assertInstanceof(options.interactions, ol.Collection, - 'options.interactions should be an ol.Collection'); + ol.assert(options.interactions instanceof ol.Collection, + 48); // Expected `interactions` to be an array or an `ol.Collection` interactions = options.interactions; } } else { @@ -1576,8 +1552,8 @@ ol.Map.createOptionsInternal = function(options) { if (Array.isArray(options.overlays)) { overlays = new ol.Collection(options.overlays.slice()); } else { - goog.asserts.assertInstanceof(options.overlays, ol.Collection, - 'options.overlays should be an ol.Collection'); + ol.assert(options.overlays instanceof ol.Collection, + 49); // Expected `overlays` to be an array or an `ol.Collection` overlays = options.overlays; } } else { diff --git a/src/ol/mapbrowserevent.js b/src/ol/mapbrowserevent.js index 97f14bd207..e314857087 100644 --- a/src/ol/mapbrowserevent.js +++ b/src/ol/mapbrowserevent.js @@ -3,7 +3,6 @@ goog.provide('ol.MapBrowserEvent.EventType'); goog.provide('ol.MapBrowserEventHandler'); goog.provide('ol.MapBrowserPointerEvent'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.MapEvent'); goog.require('ol.events'); @@ -272,11 +271,11 @@ ol.MapBrowserEventHandler.prototype.handlePointerUp_ = function(pointerEvent) { // to 0). // See http://www.w3.org/TR/pointerevents/#button-states if (!this.dragging_ && this.isMouseActionButton_(pointerEvent)) { - goog.asserts.assert(this.down_, 'this.down_ must be truthy'); + ol.DEBUG && console.assert(this.down_, 'this.down_ must be truthy'); this.emulateClick_(this.down_); } - goog.asserts.assert(this.activePointers_ >= 0, + ol.DEBUG && console.assert(this.activePointers_ >= 0, 'this.activePointers_ should be equal to or larger than 0'); if (this.activePointers_ === 0) { this.dragListenerKeys_.forEach(ol.events.unlistenByKey); diff --git a/src/ol/math.js b/src/ol/math.js index 0e4e8150d7..68e354140c 100644 --- a/src/ol/math.js +++ b/src/ol/math.js @@ -1,6 +1,5 @@ goog.provide('ol.math'); -goog.require('goog.asserts'); /** @@ -48,7 +47,7 @@ ol.math.cosh = (function() { * @return {number} The smallest power of two greater than or equal to x. */ ol.math.roundUpToPowerOfTwo = function(x) { - goog.asserts.assert(0 < x, 'x should be larger than 0'); + ol.assert(0 < x, 29); // `x` must be greater than `0` return Math.pow(2, Math.ceil(Math.log(x) / Math.LN2)); }; @@ -106,9 +105,9 @@ ol.math.squaredDistance = function(x1, y1, x2, y2) { ol.math.solveLinearSystem = function(mat) { var n = mat.length; - if (goog.asserts.ENABLE_ASSERTS) { + if (ol.DEBUG) { for (var row = 0; row < n; row++) { - goog.asserts.assert(mat[row].length == n + 1, + console.assert(mat[row].length == n + 1, 'every row should have correct number of columns'); } } diff --git a/src/ol/ol.js b/src/ol/ol.js index 2d0cf2a03f..36bafea837 100644 --- a/src/ol/ol.js +++ b/src/ol/ol.js @@ -14,6 +14,14 @@ goog.provide('ol'); ol.ASSUME_TOUCH = false; +/** + * @define {boolean} Debug mode. When set to `false` (recommended for + * production), debug assertion checks will be stripped out of the build. + * Default is `true`. + */ +ol.DEBUG = true; + + /** * TODO: rename this to something having to do with tile grids * see https://github.com/openlayers/ol3/issues/2076 @@ -212,6 +220,12 @@ ol.SIMPLIFY_TOLERANCE = 0.5; ol.WEBGL_TEXTURE_CACHE_HIGH_WATER_MARK = 1024; +/** + * @define {string} OpenLayers version. + */ +ol.VERSION = ''; + + /** * The maximum supported WebGL texture size in pixels. If WebGL is not * supported, the value is set to `undefined`. @@ -297,3 +311,48 @@ if (typeof window !== 'undefined') { } else if (typeof self !== 'undefined') { ol.global = self; } + + +/** + * Error object thrown when an assertion failed. This is an ECMA-262 Error, + * extended with a `code` property. + * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error} + * @constructor + * @extends {Error} + * @implements {oli.AssertionError} + * @param {number} code Error code. + */ +ol.AssertionError = function(code) { + + /** + * @type {string} + */ + this.message = 'Assertion failed. See ' + + (ol.VERSION ? 'http://openlayers.org/en/' + ol.VERSION.split('-')[0] : '') + + '/doc/errors.html#' + code + ' for details.'; + + /** + * Error code. The meaning of the code can be found on + * {@link http://openlayers.org/en/latest/errors.html} (replace `latest` with + * the version found in the OpenLayers script's header comment if a version + * other than the latest is used). + * @type {number} + * @api + */ + this.code = code; + + this.name = 'AssertionError'; + +}; +ol.inherits(ol.AssertionError, Error); + + +/** + * @param {*} assertion Assertion we expected to be truthy. + * @param {number} errorCode Error code. + */ +ol.assert = function(assertion, errorCode) { + if (!assertion) { + throw new ol.AssertionError(errorCode); + } +}; diff --git a/src/ol/overlay.js b/src/ol/overlay.js index df835fc939..62548e7fb2 100644 --- a/src/ol/overlay.js +++ b/src/ol/overlay.js @@ -1,7 +1,6 @@ goog.provide('ol.Overlay'); goog.provide('ol.OverlayPositioning'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.Map'); goog.require('ol.MapEventType'); @@ -370,7 +369,6 @@ ol.Overlay.prototype.setPosition = function(position) { * @private */ ol.Overlay.prototype.panIntoView_ = function() { - goog.asserts.assert(this.autoPan, 'this.autoPan should be true'); var map = this.getMap(); if (map === undefined || !map.getTargetElement()) { @@ -378,8 +376,7 @@ ol.Overlay.prototype.panIntoView_ = function() { } var mapRect = this.getRect_(map.getTargetElement(), map.getSize()); - var element = this.getElement(); - goog.asserts.assert(element, 'element should be defined'); + var element = /** @type {!Element} */ (this.getElement()); var overlayRect = this.getRect_(element, [ol.dom.outerWidth(element), ol.dom.outerHeight(element)]); @@ -408,8 +405,7 @@ ol.Overlay.prototype.panIntoView_ = function() { } if (delta[0] !== 0 || delta[1] !== 0) { - var center = map.getView().getCenter(); - goog.asserts.assert(center !== undefined, 'center should be defined'); + var center = /** @type {ol.Coordinate} */ (map.getView().getCenter()); var centerPx = map.getPixelFromCoordinate(center); var newCenterPx = [ centerPx[0] + delta[0], @@ -434,8 +430,8 @@ ol.Overlay.prototype.panIntoView_ = function() { * @private */ ol.Overlay.prototype.getRect_ = function(element, size) { - goog.asserts.assert(element, 'element should be defined'); - goog.asserts.assert(size !== undefined, 'size should be defined'); + ol.DEBUG && console.assert(element, 'element should be defined'); + ol.DEBUG && console.assert(size !== undefined, 'size should be defined'); var box = element.getBoundingClientRect(); var offsetX = box.left + ol.global.pageXOffset; @@ -498,14 +494,14 @@ ol.Overlay.prototype.updatePixelPosition = function() { * @protected */ ol.Overlay.prototype.updateRenderedPosition = function(pixel, mapSize) { - goog.asserts.assert(pixel, 'pixel should not be null'); - goog.asserts.assert(mapSize !== undefined, 'mapSize should be defined'); + ol.DEBUG && console.assert(pixel, 'pixel should not be null'); + ol.DEBUG && console.assert(mapSize !== undefined, 'mapSize should be defined'); var style = this.element_.style; var offset = this.getOffset(); - goog.asserts.assert(Array.isArray(offset), 'offset should be an array'); + ol.DEBUG && console.assert(Array.isArray(offset), 'offset should be an array'); var positioning = this.getPositioning(); - goog.asserts.assert(positioning !== undefined, + ol.DEBUG && console.assert(positioning !== undefined, 'positioning should be defined'); var offsetX = offset[0]; diff --git a/src/ol/proj/epsg3857projection.js b/src/ol/proj/epsg3857projection.js index 3529b13834..c90f5f5257 100644 --- a/src/ol/proj/epsg3857projection.js +++ b/src/ol/proj/epsg3857projection.js @@ -1,6 +1,5 @@ goog.provide('ol.proj.EPSG3857'); -goog.require('goog.asserts'); goog.require('ol.math'); goog.require('ol.proj'); goog.require('ol.proj.Projection'); @@ -114,7 +113,7 @@ ol.proj.EPSG3857.fromEPSG4326 = function(input, opt_output, opt_dimension) { output = new Array(length); } } - goog.asserts.assert(output.length % dimension === 0, + ol.DEBUG && console.assert(output.length % dimension === 0, 'modulus of output.length with dimension should be 0'); for (var i = 0; i < length; i += dimension) { output[i] = ol.proj.EPSG3857.RADIUS * Math.PI * input[i] / 180; @@ -145,7 +144,7 @@ ol.proj.EPSG3857.toEPSG4326 = function(input, opt_output, opt_dimension) { output = new Array(length); } } - goog.asserts.assert(output.length % dimension === 0, + ol.DEBUG && console.assert(output.length % dimension === 0, 'modulus of output.length with dimension should be 0'); for (var i = 0; i < length; i += dimension) { output[i] = 180 * input[i] / (ol.proj.EPSG3857.RADIUS * Math.PI); diff --git a/src/ol/proj/proj.js b/src/ol/proj/proj.js index 1ca64c422b..17b688baec 100644 --- a/src/ol/proj/proj.js +++ b/src/ol/proj/proj.js @@ -3,7 +3,6 @@ goog.provide('ol.proj.METERS_PER_UNIT'); goog.provide('ol.proj.Projection'); goog.provide('ol.proj.Units'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.extent'); goog.require('ol.object'); @@ -137,7 +136,7 @@ ol.proj.Projection = function(options) { var projections = ol.proj.projections_; var code = options.code; - goog.asserts.assert(code !== undefined, + ol.DEBUG && console.assert(code !== undefined, 'Option "code" is required for constructing instance'); if (ol.ENABLE_PROJ4JS) { var proj4js = ol.proj.proj4_ || ol.global['proj4']; @@ -417,7 +416,7 @@ if (ol.ENABLE_PROJ4JS) { * @api */ ol.proj.setProj4 = function(proj4) { - goog.asserts.assert(typeof proj4 == 'function', + ol.DEBUG && console.assert(typeof proj4 == 'function', 'proj4 argument should be a function'); ol.proj.proj4_ = proj4; }; @@ -510,9 +509,7 @@ ol.proj.createProjection = function(projection, defaultCode) { } else if (typeof projection === 'string') { return ol.proj.get(projection); } else { - goog.asserts.assertInstanceof(projection, ol.proj.Projection, - 'projection should be an ol.proj.Projection'); - return projection; + return /** @type {ol.proj.Projection} */ (projection); } }; @@ -611,9 +608,9 @@ ol.proj.removeTransform = function(source, destination) { var sourceCode = source.getCode(); var destinationCode = destination.getCode(); var transforms = ol.proj.transforms_; - goog.asserts.assert(sourceCode in transforms, + ol.DEBUG && console.assert(sourceCode in transforms, 'sourceCode should be in transforms'); - goog.asserts.assert(destinationCode in transforms[sourceCode], + ol.DEBUG && console.assert(destinationCode in transforms[sourceCode], 'destinationCode should be in transforms of sourceCode'); var transform = transforms[sourceCode][destinationCode]; delete transforms[sourceCode][destinationCode]; @@ -744,7 +741,7 @@ ol.proj.getTransformFromProjections = function(sourceProjection, destinationProj transform = transforms[sourceCode][destinationCode]; } if (transform === undefined) { - goog.asserts.assert(transform !== undefined, 'transform should be defined'); + ol.DEBUG && console.assert(transform !== undefined, 'transform should be defined'); transform = ol.proj.identityTransform; } return transform; @@ -760,7 +757,7 @@ ol.proj.getTransformFromProjections = function(sourceProjection, destinationProj ol.proj.identityTransform = function(input, opt_output, opt_dimension) { if (opt_output !== undefined && input !== opt_output) { // TODO: consider making this a warning instead - goog.asserts.fail('This should not be used internally.'); + ol.DEBUG && console.assert(false, 'This should not be used internally.'); for (var i = 0, ii = input.length; i < ii; ++i) { opt_output[i] = input[i]; } diff --git a/src/ol/render/box.js b/src/ol/render/box.js index 0a24e2a74e..935bb30310 100644 --- a/src/ol/render/box.js +++ b/src/ol/render/box.js @@ -2,7 +2,6 @@ goog.provide('ol.render.Box'); -goog.require('goog.asserts'); goog.require('ol.Disposable'); goog.require('ol.geom.Polygon'); @@ -64,8 +63,8 @@ ol.render.Box.prototype.disposeInternal = function() { ol.render.Box.prototype.render_ = function() { var startPixel = this.startPixel_; var endPixel = this.endPixel_; - goog.asserts.assert(startPixel, 'this.startPixel_ must be truthy'); - goog.asserts.assert(endPixel, 'this.endPixel_ must be truthy'); + ol.DEBUG && console.assert(startPixel, 'this.startPixel_ must be truthy'); + ol.DEBUG && console.assert(endPixel, 'this.endPixel_ must be truthy'); var px = 'px'; var style = this.element_.style; style.left = Math.min(startPixel[0], endPixel[0]) + px; @@ -107,11 +106,11 @@ ol.render.Box.prototype.setPixels = function(startPixel, endPixel) { * Creates or updates the cached geometry. */ ol.render.Box.prototype.createOrUpdateGeometry = function() { - goog.asserts.assert(this.startPixel_, + ol.DEBUG && console.assert(this.startPixel_, 'this.startPixel_ must be truthy'); - goog.asserts.assert(this.endPixel_, + ol.DEBUG && console.assert(this.endPixel_, 'this.endPixel_ must be truthy'); - goog.asserts.assert(this.map_, 'this.map_ must be truthy'); + ol.DEBUG && console.assert(this.map_, 'this.map_ must be truthy'); var startPixel = this.startPixel_; var endPixel = this.endPixel_; var pixels = [ diff --git a/src/ol/render/canvas/canvasimmediate.js b/src/ol/render/canvas/canvasimmediate.js index 3af236700e..d44da1a579 100644 --- a/src/ol/render/canvas/canvasimmediate.js +++ b/src/ol/render/canvas/canvasimmediate.js @@ -4,7 +4,6 @@ goog.provide('ol.render.canvas.Immediate'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.array'); goog.require('ol.color'); @@ -245,8 +244,8 @@ ol.render.canvas.Immediate.prototype.drawImages_ = function(flatCoordinates, off if (!this.image_) { return; } - goog.asserts.assert(offset === 0, 'offset should be 0'); - goog.asserts.assert(end == flatCoordinates.length, + ol.DEBUG && console.assert(offset === 0, 'offset should be 0'); + ol.DEBUG && console.assert(end == flatCoordinates.length, 'end should be equal to the length of flatCoordinates'); var pixelCoordinates = ol.geom.flat.transform.transform2D( flatCoordinates, offset, end, 2, this.transform_, @@ -310,8 +309,8 @@ ol.render.canvas.Immediate.prototype.drawText_ = function(flatCoordinates, offse this.setContextStrokeState_(this.textStrokeState_); } this.setContextTextState_(this.textState_); - goog.asserts.assert(offset === 0, 'offset should be 0'); - goog.asserts.assert(end == flatCoordinates.length, + ol.DEBUG && console.assert(offset === 0, 'offset should be 0'); + ol.DEBUG && console.assert(end == flatCoordinates.length, 'end should be equal to the length of flatCoordinates'); var pixelCoordinates = ol.geom.flat.transform.transform2D( flatCoordinates, offset, end, stride, this.transform_, @@ -477,7 +476,7 @@ ol.render.canvas.Immediate.prototype.drawGeometry = function(geometry) { this.drawCircle(/** @type {ol.geom.Circle} */ (geometry)); break; default: - goog.asserts.fail('Unsupported geometry type: ' + type); + ol.DEBUG && console.assert(false, 'Unsupported geometry type: ' + type); } }; @@ -499,7 +498,7 @@ ol.render.canvas.Immediate.prototype.drawFeature = function(feature, style) { return; } this.setStyle(style); - goog.asserts.assert(geometry, 'geometry must be truthy'); + ol.DEBUG && console.assert(geometry, 'geometry must be truthy'); this.drawGeometry(geometry); }; @@ -853,10 +852,10 @@ ol.render.canvas.Immediate.prototype.setImageStyle = function(imageStyle) { var imageImage = imageStyle.getImage(1); var imageOrigin = imageStyle.getOrigin(); var imageSize = imageStyle.getSize(); - goog.asserts.assert(imageAnchor, 'imageAnchor must be truthy'); - goog.asserts.assert(imageImage, 'imageImage must be truthy'); - goog.asserts.assert(imageOrigin, 'imageOrigin must be truthy'); - goog.asserts.assert(imageSize, 'imageSize must be truthy'); + ol.DEBUG && console.assert(imageAnchor, 'imageAnchor must be truthy'); + ol.DEBUG && console.assert(imageImage, 'imageImage must be truthy'); + ol.DEBUG && console.assert(imageOrigin, 'imageOrigin must be truthy'); + ol.DEBUG && console.assert(imageSize, 'imageSize must be truthy'); this.imageAnchorX_ = imageAnchor[0]; this.imageAnchorY_ = imageAnchor[1]; this.imageHeight_ = imageSize[1]; diff --git a/src/ol/render/canvas/canvasreplay.js b/src/ol/render/canvas/canvasreplay.js index b7804c51b5..6e56823c4b 100644 --- a/src/ol/render/canvas/canvasreplay.js +++ b/src/ol/render/canvas/canvasreplay.js @@ -8,7 +8,6 @@ goog.provide('ol.render.canvas.Replay'); goog.provide('ol.render.canvas.ReplayGroup'); goog.provide('ol.render.canvas.TextReplay'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol'); goog.require('ol.array'); @@ -246,7 +245,7 @@ ol.render.canvas.Replay.prototype.replay_ = function( this.coordinates, 0, this.coordinates.length, 2, transform, this.pixelCoordinates_); ol.transform.setFromArray(this.renderedTransform_, transform); - goog.asserts.assert(pixelCoordinates === this.pixelCoordinates_, + ol.DEBUG && console.assert(pixelCoordinates === this.pixelCoordinates_, 'pixelCoordinates should be the same as this.pixelCoordinates_'); } var skipFeatures = !ol.object.isEmpty(skippedFeaturesHash); @@ -280,7 +279,7 @@ ol.render.canvas.Replay.prototype.replay_ = function( ++i; break; case ol.render.canvas.Instruction.CIRCLE: - goog.asserts.assert(typeof instruction[1] === 'number', + ol.DEBUG && console.assert(typeof instruction[1] === 'number', 'second instruction should be a number'); d = /** @type {number} */ (instruction[1]); var x1 = pixelCoordinates[d]; @@ -298,10 +297,10 @@ ol.render.canvas.Replay.prototype.replay_ = function( ++i; break; case ol.render.canvas.Instruction.DRAW_IMAGE: - goog.asserts.assert(typeof instruction[1] === 'number', + ol.DEBUG && console.assert(typeof instruction[1] === 'number', 'second instruction should be a number'); d = /** @type {number} */ (instruction[1]); - goog.asserts.assert(typeof instruction[2] === 'number', + ol.DEBUG && console.assert(typeof instruction[2] === 'number', 'third instruction should be a number'); dd = /** @type {number} */ (instruction[2]); var image = /** @type {HTMLCanvasElement|HTMLVideoElement|Image} */ @@ -357,31 +356,31 @@ ol.render.canvas.Replay.prototype.replay_ = function( ++i; break; case ol.render.canvas.Instruction.DRAW_TEXT: - goog.asserts.assert(typeof instruction[1] === 'number', + ol.DEBUG && console.assert(typeof instruction[1] === 'number', '2nd instruction should be a number'); d = /** @type {number} */ (instruction[1]); - goog.asserts.assert(typeof instruction[2] === 'number', + ol.DEBUG && console.assert(typeof instruction[2] === 'number', '3rd instruction should be a number'); dd = /** @type {number} */ (instruction[2]); - goog.asserts.assert(typeof instruction[3] === 'string', + ol.DEBUG && console.assert(typeof instruction[3] === 'string', '4th instruction should be a string'); text = /** @type {string} */ (instruction[3]); - goog.asserts.assert(typeof instruction[4] === 'number', + ol.DEBUG && console.assert(typeof instruction[4] === 'number', '5th instruction should be a number'); var offsetX = /** @type {number} */ (instruction[4]) * pixelRatio; - goog.asserts.assert(typeof instruction[5] === 'number', + ol.DEBUG && console.assert(typeof instruction[5] === 'number', '6th instruction should be a number'); var offsetY = /** @type {number} */ (instruction[5]) * pixelRatio; - goog.asserts.assert(typeof instruction[6] === 'number', + ol.DEBUG && console.assert(typeof instruction[6] === 'number', '7th instruction should be a number'); rotation = /** @type {number} */ (instruction[6]); - goog.asserts.assert(typeof instruction[7] === 'number', + ol.DEBUG && console.assert(typeof instruction[7] === 'number', '8th instruction should be a number'); scale = /** @type {number} */ (instruction[7]) * pixelRatio; - goog.asserts.assert(typeof instruction[8] === 'boolean', + ol.DEBUG && console.assert(typeof instruction[8] === 'boolean', '9th instruction should be a boolean'); fill = /** @type {boolean} */ (instruction[8]); - goog.asserts.assert(typeof instruction[9] === 'boolean', + ol.DEBUG && console.assert(typeof instruction[9] === 'boolean', '10th instruction should be a boolean'); stroke = /** @type {boolean} */ (instruction[9]); for (; d < dd; d += 2) { @@ -442,10 +441,10 @@ ol.render.canvas.Replay.prototype.replay_ = function( ++i; break; case ol.render.canvas.Instruction.MOVE_TO_LINE_TO: - goog.asserts.assert(typeof instruction[1] === 'number', + ol.DEBUG && console.assert(typeof instruction[1] === 'number', '2nd instruction should be a number'); d = /** @type {number} */ (instruction[1]); - goog.asserts.assert(typeof instruction[2] === 'number', + ol.DEBUG && console.assert(typeof instruction[2] === 'number', '3rd instruction should be a number'); dd = /** @type {number} */ (instruction[2]); x = pixelCoordinates[d]; @@ -471,7 +470,7 @@ ol.render.canvas.Replay.prototype.replay_ = function( ++i; break; case ol.render.canvas.Instruction.SET_FILL_STYLE: - goog.asserts.assert( + ol.DEBUG && console.assert( ol.colorlike.isColorLike(instruction[1]), '2nd instruction should be a string, ' + 'CanvasPattern, or CanvasGradient'); @@ -479,17 +478,17 @@ ol.render.canvas.Replay.prototype.replay_ = function( ++i; break; case ol.render.canvas.Instruction.SET_STROKE_STYLE: - goog.asserts.assert(typeof instruction[1] === 'string', + ol.DEBUG && console.assert(typeof instruction[1] === 'string', '2nd instruction should be a string'); - goog.asserts.assert(typeof instruction[2] === 'number', + ol.DEBUG && console.assert(typeof instruction[2] === 'number', '3rd instruction should be a number'); - goog.asserts.assert(typeof instruction[3] === 'string', + ol.DEBUG && console.assert(typeof instruction[3] === 'string', '4rd instruction should be a string'); - goog.asserts.assert(typeof instruction[4] === 'string', + ol.DEBUG && console.assert(typeof instruction[4] === 'string', '5th instruction should be a string'); - goog.asserts.assert(typeof instruction[5] === 'number', + ol.DEBUG && console.assert(typeof instruction[5] === 'number', '6th instruction should be a number'); - goog.asserts.assert(instruction[6], + ol.DEBUG && console.assert(instruction[6], '7th instruction should not be null'); var usePixelRatio = instruction[7] !== undefined ? instruction[7] : true; @@ -507,11 +506,11 @@ ol.render.canvas.Replay.prototype.replay_ = function( ++i; break; case ol.render.canvas.Instruction.SET_TEXT_STYLE: - goog.asserts.assert(typeof instruction[1] === 'string', + ol.DEBUG && console.assert(typeof instruction[1] === 'string', '2nd instruction should be a string'); - goog.asserts.assert(typeof instruction[2] === 'string', + ol.DEBUG && console.assert(typeof instruction[2] === 'string', '3rd instruction should be a string'); - goog.asserts.assert(typeof instruction[3] === 'string', + ol.DEBUG && console.assert(typeof instruction[3] === 'string', '4th instruction should be a string'); context.font = /** @type {string} */ (instruction[1]); context.textAlign = /** @type {string} */ (instruction[2]); @@ -523,13 +522,13 @@ ol.render.canvas.Replay.prototype.replay_ = function( ++i; break; default: - goog.asserts.fail('Unknown canvas render instruction'); + ol.DEBUG && console.assert(false, 'Unknown canvas render instruction'); ++i; // consume the instruction anyway, to avoid an infinite loop break; } } // assert that all instructions were consumed - goog.asserts.assert(i == instructions.length, + ol.DEBUG && console.assert(i == instructions.length, 'all instructions should be consumed'); return undefined; }; @@ -590,11 +589,11 @@ ol.render.canvas.Replay.prototype.reverseHitDetectionInstructions_ = function() instruction = hitDetectionInstructions[i]; type = /** @type {ol.render.canvas.Instruction} */ (instruction[0]); if (type == ol.render.canvas.Instruction.END_GEOMETRY) { - goog.asserts.assert(begin == -1, 'begin should be -1'); + ol.DEBUG && console.assert(begin == -1, 'begin should be -1'); begin = i; } else if (type == ol.render.canvas.Instruction.BEGIN_GEOMETRY) { instruction[2] = i; - goog.asserts.assert(begin >= 0, + ol.DEBUG && console.assert(begin >= 0, 'begin should be larger than or equal to 0'); ol.array.reverseSubArray(this.hitDetectionInstructions, begin, i); begin = -1; @@ -608,11 +607,11 @@ ol.render.canvas.Replay.prototype.reverseHitDetectionInstructions_ = function() * @param {ol.Feature|ol.render.Feature} feature Feature. */ ol.render.canvas.Replay.prototype.endGeometry = function(geometry, feature) { - goog.asserts.assert(this.beginGeometryInstruction1_, + ol.DEBUG && console.assert(this.beginGeometryInstruction1_, 'this.beginGeometryInstruction1_ should not be null'); this.beginGeometryInstruction1_[2] = this.instructions.length; this.beginGeometryInstruction1_ = null; - goog.asserts.assert(this.beginGeometryInstruction2_, + ol.DEBUG && console.assert(this.beginGeometryInstruction2_, 'this.beginGeometryInstruction2_ should not be null'); this.beginGeometryInstruction2_[2] = this.hitDetectionInstructions.length; this.beginGeometryInstruction2_ = null; @@ -756,25 +755,25 @@ ol.render.canvas.ImageReplay.prototype.drawPoint = function(pointGeometry, featu if (!this.image_) { return; } - goog.asserts.assert(this.anchorX_ !== undefined, + ol.DEBUG && console.assert(this.anchorX_ !== undefined, 'this.anchorX_ should be defined'); - goog.asserts.assert(this.anchorY_ !== undefined, + ol.DEBUG && console.assert(this.anchorY_ !== undefined, 'this.anchorY_ should be defined'); - goog.asserts.assert(this.height_ !== undefined, + ol.DEBUG && console.assert(this.height_ !== undefined, 'this.height_ should be defined'); - goog.asserts.assert(this.opacity_ !== undefined, + ol.DEBUG && console.assert(this.opacity_ !== undefined, 'this.opacity_ should be defined'); - goog.asserts.assert(this.originX_ !== undefined, + ol.DEBUG && console.assert(this.originX_ !== undefined, 'this.originX_ should be defined'); - goog.asserts.assert(this.originY_ !== undefined, + ol.DEBUG && console.assert(this.originY_ !== undefined, 'this.originY_ should be defined'); - goog.asserts.assert(this.rotateWithView_ !== undefined, + ol.DEBUG && console.assert(this.rotateWithView_ !== undefined, 'this.rotateWithView_ should be defined'); - goog.asserts.assert(this.rotation_ !== undefined, + ol.DEBUG && console.assert(this.rotation_ !== undefined, 'this.rotation_ should be defined'); - goog.asserts.assert(this.scale_ !== undefined, + ol.DEBUG && console.assert(this.scale_ !== undefined, 'this.scale_ should be defined'); - goog.asserts.assert(this.width_ !== undefined, + ol.DEBUG && console.assert(this.width_ !== undefined, 'this.width_ should be defined'); this.beginGeometry(pointGeometry, feature); var flatCoordinates = pointGeometry.getFlatCoordinates(); @@ -808,25 +807,25 @@ ol.render.canvas.ImageReplay.prototype.drawMultiPoint = function(multiPointGeome if (!this.image_) { return; } - goog.asserts.assert(this.anchorX_ !== undefined, + ol.DEBUG && console.assert(this.anchorX_ !== undefined, 'this.anchorX_ should be defined'); - goog.asserts.assert(this.anchorY_ !== undefined, + ol.DEBUG && console.assert(this.anchorY_ !== undefined, 'this.anchorY_ should be defined'); - goog.asserts.assert(this.height_ !== undefined, + ol.DEBUG && console.assert(this.height_ !== undefined, 'this.height_ should be defined'); - goog.asserts.assert(this.opacity_ !== undefined, + ol.DEBUG && console.assert(this.opacity_ !== undefined, 'this.opacity_ should be defined'); - goog.asserts.assert(this.originX_ !== undefined, + ol.DEBUG && console.assert(this.originX_ !== undefined, 'this.originX_ should be defined'); - goog.asserts.assert(this.originY_ !== undefined, + ol.DEBUG && console.assert(this.originY_ !== undefined, 'this.originY_ should be defined'); - goog.asserts.assert(this.rotateWithView_ !== undefined, + ol.DEBUG && console.assert(this.rotateWithView_ !== undefined, 'this.rotateWithView_ should be defined'); - goog.asserts.assert(this.rotation_ !== undefined, + ol.DEBUG && console.assert(this.rotation_ !== undefined, 'this.rotation_ should be defined'); - goog.asserts.assert(this.scale_ !== undefined, + ol.DEBUG && console.assert(this.scale_ !== undefined, 'this.scale_ should be defined'); - goog.asserts.assert(this.width_ !== undefined, + ol.DEBUG && console.assert(this.width_ !== undefined, 'this.width_ should be defined'); this.beginGeometry(multiPointGeometry, feature); var flatCoordinates = multiPointGeometry.getFlatCoordinates(); @@ -879,18 +878,18 @@ ol.render.canvas.ImageReplay.prototype.finish = function() { * @inheritDoc */ ol.render.canvas.ImageReplay.prototype.setImageStyle = function(imageStyle) { - goog.asserts.assert(imageStyle, 'imageStyle should not be null'); + ol.DEBUG && console.assert(imageStyle, 'imageStyle should not be null'); var anchor = imageStyle.getAnchor(); - goog.asserts.assert(anchor, 'anchor should not be null'); + ol.DEBUG && console.assert(anchor, 'anchor should not be null'); var size = imageStyle.getSize(); - goog.asserts.assert(size, 'size should not be null'); + ol.DEBUG && console.assert(size, 'size should not be null'); var hitDetectionImage = imageStyle.getHitDetectionImage(1); - goog.asserts.assert(hitDetectionImage, + ol.DEBUG && console.assert(hitDetectionImage, 'hitDetectionImage should not be null'); var image = imageStyle.getImage(1); - goog.asserts.assert(image, 'image should not be null'); + ol.DEBUG && console.assert(image, 'image should not be null'); var origin = imageStyle.getOrigin(); - goog.asserts.assert(origin, 'origin should not be null'); + ol.DEBUG && console.assert(origin, 'origin should not be null'); this.anchorX_ = anchor[0]; this.anchorY_ = anchor[1]; this.hitDetectionImage_ = hitDetectionImage; @@ -1002,13 +1001,13 @@ ol.render.canvas.LineStringReplay.prototype.setStrokeStyle_ = function() { var lineJoin = state.lineJoin; var lineWidth = state.lineWidth; var miterLimit = state.miterLimit; - goog.asserts.assert(strokeStyle !== undefined, + ol.DEBUG && console.assert(strokeStyle !== undefined, 'strokeStyle should be defined'); - goog.asserts.assert(lineCap !== undefined, 'lineCap should be defined'); - goog.asserts.assert(lineDash, 'lineDash should not be null'); - goog.asserts.assert(lineJoin !== undefined, 'lineJoin should be defined'); - goog.asserts.assert(lineWidth !== undefined, 'lineWidth should be defined'); - goog.asserts.assert(miterLimit !== undefined, 'miterLimit should be defined'); + ol.DEBUG && console.assert(lineCap !== undefined, 'lineCap should be defined'); + ol.DEBUG && console.assert(lineDash, 'lineDash should not be null'); + ol.DEBUG && console.assert(lineJoin !== undefined, 'lineJoin should be defined'); + ol.DEBUG && console.assert(lineWidth !== undefined, 'lineWidth should be defined'); + ol.DEBUG && console.assert(miterLimit !== undefined, 'miterLimit should be defined'); if (state.currentStrokeStyle != strokeStyle || state.currentLineCap != lineCap || !ol.array.equals(state.currentLineDash, lineDash) || @@ -1039,7 +1038,7 @@ ol.render.canvas.LineStringReplay.prototype.setStrokeStyle_ = function() { */ ol.render.canvas.LineStringReplay.prototype.drawLineString = function(lineStringGeometry, feature) { var state = this.state_; - goog.asserts.assert(state, 'state should not be null'); + ol.DEBUG && console.assert(state, 'state should not be null'); var strokeStyle = state.strokeStyle; var lineWidth = state.lineWidth; if (strokeStyle === undefined || lineWidth === undefined) { @@ -1066,7 +1065,7 @@ ol.render.canvas.LineStringReplay.prototype.drawLineString = function(lineString */ ol.render.canvas.LineStringReplay.prototype.drawMultiLineString = function(multiLineStringGeometry, feature) { var state = this.state_; - goog.asserts.assert(state, 'state should not be null'); + ol.DEBUG && console.assert(state, 'state should not be null'); var strokeStyle = state.strokeStyle; var lineWidth = state.lineWidth; if (strokeStyle === undefined || lineWidth === undefined) { @@ -1098,7 +1097,7 @@ ol.render.canvas.LineStringReplay.prototype.drawMultiLineString = function(multi */ ol.render.canvas.LineStringReplay.prototype.finish = function() { var state = this.state_; - goog.asserts.assert(state, 'state should not be null'); + ol.DEBUG && console.assert(state, 'state should not be null'); if (state.lastStroke != this.coordinates.length) { this.instructions.push([ol.render.canvas.Instruction.STROKE]); } @@ -1111,9 +1110,9 @@ ol.render.canvas.LineStringReplay.prototype.finish = function() { * @inheritDoc */ ol.render.canvas.LineStringReplay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { - goog.asserts.assert(this.state_, 'this.state_ should not be null'); - goog.asserts.assert(!fillStyle, 'fillStyle should be null'); - goog.asserts.assert(strokeStyle, 'strokeStyle should not be null'); + ol.DEBUG && console.assert(this.state_, 'this.state_ should not be null'); + ol.DEBUG && console.assert(!fillStyle, 'fillStyle should be null'); + ol.DEBUG && console.assert(strokeStyle, 'strokeStyle should not be null'); var strokeStyleColor = strokeStyle.getColor(); this.state_.strokeStyle = ol.color.asString(strokeStyleColor ? strokeStyleColor : ol.render.canvas.defaultStrokeStyle); @@ -1227,7 +1226,7 @@ ol.render.canvas.PolygonReplay.prototype.drawFlatCoordinatess_ = function(flatCo this.instructions.push(fillInstruction); } if (state.strokeStyle !== undefined) { - goog.asserts.assert(state.lineWidth !== undefined, + ol.DEBUG && console.assert(state.lineWidth !== undefined, 'state.lineWidth should be defined'); var strokeInstruction = [ol.render.canvas.Instruction.STROKE]; this.instructions.push(strokeInstruction); @@ -1242,14 +1241,14 @@ ol.render.canvas.PolygonReplay.prototype.drawFlatCoordinatess_ = function(flatCo */ ol.render.canvas.PolygonReplay.prototype.drawCircle = function(circleGeometry, feature) { var state = this.state_; - goog.asserts.assert(state, 'state should not be null'); + ol.DEBUG && console.assert(state, 'state should not be null'); var fillStyle = state.fillStyle; var strokeStyle = state.strokeStyle; if (fillStyle === undefined && strokeStyle === undefined) { return; } if (strokeStyle !== undefined) { - goog.asserts.assert(state.lineWidth !== undefined, + ol.DEBUG && console.assert(state.lineWidth !== undefined, 'state.lineWidth should be defined'); } this.setFillStrokeStyles_(); @@ -1279,7 +1278,7 @@ ol.render.canvas.PolygonReplay.prototype.drawCircle = function(circleGeometry, f this.instructions.push(fillInstruction); } if (state.strokeStyle !== undefined) { - goog.asserts.assert(state.lineWidth !== undefined, + ol.DEBUG && console.assert(state.lineWidth !== undefined, 'state.lineWidth should be defined'); var strokeInstruction = [ol.render.canvas.Instruction.STROKE]; this.instructions.push(strokeInstruction); @@ -1294,14 +1293,14 @@ ol.render.canvas.PolygonReplay.prototype.drawCircle = function(circleGeometry, f */ ol.render.canvas.PolygonReplay.prototype.drawPolygon = function(polygonGeometry, feature) { var state = this.state_; - goog.asserts.assert(state, 'state should not be null'); + ol.DEBUG && console.assert(state, 'state should not be null'); var fillStyle = state.fillStyle; var strokeStyle = state.strokeStyle; if (fillStyle === undefined && strokeStyle === undefined) { return; } if (strokeStyle !== undefined) { - goog.asserts.assert(state.lineWidth !== undefined, + ol.DEBUG && console.assert(state.lineWidth !== undefined, 'state.lineWidth should be defined'); } this.setFillStrokeStyles_(); @@ -1329,14 +1328,14 @@ ol.render.canvas.PolygonReplay.prototype.drawPolygon = function(polygonGeometry, */ ol.render.canvas.PolygonReplay.prototype.drawMultiPolygon = function(multiPolygonGeometry, feature) { var state = this.state_; - goog.asserts.assert(state, 'state should not be null'); + ol.DEBUG && console.assert(state, 'state should not be null'); var fillStyle = state.fillStyle; var strokeStyle = state.strokeStyle; if (fillStyle === undefined && strokeStyle === undefined) { return; } if (strokeStyle !== undefined) { - goog.asserts.assert(state.lineWidth !== undefined, + ol.DEBUG && console.assert(state.lineWidth !== undefined, 'state.lineWidth should be defined'); } this.setFillStrokeStyles_(); @@ -1368,7 +1367,7 @@ ol.render.canvas.PolygonReplay.prototype.drawMultiPolygon = function(multiPolygo * @inheritDoc */ ol.render.canvas.PolygonReplay.prototype.finish = function() { - goog.asserts.assert(this.state_, 'this.state_ should not be null'); + ol.DEBUG && console.assert(this.state_, 'this.state_ should not be null'); this.reverseHitDetectionInstructions_(); this.state_ = null; // We want to preserve topology when drawing polygons. Polygons are @@ -1405,8 +1404,8 @@ ol.render.canvas.PolygonReplay.prototype.getBufferedMaxExtent = function() { * @inheritDoc */ ol.render.canvas.PolygonReplay.prototype.setFillStrokeStyle = function(fillStyle, strokeStyle) { - goog.asserts.assert(this.state_, 'this.state_ should not be null'); - goog.asserts.assert(fillStyle || strokeStyle, + ol.DEBUG && console.assert(this.state_, 'this.state_ should not be null'); + ol.DEBUG && console.assert(fillStyle || strokeStyle, 'fillStyle or strokeStyle should not be null'); var state = this.state_; if (fillStyle) { @@ -1470,11 +1469,11 @@ ol.render.canvas.PolygonReplay.prototype.setFillStrokeStyles_ = function() { state.currentFillStyle = state.fillStyle; } if (strokeStyle !== undefined) { - goog.asserts.assert(lineCap !== undefined, 'lineCap should be defined'); - goog.asserts.assert(lineDash, 'lineDash should not be null'); - goog.asserts.assert(lineJoin !== undefined, 'lineJoin should be defined'); - goog.asserts.assert(lineWidth !== undefined, 'lineWidth should be defined'); - goog.asserts.assert(miterLimit !== undefined, + ol.DEBUG && console.assert(lineCap !== undefined, 'lineCap should be defined'); + ol.DEBUG && console.assert(lineDash, 'lineDash should not be null'); + ol.DEBUG && console.assert(lineJoin !== undefined, 'lineJoin should be defined'); + ol.DEBUG && console.assert(lineWidth !== undefined, 'lineWidth should be defined'); + ol.DEBUG && console.assert(miterLimit !== undefined, 'miterLimit should be defined'); if (state.currentStrokeStyle != strokeStyle || state.currentLineCap != lineCap || @@ -1943,7 +1942,7 @@ ol.render.canvas.ReplayGroup.prototype.getReplay = function(zIndex, replayType) var replay = replays[replayType]; if (replay === undefined) { var Constructor = ol.render.canvas.BATCH_CONSTRUCTORS_[replayType]; - goog.asserts.assert(Constructor !== undefined, + ol.DEBUG && console.assert(Constructor !== undefined, replayType + ' constructor missing from ol.render.canvas.BATCH_CONSTRUCTORS_'); replay = new Constructor(this.tolerance_, this.maxExtent_, diff --git a/src/ol/render/renderfeature.js b/src/ol/render/renderfeature.js index 7e16495772..c3157b0025 100644 --- a/src/ol/render/renderfeature.js +++ b/src/ol/render/renderfeature.js @@ -1,7 +1,6 @@ goog.provide('ol.render.Feature'); -goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.geom.GeometryType'); @@ -26,7 +25,7 @@ ol.render.Feature = function(type, flatCoordinates, ends, properties) { */ this.extent_; - goog.asserts.assert(type === ol.geom.GeometryType.POINT || + ol.DEBUG && console.assert(type === ol.geom.GeometryType.POINT || type === ol.geom.GeometryType.MULTI_POINT || type === ol.geom.GeometryType.LINE_STRING || type === ol.geom.GeometryType.MULTI_LINE_STRING || diff --git a/src/ol/render/vector.js b/src/ol/render/vector.js index 4486997d8b..dc92528624 100644 --- a/src/ol/render/vector.js +++ b/src/ol/render/vector.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.vector'); -goog.require('goog.asserts'); goog.require('ol.render.Feature'); goog.require('ol.render.IReplayGroup'); goog.require('ol.style.ImageState'); @@ -89,7 +88,7 @@ ol.renderer.vector.renderFeature = function( imageStyle.load(); } imageState = imageStyle.getImageState(); - goog.asserts.assert(imageState == ol.style.ImageState.LOADING, + ol.DEBUG && console.assert(imageState == ol.style.ImageState.LOADING, 'imageState should be LOADING'); imageStyle.listenImageChange(listener, thisArg); loading = true; @@ -117,7 +116,7 @@ ol.renderer.vector.renderFeature_ = function( var simplifiedGeometry = geometry.getSimplifiedGeometry(squaredTolerance); var geometryRenderer = ol.renderer.vector.GEOMETRY_RENDERERS_[simplifiedGeometry.getType()]; - goog.asserts.assert(geometryRenderer !== undefined, + ol.DEBUG && console.assert(geometryRenderer !== undefined, 'geometryRenderer should be defined'); geometryRenderer(replayGroup, simplifiedGeometry, style, feature); }; @@ -136,7 +135,7 @@ ol.renderer.vector.renderGeometryCollectionGeometry_ = function(replayGroup, geo for (i = 0, ii = geometries.length; i < ii; ++i) { var geometryRenderer = ol.renderer.vector.GEOMETRY_RENDERERS_[geometries[i].getType()]; - goog.asserts.assert(geometryRenderer !== undefined, + ol.DEBUG && console.assert(geometryRenderer !== undefined, 'geometryRenderer should be defined'); geometryRenderer(replayGroup, geometries[i], style, feature); } diff --git a/src/ol/render/webgl/webglimmediate.js b/src/ol/render/webgl/webglimmediate.js index 0eb9c4c2cf..67d5d71363 100644 --- a/src/ol/render/webgl/webglimmediate.js +++ b/src/ol/render/webgl/webglimmediate.js @@ -1,5 +1,4 @@ goog.provide('ol.render.webgl.Immediate'); -goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.geom.GeometryType'); goog.require('ol.render.VectorContext'); @@ -99,7 +98,7 @@ ol.render.webgl.Immediate.prototype.drawGeometry = function(geometry) { this.drawGeometryCollection(/** @type {ol.geom.GeometryCollection} */ (geometry), null); break; default: - goog.asserts.fail('Unsupported geometry type: ' + type); + ol.DEBUG && console.assert(false, 'Unsupported geometry type: ' + type); } }; @@ -115,7 +114,7 @@ ol.render.webgl.Immediate.prototype.drawFeature = function(feature, style) { return; } this.setStyle(style); - goog.asserts.assert(geometry, 'geometry must be truthy'); + ol.DEBUG && console.assert(geometry, 'geometry must be truthy'); this.drawGeometry(geometry); }; diff --git a/src/ol/render/webgl/webglreplay.js b/src/ol/render/webgl/webglreplay.js index 74015207df..8c718cc1a3 100644 --- a/src/ol/render/webgl/webglreplay.js +++ b/src/ol/render/webgl/webglreplay.js @@ -1,7 +1,6 @@ goog.provide('ol.render.webgl.ImageReplay'); goog.provide('ol.render.webgl.ReplayGroup'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.extent'); goog.require('ol.object'); @@ -226,9 +225,9 @@ ol.render.webgl.ImageReplay.prototype.getDeleteResourcesFunction = function(cont // be used by other ImageReplay instances (for other layers). And // they will be deleted when disposing of the ol.webgl.Context // object. - goog.asserts.assert(this.verticesBuffer_, + ol.DEBUG && console.assert(this.verticesBuffer_, 'verticesBuffer must not be null'); - goog.asserts.assert(this.indicesBuffer_, + ol.DEBUG && console.assert(this.indicesBuffer_, 'indicesBuffer must not be null'); var verticesBuffer = this.verticesBuffer_; var indicesBuffer = this.indicesBuffer_; @@ -260,32 +259,32 @@ ol.render.webgl.ImageReplay.prototype.getDeleteResourcesFunction = function(cont * @private */ ol.render.webgl.ImageReplay.prototype.drawCoordinates_ = function(flatCoordinates, offset, end, stride) { - goog.asserts.assert(this.anchorX_ !== undefined, 'anchorX is defined'); - goog.asserts.assert(this.anchorY_ !== undefined, 'anchorY is defined'); - goog.asserts.assert(this.height_ !== undefined, 'height is defined'); - goog.asserts.assert(this.imageHeight_ !== undefined, + ol.DEBUG && console.assert(this.anchorX_ !== undefined, 'anchorX is defined'); + ol.DEBUG && console.assert(this.anchorY_ !== undefined, 'anchorY is defined'); + ol.DEBUG && console.assert(this.height_ !== undefined, 'height is defined'); + ol.DEBUG && console.assert(this.imageHeight_ !== undefined, 'imageHeight is defined'); - goog.asserts.assert(this.imageWidth_ !== undefined, 'imageWidth is defined'); - goog.asserts.assert(this.opacity_ !== undefined, 'opacity is defined'); - goog.asserts.assert(this.originX_ !== undefined, 'originX is defined'); - goog.asserts.assert(this.originY_ !== undefined, 'originY is defined'); - goog.asserts.assert(this.rotateWithView_ !== undefined, + ol.DEBUG && console.assert(this.imageWidth_ !== undefined, 'imageWidth is defined'); + ol.DEBUG && console.assert(this.opacity_ !== undefined, 'opacity is defined'); + ol.DEBUG && console.assert(this.originX_ !== undefined, 'originX is defined'); + ol.DEBUG && console.assert(this.originY_ !== undefined, 'originY is defined'); + ol.DEBUG && console.assert(this.rotateWithView_ !== undefined, 'rotateWithView is defined'); - goog.asserts.assert(this.rotation_ !== undefined, 'rotation is defined'); - goog.asserts.assert(this.scale_ !== undefined, 'scale is defined'); - goog.asserts.assert(this.width_ !== undefined, 'width is defined'); - var anchorX = this.anchorX_; - var anchorY = this.anchorY_; - var height = this.height_; - var imageHeight = this.imageHeight_; - var imageWidth = this.imageWidth_; - var opacity = this.opacity_; - var originX = this.originX_; - var originY = this.originY_; + ol.DEBUG && console.assert(this.rotation_ !== undefined, 'rotation is defined'); + ol.DEBUG && console.assert(this.scale_ !== undefined, 'scale is defined'); + ol.DEBUG && console.assert(this.width_ !== undefined, 'width is defined'); + var anchorX = /** @type {number} */ (this.anchorX_); + var anchorY = /** @type {number} */ (this.anchorY_); + var height = /** @type {number} */ (this.height_); + var imageHeight = /** @type {number} */ (this.imageHeight_); + var imageWidth = /** @type {number} */ (this.imageWidth_); + var opacity = /** @type {number} */ (this.opacity_); + var originX = /** @type {number} */ (this.originX_); + var originY = /** @type {number} */ (this.originY_); var rotateWithView = this.rotateWithView_ ? 1.0 : 0.0; - var rotation = this.rotation_; - var scale = this.scale_; - var width = this.width_; + var rotation = /** @type {number} */ (this.rotation_); + var scale = /** @type {number} */ (this.scale_); + var width = /** @type {number} */ (this.width_); var cos = Math.cos(rotation); var sin = Math.sin(rotation); var numIndices = this.indices_.length; @@ -400,10 +399,10 @@ ol.render.webgl.ImageReplay.prototype.finish = function(context) { var gl = context.getGL(); this.groupIndices_.push(this.indices_.length); - goog.asserts.assert(this.images_.length === this.groupIndices_.length, + ol.DEBUG && console.assert(this.images_.length === this.groupIndices_.length, 'number of images and groupIndices match'); this.hitDetectionGroupIndices_.push(this.indices_.length); - goog.asserts.assert(this.hitDetectionImages_.length === + ol.DEBUG && console.assert(this.hitDetectionImages_.length === this.hitDetectionGroupIndices_.length, 'number of hitDetectionImages and hitDetectionGroupIndices match'); @@ -413,7 +412,7 @@ ol.render.webgl.ImageReplay.prototype.finish = function(context) { var indices = this.indices_; var bits = context.hasOESElementIndexUint ? 32 : 16; - goog.asserts.assert(indices[indices.length - 1] < Math.pow(2, bits), + ol.DEBUG && console.assert(indices[indices.length - 1] < Math.pow(2, bits), 'Too large element index detected [%s] (OES_element_index_uint "%s")', indices[indices.length - 1], context.hasOESElementIndexUint); @@ -426,12 +425,12 @@ ol.render.webgl.ImageReplay.prototype.finish = function(context) { var texturePerImage = {}; this.createTextures_(this.textures_, this.images_, texturePerImage, gl); - goog.asserts.assert(this.textures_.length === this.groupIndices_.length, + ol.DEBUG && console.assert(this.textures_.length === this.groupIndices_.length, 'number of textures and groupIndices match'); this.createTextures_(this.hitDetectionTextures_, this.hitDetectionImages_, texturePerImage, gl); - goog.asserts.assert(this.hitDetectionTextures_.length === + ol.DEBUG && console.assert(this.hitDetectionTextures_.length === this.hitDetectionGroupIndices_.length, 'number of hitDetectionTextures and hitDetectionGroupIndices match'); @@ -463,7 +462,7 @@ ol.render.webgl.ImageReplay.prototype.finish = function(context) { * @param {WebGLRenderingContext} gl Gl. */ ol.render.webgl.ImageReplay.prototype.createTextures_ = function(textures, images, texturePerImage, gl) { - goog.asserts.assert(textures.length === 0, + ol.DEBUG && console.assert(textures.length === 0, 'upon creation, textures is empty'); var texture, image, uid, i; @@ -508,12 +507,12 @@ ol.render.webgl.ImageReplay.prototype.replay = function(context, var gl = context.getGL(); // bind the vertices buffer - goog.asserts.assert(this.verticesBuffer_, + ol.DEBUG && console.assert(this.verticesBuffer_, 'verticesBuffer must not be null'); context.bindBuffer(ol.webgl.ARRAY_BUFFER, this.verticesBuffer_); // bind the indices buffer - goog.asserts.assert(this.indicesBuffer_, + ol.DEBUG && console.assert(this.indicesBuffer_, 'indecesBuffer must not be null'); context.bindBuffer(ol.webgl.ELEMENT_ARRAY_BUFFER, this.indicesBuffer_); @@ -612,7 +611,7 @@ ol.render.webgl.ImageReplay.prototype.replay = function(context, * @param {Array.} groupIndices Texture group indices. */ ol.render.webgl.ImageReplay.prototype.drawReplay_ = function(gl, context, skippedFeaturesHash, textures, groupIndices) { - goog.asserts.assert(textures.length === groupIndices.length, + ol.DEBUG && console.assert(textures.length === groupIndices.length, 'number of textures and groupIndeces match'); var elementType = context.hasOESElementIndexUint ? ol.webgl.UNSIGNED_INT : ol.webgl.UNSIGNED_SHORT; @@ -786,7 +785,7 @@ ol.render.webgl.ImageReplay.prototype.drawHitDetectionReplayAll_ = function(gl, */ ol.render.webgl.ImageReplay.prototype.drawHitDetectionReplayOneByOne_ = function(gl, context, skippedFeaturesHash, featureCallback, opt_hitExtent) { - goog.asserts.assert(this.hitDetectionTextures_.length === + ol.DEBUG && console.assert(this.hitDetectionTextures_.length === this.hitDetectionGroupIndices_.length, 'number of hitDetectionTextures and hitDetectionGroupIndices match'); var elementType = context.hasOESElementIndexUint ? @@ -851,21 +850,21 @@ ol.render.webgl.ImageReplay.prototype.setImageStyle = function(imageStyle) { var rotation = imageStyle.getRotation(); var size = imageStyle.getSize(); var scale = imageStyle.getScale(); - goog.asserts.assert(anchor, 'imageStyle anchor is not null'); - goog.asserts.assert(image, 'imageStyle image is not null'); - goog.asserts.assert(imageSize, + ol.DEBUG && console.assert(anchor, 'imageStyle anchor is not null'); + ol.DEBUG && console.assert(image, 'imageStyle image is not null'); + ol.DEBUG && console.assert(imageSize, 'imageStyle imageSize is not null'); - goog.asserts.assert(hitDetectionImage, + ol.DEBUG && console.assert(hitDetectionImage, 'imageStyle hitDetectionImage is not null'); - goog.asserts.assert(hitDetectionImageSize, + ol.DEBUG && console.assert(hitDetectionImageSize, 'imageStyle hitDetectionImageSize is not null'); - goog.asserts.assert(opacity !== undefined, 'imageStyle opacity is defined'); - goog.asserts.assert(origin, 'imageStyle origin is not null'); - goog.asserts.assert(rotateWithView !== undefined, + ol.DEBUG && console.assert(opacity !== undefined, 'imageStyle opacity is defined'); + ol.DEBUG && console.assert(origin, 'imageStyle origin is not null'); + ol.DEBUG && console.assert(rotateWithView !== undefined, 'imageStyle rotateWithView is defined'); - goog.asserts.assert(rotation !== undefined, 'imageStyle rotation is defined'); - goog.asserts.assert(size, 'imageStyle size is not null'); - goog.asserts.assert(scale !== undefined, 'imageStyle scale is defined'); + ol.DEBUG && console.assert(rotation !== undefined, 'imageStyle rotation is defined'); + ol.DEBUG && console.assert(size, 'imageStyle size is not null'); + ol.DEBUG && console.assert(scale !== undefined, 'imageStyle scale is defined'); var currentImage; if (this.images_.length === 0) { @@ -874,7 +873,7 @@ ol.render.webgl.ImageReplay.prototype.setImageStyle = function(imageStyle) { currentImage = this.images_[this.images_.length - 1]; if (ol.getUid(currentImage) != ol.getUid(image)) { this.groupIndices_.push(this.indices_.length); - goog.asserts.assert(this.groupIndices_.length === this.images_.length, + ol.DEBUG && console.assert(this.groupIndices_.length === this.images_.length, 'number of groupIndices and images match'); this.images_.push(image); } @@ -887,7 +886,7 @@ ol.render.webgl.ImageReplay.prototype.setImageStyle = function(imageStyle) { this.hitDetectionImages_[this.hitDetectionImages_.length - 1]; if (ol.getUid(currentImage) != ol.getUid(hitDetectionImage)) { this.hitDetectionGroupIndices_.push(this.indices_.length); - goog.asserts.assert(this.hitDetectionGroupIndices_.length === + ol.DEBUG && console.assert(this.hitDetectionGroupIndices_.length === this.hitDetectionImages_.length, 'number of hitDetectionGroupIndices and hitDetectionImages match'); this.hitDetectionImages_.push(hitDetectionImage); @@ -988,7 +987,7 @@ ol.render.webgl.ReplayGroup.prototype.getReplay = function(zIndex, replayType) { var replay = this.replays_[replayType]; if (replay === undefined) { var constructor = ol.render.webgl.BATCH_CONSTRUCTORS_[replayType]; - goog.asserts.assert(constructor !== undefined, + ol.DEBUG && console.assert(constructor !== undefined, replayType + ' constructor missing from ol.render.webgl.BATCH_CONSTRUCTORS_'); replay = new constructor(this.tolerance_, this.maxExtent_); diff --git a/src/ol/renderer/canvas/canvasimagelayerrenderer.js b/src/ol/renderer/canvas/canvasimagelayerrenderer.js index 0dd67c827d..6dce4f5e6b 100644 --- a/src/ol/renderer/canvas/canvasimagelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasimagelayerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.canvas.ImageLayer'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.functions'); goog.require('ol.ImageBase'); @@ -146,9 +145,7 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = function(frameState, laye var viewResolution = viewState.resolution; var image; - var imageLayer = this.getLayer(); - goog.asserts.assertInstanceof(imageLayer, ol.layer.Image, - 'layer is an instance of ol.layer.Image'); + var imageLayer = /** @type {ol.layer.Image} */ (this.getLayer()); var imageSource = imageLayer.getSource(); var hints = frameState.viewHints; @@ -165,7 +162,7 @@ ol.renderer.canvas.ImageLayer.prototype.prepareFrame = function(frameState, laye if (!ol.ENABLE_RASTER_REPROJECTION) { var sourceProjection = imageSource.getProjection(); if (sourceProjection) { - goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection), + ol.DEBUG && console.assert(ol.proj.equivalent(projection, sourceProjection), 'projection and sourceProjection are equivalent'); projection = sourceProjection; } diff --git a/src/ol/renderer/canvas/canvaslayerrenderer.js b/src/ol/renderer/canvas/canvaslayerrenderer.js index 5797a24a17..f699bb6555 100644 --- a/src/ol/renderer/canvas/canvaslayerrenderer.js +++ b/src/ol/renderer/canvas/canvaslayerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.canvas.Layer'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.extent'); goog.require('ol.layer.Layer'); @@ -46,16 +45,14 @@ ol.renderer.canvas.Layer.prototype.composeFrame = function(frameState, layerStat var extent = layerState.extent; var clipped = extent !== undefined; if (clipped) { - goog.asserts.assert(extent !== undefined, - 'layerState extent is defined'); var pixelRatio = frameState.pixelRatio; var width = frameState.size[0] * pixelRatio; var height = frameState.size[1] * pixelRatio; var rotation = frameState.viewState.rotation; - var topLeft = ol.extent.getTopLeft(extent); - var topRight = ol.extent.getTopRight(extent); - var bottomRight = ol.extent.getBottomRight(extent); - var bottomLeft = ol.extent.getBottomLeft(extent); + var topLeft = ol.extent.getTopLeft(/** @type {ol.Extent} */ (extent)); + var topRight = ol.extent.getTopRight(/** @type {ol.Extent} */ (extent)); + var bottomRight = ol.extent.getBottomRight(/** @type {ol.Extent} */ (extent)); + var bottomLeft = ol.extent.getBottomLeft(/** @type {ol.Extent} */ (extent)); ol.transform.apply(frameState.coordinateToPixelTransform, topLeft); ol.transform.apply(frameState.coordinateToPixelTransform, topRight); diff --git a/src/ol/renderer/canvas/canvasmaprenderer.js b/src/ol/renderer/canvas/canvasmaprenderer.js index e2b71dd350..2b7625e991 100644 --- a/src/ol/renderer/canvas/canvasmaprenderer.js +++ b/src/ol/renderer/canvas/canvasmaprenderer.js @@ -2,7 +2,6 @@ goog.provide('ol.renderer.canvas.Map'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol'); goog.require('ol.RendererType'); @@ -83,7 +82,7 @@ ol.renderer.canvas.Map.prototype.createLayerRenderer = function(layer) { } else if (ol.ENABLE_VECTOR && layer instanceof ol.layer.Vector) { return new ol.renderer.canvas.VectorLayer(layer); } else { - goog.asserts.fail('unexpected layer configuration'); + ol.DEBUG && console.assert(false, 'unexpected layer configuration'); return null; } }; @@ -180,9 +179,7 @@ ol.renderer.canvas.Map.prototype.renderFrame = function(frameState) { for (i = 0, ii = layerStatesArray.length; i < ii; ++i) { layerState = layerStatesArray[i]; layer = layerState.layer; - layerRenderer = this.getLayerRenderer(layer); - goog.asserts.assertInstanceof(layerRenderer, ol.renderer.canvas.Layer, - 'layerRenderer is an instance of ol.renderer.canvas.Layer'); + layerRenderer = /** @type {ol.renderer.canvas.Layer} */ (this.getLayerRenderer(layer)); if (!ol.layer.Layer.visibleAtResolution(layerState, viewResolution) || layerState.sourceState != ol.source.State.READY) { continue; diff --git a/src/ol/renderer/canvas/canvastilelayerrenderer.js b/src/ol/renderer/canvas/canvastilelayerrenderer.js index 80021b6106..18871191aa 100644 --- a/src/ol/renderer/canvas/canvastilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvastilelayerrenderer.js @@ -2,7 +2,6 @@ goog.provide('ol.renderer.canvas.TileLayer'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.TileRange'); goog.require('ol.TileState'); @@ -87,9 +86,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function( var projection = viewState.projection; var tileLayer = this.getLayer(); - var tileSource = tileLayer.getSource(); - goog.asserts.assertInstanceof(tileSource, ol.source.Tile, - 'source is an ol.source.Tile'); + var tileSource = /** @type {ol.source.Tile} */ (tileLayer.getSource()); var tileGrid = tileSource.getTileGridForProjection(projection); var z = tileGrid.getZForResolution(viewState.resolution, this.zDirection); var tileResolution = tileGrid.getResolution(z); @@ -145,7 +142,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame = function( if (!drawableTile(tile) && tile.interimTile) { tile = tile.interimTile; } - goog.asserts.assert(tile); + ol.DEBUG && console.assert(tile); if (drawableTile(tile)) { tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; continue; @@ -230,9 +227,7 @@ ol.renderer.canvas.TileLayer.prototype.renderTileImages = function(context, fram var offsetY = Math.round(pixelRatio * size[1] / 2); var pixelScale = pixelRatio / resolution; var layer = this.getLayer(); - var source = layer.getSource(); - goog.asserts.assertInstanceof(source, ol.source.Tile, - 'source is an ol.source.Tile'); + var source = /** @type {ol.source.Tile} */ (layer.getSource()); var tileGutter = source.getGutter(projection); var tileGrid = source.getTileGridForProjection(projection); @@ -279,12 +274,10 @@ ol.renderer.canvas.TileLayer.prototype.renderTileImages = function(context, fram var extent = layerState.extent; var clipped = extent !== undefined; if (clipped) { - goog.asserts.assert(extent !== undefined, - 'layerState extent is defined'); - var topLeft = ol.extent.getTopLeft(extent); - var topRight = ol.extent.getTopRight(extent); - var bottomRight = ol.extent.getBottomRight(extent); - var bottomLeft = ol.extent.getBottomLeft(extent); + var topLeft = ol.extent.getTopLeft(/** @type {ol.Extent} */ (extent)); + var topRight = ol.extent.getTopRight(/** @type {ol.Extent} */ (extent)); + var bottomRight = ol.extent.getBottomRight(/** @type {ol.Extent} */ (extent)); + var bottomLeft = ol.extent.getBottomLeft(/** @type {ol.Extent} */ (extent)); ol.transform.apply(frameState.coordinateToPixelTransform, topLeft); ol.transform.apply(frameState.coordinateToPixelTransform, topRight); diff --git a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js index f8e5eb6809..c7fa4c20ba 100644 --- a/src/ol/renderer/canvas/canvasvectorlayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectorlayerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.canvas.VectorLayer'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.ViewHint'); goog.require('ol.dom'); @@ -82,8 +81,7 @@ ol.renderer.canvas.VectorLayer.prototype.composeFrame = function(frameState, lay var projection = viewState.projection; var rotation = viewState.rotation; var projectionExtent = projection.getExtent(); - var vectorSource = this.getLayer().getSource(); - goog.asserts.assertInstanceof(vectorSource, ol.source.Vector); + var vectorSource = /** @type {ol.source.Vector} */ (this.getLayer().getSource()); var transform = this.getTransform(frameState, 0); @@ -174,7 +172,7 @@ ol.renderer.canvas.VectorLayer.prototype.forEachFeatureAtCoordinate = function(c * @return {?} Callback result. */ function(feature) { - goog.asserts.assert(feature !== undefined, 'received a feature'); + ol.DEBUG && console.assert(feature !== undefined, 'received a feature'); var key = ol.getUid(feature).toString(); if (!(key in features)) { features[key] = true; @@ -201,8 +199,6 @@ ol.renderer.canvas.VectorLayer.prototype.handleStyleImageChange_ = function(even ol.renderer.canvas.VectorLayer.prototype.prepareFrame = function(frameState, layerState) { var vectorLayer = /** @type {ol.layer.Vector} */ (this.getLayer()); - goog.asserts.assertInstanceof(vectorLayer, ol.layer.Vector, - 'layer is an instance of ol.layer.Vector'); var vectorSource = vectorLayer.getSource(); this.updateAttributions( diff --git a/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js b/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js index 3dbd5935e1..da9b19322a 100644 --- a/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js +++ b/src/ol/renderer/canvas/canvasvectortilelayerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.canvas.VectorTileLayer'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.transform'); goog.require('ol.Feature'); @@ -106,9 +105,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.renderTileReplays_ = function( var rotation = viewState.rotation; var size = frameState.size; var pixelScale = pixelRatio / resolution; - var source = layer.getSource(); - goog.asserts.assertInstanceof(source, ol.source.VectorTile, - 'Source is an ol.source.VectorTile'); + var source = /** @type {ol.source.VectorTile} */ (layer.getSource()); var tilePixelRatio = source.getTilePixelRatio(pixelRatio); var transform = this.getTransform(frameState, 0); @@ -191,9 +188,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup = function(tile, replayState.replayGroup = null; replayState.dirty = false; - var source = layer.getSource(); - goog.asserts.assertInstanceof(source, ol.source.VectorTile, - 'Source is an ol.source.VectorTile'); + var source = /** @type {ol.source.VectorTile} */ (layer.getSource()); var tileGrid = source.getTileGrid(); var tileCoord = tile.getTileCoord(); var tileProjection = tile.getProjection(); @@ -226,8 +221,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.createReplayGroup = function(tile, var styles; var styleFunction = feature.getStyleFunction(); if (styleFunction) { - goog.asserts.assertInstanceof(feature, ol.Feature, 'Got an ol.Feature'); - styles = styleFunction.call(feature, resolution); + styles = styleFunction.call(/** @type {ol.Feature} */ (feature), resolution); } else { styleFunction = layer.getStyleFunction(); if (styleFunction) { @@ -279,9 +273,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.forEachFeatureAtCoordinate = functi var features = {}; var replayables = this.renderedTiles; - var source = layer.getSource(); - goog.asserts.assertInstanceof(source, ol.source.VectorTile, - 'Source is an ol.source.VectorTile'); + var source = /** @type {ol.source.VectorTile} */ (layer.getSource()); var tileGrid = source.getTileGrid(); var found, tileSpaceCoordinate; var i, ii, origin, replayGroup; @@ -314,7 +306,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.forEachFeatureAtCoordinate = functi * @return {?} Callback result. */ function(feature) { - goog.asserts.assert(feature, 'received a feature'); + ol.DEBUG && console.assert(feature, 'received a feature'); var key = ol.getUid(feature).toString(); if (!(key in features)) { features[key] = true; @@ -344,8 +336,7 @@ ol.renderer.canvas.VectorTileLayer.prototype.prepareFrame = function(frameState, if (prepared) { var skippedFeatures = Object.keys(frameState.skippedFeatureUids_ || {}); for (var i = 0, ii = this.renderedTiles.length; i < ii; ++i) { - var tile = this.renderedTiles[i]; - goog.asserts.assertInstanceof(tile, ol.VectorTile, 'got an ol.VectorTile'); + var tile = /** @type {ol.VectorTile} */ (this.renderedTiles[i]); this.createReplayGroup(tile, frameState); this.renderTileImage_(tile, frameState, layerState, skippedFeatures); } diff --git a/src/ol/renderer/dom/domimagelayerrenderer.js b/src/ol/renderer/dom/domimagelayerrenderer.js index 791fe354e0..f9a7d5fc1b 100644 --- a/src/ol/renderer/dom/domimagelayerrenderer.js +++ b/src/ol/renderer/dom/domimagelayerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.dom.ImageLayer'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.ImageBase'); goog.require('ol.ViewHint'); @@ -80,9 +79,7 @@ ol.renderer.dom.ImageLayer.prototype.prepareFrame = function(frameState, layerSt var viewRotation = viewState.rotation; var image = this.image_; - var imageLayer = this.getLayer(); - goog.asserts.assertInstanceof(imageLayer, ol.layer.Image, - 'layer is an instance of ol.layer.Image'); + var imageLayer = /** @type {ol.layer.Image} */ (this.getLayer()); var imageSource = imageLayer.getSource(); var hints = frameState.viewHints; @@ -99,7 +96,7 @@ ol.renderer.dom.ImageLayer.prototype.prepareFrame = function(frameState, layerSt if (!ol.ENABLE_RASTER_REPROJECTION) { var sourceProjection = imageSource.getProjection(); if (sourceProjection) { - goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection), + ol.DEBUG && console.assert(ol.proj.equivalent(projection, sourceProjection), 'projection and sourceProjection are equivalent'); projection = sourceProjection; } diff --git a/src/ol/renderer/dom/dommaprenderer.js b/src/ol/renderer/dom/dommaprenderer.js index 8b6ed268a7..6b909d7076 100644 --- a/src/ol/renderer/dom/dommaprenderer.js +++ b/src/ol/renderer/dom/dommaprenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.dom.Map'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.Event'); goog.require('ol.events.EventType'); @@ -101,7 +100,7 @@ ol.renderer.dom.Map.prototype.createLayerRenderer = function(layer) { } else if (ol.ENABLE_VECTOR && layer instanceof ol.layer.Vector) { layerRenderer = new ol.renderer.dom.VectorLayer(layer); } else { - goog.asserts.fail('unexpected layer configuration'); + ol.DEBUG && console.assert(false, 'unexpected layer configuration'); return null; } return layerRenderer; @@ -180,8 +179,6 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) { layer = layerState.layer; layerRenderer = /** @type {ol.renderer.dom.Layer} */ ( this.getLayerRenderer(layer)); - goog.asserts.assertInstanceof(layerRenderer, ol.renderer.dom.Layer, - 'renderer is an instance of ol.renderer.dom.Layer'); this.layersPane_.insertBefore(layerRenderer.getTarget(), this.layersPane_.childNodes[i] || null); if (ol.layer.Layer.visibleAtResolution(layerState, viewResolution) && layerState.sourceState == ol.source.State.READY) { @@ -197,9 +194,7 @@ ol.renderer.dom.Map.prototype.renderFrame = function(frameState) { var layerKey; for (layerKey in this.getLayerRenderers()) { if (!(layerKey in layerStates)) { - layerRenderer = this.getLayerRendererByKey(layerKey); - goog.asserts.assertInstanceof(layerRenderer, ol.renderer.dom.Layer, - 'renderer is an instance of ol.renderer.dom.Layer'); + layerRenderer = /** @type {ol.renderer.dom.Layer} */ (this.getLayerRendererByKey(layerKey)); ol.dom.removeNode(layerRenderer.getTarget()); } } diff --git a/src/ol/renderer/dom/domtilelayerrenderer.js b/src/ol/renderer/dom/domtilelayerrenderer.js index 3bf9b7914d..3459fc037f 100644 --- a/src/ol/renderer/dom/domtilelayerrenderer.js +++ b/src/ol/renderer/dom/domtilelayerrenderer.js @@ -3,7 +3,6 @@ goog.provide('ol.renderer.dom.TileLayer'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol'); goog.require('ol.TileRange'); @@ -84,9 +83,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame = function(frameState, layerSta var viewState = frameState.viewState; var projection = viewState.projection; - var tileLayer = this.getLayer(); - goog.asserts.assertInstanceof(tileLayer, ol.layer.Tile, - 'layer is an instance of ol.layer.Tile'); + var tileLayer = /** @type {ol.layer.Tile} */ (this.getLayer()); var tileSource = tileLayer.getSource(); var tileGrid = tileSource.getTileGridForProjection(projection); var tileGutter = tileSource.getGutter(projection); @@ -131,7 +128,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame = function(frameState, layerSta if (!drawable && tile.interimTile) { tile = tile.interimTile; } - goog.asserts.assert(tile); + ol.DEBUG && console.assert(tile); tileState = tile.getState(); if (tileState == ol.TileState.LOADED) { tilesToDrawByZ[z][tile.tileCoord.toString()] = tile; @@ -335,7 +332,7 @@ ol.renderer.dom.TileLayerZ_.prototype.addTile = function(tile, tileGutter) { var tileCoordZ = tileCoord[0]; var tileCoordX = tileCoord[1]; var tileCoordY = tileCoord[2]; - goog.asserts.assert(tileCoordZ == this.tileCoordOrigin_[0], + ol.DEBUG && console.assert(tileCoordZ == this.tileCoordOrigin_[0], 'tileCoordZ matches z of tileCoordOrigin'); var tileCoordKey = tileCoord.toString(); if (tileCoordKey in this.tiles_) { diff --git a/src/ol/renderer/dom/domvectorlayerrenderer.js b/src/ol/renderer/dom/domvectorlayerrenderer.js index 4654974083..3af6ad3d15 100644 --- a/src/ol/renderer/dom/domvectorlayerrenderer.js +++ b/src/ol/renderer/dom/domvectorlayerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.dom.VectorLayer'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.transform'); goog.require('ol.ViewHint'); @@ -106,8 +105,6 @@ ol.renderer.dom.VectorLayer.prototype.clearFrame = function() { ol.renderer.dom.VectorLayer.prototype.composeFrame = function(frameState, layerState) { var vectorLayer = /** @type {ol.layer.Vector} */ (this.getLayer()); - goog.asserts.assertInstanceof(vectorLayer, ol.layer.Vector, - 'layer is an instance of ol.layer.Vector'); var viewState = frameState.viewState; var viewCenter = viewState.center; @@ -193,7 +190,7 @@ ol.renderer.dom.VectorLayer.prototype.forEachFeatureAtCoordinate = function(coor * @return {?} Callback result. */ function(feature) { - goog.asserts.assert(feature !== undefined, 'received a feature'); + ol.DEBUG && console.assert(feature !== undefined, 'received a feature'); var key = ol.getUid(feature).toString(); if (!(key in features)) { features[key] = true; @@ -220,8 +217,6 @@ ol.renderer.dom.VectorLayer.prototype.handleStyleImageChange_ = function(event) ol.renderer.dom.VectorLayer.prototype.prepareFrame = function(frameState, layerState) { var vectorLayer = /** @type {ol.layer.Vector} */ (this.getLayer()); - goog.asserts.assertInstanceof(vectorLayer, ol.layer.Vector, - 'layer is an instance of ol.layer.Vector'); var vectorSource = vectorLayer.getSource(); this.updateAttributions( diff --git a/src/ol/renderer/layerrenderer.js b/src/ol/renderer/layerrenderer.js index 374c337583..6d251a88f4 100644 --- a/src/ol/renderer/layerrenderer.js +++ b/src/ol/renderer/layerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.Layer'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol'); @@ -144,7 +143,7 @@ ol.renderer.Layer.prototype.loadImage = function(image) { imageState != ol.ImageState.ERROR) { // the image is either "idle" or "loading", register the change // listener (a noop if the listener was already registered) - goog.asserts.assert(imageState == ol.ImageState.IDLE || + ol.DEBUG && console.assert(imageState == ol.ImageState.IDLE || imageState == ol.ImageState.LOADING, 'imageState is "idle" or "loading"'); ol.events.listen(image, ol.events.EventType.CHANGE, @@ -153,7 +152,7 @@ ol.renderer.Layer.prototype.loadImage = function(image) { if (imageState == ol.ImageState.IDLE) { image.load(); imageState = image.getState(); - goog.asserts.assert(imageState == ol.ImageState.LOADING || + ol.DEBUG && console.assert(imageState == ol.ImageState.LOADING || imageState == ol.ImageState.LOADED, 'imageState is "loading" or "loaded"'); } @@ -224,9 +223,9 @@ ol.renderer.Layer.prototype.updateLogos = function(frameState, source) { if (logo !== undefined) { if (typeof logo === 'string') { frameState.logos[logo] = ''; - } else if (logo !== null) { - goog.asserts.assertString(logo.href, 'logo.href is a string'); - goog.asserts.assertString(logo.src, 'logo.src is a string'); + } else if (logo) { + ol.assert(typeof logo.href == 'string', 44); // `logo.href` should be a string. + ol.assert(typeof logo.src == 'string', 45); // `logo.src` should be a string. frameState.logos[logo.src] = logo.href; } } diff --git a/src/ol/renderer/maprenderer.js b/src/ol/renderer/maprenderer.js index 1381f0e4cf..368df0e2e0 100644 --- a/src/ol/renderer/maprenderer.js +++ b/src/ol/renderer/maprenderer.js @@ -1,7 +1,6 @@ goog.provide('ol.RendererType'); goog.provide('ol.renderer.Map'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol'); goog.require('ol.Disposable'); @@ -67,7 +66,7 @@ ol.renderer.Map.prototype.calculateMatrices2D = function(frameState) { var viewState = frameState.viewState; var coordinateToPixelTransform = frameState.coordinateToPixelTransform; var pixelToCoordinateTransform = frameState.pixelToCoordinateTransform; - goog.asserts.assert(coordinateToPixelTransform, + ol.DEBUG && console.assert(coordinateToPixelTransform, 'frameState has a coordinateToPixelTransform'); ol.transform.compose(coordinateToPixelTransform, @@ -136,7 +135,7 @@ ol.renderer.Map.prototype.forEachFeatureAtCoordinate = function(coordinate, fram * @return {?} Callback result. */ function forEachFeatureAtCoordinate(feature, layer) { - goog.asserts.assert(feature !== undefined, 'received a feature'); + ol.DEBUG && console.assert(feature !== undefined, 'received a feature'); var key = ol.getUid(feature).toString(); var managed = frameState.layerStates[ol.getUid(layer)].managed; if (!(key in frameState.skippedFeatureUids && !managed)) { @@ -265,7 +264,7 @@ ol.renderer.Map.prototype.getLayerRenderer = function(layer) { * @return {ol.renderer.Layer} Layer renderer. */ ol.renderer.Map.prototype.getLayerRendererByKey = function(layerKey) { - goog.asserts.assert(layerKey in this.layerRenderers_, + ol.DEBUG && console.assert(layerKey in this.layerRenderers_, 'given layerKey (%s) exists in layerRenderers', layerKey); return this.layerRenderers_[layerKey]; }; @@ -310,12 +309,12 @@ ol.renderer.Map.prototype.handleLayerRendererChange_ = function() { * @private */ ol.renderer.Map.prototype.removeLayerRendererByKey_ = function(layerKey) { - goog.asserts.assert(layerKey in this.layerRenderers_, + ol.DEBUG && console.assert(layerKey in this.layerRenderers_, 'given layerKey (%s) exists in layerRenderers', layerKey); var layerRenderer = this.layerRenderers_[layerKey]; delete this.layerRenderers_[layerKey]; - goog.asserts.assert(layerKey in this.layerRendererListeners_, + ol.DEBUG && console.assert(layerKey in this.layerRendererListeners_, 'given layerKey (%s) exists in layerRendererListeners', layerKey); ol.events.unlistenByKey(this.layerRendererListeners_[layerKey]); delete this.layerRendererListeners_[layerKey]; diff --git a/src/ol/renderer/webgl/webglimagelayerrenderer.js b/src/ol/renderer/webgl/webglimagelayerrenderer.js index 019bfd27bf..4467ab167a 100644 --- a/src/ol/renderer/webgl/webglimagelayerrenderer.js +++ b/src/ol/renderer/webgl/webglimagelayerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.webgl.ImageLayer'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.ImageBase'); goog.require('ol.ViewHint'); @@ -104,9 +103,7 @@ ol.renderer.webgl.ImageLayer.prototype.prepareFrame = function(frameState, layer var image = this.image_; var texture = this.texture; - var imageLayer = this.getLayer(); - goog.asserts.assertInstanceof(imageLayer, ol.layer.Image, - 'layer is an instance of ol.layer.Image'); + var imageLayer = /** @type {ol.layer.Image} */ (this.getLayer()); var imageSource = imageLayer.getSource(); var hints = frameState.viewHints; @@ -122,7 +119,7 @@ ol.renderer.webgl.ImageLayer.prototype.prepareFrame = function(frameState, layer if (!ol.ENABLE_RASTER_REPROJECTION) { var sourceProjection = imageSource.getProjection(); if (sourceProjection) { - goog.asserts.assert(ol.proj.equivalent(projection, sourceProjection), + ol.DEBUG && console.assert(ol.proj.equivalent(projection, sourceProjection), 'projection and sourceProjection are equivalent'); projection = sourceProjection; } @@ -153,7 +150,7 @@ ol.renderer.webgl.ImageLayer.prototype.prepareFrame = function(frameState, layer } if (image) { - goog.asserts.assert(texture, 'texture is truthy'); + ol.DEBUG && console.assert(texture, 'texture is truthy'); var canvas = this.mapRenderer.getContext().getCanvas(); diff --git a/src/ol/renderer/webgl/webglmaprenderer.js b/src/ol/renderer/webgl/webglmaprenderer.js index 3f438398a7..99c9317544 100644 --- a/src/ol/renderer/webgl/webglmaprenderer.js +++ b/src/ol/renderer/webgl/webglmaprenderer.js @@ -2,7 +2,6 @@ goog.provide('ol.renderer.webgl.Map'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.RendererType'); goog.require('ol.array'); @@ -86,7 +85,7 @@ ol.renderer.webgl.Map = function(container, map) { preserveDrawingBuffer: false, stencil: true }); - goog.asserts.assert(this.gl_, 'got a WebGLRenderingContext'); + ol.DEBUG && console.assert(this.gl_, 'got a WebGLRenderingContext'); /** * @private @@ -183,7 +182,7 @@ ol.renderer.webgl.Map.prototype.bindTileTexture = function(tile, tileSize, tileG var tileKey = tile.getKey(); if (this.textureCache_.containsKey(tileKey)) { var textureCacheEntry = this.textureCache_.get(tileKey); - goog.asserts.assert(textureCacheEntry, + ol.DEBUG && console.assert(textureCacheEntry, 'a texture cache entry exists for key %s', tileKey); gl.bindTexture(ol.webgl.TEXTURE_2D, textureCacheEntry.texture); if (textureCacheEntry.magFilter != magFilter) { @@ -249,7 +248,7 @@ ol.renderer.webgl.Map.prototype.createLayerRenderer = function(layer) { } else if (ol.ENABLE_VECTOR && layer instanceof ol.layer.Vector) { return new ol.renderer.webgl.VectorLayer(this, layer); } else { - goog.asserts.fail('unexpected layer configuration'); + ol.DEBUG && console.assert(false, 'unexpected layer configuration'); return null; } }; @@ -451,9 +450,7 @@ ol.renderer.webgl.Map.prototype.renderFrame = function(frameState) { layerState = layerStatesArray[i]; if (ol.layer.Layer.visibleAtResolution(layerState, viewResolution) && layerState.sourceState == ol.source.State.READY) { - layerRenderer = this.getLayerRenderer(layerState.layer); - goog.asserts.assertInstanceof(layerRenderer, ol.renderer.webgl.Layer, - 'renderer is an instance of ol.renderer.webgl.Layer'); + layerRenderer = /** @type {ol.renderer.webgl.Layer} */ (this.getLayerRenderer(layerState.layer)); if (layerRenderer.prepareFrame(frameState, layerState, context)) { layerStatesToDraw.push(layerState); } @@ -476,9 +473,7 @@ ol.renderer.webgl.Map.prototype.renderFrame = function(frameState) { for (i = 0, ii = layerStatesToDraw.length; i < ii; ++i) { layerState = layerStatesToDraw[i]; - layerRenderer = this.getLayerRenderer(layerState.layer); - goog.asserts.assertInstanceof(layerRenderer, ol.renderer.webgl.Layer, - 'renderer is an instance of ol.renderer.webgl.Layer'); + layerRenderer = /** @type {ol.renderer.webgl.Layer} */ (this.getLayerRenderer(layerState.layer)); layerRenderer.composeFrame(frameState, layerState, context); } diff --git a/src/ol/renderer/webgl/webgltilelayerrenderer.js b/src/ol/renderer/webgl/webgltilelayerrenderer.js index 381b32ec71..3789a9db5b 100644 --- a/src/ol/renderer/webgl/webgltilelayerrenderer.js +++ b/src/ol/renderer/webgl/webgltilelayerrenderer.js @@ -3,7 +3,6 @@ goog.provide('ol.renderer.webgl.TileLayer'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.TileRange'); goog.require('ol.TileState'); @@ -154,9 +153,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerS var viewState = frameState.viewState; var projection = viewState.projection; - var tileLayer = this.getLayer(); - goog.asserts.assertInstanceof(tileLayer, ol.layer.Tile, - 'layer is an instance of ol.layer.Tile'); + var tileLayer = /** @type {ol.layer.Tile} */ (this.getLayer()); var tileSource = tileLayer.getSource(); var tileGrid = tileSource.getTileGridForProjection(projection); var z = tileGrid.getZForResolution(viewState.resolution); @@ -261,7 +258,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame = function(frameState, layerS if (!drawable && tile.interimTile) { tile = tile.interimTile; } - goog.asserts.assert(tile); + ol.DEBUG && console.assert(tile); tileState = tile.getState(); if (tileState == ol.TileState.LOADED) { if (mapRenderer.isTileTextureLoaded(tile)) { diff --git a/src/ol/renderer/webgl/webglvectorlayerrenderer.js b/src/ol/renderer/webgl/webglvectorlayerrenderer.js index b0330014c5..6637109b44 100644 --- a/src/ol/renderer/webgl/webglvectorlayerrenderer.js +++ b/src/ol/renderer/webgl/webglvectorlayerrenderer.js @@ -1,6 +1,5 @@ goog.provide('ol.renderer.webgl.VectorLayer'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.ViewHint'); goog.require('ol.extent'); @@ -121,7 +120,7 @@ ol.renderer.webgl.VectorLayer.prototype.forEachFeatureAtCoordinate = function(co * @return {?} Callback result. */ function(feature) { - goog.asserts.assert(feature !== undefined, 'received a feature'); + ol.DEBUG && console.assert(feature !== undefined, 'received a feature'); var key = ol.getUid(feature).toString(); if (!(key in features)) { features[key] = true; @@ -182,8 +181,6 @@ ol.renderer.webgl.VectorLayer.prototype.handleStyleImageChange_ = function(event ol.renderer.webgl.VectorLayer.prototype.prepareFrame = function(frameState, layerState, context) { var vectorLayer = /** @type {ol.layer.Vector} */ (this.getLayer()); - goog.asserts.assertInstanceof(vectorLayer, ol.layer.Vector, - 'layer is an instance of ol.layer.Vector'); var vectorSource = vectorLayer.getSource(); this.updateAttributions( diff --git a/src/ol/reproj/image.js b/src/ol/reproj/image.js index c3c7d781ee..c2744bba48 100644 --- a/src/ol/reproj/image.js +++ b/src/ol/reproj/image.js @@ -1,6 +1,5 @@ goog.provide('ol.reproj.Image'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.ImageBase'); @@ -195,8 +194,8 @@ ol.reproj.Image.prototype.load = function() { * @private */ ol.reproj.Image.prototype.unlistenSource_ = function() { - goog.asserts.assert(this.sourceListenerKey_, + ol.DEBUG && console.assert(this.sourceListenerKey_, 'this.sourceListenerKey_ should not be null'); - ol.events.unlistenByKey(this.sourceListenerKey_); + ol.events.unlistenByKey(/** @type {!ol.EventsKey} */ (this.sourceListenerKey_)); this.sourceListenerKey_ = null; }; diff --git a/src/ol/reproj/tile.js b/src/ol/reproj/tile.js index cb3be0d89e..39aec3f06d 100644 --- a/src/ol/reproj/tile.js +++ b/src/ol/reproj/tile.js @@ -1,6 +1,5 @@ goog.provide('ol.reproj.Tile'); -goog.require('goog.asserts'); goog.require('ol.Tile'); goog.require('ol.TileState'); goog.require('ol.events'); @@ -182,9 +181,8 @@ ol.reproj.Tile = function(sourceProj, sourceTileGrid, sourceExtent, this.sourceZ_); var tilesRequired = sourceRange.getWidth() * sourceRange.getHeight(); - if (!goog.asserts.assert( - tilesRequired < ol.RASTER_REPROJECTION_MAX_SOURCE_TILES, - 'reasonable number of tiles is required')) { + if (ol.DEBUG && !(tilesRequired < ol.RASTER_REPROJECTION_MAX_SOURCE_TILES)) { + console.assert(false, 'reasonable number of tiles is required'); this.state = ol.TileState.ERROR; return; } @@ -286,7 +284,7 @@ ol.reproj.Tile.prototype.load = function() { var leftToLoad = 0; - goog.asserts.assert(!this.sourcesListenerKeys_, + ol.DEBUG && console.assert(!this.sourcesListenerKeys_, 'this.sourcesListenerKeys_ should be null'); this.sourcesListenerKeys_ = []; @@ -304,7 +302,7 @@ ol.reproj.Tile.prototype.load = function() { state == ol.TileState.EMPTY) { ol.events.unlistenByKey(sourceListenKey); leftToLoad--; - goog.asserts.assert(leftToLoad >= 0, + ol.DEBUG && console.assert(leftToLoad >= 0, 'leftToLoad should not be negative'); if (leftToLoad === 0) { this.unlistenSources_(); @@ -334,7 +332,7 @@ ol.reproj.Tile.prototype.load = function() { * @private */ ol.reproj.Tile.prototype.unlistenSources_ = function() { - goog.asserts.assert(this.sourcesListenerKeys_, + ol.DEBUG && console.assert(this.sourcesListenerKeys_, 'this.sourcesListenerKeys_ should not be null'); this.sourcesListenerKeys_.forEach(ol.events.unlistenByKey); this.sourcesListenerKeys_ = null; diff --git a/src/ol/reproj/triangulation.js b/src/ol/reproj/triangulation.js index 2647ee6432..5630cfa8bd 100644 --- a/src/ol/reproj/triangulation.js +++ b/src/ol/reproj/triangulation.js @@ -1,6 +1,5 @@ goog.provide('ol.reproj.Triangulation'); -goog.require('goog.asserts'); goog.require('ol.extent'); goog.require('ol.math'); goog.require('ol.proj'); @@ -118,7 +117,7 @@ ol.reproj.Triangulation = function(sourceProj, targetProj, targetExtent, // Fix coordinates (ol.proj returns wrapped coordinates, "unwrap" here). // This significantly simplifies the rest of the reprojection process. - goog.asserts.assert(this.sourceWorldWidth_ !== null); + ol.DEBUG && console.assert(this.sourceWorldWidth_ !== null); var leftBound = Infinity; this.triangles_.forEach(function(triangle, i, arr) { leftBound = Math.min(leftBound, @@ -202,6 +201,7 @@ ol.reproj.Triangulation.prototype.addQuad_ = function(a, b, c, d, var sourceQuadExtent = ol.extent.boundingExtent([aSrc, bSrc, cSrc, dSrc]); var sourceCoverageX = this.sourceWorldWidth_ ? ol.extent.getWidth(sourceQuadExtent) / this.sourceWorldWidth_ : null; + var sourceWorldWidth = /** @type {number} */ (this.sourceWorldWidth_); // when the quad is wrapped in the source projection // it covers most of the projection extent, but not fully @@ -251,12 +251,11 @@ ol.reproj.Triangulation.prototype.addQuad_ = function(a, b, c, d, var dx; if (wrapsX) { - goog.asserts.assert(this.sourceWorldWidth_); var centerSrcEstimX = - (ol.math.modulo(aSrc[0], this.sourceWorldWidth_) + - ol.math.modulo(cSrc[0], this.sourceWorldWidth_)) / 2; + (ol.math.modulo(aSrc[0], sourceWorldWidth) + + ol.math.modulo(cSrc[0], sourceWorldWidth)) / 2; dx = centerSrcEstimX - - ol.math.modulo(centerSrc[0], this.sourceWorldWidth_); + ol.math.modulo(centerSrc[0], sourceWorldWidth); } else { dx = (aSrc[0] + cSrc[0]) / 2 - centerSrc[0]; } diff --git a/src/ol/size.js b/src/ol/size.js index bcb64c01d9..6a23bef1e9 100644 --- a/src/ol/size.js +++ b/src/ol/size.js @@ -1,9 +1,6 @@ goog.provide('ol.size'); -goog.require('goog.asserts'); - - /** * Returns a buffered size. * @param {ol.Size} size Size. @@ -72,12 +69,10 @@ ol.size.toSize = function(size, opt_size) { if (Array.isArray(size)) { return size; } else { - goog.asserts.assert(typeof size === 'number'); if (opt_size === undefined) { opt_size = [size, size]; } else { - opt_size[0] = size; - opt_size[1] = size; + opt_size[0] = opt_size[1] = /** @type {number} */ (size); } return opt_size; } diff --git a/src/ol/source/bingmapssource.js b/src/ol/source/bingmapssource.js index 02595e2596..fd067936ca 100644 --- a/src/ol/source/bingmapssource.js +++ b/src/ol/source/bingmapssource.js @@ -1,6 +1,5 @@ goog.provide('ol.source.BingMaps'); -goog.require('goog.asserts'); goog.require('ol.Attribution'); goog.require('ol.TileRange'); goog.require('ol.TileUrlFunction'); @@ -91,7 +90,7 @@ ol.source.BingMaps.prototype.handleImageryMetadataResponse = function(response) } //var copyright = response.copyright; // FIXME do we need to display this? var resource = response.resourceSets[0].resources[0]; - goog.asserts.assert(resource.imageWidth == resource.imageHeight, + ol.DEBUG && console.assert(resource.imageWidth == resource.imageHeight, 'resource has imageWidth equal to imageHeight, i.e. is square'); var maxZoom = this.maxZoom_ == -1 ? resource.zoomMax : this.maxZoom_; @@ -122,7 +121,7 @@ ol.source.BingMaps.prototype.handleImageryMetadataResponse = function(response) * @return {string|undefined} Tile URL. */ function(tileCoord, pixelRatio, projection) { - goog.asserts.assert(ol.proj.equivalent( + ol.DEBUG && console.assert(ol.proj.equivalent( projection, sourceProjection), 'projections are equivalent'); if (!tileCoord) { diff --git a/src/ol/source/clustersource.js b/src/ol/source/clustersource.js index b4f191785f..8005e2bbf5 100644 --- a/src/ol/source/clustersource.js +++ b/src/ol/source/clustersource.js @@ -3,7 +3,6 @@ goog.provide('ol.source.Cluster'); -goog.require('goog.asserts'); goog.require('ol.Feature'); goog.require('ol.coordinate'); goog.require('ol.events.EventType'); @@ -55,9 +54,9 @@ ol.source.Cluster = function(options) { * @return {ol.geom.Point} Cluster calculation point. */ this.geometryFunction_ = options.geometryFunction || function(feature) { - var geometry = feature.getGeometry(); - goog.asserts.assert(geometry instanceof ol.geom.Point, - 'feature geometry is a ol.geom.Point instance'); + var geometry = /** @type {ol.geom.Point} */ (feature.getGeometry()); + ol.assert(geometry instanceof ol.geom.Point, + 10); // The default `geometryFunction` can only handle `ol.geom.Point` geometries return geometry; }; @@ -137,7 +136,7 @@ ol.source.Cluster.prototype.cluster_ = function() { ol.extent.buffer(extent, mapDistance, extent); var neighbors = this.source_.getFeaturesInExtent(extent); - goog.asserts.assert(neighbors.length >= 1, 'at least one neighbor found'); + ol.DEBUG && console.assert(neighbors.length >= 1, 'at least one neighbor found'); neighbors = neighbors.filter(function(neighbor) { var uid = ol.getUid(neighbor).toString(); if (!(uid in clustered)) { @@ -151,7 +150,7 @@ ol.source.Cluster.prototype.cluster_ = function() { } } } - goog.asserts.assert( + ol.DEBUG && console.assert( Object.keys(clustered).length == this.source_.getFeatures().length, 'number of clustered equals number of features in the source'); }; diff --git a/src/ol/source/imagearcgisrestsource.js b/src/ol/source/imagearcgisrestsource.js index 8e5aa11561..5d55481593 100644 --- a/src/ol/source/imagearcgisrestsource.js +++ b/src/ol/source/imagearcgisrestsource.js @@ -1,6 +1,5 @@ goog.provide('ol.source.ImageArcGISRest'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.Image'); goog.require('ol.events'); @@ -196,7 +195,7 @@ ol.source.ImageArcGISRest.prototype.getImageLoadFunction = function() { */ ol.source.ImageArcGISRest.prototype.getRequestUrl_ = function(extent, size, pixelRatio, projection, params) { - goog.asserts.assert(this.url_ !== undefined, 'url is defined'); + ol.DEBUG && console.assert(this.url_ !== undefined, 'url is defined'); // ArcGIS Server only wants the numeric portion of the projection ID. var srid = projection.getCode().split(':').pop(); @@ -213,7 +212,7 @@ ol.source.ImageArcGISRest.prototype.getRequestUrl_ = function(extent, size, pixe .replace(/MapServer\/?$/, 'MapServer/export') .replace(/ImageServer\/?$/, 'ImageServer/exportImage'); if (modifiedUrl == url) { - goog.asserts.fail('Unknown Rest Service', url); + ol.assert(false, 50); // `options.featureTypes` should be an Array } return ol.uri.appendParams(modifiedUrl, params); }; diff --git a/src/ol/source/imagesource.js b/src/ol/source/imagesource.js index b6a453f947..bb4637826e 100644 --- a/src/ol/source/imagesource.js +++ b/src/ol/source/imagesource.js @@ -1,7 +1,6 @@ goog.provide('ol.source.Image'); goog.provide('ol.source.ImageEvent'); -goog.require('goog.asserts'); goog.require('ol.events.Event'); goog.require('ol.ImageState'); goog.require('ol.array'); @@ -38,7 +37,7 @@ ol.source.Image = function(options) { */ this.resolutions_ = options.resolutions !== undefined ? options.resolutions : null; - goog.asserts.assert(!this.resolutions_ || + ol.DEBUG && console.assert(!this.resolutions_ || ol.array.isSorted(this.resolutions_, function(a, b) { return b - a; diff --git a/src/ol/source/imagevectorsource.js b/src/ol/source/imagevectorsource.js index 2326ab2e88..b772b74578 100644 --- a/src/ol/source/imagevectorsource.js +++ b/src/ol/source/imagevectorsource.js @@ -1,6 +1,5 @@ goog.provide('ol.source.ImageVector'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.transform'); @@ -169,7 +168,7 @@ ol.source.ImageVector.prototype.forEachFeatureAtCoordinate = function( * @return {?} Callback result. */ function(feature) { - goog.asserts.assert(feature !== undefined, 'passed a feature'); + ol.DEBUG && console.assert(feature !== undefined, 'passed a feature'); var key = ol.getUid(feature).toString(); if (!(key in features)) { features[key] = true; diff --git a/src/ol/source/imagewmssource.js b/src/ol/source/imagewmssource.js index 65be3ef9a8..ee2eb5bd85 100644 --- a/src/ol/source/imagewmssource.js +++ b/src/ol/source/imagewmssource.js @@ -2,7 +2,6 @@ goog.provide('ol.source.ImageWMS'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.Image'); goog.require('ol.events'); @@ -136,7 +135,7 @@ ol.source.ImageWMS.GETFEATUREINFO_IMAGE_SIZE_ = [101, 101]; */ ol.source.ImageWMS.prototype.getGetFeatureInfoUrl = function(coordinate, resolution, projection, params) { - goog.asserts.assert(!('VERSION' in params), + ol.DEBUG && console.assert(!('VERSION' in params), 'key VERSION is not allowed in params'); if (this.url_ === undefined) { @@ -269,7 +268,7 @@ ol.source.ImageWMS.prototype.getImageLoadFunction = function() { */ ol.source.ImageWMS.prototype.getRequestUrl_ = function(extent, size, pixelRatio, projection, params) { - goog.asserts.assert(this.url_ !== undefined, 'url is defined'); + ol.assert(this.url_ !== undefined, 9); // `url` must be configured or set using `#setUrl()` params[this.v13_ ? 'CRS' : 'SRS'] = projection.getCode(); @@ -295,7 +294,7 @@ ol.source.ImageWMS.prototype.getRequestUrl_ = function(extent, size, pixelRatio, params['DPI'] = 90 * pixelRatio; break; default: - goog.asserts.fail('unknown serverType configured'); + ol.assert(false, 8); // Unknown `serverType` configured break; } } @@ -312,7 +311,7 @@ ol.source.ImageWMS.prototype.getRequestUrl_ = function(extent, size, pixelRatio, } params['BBOX'] = bbox.join(','); - return ol.uri.appendParams(this.url_, params); + return ol.uri.appendParams(/** @type {string} */ (this.url_), params); }; diff --git a/src/ol/source/rastersource.js b/src/ol/source/rastersource.js index 46dcbb8cbc..48c90392b9 100644 --- a/src/ol/source/rastersource.js +++ b/src/ol/source/rastersource.js @@ -3,7 +3,6 @@ goog.provide('ol.source.Raster'); goog.provide('ol.source.RasterEvent'); goog.provide('ol.source.RasterEventType'); -goog.require('goog.asserts'); goog.require('ol.transform'); goog.require('ol.ImageCanvas'); goog.require('ol.TileQueue'); @@ -425,7 +424,7 @@ ol.source.Raster.createRenderer_ = function(source) { } else if (source instanceof ol.source.Image) { renderer = ol.source.Raster.createImageRenderer_(source); } else { - goog.asserts.fail('Unsupported source type: ' + source); + ol.DEBUG && console.assert(false, 'Unsupported source type: ' + source); } return renderer; }; diff --git a/src/ol/source/stamensource.js b/src/ol/source/stamensource.js index ba70a0af1f..762d16aa21 100644 --- a/src/ol/source/stamensource.js +++ b/src/ol/source/stamensource.js @@ -1,6 +1,5 @@ goog.provide('ol.source.Stamen'); -goog.require('goog.asserts'); goog.require('ol.Attribution'); goog.require('ol.source.OSM'); goog.require('ol.source.XYZ'); @@ -89,11 +88,11 @@ ol.source.Stamen = function(options) { var i = options.layer.indexOf('-'); var provider = i == -1 ? options.layer : options.layer.slice(0, i); - goog.asserts.assert(provider in ol.source.StamenProviderConfig, + ol.DEBUG && console.assert(provider in ol.source.StamenProviderConfig, 'known provider configured'); var providerConfig = ol.source.StamenProviderConfig[provider]; - goog.asserts.assert(options.layer in ol.source.StamenLayerConfig, + ol.DEBUG && console.assert(options.layer in ol.source.StamenLayerConfig, 'known layer configured'); var layerConfig = ol.source.StamenLayerConfig[options.layer]; diff --git a/src/ol/source/tilearcgisrestsource.js b/src/ol/source/tilearcgisrestsource.js index 6782273e86..9e4c2f62fe 100644 --- a/src/ol/source/tilearcgisrestsource.js +++ b/src/ol/source/tilearcgisrestsource.js @@ -1,6 +1,5 @@ goog.provide('ol.source.TileArcGISRest'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.extent'); goog.require('ol.object'); @@ -112,7 +111,7 @@ ol.source.TileArcGISRest.prototype.getRequestUrl_ = function(tileCoord, tileSize .replace(/MapServer\/?$/, 'MapServer/export') .replace(/ImageServer\/?$/, 'ImageServer/exportImage'); if (modifiedUrl == url) { - goog.asserts.fail('Unknown Rest Service', url); + ol.assert(false, 50); // Cannot determine Rest Service from url } return ol.uri.appendParams(modifiedUrl, params); }; diff --git a/src/ol/source/tileimagesource.js b/src/ol/source/tileimagesource.js index 9147c6a398..bbe20f3296 100644 --- a/src/ol/source/tileimagesource.js +++ b/src/ol/source/tileimagesource.js @@ -1,6 +1,5 @@ goog.provide('ol.source.TileImage'); -goog.require('goog.asserts'); goog.require('ol.ImageTile'); goog.require('ol.TileCache'); goog.require('ol.TileState'); @@ -175,7 +174,7 @@ ol.source.TileImage.prototype.getTileGridForProjection = function(projection) { this.tileGridForProjection[projKey] = ol.tilegrid.getForProjection(projection); } - return this.tileGridForProjection[projKey]; + return /** @type {!ol.tilegrid.TileGrid} */ (this.tileGridForProjection[projKey]); } }; @@ -207,7 +206,7 @@ ol.source.TileImage.prototype.getTileCacheForProjection = function(projection) { * @param {number} pixelRatio Pixel ratio. * @param {ol.proj.Projection} projection Projection. * @param {string} key The key set on the tile. - * @return {ol.Tile} Tile. + * @return {!ol.Tile} Tile. * @private */ ol.source.TileImage.prototype.createTile_ = function(z, x, y, pixelRatio, projection, key) { @@ -237,7 +236,7 @@ ol.source.TileImage.prototype.getTile = function(z, x, y, pixelRatio, projection !this.getProjection() || !projection || ol.proj.equivalent(this.getProjection(), projection)) { - return this.getTileInternal(z, x, y, pixelRatio, projection); + return this.getTileInternal(z, x, y, pixelRatio, /** @type {!ol.proj.Projection} */ (projection)); } else { var cache = this.getTileCacheForProjection(projection); var tileCoord = [z, x, y]; @@ -250,7 +249,7 @@ ol.source.TileImage.prototype.getTile = function(z, x, y, pixelRatio, projection if (tile && tile.key == key) { return tile; } else { - var sourceProjection = this.getProjection(); + var sourceProjection = /** @type {!ol.proj.Projection} */ (this.getProjection()); var sourceTileGrid = this.getTileGridForProjection(sourceProjection); var targetTileGrid = this.getTileGridForProjection(projection); var wrappedTileCoord = @@ -283,16 +282,15 @@ ol.source.TileImage.prototype.getTile = function(z, x, y, pixelRatio, projection * @param {number} x Tile coordinate x. * @param {number} y Tile coordinate y. * @param {number} pixelRatio Pixel ratio. - * @param {ol.proj.Projection} projection Projection. + * @param {!ol.proj.Projection} projection Projection. * @return {!ol.Tile} Tile. * @protected */ ol.source.TileImage.prototype.getTileInternal = function(z, x, y, pixelRatio, projection) { - var /** @type {ol.Tile} */ tile = null; + var tile = null; var tileCoordKey = this.getKeyZXY(z, x, y); var key = this.getKey(); if (!this.tileCache.containsKey(tileCoordKey)) { - goog.asserts.assert(projection, 'argument projection is truthy'); tile = this.createTile_(z, x, y, pixelRatio, projection, key); this.tileCache.set(tileCoordKey, tile); } else { @@ -303,8 +301,8 @@ ol.source.TileImage.prototype.getTileInternal = function(z, x, y, pixelRatio, pr // cases we attempt to assign an interim tile to the new tile. var /** @type {ol.Tile} */ interimTile = tile; if (tile.interimTile && tile.interimTile.key == key) { - goog.asserts.assert(tile.interimTile.getState() == ol.TileState.LOADED); - goog.asserts.assert(tile.interimTile.interimTile === null); + ol.DEBUG && console.assert(tile.interimTile.getState() == ol.TileState.LOADED); + ol.DEBUG && console.assert(tile.interimTile.interimTile === null); tile = tile.interimTile; if (interimTile.getState() == ol.TileState.LOADED) { tile.interimTile = interimTile; @@ -325,7 +323,6 @@ ol.source.TileImage.prototype.getTileInternal = function(z, x, y, pixelRatio, pr this.tileCache.replace(tileCoordKey, tile); } } - goog.asserts.assert(tile); return tile; }; diff --git a/src/ol/source/tilejsonsource.js b/src/ol/source/tilejsonsource.js index 877d19bc30..df71bc75d1 100644 --- a/src/ol/source/tilejsonsource.js +++ b/src/ol/source/tilejsonsource.js @@ -7,7 +7,6 @@ goog.provide('ol.source.TileJSON'); goog.provide('ol.tilejson'); -goog.require('goog.asserts'); goog.require('ol.Attribution'); goog.require('ol.TileRange'); goog.require('ol.TileUrlFunction'); @@ -118,7 +117,7 @@ ol.source.TileJSON.prototype.handleTileJSONResponse = function(tileJSON) { } if (tileJSON.scheme !== undefined) { - goog.asserts.assert(tileJSON.scheme == 'xyz', 'tileJSON-scheme is "xyz"'); + ol.DEBUG && console.assert(tileJSON.scheme == 'xyz', 'tileJSON-scheme is "xyz"'); } var minZoom = tileJSON.minzoom || 0; var maxZoom = tileJSON.maxzoom || 22; diff --git a/src/ol/source/tilesource.js b/src/ol/source/tilesource.js index b8554cc33f..99dca783e7 100644 --- a/src/ol/source/tilesource.js +++ b/src/ol/source/tilesource.js @@ -1,7 +1,6 @@ goog.provide('ol.source.Tile'); goog.provide('ol.source.TileEvent'); -goog.require('goog.asserts'); goog.require('ol.events.Event'); goog.require('ol'); goog.require('ol.TileCache'); @@ -217,7 +216,7 @@ ol.source.Tile.prototype.getTileGrid = function() { /** * @param {ol.proj.Projection} projection Projection. - * @return {ol.tilegrid.TileGrid} Tile grid. + * @return {!ol.tilegrid.TileGrid} Tile grid. */ ol.source.Tile.prototype.getTileGridForProjection = function(projection) { if (!this.tileGrid) { @@ -283,7 +282,7 @@ ol.source.Tile.prototype.getTileCoordForTileUrlFunction = function(tileCoord, op var projection = opt_projection !== undefined ? opt_projection : this.getProjection(); var tileGrid = this.getTileGridForProjection(projection); - goog.asserts.assert(tileGrid, 'tile grid needed'); + ol.DEBUG && console.assert(tileGrid, 'tile grid needed'); if (this.getWrapX() && projection.isGlobal()) { tileCoord = ol.tilecoord.wrapX(tileCoord, tileGrid, projection); } diff --git a/src/ol/source/tileutfgridsource.js b/src/ol/source/tileutfgridsource.js index 001c8c4901..b4cbc7b27b 100644 --- a/src/ol/source/tileutfgridsource.js +++ b/src/ol/source/tileutfgridsource.js @@ -1,6 +1,5 @@ goog.provide('ol.source.TileUTFGrid'); -goog.require('goog.asserts'); goog.require('goog.async.nextTick'); goog.require('ol.Attribution'); goog.require('ol.Tile'); @@ -69,7 +68,7 @@ ol.source.TileUTFGrid = function(options) { } else if (options.tileJSON) { this.handleTileJSONResponse(options.tileJSON); } else { - goog.asserts.fail('Either url or tileJSON options must be provided'); + ol.assert(false, 51); // Either `url` or `tileJSON` options must be provided } }; ol.inherits(ol.source.TileUTFGrid, ol.source.Tile); @@ -175,7 +174,7 @@ ol.source.TileUTFGrid.prototype.handleTileJSONResponse = function(tileJSON) { } if (tileJSON.scheme !== undefined) { - goog.asserts.assert(tileJSON.scheme == 'xyz', 'tileJSON-scheme is "xyz"'); + ol.DEBUG && console.assert(tileJSON.scheme == 'xyz', 'tileJSON-scheme is "xyz"'); } var minZoom = tileJSON.minzoom || 0; var maxZoom = tileJSON.maxzoom || 22; @@ -229,7 +228,7 @@ ol.source.TileUTFGrid.prototype.getTile = function(z, x, y, pixelRatio, projecti if (this.tileCache.containsKey(tileCoordKey)) { return /** @type {!ol.Tile} */ (this.tileCache.get(tileCoordKey)); } else { - goog.asserts.assert(projection, 'argument projection is truthy'); + ol.DEBUG && console.assert(projection, 'argument projection is truthy'); var tileCoord = [z, x, y]; var urlTileCoord = this.getTileCoordForTileUrlFunction(tileCoord, projection); diff --git a/src/ol/source/tilewmssource.js b/src/ol/source/tilewmssource.js index 9d5d407878..afe4a9f929 100644 --- a/src/ol/source/tilewmssource.js +++ b/src/ol/source/tilewmssource.js @@ -4,7 +4,6 @@ goog.provide('ol.source.TileWMS'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.extent'); goog.require('ol.object'); @@ -117,7 +116,7 @@ ol.inherits(ol.source.TileWMS, ol.source.TileImage); */ ol.source.TileWMS.prototype.getGetFeatureInfoUrl = function(coordinate, resolution, projection, params) { - goog.asserts.assert(!('VERSION' in params), + ol.DEBUG && console.assert(!('VERSION' in params), 'key VERSION is not allowed in params'); var projectionObj = ol.proj.get(projection); @@ -239,7 +238,7 @@ ol.source.TileWMS.prototype.getRequestUrl_ = function(tileCoord, tileSize, tileE params['DPI'] = 90 * pixelRatio; break; default: - goog.asserts.fail('unknown serverType configured'); + ol.assert(false, 52); // Unknown `serverType` configured break; } } diff --git a/src/ol/source/vectorsource.js b/src/ol/source/vectorsource.js index eba7612d26..af03040ac6 100644 --- a/src/ol/source/vectorsource.js +++ b/src/ol/source/vectorsource.js @@ -5,7 +5,6 @@ goog.provide('ol.source.Vector'); goog.provide('ol.source.VectorEvent'); goog.provide('ol.source.VectorEventType'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.Collection'); goog.require('ol.CollectionEventType'); @@ -105,10 +104,9 @@ ol.source.Vector = function(opt_options) { if (options.loader !== undefined) { this.loader_ = options.loader; } else if (this.url_ !== undefined) { - goog.asserts.assert(this.format_ !== undefined, - 'format must be set when url is set'); + ol.assert(this.format_, 7); // `format` must be set when `url` is set // create a XHR feature loader for "url" and "format" - this.loader_ = ol.featureloader.xhr(this.url_, this.format_); + this.loader_ = ol.featureloader.xhr(this.url_, /** @type {ol.format.Feature} */ (this.format_)); } /** @@ -234,7 +232,7 @@ ol.source.Vector.prototype.addFeatureInternal = function(feature) { * @private */ ol.source.Vector.prototype.setupChangeEvents_ = function(featureKey, feature) { - goog.asserts.assert(!(featureKey in this.featureChangeKeys_), + ol.DEBUG && console.assert(!(featureKey in this.featureChangeKeys_), 'key (%s) not yet registered in featureChangeKey', featureKey); this.featureChangeKeys_[featureKey] = [ ol.events.listen(feature, ol.events.EventType.CHANGE, @@ -262,8 +260,8 @@ ol.source.Vector.prototype.addToIndex_ = function(featureKey, feature) { valid = false; } } else { - goog.asserts.assert(!(featureKey in this.undefIdIndex_), - 'Feature already added to the source'); + ol.assert(!(featureKey in this.undefIdIndex_), + 30); // The passed `feature` was already added to the source this.undefIdIndex_[featureKey] = feature; } return valid; @@ -331,7 +329,7 @@ ol.source.Vector.prototype.addFeaturesInternal = function(features) { * @private */ ol.source.Vector.prototype.bindFeaturesCollection_ = function(collection) { - goog.asserts.assert(!this.featuresCollection_, + ol.DEBUG && console.assert(!this.featuresCollection_, 'bindFeaturesCollection can only be called once'); var modifyingCollection = false; ol.events.listen(this, ol.source.VectorEventType.ADDFEATURE, @@ -353,20 +351,16 @@ ol.source.Vector.prototype.bindFeaturesCollection_ = function(collection) { ol.events.listen(collection, ol.CollectionEventType.ADD, function(evt) { if (!modifyingCollection) { - var feature = evt.element; - goog.asserts.assertInstanceof(feature, ol.Feature); modifyingCollection = true; - this.addFeature(feature); + this.addFeature(/** @type {ol.Feature} */ (evt.element)); modifyingCollection = false; } }, this); ol.events.listen(collection, ol.CollectionEventType.REMOVE, function(evt) { if (!modifyingCollection) { - var feature = evt.element; - goog.asserts.assertInstanceof(feature, ol.Feature); modifyingCollection = true; - this.removeFeature(feature); + this.removeFeature(/** @type {ol.Feature} */ (evt.element)); modifyingCollection = false; } }, this); @@ -401,11 +395,11 @@ ol.source.Vector.prototype.clear = function(opt_fast) { if (this.featuresCollection_) { this.featuresCollection_.clear(); } - goog.asserts.assert(ol.object.isEmpty(this.featureChangeKeys_), + ol.DEBUG && console.assert(ol.object.isEmpty(this.featureChangeKeys_), 'featureChangeKeys is an empty object now'); - goog.asserts.assert(ol.object.isEmpty(this.idIndex_), + ol.DEBUG && console.assert(ol.object.isEmpty(this.idIndex_), 'idIndex is an empty object now'); - goog.asserts.assert(ol.object.isEmpty(this.undefIdIndex_), + ol.DEBUG && console.assert(ol.object.isEmpty(this.undefIdIndex_), 'undefIdIndex is an empty object now'); if (this.featuresRtree_) { @@ -458,7 +452,7 @@ ol.source.Vector.prototype.forEachFeatureAtCoordinateDirect = function(coordinat var extent = [coordinate[0], coordinate[1], coordinate[0], coordinate[1]]; return this.forEachFeatureInExtent(extent, function(feature) { var geometry = feature.getGeometry(); - goog.asserts.assert(geometry, 'feature geometry is defined and not null'); + ol.DEBUG && console.assert(geometry, 'feature geometry is defined and not null'); if (geometry.containsCoordinate(coordinate)) { return callback.call(opt_this, feature); } else { @@ -524,7 +518,7 @@ ol.source.Vector.prototype.forEachFeatureIntersectingExtent = function(extent, c */ function(feature) { var geometry = feature.getGeometry(); - goog.asserts.assert(geometry, + ol.DEBUG && console.assert(geometry, 'feature geometry is defined and not null'); if (geometry.intersectsExtent(extent)) { var result = callback.call(opt_this, feature); @@ -564,9 +558,7 @@ ol.source.Vector.prototype.getFeatures = function() { features, ol.object.getValues(this.nullGeometryFeatures_)); } } - goog.asserts.assert(features !== undefined, - 'Neither featuresRtree_ nor featuresCollection_ are available'); - return features; + return /** @type {Array.} */ (features); }; @@ -597,7 +589,7 @@ ol.source.Vector.prototype.getFeaturesAtCoordinate = function(coordinate) { * @api */ ol.source.Vector.prototype.getFeaturesInExtent = function(extent) { - goog.asserts.assert(this.featuresRtree_, + ol.DEBUG && console.assert(this.featuresRtree_, 'getFeaturesInExtent does not work when useSpatialIndex is set to false'); return this.featuresRtree_.getInExtent(extent); }; @@ -629,7 +621,7 @@ ol.source.Vector.prototype.getClosestFeatureToCoordinate = function(coordinate, var closestPoint = [NaN, NaN]; var minSquaredDistance = Infinity; var extent = [-Infinity, -Infinity, Infinity, Infinity]; - goog.asserts.assert(this.featuresRtree_, + ol.DEBUG && console.assert(this.featuresRtree_, 'getClosestFeatureToCoordinate does not work with useSpatialIndex set ' + 'to false'); var filter = opt_filter ? opt_filter : ol.functions.TRUE; @@ -640,7 +632,7 @@ ol.source.Vector.prototype.getClosestFeatureToCoordinate = function(coordinate, function(feature) { if (filter(feature)) { var geometry = feature.getGeometry(); - goog.asserts.assert(geometry, + ol.DEBUG && console.assert(geometry, 'feature geometry is defined and not null'); var previousMinSquaredDistance = minSquaredDistance; minSquaredDistance = geometry.closestPointXY( @@ -672,7 +664,7 @@ ol.source.Vector.prototype.getClosestFeatureToCoordinate = function(coordinate, * @api stable */ ol.source.Vector.prototype.getExtent = function() { - goog.asserts.assert(this.featuresRtree_, + ol.DEBUG && console.assert(this.featuresRtree_, 'getExtent does not work when useSpatialIndex is set to false'); return this.featuresRtree_.getExtent(); }; @@ -753,7 +745,7 @@ ol.source.Vector.prototype.handleFeatureChange_ = function(event) { } else { if (this.idIndex_[sid] !== feature) { removed = this.removeFromIdIndex_(feature); - goog.asserts.assert(removed, + ol.DEBUG && console.assert(removed, 'Expected feature to be removed from index'); this.idIndex_[sid] = feature; } @@ -761,11 +753,11 @@ ol.source.Vector.prototype.handleFeatureChange_ = function(event) { } else { if (!(featureKey in this.undefIdIndex_)) { removed = this.removeFromIdIndex_(feature); - goog.asserts.assert(removed, + ol.DEBUG && console.assert(removed, 'Expected feature to be removed from index'); this.undefIdIndex_[featureKey] = feature; } else { - goog.asserts.assert(this.undefIdIndex_[featureKey] === feature, + ol.DEBUG && console.assert(this.undefIdIndex_[featureKey] === feature, 'feature keyed under %s in undefIdKeys', featureKey); } } @@ -840,7 +832,7 @@ ol.source.Vector.prototype.removeFeature = function(feature) { */ ol.source.Vector.prototype.removeFeatureInternal = function(feature) { var featureKey = ol.getUid(feature).toString(); - goog.asserts.assert(featureKey in this.featureChangeKeys_, + ol.DEBUG && console.assert(featureKey in this.featureChangeKeys_, 'featureKey exists in featureChangeKeys'); this.featureChangeKeys_[featureKey].forEach(ol.events.unlistenByKey); delete this.featureChangeKeys_[featureKey]; diff --git a/src/ol/source/wmtssource.js b/src/ol/source/wmtssource.js index 700e8ace97..a481428d6f 100644 --- a/src/ol/source/wmtssource.js +++ b/src/ol/source/wmtssource.js @@ -1,7 +1,6 @@ goog.provide('ol.source.WMTS'); goog.provide('ol.source.WMTSRequestEncoding'); -goog.require('goog.asserts'); goog.require('ol.TileUrlFunction'); goog.require('ol.array'); goog.require('ol.extent'); @@ -308,16 +307,16 @@ ol.source.WMTS.prototype.updateDimensions = function(dimensions) { ol.source.WMTS.optionsFromCapabilities = function(wmtsCap, config) { // TODO: add support for TileMatrixLimits - goog.asserts.assert(config['layer'], + ol.DEBUG && console.assert(config['layer'], 'config "layer" must not be null'); var layers = wmtsCap['Contents']['Layer']; var l = ol.array.find(layers, function(elt, index, array) { return elt['Identifier'] == config['layer']; }); - goog.asserts.assert(l, 'found a matching layer in Contents/Layer'); + ol.DEBUG && console.assert(l, 'found a matching layer in Contents/Layer'); - goog.asserts.assert(l['TileMatrixSetLink'].length > 0, + ol.DEBUG && console.assert(l['TileMatrixSetLink'].length > 0, 'layer has TileMatrixSetLink'); var tileMatrixSets = wmtsCap['Contents']['TileMatrixSet']; var idx, matrixSet; @@ -347,7 +346,7 @@ ol.source.WMTS.optionsFromCapabilities = function(wmtsCap, config) { matrixSet = /** @type {string} */ (l['TileMatrixSetLink'][idx]['TileMatrixSet']); - goog.asserts.assert(matrixSet, 'TileMatrixSet must not be null'); + ol.DEBUG && console.assert(matrixSet, 'TileMatrixSet must not be null'); var format = /** @type {string} */ (l['Format'][0]); if ('format' in config) { @@ -371,12 +370,12 @@ ol.source.WMTS.optionsFromCapabilities = function(wmtsCap, config) { var key = elt['Identifier']; var value = elt['Default']; if (value !== undefined) { - goog.asserts.assert(ol.array.includes(elt['Value'], value), + ol.DEBUG && console.assert(ol.array.includes(elt['Value'], value), 'default value contained in values'); } else { value = elt['Value'][0]; } - goog.asserts.assert(value !== undefined, 'value could be found'); + ol.DEBUG && console.assert(value !== undefined, 'value could be found'); dimensions[key] = value; }); } @@ -385,7 +384,7 @@ ol.source.WMTS.optionsFromCapabilities = function(wmtsCap, config) { var matrixSetObj = ol.array.find(matrixSets, function(elt, index, array) { return elt['Identifier'] == matrixSet; }); - goog.asserts.assert(matrixSetObj, + ol.DEBUG && console.assert(matrixSetObj, 'found matrixSet in Contents/TileMatrixSet'); var projection; @@ -422,21 +421,21 @@ ol.source.WMTS.optionsFromCapabilities = function(wmtsCap, config) { var requestEncoding = config['requestEncoding']; requestEncoding = requestEncoding !== undefined ? requestEncoding : ''; - goog.asserts.assert( + ol.DEBUG && console.assert( ol.array.includes(['REST', 'RESTful', 'KVP', ''], requestEncoding), 'requestEncoding (%s) is one of "REST", "RESTful", "KVP" or ""', requestEncoding); if ('OperationsMetadata' in wmtsCap && 'GetTile' in wmtsCap['OperationsMetadata']) { var gets = wmtsCap['OperationsMetadata']['GetTile']['DCP']['HTTP']['Get']; - goog.asserts.assert(gets.length >= 1); + ol.DEBUG && console.assert(gets.length >= 1); for (var i = 0, ii = gets.length; i < ii; ++i) { var constraint = ol.array.find(gets[i]['Constraint'], function(element) { return element['name'] == 'GetEncoding'; }); var encodings = constraint['AllowedValues']['Value']; - goog.asserts.assert(encodings.length >= 1); + ol.DEBUG && console.assert(encodings.length >= 1); if (requestEncoding === '') { // requestEncoding not provided, use the first encoding from the list @@ -460,7 +459,7 @@ ol.source.WMTS.optionsFromCapabilities = function(wmtsCap, config) { } }); } - goog.asserts.assert(urls.length > 0, 'At least one URL found'); + ol.DEBUG && console.assert(urls.length > 0, 'At least one URL found'); return { urls: urls, diff --git a/src/ol/source/zoomifysource.js b/src/ol/source/zoomifysource.js index 0e2c7d01f4..daf1464ecb 100644 --- a/src/ol/source/zoomifysource.js +++ b/src/ol/source/zoomifysource.js @@ -1,6 +1,5 @@ goog.provide('ol.source.Zoomify'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.ImageTile'); goog.require('ol.TileState'); @@ -66,7 +65,7 @@ ol.source.Zoomify = function(opt_options) { } break; default: - goog.asserts.fail(); + ol.assert(false, 53); // Unknown `tierSizeCalculation` configured break; } diff --git a/src/ol/structs/lrucache.js b/src/ol/structs/lrucache.js index f44c55af5c..20e0f7c3e5 100644 --- a/src/ol/structs/lrucache.js +++ b/src/ol/structs/lrucache.js @@ -1,6 +1,5 @@ goog.provide('ol.structs.LRUCache'); -goog.require('goog.asserts'); goog.require('ol.object'); @@ -41,49 +40,51 @@ ol.structs.LRUCache = function() { }; -/** - * FIXME empty description for jsdoc - */ -ol.structs.LRUCache.prototype.assertValid = function() { - if (this.count_ === 0) { - goog.asserts.assert(ol.object.isEmpty(this.entries_), - 'entries must be an empty object (count = 0)'); - goog.asserts.assert(!this.oldest_, - 'oldest must be null (count = 0)'); - goog.asserts.assert(!this.newest_, - 'newest must be null (count = 0)'); - } else { - goog.asserts.assert(Object.keys(this.entries_).length == this.count_, - 'number of entries matches count'); - goog.asserts.assert(this.oldest_, - 'we have an oldest entry'); - goog.asserts.assert(!this.oldest_.older, - 'no entry is older than oldest'); - goog.asserts.assert(this.newest_, - 'we have a newest entry'); - goog.asserts.assert(!this.newest_.newer, - 'no entry is newer than newest'); - var i, entry; - var older = null; - i = 0; - for (entry = this.oldest_; entry; entry = entry.newer) { - goog.asserts.assert(entry.older === older, - 'entry.older links to correct older'); - older = entry; - ++i; +if (ol.DEBUG) { + /** + * FIXME empty description for jsdoc + */ + ol.structs.LRUCache.prototype.assertValid = function() { + if (this.count_ === 0) { + console.assert(ol.object.isEmpty(this.entries_), + 'entries must be an empty object (count = 0)'); + console.assert(!this.oldest_, + 'oldest must be null (count = 0)'); + console.assert(!this.newest_, + 'newest must be null (count = 0)'); + } else { + console.assert(Object.keys(this.entries_).length == this.count_, + 'number of entries matches count'); + console.assert(this.oldest_, + 'we have an oldest entry'); + console.assert(!this.oldest_.older, + 'no entry is older than oldest'); + console.assert(this.newest_, + 'we have a newest entry'); + console.assert(!this.newest_.newer, + 'no entry is newer than newest'); + var i, entry; + var older = null; + i = 0; + for (entry = this.oldest_; entry; entry = entry.newer) { + console.assert(entry.older === older, + 'entry.older links to correct older'); + older = entry; + ++i; + } + console.assert(i == this.count_, 'iterated correct amount of times'); + var newer = null; + i = 0; + for (entry = this.newest_; entry; entry = entry.older) { + console.assert(entry.newer === newer, + 'entry.newer links to correct newer'); + newer = entry; + ++i; + } + console.assert(i == this.count_, 'iterated correct amount of times'); } - goog.asserts.assert(i == this.count_, 'iterated correct amount of times'); - var newer = null; - i = 0; - for (entry = this.newest_; entry; entry = entry.older) { - goog.asserts.assert(entry.newer === newer, - 'entry.newer links to correct newer'); - newer = entry; - ++i; - } - goog.asserts.assert(i == this.count_, 'iterated correct amount of times'); - } -}; + }; +} /** @@ -129,7 +130,8 @@ ol.structs.LRUCache.prototype.forEach = function(f, opt_this) { */ ol.structs.LRUCache.prototype.get = function(key) { var entry = this.entries_[key]; - goog.asserts.assert(entry !== undefined, 'an entry exists for key %s', key); + ol.assert(entry !== undefined, + 15); // Tried to get a value for a key that does not exist in the cache if (entry === this.newest_) { return entry.value_; } else if (entry === this.oldest_) { @@ -165,7 +167,7 @@ ol.structs.LRUCache.prototype.getKeys = function() { for (entry = this.newest_; entry; entry = entry.older) { keys[i++] = entry.key_; } - goog.asserts.assert(i == this.count_, 'iterated correct number of times'); + ol.DEBUG && console.assert(i == this.count_, 'iterated correct number of times'); return keys; }; @@ -180,7 +182,7 @@ ol.structs.LRUCache.prototype.getValues = function() { for (entry = this.newest_; entry; entry = entry.older) { values[i++] = entry.value_; } - goog.asserts.assert(i == this.count_, 'iterated correct number of times'); + ol.DEBUG && console.assert(i == this.count_, 'iterated correct number of times'); return values; }; @@ -189,7 +191,7 @@ ol.structs.LRUCache.prototype.getValues = function() { * @return {T} Last value. */ ol.structs.LRUCache.prototype.peekLast = function() { - goog.asserts.assert(this.oldest_, 'oldest must not be null'); + ol.DEBUG && console.assert(this.oldest_, 'oldest must not be null'); return this.oldest_.value_; }; @@ -198,7 +200,7 @@ ol.structs.LRUCache.prototype.peekLast = function() { * @return {string} Last key. */ ol.structs.LRUCache.prototype.peekLastKey = function() { - goog.asserts.assert(this.oldest_, 'oldest must not be null'); + ol.DEBUG && console.assert(this.oldest_, 'oldest must not be null'); return this.oldest_.key_; }; @@ -207,10 +209,10 @@ ol.structs.LRUCache.prototype.peekLastKey = function() { * @return {T} value Value. */ ol.structs.LRUCache.prototype.pop = function() { - goog.asserts.assert(this.oldest_, 'oldest must not be null'); - goog.asserts.assert(this.newest_, 'newest must not be null'); + ol.DEBUG && console.assert(this.oldest_, 'oldest must not be null'); + ol.DEBUG && console.assert(this.newest_, 'newest must not be null'); var entry = this.oldest_; - goog.asserts.assert(entry.key_ in this.entries_, + ol.DEBUG && console.assert(entry.key_ in this.entries_, 'oldest is indexed in entries'); delete this.entries_[entry.key_]; if (entry.newer) { @@ -240,10 +242,10 @@ ol.structs.LRUCache.prototype.replace = function(key, value) { * @param {T} value Value. */ ol.structs.LRUCache.prototype.set = function(key, value) { - goog.asserts.assert(!(key in {}), + ol.DEBUG && console.assert(!(key in {}), 'key is not a standard property of objects (e.g. "__proto__")'); - goog.asserts.assert(!(key in this.entries_), - 'key is not used already'); + ol.assert(!(key in this.entries_), + 16); // Tried to set a value for a key that is used already var entry = /** @type {ol.LRUCacheEntry} */ ({ key_: key, newer: null, diff --git a/src/ol/structs/priorityqueue.js b/src/ol/structs/priorityqueue.js index d2c7702c26..35855d0e36 100644 --- a/src/ol/structs/priorityqueue.js +++ b/src/ol/structs/priorityqueue.js @@ -1,6 +1,5 @@ goog.provide('ol.structs.PriorityQueue'); -goog.require('goog.asserts'); goog.require('ol.object'); @@ -61,25 +60,27 @@ ol.structs.PriorityQueue = function(priorityFunction, keyFunction) { ol.structs.PriorityQueue.DROP = Infinity; -/** - * FIXME empty description for jsdoc - */ -ol.structs.PriorityQueue.prototype.assertValid = function() { - var elements = this.elements_; - var priorities = this.priorities_; - var n = elements.length; - goog.asserts.assert(priorities.length == n); - var i, priority; - for (i = 0; i < (n >> 1) - 1; ++i) { - priority = priorities[i]; - goog.asserts.assert(priority <= priorities[this.getLeftChildIndex_(i)], - 'priority smaller than or equal to priority of left child (%s <= %s)', - priority, priorities[this.getLeftChildIndex_(i)]); - goog.asserts.assert(priority <= priorities[this.getRightChildIndex_(i)], - 'priority smaller than or equal to priority of right child (%s <= %s)', - priority, priorities[this.getRightChildIndex_(i)]); - } -}; +if (ol.DEBUG) { + /** + * FIXME empty description for jsdoc + */ + ol.structs.PriorityQueue.prototype.assertValid = function() { + var elements = this.elements_; + var priorities = this.priorities_; + var n = elements.length; + console.assert(priorities.length == n); + var i, priority; + for (i = 0; i < (n >> 1) - 1; ++i) { + priority = priorities[i]; + console.assert(priority <= priorities[this.getLeftChildIndex_(i)], + 'priority smaller than or equal to priority of left child (%s <= %s)', + priority, priorities[this.getLeftChildIndex_(i)]); + console.assert(priority <= priorities[this.getRightChildIndex_(i)], + 'priority smaller than or equal to priority of right child (%s <= %s)', + priority, priorities[this.getRightChildIndex_(i)]); + } + }; +} /** @@ -98,7 +99,7 @@ ol.structs.PriorityQueue.prototype.clear = function() { */ ol.structs.PriorityQueue.prototype.dequeue = function() { var elements = this.elements_; - goog.asserts.assert(elements.length > 0, + ol.DEBUG && console.assert(elements.length > 0, 'must have elements in order to be able to dequeue'); var priorities = this.priorities_; var element = elements[0]; @@ -111,7 +112,7 @@ ol.structs.PriorityQueue.prototype.dequeue = function() { this.siftUp_(0); } var elementKey = this.keyFunction_(element); - goog.asserts.assert(elementKey in this.queuedElements_, + ol.DEBUG && console.assert(elementKey in this.queuedElements_, 'key %s is not listed as queued', elementKey); delete this.queuedElements_[elementKey]; return element; @@ -124,8 +125,8 @@ ol.structs.PriorityQueue.prototype.dequeue = function() { * @return {boolean} The element was added to the queue. */ ol.structs.PriorityQueue.prototype.enqueue = function(element) { - goog.asserts.assert(!(this.keyFunction_(element) in this.queuedElements_), - 'key %s is already listed as queued', this.keyFunction_(element)); + ol.assert(!(this.keyFunction_(element) in this.queuedElements_), + 31); // Tried to enqueue an `element` that was already added to the queue var priority = this.priorityFunction_(element); if (priority != ol.structs.PriorityQueue.DROP) { this.elements_.push(element); diff --git a/src/ol/structs/rbush.js b/src/ol/structs/rbush.js index 8d1da3932c..aabc695f42 100644 --- a/src/ol/structs/rbush.js +++ b/src/ol/structs/rbush.js @@ -1,6 +1,5 @@ goog.provide('ol.structs.RBush'); -goog.require('goog.asserts'); goog.require('ol.ext.rbush'); goog.require('ol.extent'); goog.require('ol.object'); @@ -60,7 +59,7 @@ ol.structs.RBush.prototype.insert = function(extent, value) { this.rbush_.insert(item); // remember the object that was added to the internal rbush - goog.asserts.assert(!(ol.getUid(value) in this.items_), + ol.DEBUG && console.assert(!(ol.getUid(value) in this.items_), 'uid (%s) of value (%s) already exists', ol.getUid(value), value); this.items_[ol.getUid(value)] = item; }; @@ -75,7 +74,7 @@ ol.structs.RBush.prototype.load = function(extents, values) { if (goog.DEBUG && this.readers_) { throw new Error('Can not insert values while reading'); } - goog.asserts.assert(extents.length === values.length, + ol.DEBUG && console.assert(extents.length === values.length, 'extens and values must have same length (%s === %s)', extents.length, values.length); @@ -93,7 +92,7 @@ ol.structs.RBush.prototype.load = function(extents, values) { value: value }; items[i] = item; - goog.asserts.assert(!(ol.getUid(value) in this.items_), + ol.DEBUG && console.assert(!(ol.getUid(value) in this.items_), 'uid (%s) of value (%s) already exists', ol.getUid(value), value); this.items_[ol.getUid(value)] = item; } @@ -111,7 +110,7 @@ ol.structs.RBush.prototype.remove = function(value) { throw new Error('Can not remove value while reading'); } var uid = ol.getUid(value); - goog.asserts.assert(uid in this.items_, + ol.DEBUG && console.assert(uid in this.items_, 'uid (%s) of value (%s) does not exist', uid, value); // get the object in which the value was wrapped when adding to the @@ -128,11 +127,10 @@ ol.structs.RBush.prototype.remove = function(value) { * @param {T} value Value. */ ol.structs.RBush.prototype.update = function(extent, value) { - var uid = ol.getUid(value); - goog.asserts.assert(uid in this.items_, - 'uid (%s) of value (%s) does not exist', uid, value); + ol.DEBUG && console.assert(ol.getUid(value) in this.items_, + 'uid (%s) of value (%s) does not exist', ol.getUid(value), value); - var item = this.items_[uid]; + var item = this.items_[ol.getUid(value)]; var bbox = [item.minX, item.minY, item.maxX, item.maxY]; if (!ol.extent.equals(bbox, extent)) { if (goog.DEBUG && this.readers_) { diff --git a/src/ol/style/atlasmanager.js b/src/ol/style/atlasmanager.js index e65a24faa5..ae4fe6832c 100644 --- a/src/ol/style/atlasmanager.js +++ b/src/ol/style/atlasmanager.js @@ -1,7 +1,6 @@ goog.provide('ol.style.Atlas'); goog.provide('ol.style.AtlasManager'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.dom'); @@ -85,9 +84,7 @@ ol.style.AtlasManager.prototype.getInfo = function(id) { if (!info) { return null; } - /** @type {?ol.AtlasInfo} */ - var hitInfo = this.getInfo_(this.hitAtlases_, id); - goog.asserts.assert(hitInfo, 'hitInfo must not be null'); + var hitInfo = /** @type {ol.AtlasInfo} */ (this.getInfo_(this.hitAtlases_, id)); return this.mergeInfos_(info, hitInfo); }; @@ -122,9 +119,9 @@ ol.style.AtlasManager.prototype.getInfo_ = function(atlases, id) { * entry, or `null` if the entry is not part of the atlases. */ ol.style.AtlasManager.prototype.mergeInfos_ = function(info, hitInfo) { - goog.asserts.assert(info.offsetX === hitInfo.offsetX, + ol.DEBUG && console.assert(info.offsetX === hitInfo.offsetX, 'in order to merge, offsetX of info and hitInfo must be equal'); - goog.asserts.assert(info.offsetY === hitInfo.offsetY, + ol.DEBUG && console.assert(info.offsetY === hitInfo.offsetY, 'in order to merge, offsetY of info and hitInfo must be equal'); return /** @type {ol.AtlasManagerInfo} */ ({ offsetX: info.offsetX, @@ -177,10 +174,8 @@ ol.style.AtlasManager.prototype.add = function(id, width, height, var renderHitCallback = opt_renderHitCallback !== undefined ? opt_renderHitCallback : ol.nullFunction; - /** @type {?ol.AtlasInfo} */ - var hitInfo = this.add_(true, - id, width, height, renderHitCallback, opt_this); - goog.asserts.assert(hitInfo, 'hitInfo must not be null'); + var hitInfo = /** @type {ol.AtlasInfo} */ (this.add_(true, + id, width, height, renderHitCallback, opt_this)); return this.mergeInfos_(info, hitInfo); }; @@ -225,7 +220,8 @@ ol.style.AtlasManager.prototype.add_ = function(isHitAtlas, id, width, height, ++ii; } } - goog.asserts.fail('Failed to add to atlasmanager'); + ol.DEBUG && console.assert(false, 'Failed to add to atlasmanager'); + return null; }; diff --git a/src/ol/style/circlestyle.js b/src/ol/style/circlestyle.js index be1adea29e..deab315710 100644 --- a/src/ol/style/circlestyle.js +++ b/src/ol/style/circlestyle.js @@ -1,6 +1,5 @@ goog.provide('ol.style.Circle'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.color'); goog.require('ol.colorlike'); @@ -289,7 +288,7 @@ ol.style.Circle.prototype.render_ = function(atlasManager) { var info = atlasManager.add( id, size, size, this.draw_.bind(this, renderOptions), renderHitDetectionCallback); - goog.asserts.assert(info, 'circle radius is too large'); + ol.DEBUG && console.assert(info, 'circle radius is too large'); this.canvas_ = info.image; this.origin_ = [info.offsetX, info.offsetY]; diff --git a/src/ol/style/iconstyle.js b/src/ol/style/iconstyle.js index b9df913d25..295bcbe3d7 100644 --- a/src/ol/style/iconstyle.js +++ b/src/ol/style/iconstyle.js @@ -3,7 +3,6 @@ goog.provide('ol.style.IconAnchorUnits'); goog.provide('ol.style.IconImageCache'); goog.provide('ol.style.IconOrigin'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventTarget'); goog.require('ol.events.EventType'); @@ -102,17 +101,16 @@ ol.style.Icon = function(opt_options) { */ var src = options.src; - goog.asserts.assert(!(src !== undefined && image), - 'image and src can not provided at the same time'); - goog.asserts.assert( - !image || (image && imgSize), - 'imgSize must be set when image is provided'); + ol.assert(!(src !== undefined && image), + 4); // `image` and `src` cannot be provided at the same time + ol.assert(!image || (image && imgSize), + 5); // `imgSize` must be set when `image` is provided if ((src === undefined || src.length === 0) && image) { src = image.src || ol.getUid(image).toString(); } - goog.asserts.assert(src !== undefined && src.length > 0, - 'must provide a defined and non-empty src or image'); + ol.assert(src !== undefined && src.length > 0, + 6); // A defined and non-empty `src` or `image` must be provided /** * @type {ol.style.ImageState} @@ -131,7 +129,7 @@ ol.style.Icon = function(opt_options) { * @type {ol.style.IconImage_} */ this.iconImage_ = ol.style.IconImage_.get( - image, src, imgSize, crossOrigin, imageState, color); + image, /** @type {string} */ (src), imgSize, crossOrigin, imageState, color); /** * @private @@ -578,9 +576,9 @@ ol.style.IconImage_.prototype.getSrc = function() { */ ol.style.IconImage_.prototype.load = function() { if (this.imageState_ == ol.style.ImageState.IDLE) { - goog.asserts.assert(this.src_ !== undefined, + ol.DEBUG && console.assert(this.src_ !== undefined, 'this.src_ must not be undefined'); - goog.asserts.assert(!this.imageListenerKeys_, + ol.DEBUG && console.assert(!this.imageListenerKeys_, 'no listener keys existing'); this.imageState_ = ol.style.ImageState.LOADING; this.imageListenerKeys_ = [ @@ -606,7 +604,7 @@ ol.style.IconImage_.prototype.replaceColor_ = function() { return; } - goog.asserts.assert(this.canvas_ !== null, + ol.DEBUG && console.assert(this.canvas_ !== null, 'this.canvas_ must not be null'); this.canvas_.width = this.image_.width; @@ -636,7 +634,7 @@ ol.style.IconImage_.prototype.replaceColor_ = function() { * @private */ ol.style.IconImage_.prototype.unlistenImage_ = function() { - goog.asserts.assert(this.imageListenerKeys_, + ol.DEBUG && console.assert(this.imageListenerKeys_, 'we must have listeners registered'); this.imageListenerKeys_.forEach(ol.events.unlistenByKey); this.imageListenerKeys_ = null; @@ -677,7 +675,7 @@ goog.addSingletonGetter(ol.style.IconImageCache); * @return {string} Cache key. */ ol.style.IconImageCache.getKey = function(src, crossOrigin, color) { - goog.asserts.assert(crossOrigin !== undefined, + ol.DEBUG && console.assert(crossOrigin !== undefined, 'argument crossOrigin must be defined'); var colorString = color ? ol.color.asString(color) : 'null'; return crossOrigin + ':' + src + ':' + colorString; diff --git a/src/ol/style/regularshapestyle.js b/src/ol/style/regularshapestyle.js index a6da00c84e..4ff1f1210c 100644 --- a/src/ol/style/regularshapestyle.js +++ b/src/ol/style/regularshapestyle.js @@ -1,6 +1,5 @@ goog.provide('ol.style.RegularShape'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.color'); goog.require('ol.colorlike'); @@ -27,7 +26,7 @@ goog.require('ol.style.Stroke'); */ ol.style.RegularShape = function(options) { - goog.asserts.assert( + ol.DEBUG && console.assert( options.radius !== undefined || options.radius1 !== undefined, 'must provide either "radius" or "radius1"'); @@ -367,7 +366,7 @@ ol.style.RegularShape.prototype.render_ = function(atlasManager) { var info = atlasManager.add( id, size, size, this.draw_.bind(this, renderOptions), renderHitDetectionCallback); - goog.asserts.assert(info, 'shape size is too large'); + ol.DEBUG && console.assert(info, 'shape size is too large'); this.canvas_ = info.image; this.origin_ = [info.offsetX, info.offsetY]; diff --git a/src/ol/style/style.js b/src/ol/style/style.js index 55a725b975..fc5526e9b1 100644 --- a/src/ol/style/style.js +++ b/src/ol/style/style.js @@ -1,6 +1,5 @@ goog.provide('ol.style.Style'); -goog.require('goog.asserts'); goog.require('ol.geom.Geometry'); goog.require('ol.geom.GeometryType'); goog.require('ol.style.Circle'); @@ -159,20 +158,13 @@ ol.style.Style.prototype.setGeometry = function(geometry) { this.geometryFunction_ = geometry; } else if (typeof geometry === 'string') { this.geometryFunction_ = function(feature) { - var result = feature.get(geometry); - if (result) { - goog.asserts.assertInstanceof(result, ol.geom.Geometry, - 'feature geometry must be an ol.geom.Geometry instance'); - } - return result; + return /** @type {ol.geom.Geometry} */ (feature.get(geometry)); }; } else if (!geometry) { this.geometryFunction_ = ol.style.defaultGeometryFunction; } else if (geometry !== undefined) { - goog.asserts.assertInstanceof(geometry, ol.geom.Geometry, - 'geometry must be an ol.geom.Geometry instance'); this.geometryFunction_ = function() { - return geometry; + return /** @type {ol.geom.Geometry} */ (geometry); }; } this.geometry_ = geometry; @@ -211,8 +203,8 @@ ol.style.createStyleFunction = function(obj) { if (Array.isArray(obj)) { styles = obj; } else { - goog.asserts.assertInstanceof(obj, ol.style.Style, - 'obj geometry must be an ol.style.Style instance'); + ol.assert(obj instanceof ol.style.Style, + 41); // Expected an `ol.style.Style` or an array of `ol.style.Style` styles = [obj]; } styleFunction = function() { @@ -343,6 +335,6 @@ ol.style.createDefaultEditingStyles = function() { * @return {ol.geom.Geometry|ol.render.Feature|undefined} Geometry to render. */ ol.style.defaultGeometryFunction = function(feature) { - goog.asserts.assert(feature, 'feature must not be null'); + ol.DEBUG && console.assert(feature, 'feature must not be null'); return feature.getGeometry(); }; diff --git a/src/ol/tilecoord.js b/src/ol/tilecoord.js index c493d6587a..bb1f69ead2 100644 --- a/src/ol/tilecoord.js +++ b/src/ol/tilecoord.js @@ -1,6 +1,5 @@ goog.provide('ol.tilecoord'); -goog.require('goog.asserts'); goog.require('ol.extent'); @@ -22,7 +21,7 @@ ol.QuadKeyCharCode = { */ ol.tilecoord.createFromString = function(str) { var v = str.split('/'); - goog.asserts.assert(v.length === 3, + ol.DEBUG && console.assert(v.length === 3, 'must provide a string in "z/x/y" format, got "%s"', str); return v.map(function(e) { return parseInt(e, 10); diff --git a/src/ol/tilegrid/tilegrid.js b/src/ol/tilegrid/tilegrid.js index 6494bcc294..312297e623 100644 --- a/src/ol/tilegrid/tilegrid.js +++ b/src/ol/tilegrid/tilegrid.js @@ -1,6 +1,5 @@ goog.provide('ol.tilegrid.TileGrid'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.TileRange'); goog.require('ol.array'); @@ -39,9 +38,9 @@ ol.tilegrid.TileGrid = function(options) { * @type {!Array.} */ this.resolutions_ = options.resolutions; - goog.asserts.assert(ol.array.isSorted(this.resolutions_, function(a, b) { + ol.assert(ol.array.isSorted(this.resolutions_, function(a, b) { return b - a; - }, true), 'resolutions must be sorted in descending order'); + }, true), 17); // `resolutions` must be sorted in descending order /** * @protected @@ -62,8 +61,8 @@ ol.tilegrid.TileGrid = function(options) { this.origins_ = null; if (options.origins !== undefined) { this.origins_ = options.origins; - goog.asserts.assert(this.origins_.length == this.resolutions_.length, - 'number of origins and resolutions must be equal'); + ol.assert(this.origins_.length == this.resolutions_.length, + 20); // Number of `origins` and `resolutions` must be equal } var extent = options.extent; @@ -73,10 +72,9 @@ ol.tilegrid.TileGrid = function(options) { this.origin_ = ol.extent.getTopLeft(extent); } - goog.asserts.assert( - (!this.origin_ && this.origins_) || - (this.origin_ && !this.origins_), - 'either origin or origins must be configured, never both'); + ol.assert( + (!this.origin_ && this.origins_) || (this.origin_ && !this.origins_), + 18); // Either `origin` or `origins` must be configured, never both /** * @private @@ -85,8 +83,8 @@ ol.tilegrid.TileGrid = function(options) { this.tileSizes_ = null; if (options.tileSizes !== undefined) { this.tileSizes_ = options.tileSizes; - goog.asserts.assert(this.tileSizes_.length == this.resolutions_.length, - 'number of tileSizes and resolutions must be equal'); + ol.assert(this.tileSizes_.length == this.resolutions_.length, + 19); // Number of `tileSizes` and `resolutions` must be equal } /** @@ -96,10 +94,10 @@ ol.tilegrid.TileGrid = function(options) { this.tileSize_ = options.tileSize !== undefined ? options.tileSize : !this.tileSizes_ ? ol.DEFAULT_TILE_SIZE : null; - goog.asserts.assert( + ol.assert( (!this.tileSize_ && this.tileSizes_) || (this.tileSize_ && !this.tileSizes_), - 'either tileSize or tileSizes must be configured, never both'); + 22); // Either `tileSize` or `tileSizes` must be configured, never both /** * @private @@ -121,18 +119,18 @@ ol.tilegrid.TileGrid = function(options) { this.tmpSize_ = [0, 0]; if (options.sizes !== undefined) { - goog.asserts.assert(options.sizes.length == this.resolutions_.length, + ol.DEBUG && console.assert(options.sizes.length == this.resolutions_.length, 'number of sizes and resolutions must be equal'); this.fullTileRanges_ = options.sizes.map(function(size, z) { - goog.asserts.assert(size[0] !== 0, 'width must not be 0'); - goog.asserts.assert(size[1] !== 0, 'height must not be 0'); + ol.DEBUG && console.assert(size[0] !== 0, 'width must not be 0'); + ol.DEBUG && console.assert(size[1] !== 0, 'height must not be 0'); var tileRange = new ol.TileRange( Math.min(0, size[0]), Math.max(size[0] - 1, -1), Math.min(0, size[1]), Math.max(size[1] - 1, -1)); if (this.minZoom <= z && z <= this.maxZoom && extent !== undefined) { - goog.asserts.assert(tileRange.containsTileRange( + ol.assert(tileRange.containsTileRange( this.getTileRangeForExtentAndZ(extent, z)), - 'extent tile range must not exceed tilegrid width and height'); + 21); // Tile range for `extent` must not exceed tilegrid width and height } return tileRange; }, this); @@ -230,9 +228,9 @@ ol.tilegrid.TileGrid.prototype.getOrigin = function(z) { if (this.origin_) { return this.origin_; } else { - goog.asserts.assert(this.origins_, + ol.DEBUG && console.assert(this.origins_, 'origins cannot be null if origin is null'); - goog.asserts.assert(this.minZoom <= z && z <= this.maxZoom, + ol.DEBUG && console.assert(this.minZoom <= z && z <= this.maxZoom, 'given z is not in allowed range (%s <= %s <= %s)', this.minZoom, z, this.maxZoom); return this.origins_[z]; @@ -247,7 +245,7 @@ ol.tilegrid.TileGrid.prototype.getOrigin = function(z) { * @api stable */ ol.tilegrid.TileGrid.prototype.getResolution = function(z) { - goog.asserts.assert(this.minZoom <= z && z <= this.maxZoom, + ol.DEBUG && console.assert(this.minZoom <= z && z <= this.maxZoom, 'given z is not in allowed range (%s <= %s <= %s)', this.minZoom, z, this.maxZoom); return this.resolutions_[z]; @@ -440,7 +438,7 @@ ol.tilegrid.TileGrid.prototype.getTileCoordForCoordAndZ = function(coordinate, z * @return {number} Tile resolution. */ ol.tilegrid.TileGrid.prototype.getTileCoordResolution = function(tileCoord) { - goog.asserts.assert( + ol.DEBUG && console.assert( this.minZoom <= tileCoord[0] && tileCoord[0] <= this.maxZoom, 'z of given tilecoord is not in allowed range (%s <= %s <= %s', this.minZoom, tileCoord[0], this.maxZoom); @@ -460,9 +458,9 @@ ol.tilegrid.TileGrid.prototype.getTileSize = function(z) { if (this.tileSize_) { return this.tileSize_; } else { - goog.asserts.assert(this.tileSizes_, + ol.DEBUG && console.assert(this.tileSizes_, 'tileSizes cannot be null if tileSize is null'); - goog.asserts.assert(this.minZoom <= z && z <= this.maxZoom, + ol.DEBUG && console.assert(this.minZoom <= z && z <= this.maxZoom, 'z is not in allowed range (%s <= %s <= %s', this.minZoom, z, this.maxZoom); return this.tileSizes_[z]; @@ -478,7 +476,7 @@ ol.tilegrid.TileGrid.prototype.getFullTileRange = function(z) { if (!this.fullTileRanges_) { return null; } else { - goog.asserts.assert(this.minZoom <= z && z <= this.maxZoom, + ol.DEBUG && console.assert(this.minZoom <= z && z <= this.maxZoom, 'z is not in allowed range (%s <= %s <= %s', this.minZoom, z, this.maxZoom); return this.fullTileRanges_[z]; @@ -518,7 +516,7 @@ ol.tilegrid.TileGrid.prototype.calculateTileRanges_ = function(extent) { /** * @param {ol.proj.Projection} projection Projection. - * @return {ol.tilegrid.TileGrid} Default tile grid for the passed projection. + * @return {!ol.tilegrid.TileGrid} Default tile grid for the passed projection. */ ol.tilegrid.getForProjection = function(projection) { var tileGrid = projection.getDefaultTileGrid(); @@ -538,7 +536,7 @@ ol.tilegrid.getForProjection = function(projection) { * ol.DEFAULT_TILE_SIZE). * @param {ol.extent.Corner=} opt_corner Extent corner (default is * ol.extent.Corner.TOP_LEFT). - * @return {ol.tilegrid.TileGrid} TileGrid instance. + * @return {!ol.tilegrid.TileGrid} TileGrid instance. */ ol.tilegrid.createForExtent = function(extent, opt_maxZoom, opt_tileSize, opt_corner) { var corner = opt_corner !== undefined ? @@ -614,7 +612,7 @@ ol.tilegrid.resolutionsFromExtent = function(extent, opt_maxZoom, opt_tileSize) * @param {ol.Size=} opt_tileSize Tile size (default uses ol.DEFAULT_TILE_SIZE). * @param {ol.extent.Corner=} opt_corner Extent corner (default is * ol.extent.Corner.BOTTOM_LEFT). - * @return {ol.tilegrid.TileGrid} TileGrid instance. + * @return {!ol.tilegrid.TileGrid} TileGrid instance. */ ol.tilegrid.createForProjection = function(projection, opt_maxZoom, opt_tileSize, opt_corner) { var extent = ol.tilegrid.extentFromProjection(projection); diff --git a/src/ol/tilegrid/wmtstilegrid.js b/src/ol/tilegrid/wmtstilegrid.js index 3b914b2097..4100c6ffd9 100644 --- a/src/ol/tilegrid/wmtstilegrid.js +++ b/src/ol/tilegrid/wmtstilegrid.js @@ -1,6 +1,5 @@ goog.provide('ol.tilegrid.WMTS'); -goog.require('goog.asserts'); goog.require('ol.proj'); goog.require('ol.tilegrid.TileGrid'); @@ -17,7 +16,7 @@ goog.require('ol.tilegrid.TileGrid'); */ ol.tilegrid.WMTS = function(options) { - goog.asserts.assert( + ol.DEBUG && console.assert( options.resolutions.length == options.matrixIds.length, 'options resolutions and matrixIds must have equal length (%s == %s)', options.resolutions.length, options.matrixIds.length); @@ -48,7 +47,7 @@ ol.inherits(ol.tilegrid.WMTS, ol.tilegrid.TileGrid); * @return {string} MatrixId.. */ ol.tilegrid.WMTS.prototype.getMatrixId = function(z) { - goog.asserts.assert(0 <= z && z < this.matrixIds_.length, + ol.DEBUG && console.assert(0 <= z && z < this.matrixIds_.length, 'attempted to retrive matrixId for illegal z (%s)', z); return this.matrixIds_[z]; }; diff --git a/src/ol/tilequeue.js b/src/ol/tilequeue.js index be99eece01..fe203218fc 100644 --- a/src/ol/tilequeue.js +++ b/src/ol/tilequeue.js @@ -1,6 +1,5 @@ goog.provide('ol.TileQueue'); -goog.require('goog.asserts'); goog.require('ol.events'); goog.require('ol.events.EventType'); goog.require('ol.TileState'); @@ -97,7 +96,7 @@ ol.TileQueue.prototype.handleTileChange = function(event) { } this.tileChangeCallback_(); } - goog.asserts.assert(Object.keys(this.tilesLoadingKeys_).length === this.tilesLoading_); + ol.DEBUG && console.assert(Object.keys(this.tilesLoadingKeys_).length === this.tilesLoading_); }; @@ -118,6 +117,6 @@ ol.TileQueue.prototype.loadMoreTiles = function(maxTotalLoading, maxNewLoads) { ++newLoads; tile.load(); } - goog.asserts.assert(Object.keys(this.tilesLoadingKeys_).length === this.tilesLoading_); + ol.DEBUG && console.assert(Object.keys(this.tilesLoadingKeys_).length === this.tilesLoading_); } }; diff --git a/src/ol/tilerange.js b/src/ol/tilerange.js index c35488b86d..727bc08771 100644 --- a/src/ol/tilerange.js +++ b/src/ol/tilerange.js @@ -1,7 +1,5 @@ goog.provide('ol.TileRange'); -goog.require('goog.asserts'); - /** * A representation of a contiguous block of tiles. A tile range is specified @@ -56,8 +54,8 @@ ol.TileRange.boundingTileRange = function(var_args) { tileCoordZ = tileCoord[0]; tileCoordX = tileCoord[1]; tileCoordY = tileCoord[2]; - goog.asserts.assert(tileCoordZ == tileCoord0Z, - 'passed tilecoords all have the same Z-value'); + ol.assert(tileCoordZ == tileCoord0Z, + 23); // The passed `ol.TileCoord`s must all have the same `z` value tileRange.minX = Math.min(tileRange.minX, tileCoordX); tileRange.maxX = Math.max(tileRange.maxX, tileCoordX); tileRange.minY = Math.min(tileRange.minY, tileCoordY); diff --git a/src/ol/tileurlfunction.js b/src/ol/tileurlfunction.js index 7ff9bf65e9..a6c3bfc7b7 100644 --- a/src/ol/tileurlfunction.js +++ b/src/ol/tileurlfunction.js @@ -1,6 +1,5 @@ goog.provide('ol.TileUrlFunction'); -goog.require('goog.asserts'); goog.require('ol.math'); goog.require('ol.tilecoord'); @@ -35,7 +34,7 @@ ol.TileUrlFunction.createFromTemplate = function(template, tileGrid) { .replace(dashYRegEx, function() { var z = tileCoord[0]; var range = tileGrid.getFullTileRange(z); - goog.asserts.assert(range, + ol.DEBUG && console.assert(range, 'The {-y} template requires a tile grid with extent'); var y = range.getHeight() + tileCoord[2]; return y.toString(); @@ -66,7 +65,7 @@ ol.TileUrlFunction.createFromTemplates = function(templates, tileGrid) { * @return {ol.TileUrlFunctionType} Tile URL function. */ ol.TileUrlFunction.createFromTileUrlFunctions = function(tileUrlFunctions) { - goog.asserts.assert(tileUrlFunctions.length > 0, + ol.DEBUG && console.assert(tileUrlFunctions.length > 0, 'Length of tile url functions should be greater than 0'); if (tileUrlFunctions.length === 1) { return tileUrlFunctions[0]; diff --git a/src/ol/transform.js b/src/ol/transform.js index b028d13158..ec8dd97147 100644 --- a/src/ol/transform.js +++ b/src/ol/transform.js @@ -199,7 +199,7 @@ ol.transform.compose = function(transform, dx1, dy1, sx, sy, angle, dx2, dy2) { */ ol.transform.invert = function(transform) { var det = ol.transform.determinant(transform); - goog.asserts.assert(det !== 0, 'Transformation matrix cannot be inverted.'); + ol.assert(det !== 0, 32); // Transformation matrix cannot be inverted var a = transform[0]; var b = transform[1]; diff --git a/src/ol/typedefs.js b/src/ol/typedefs.js index bf1b79d9d4..40742dbe3d 100644 --- a/src/ol/typedefs.js +++ b/src/ol/typedefs.js @@ -343,7 +343,7 @@ ol.Transform; * @typedef {{depth: (Array.|undefined), * feature: ol.Feature, * geometry: ol.geom.SimpleGeometry, - * index: (number|undefined), + * index: (number), * segment: Array.}} */ ol.ModifySegmentDataType; diff --git a/src/ol/view.js b/src/ol/view.js index eb8e75da8f..8adb85dddd 100644 --- a/src/ol/view.js +++ b/src/ol/view.js @@ -2,7 +2,6 @@ goog.provide('ol.View'); goog.provide('ol.ViewHint'); goog.provide('ol.ViewProperty'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.CenterConstraint'); goog.require('ol.Constraints'); @@ -290,14 +289,12 @@ ol.View.prototype.getHints = function(opt_hints) { * @api stable */ ol.View.prototype.calculateExtent = function(size) { - var center = this.getCenter(); - goog.asserts.assert(center, 'The view center is not defined'); - var resolution = this.getResolution(); - goog.asserts.assert(resolution !== undefined, - 'The view resolution is not defined'); - var rotation = this.getRotation(); - goog.asserts.assert(rotation !== undefined, - 'The view rotation is not defined'); + var center = /** @type {!ol.Coordinate} */ (this.getCenter()); + ol.assert(center, 1); // The view center is not defined + var resolution = /** @type {!number} */ (this.getResolution()); + ol.assert(resolution !== undefined, 2); // The view resolution is not defined + var rotation = /** @type {!number} */ (this.getRotation()); + ol.assert(rotation !== undefined, 3); // The view rotation is not defined return ol.extent.getForViewAndSize(center, resolution, rotation, size); }; @@ -388,7 +385,7 @@ ol.View.prototype.getResolutionForValueFunction = function(opt_power) { */ function(value) { var resolution = maxResolution / Math.pow(power, value * max); - goog.asserts.assert(resolution >= minResolution && + ol.DEBUG && console.assert(resolution >= minResolution && resolution <= maxResolution, 'calculated resolution outside allowed bounds (%s <= %s <= %s)', minResolution, resolution, maxResolution); @@ -427,7 +424,7 @@ ol.View.prototype.getValueForResolutionFunction = function(opt_power) { function(resolution) { var value = (Math.log(maxResolution / resolution) / Math.log(power)) / max; - goog.asserts.assert(value >= 0 && value <= 1, + ol.DEBUG && console.assert(value >= 0 && value <= 1, 'calculated value (%s) ouside allowed range (0-1)', value); return value; }); @@ -438,7 +435,7 @@ ol.View.prototype.getValueForResolutionFunction = function(opt_power) { * @return {olx.ViewState} View state. */ ol.View.prototype.getState = function() { - goog.asserts.assert(this.isDef(), + ol.DEBUG && console.assert(this.isDef(), 'the view was not defined (had no center and/or resolution)'); var center = /** @type {ol.Coordinate} */ (this.getCenter()); var projection = this.getProjection(); @@ -496,10 +493,10 @@ ol.View.prototype.getZoom = function() { */ ol.View.prototype.fit = function(geometry, size, opt_options) { if (!(geometry instanceof ol.geom.SimpleGeometry)) { - goog.asserts.assert(Array.isArray(geometry), - 'invalid extent or geometry'); - goog.asserts.assert(!ol.extent.isEmpty(geometry), - 'cannot fit empty extent'); + ol.assert(Array.isArray(geometry), + 24); // Invalid extent or geometry provided as `geometry` + ol.assert(!ol.extent.isEmpty(geometry), + 25); // Cannot fit empty extent provided as `geometry` geometry = ol.geom.Polygon.fromExtent(geometry); } @@ -522,7 +519,7 @@ ol.View.prototype.fit = function(geometry, size, opt_options) { // calculate rotated extent var rotation = this.getRotation(); - goog.asserts.assert(rotation !== undefined, 'rotation was not defined'); + ol.DEBUG && console.assert(rotation !== undefined, 'rotation was not defined'); var cosAngle = Math.cos(-rotation); var sinAngle = Math.sin(-rotation); var minRotX = +Infinity; @@ -635,10 +632,10 @@ ol.View.prototype.setCenter = function(center) { * @return {number} New value. */ ol.View.prototype.setHint = function(hint, delta) { - goog.asserts.assert(0 <= hint && hint < this.hints_.length, + ol.DEBUG && console.assert(0 <= hint && hint < this.hints_.length, 'illegal hint (%s), must be between 0 and %s', hint, this.hints_.length); this.hints_[hint] += delta; - goog.asserts.assert(this.hints_[hint] >= 0, + ol.DEBUG && console.assert(this.hints_[hint] >= 0, 'Hint at %s must be positive, was %s', hint, this.hints_[hint]); return this.hints_[hint]; }; @@ -791,7 +788,7 @@ ol.View.createRotationConstraint_ = function(options) { } else if (typeof constrainRotation === 'number') { return ol.RotationConstraint.createSnapToN(constrainRotation); } else { - goog.asserts.fail( + ol.DEBUG && console.assert(false, 'illegal option for constrainRotation (%s)', constrainRotation); return ol.RotationConstraint.none; } diff --git a/src/ol/webgl/context.js b/src/ol/webgl/context.js index c4225ea7a4..57c7274ba0 100644 --- a/src/ol/webgl/context.js +++ b/src/ol/webgl/context.js @@ -1,6 +1,5 @@ goog.provide('ol.webgl.Context'); -goog.require('goog.asserts'); goog.require('ol'); goog.require('ol.Disposable'); goog.require('ol.array'); @@ -85,7 +84,7 @@ ol.webgl.Context = function(canvas, gl) { // use the OES_element_index_uint extension if available if (this.hasOESElementIndexUint) { var ext = gl.getExtension('OES_element_index_uint'); - goog.asserts.assert(ext, + ol.DEBUG && console.assert(ext, 'Failed to get extension "OES_element_index_uint"'); } @@ -115,7 +114,7 @@ ol.webgl.Context.prototype.bindBuffer = function(target, buf) { } else { var buffer = gl.createBuffer(); gl.bindBuffer(target, buffer); - goog.asserts.assert(target == ol.webgl.ARRAY_BUFFER || + ol.DEBUG && console.assert(target == ol.webgl.ARRAY_BUFFER || target == ol.webgl.ELEMENT_ARRAY_BUFFER, 'target is supposed to be an ARRAY_BUFFER or ELEMENT_ARRAY_BUFFER'); var /** @type {ArrayBufferView} */ arrayBuffer; @@ -124,8 +123,6 @@ ol.webgl.Context.prototype.bindBuffer = function(target, buf) { } else if (target == ol.webgl.ELEMENT_ARRAY_BUFFER) { arrayBuffer = this.hasOESElementIndexUint ? new Uint32Array(arr) : new Uint16Array(arr); - } else { - goog.asserts.fail(); } gl.bufferData(target, arrayBuffer, buf.getUsage()); this.bufferCache_[bufferKey] = { @@ -142,7 +139,7 @@ ol.webgl.Context.prototype.bindBuffer = function(target, buf) { ol.webgl.Context.prototype.deleteBuffer = function(buf) { var gl = this.getGL(); var bufferKey = String(ol.getUid(buf)); - goog.asserts.assert(bufferKey in this.bufferCache_, + ol.DEBUG && console.assert(bufferKey in this.bufferCache_, 'attempted to delete uncached buffer'); var bufferCacheEntry = this.bufferCache_[bufferKey]; if (!gl.isContextLost()) { @@ -222,7 +219,7 @@ ol.webgl.Context.prototype.getShader = function(shaderObject) { var shader = gl.createShader(shaderObject.getType()); gl.shaderSource(shader, shaderObject.getSource()); gl.compileShader(shader); - goog.asserts.assert( + ol.DEBUG && console.assert( gl.getShaderParameter(shader, ol.webgl.COMPILE_STATUS) || gl.isContextLost(), gl.getShaderInfoLog(shader) || 'illegal state, shader not compiled or context lost'); @@ -252,7 +249,7 @@ ol.webgl.Context.prototype.getProgram = function( gl.attachShader(program, this.getShader(fragmentShaderObject)); gl.attachShader(program, this.getShader(vertexShaderObject)); gl.linkProgram(program); - goog.asserts.assert( + ol.DEBUG && console.assert( gl.getProgramParameter(program, ol.webgl.LINK_STATUS) || gl.isContextLost(), gl.getProgramInfoLog(program) || 'illegal state, shader not linked or context lost'); diff --git a/src/ol/xml.js b/src/ol/xml.js index 66bf02c7c9..ff29626985 100644 --- a/src/ol/xml.js +++ b/src/ol/xml.js @@ -1,6 +1,6 @@ goog.provide('ol.xml'); -goog.require('goog.asserts'); +goog.require('ol'); goog.require('ol.array'); @@ -133,11 +133,11 @@ ol.xml.makeArrayExtender = function(valueReader, opt_this) { function(node, objectStack) { var value = valueReader.call(opt_this, node, objectStack); if (value !== undefined) { - goog.asserts.assert(Array.isArray(value), + ol.DEBUG && console.assert(Array.isArray(value), 'valueReader function is expected to return an array of values'); var array = /** @type {Array.<*>} */ (objectStack[objectStack.length - 1]); - goog.asserts.assert(Array.isArray(array), + ol.DEBUG && console.assert(Array.isArray(array), 'objectStack is supposed to be an array of arrays'); ol.array.extend(array, value); } @@ -164,7 +164,7 @@ ol.xml.makeArrayPusher = function(valueReader, opt_this) { node, objectStack); if (value !== undefined) { var array = objectStack[objectStack.length - 1]; - goog.asserts.assert(Array.isArray(array), + ol.DEBUG && console.assert(Array.isArray(array), 'objectStack is supposed to be an array of arrays'); array.push(value); } @@ -206,7 +206,7 @@ ol.xml.makeReplacer = function(valueReader, opt_this) { * @template T */ ol.xml.makeObjectPropertyPusher = function(valueReader, opt_property, opt_this) { - goog.asserts.assert(valueReader !== undefined, + ol.DEBUG && console.assert(valueReader !== undefined, 'undefined valueReader, expected function(this: T, Node, Array.<*>)'); return ( /** @@ -221,8 +221,6 @@ ol.xml.makeObjectPropertyPusher = function(valueReader, opt_property, opt_this) (objectStack[objectStack.length - 1]); var property = opt_property !== undefined ? opt_property : node.localName; - goog.asserts.assert(goog.isObject(object), - 'entity from stack was not an object'); var array; if (property in object) { array = object[property]; @@ -244,7 +242,7 @@ ol.xml.makeObjectPropertyPusher = function(valueReader, opt_property, opt_this) * @template T */ ol.xml.makeObjectPropertySetter = function(valueReader, opt_property, opt_this) { - goog.asserts.assert(valueReader !== undefined, + ol.DEBUG && console.assert(valueReader !== undefined, 'undefined valueReader, expected function(this: T, Node, Array.<*>)'); return ( /** @@ -259,8 +257,6 @@ ol.xml.makeObjectPropertySetter = function(valueReader, opt_property, opt_this) (objectStack[objectStack.length - 1]); var property = opt_property !== undefined ? opt_property : node.localName; - goog.asserts.assert(goog.isObject(object), - 'entity from stack was not an object'); object[property] = value; } }); @@ -282,10 +278,8 @@ ol.xml.makeChildAppender = function(nodeWriter, opt_this) { nodeWriter.call(opt_this !== undefined ? opt_this : this, node, value, objectStack); var parent = objectStack[objectStack.length - 1]; - goog.asserts.assert(goog.isObject(parent), - 'entity from stack was not an object'); var parentNode = parent.node; - goog.asserts.assert(ol.xml.isNode(parentNode) || + ol.DEBUG && console.assert(ol.xml.isNode(parentNode) || ol.xml.isDocument(parentNode), 'expected parentNode %s to be a Node or a Document', parentNode); parentNode.appendChild(node); @@ -346,7 +340,7 @@ ol.xml.makeSimpleNodeFactory = function(opt_nodeName, opt_namespaceURI) { function(value, objectStack, opt_nodeName) { var context = objectStack[objectStack.length - 1]; var node = context.node; - goog.asserts.assert(ol.xml.isNode(node) || ol.xml.isDocument(node), + ol.DEBUG && console.assert(ol.xml.isNode(node) || ol.xml.isDocument(node), 'expected node %s to be a Node or a Document', node); var nodeName = fixedNodeName; if (nodeName === undefined) { @@ -356,8 +350,8 @@ ol.xml.makeSimpleNodeFactory = function(opt_nodeName, opt_namespaceURI) { if (opt_namespaceURI === undefined) { namespaceURI = node.namespaceURI; } - goog.asserts.assert(nodeName !== undefined, 'nodeName was undefined'); - return ol.xml.createElementNS(namespaceURI, nodeName); + ol.DEBUG && console.assert(nodeName !== undefined, 'nodeName was undefined'); + return ol.xml.createElementNS(namespaceURI, /** @type {string} */ (nodeName)); } ); }; diff --git a/tasks/build.js b/tasks/build.js index 21595f240d..e43d4a4f8a 100644 --- a/tasks/build.js +++ b/tasks/build.js @@ -29,6 +29,8 @@ var umdWrapper = ';(function (root, factory) {\n' + ' return OPENLAYERS.ol;\n' + '}));\n'; +var version; + /** * Apply defaults and assert that a provided config object is valid. @@ -61,6 +63,12 @@ function assertValidConfig(config, callback) { config.namespace = 'OPENLAYERS'; if (config.compile) { config.compile.output_wrapper = umdWrapper; + if (version) { + if (!config.compile.define) { + config.compile.define = []; + } + config.compile.define.push('ol.VERSION=\'' + version + '\''); + } } } callback(null); @@ -179,6 +187,7 @@ function concatenate(paths, callback) { 'var goog = this.goog = {};\n' + 'this.CLOSURE_NO_DEPS = true;\n' + results.join('\n') + + 'ol.VERSION = \'' + version + '\';\n' + 'OPENLAYERS.ol = ol;\n' + parts[1]; callback(null, src); @@ -213,6 +222,19 @@ function build(config, paths, callback) { } +/** + * Gets the version from the Git tag. + * @param {function(Error, string)} callback Called with the output + * ready to be written into a file, or any error. + */ +function getVersion(callback) { + exec('git describe --tags', function(error, stdout, stderr) { + version = stdout.trim(); + callback(null); + }); +} + + /** * Adds a file header with the most recent Git tag. * @param {string} compiledSource The compiled library. @@ -220,15 +242,13 @@ function build(config, paths, callback) { * ready to be written into a file, or any error. */ function addHeader(compiledSource, callback) { - exec('git describe --tags', function(error, stdout, stderr) { - var header = '// OpenLayers 3. See http://openlayers.org/\n'; - header += '// License: https://raw.githubusercontent.com/openlayers/' + - 'ol3/master/LICENSE.md\n'; - if (stdout !== '') { - header += '// Version: ' + stdout + '\n'; - } - callback(null, header + compiledSource); - }); + var header = '// OpenLayers 3. See http://openlayers.org/\n'; + header += '// License: https://raw.githubusercontent.com/openlayers/' + + 'ol3/master/LICENSE.md\n'; + if (version !== '') { + header += '// Version: ' + version + '\n'; + } + callback(null, header + compiledSource); } @@ -241,6 +261,7 @@ function addHeader(compiledSource, callback) { */ function main(config, callback) { async.waterfall([ + getVersion, assertValidConfig.bind(null, config), generateExports.bind(null, config), getDependencies.bind(null, config), diff --git a/test/spec/ol/format/wfsformat.test.js b/test/spec/ol/format/wfsformat.test.js index c6915c35f1..5c8d91a422 100644 --- a/test/spec/ol/format/wfsformat.test.js +++ b/test/spec/ol/format/wfsformat.test.js @@ -673,17 +673,14 @@ describe('ol.format.WFS', function() { [-12416429, 6604910] ]])); var error = false; - try { + expect(function() { format.writeTransaction(null, [updateFeature], null, { featureNS: 'http://foo', featureType: 'FAULTS', featurePrefix: 'foo', gmlOptions: {srsName: 'EPSG:900913'} }); - } catch (e) { - error = true; - } - expect(error).to.be(true); + }).to.throwException(); }); }); diff --git a/test/spec/ol/layer/vectortilelayer.test.js b/test/spec/ol/layer/vectortilelayer.test.js index 1fc32cd864..08ecc4c738 100644 --- a/test/spec/ol/layer/vectortilelayer.test.js +++ b/test/spec/ol/layer/vectortilelayer.test.js @@ -35,22 +35,24 @@ describe('ol.layer.VectorTile', function() { }); describe('constructor (options)', function() { - var layer = new ol.layer.VectorTile({ - renderMode: 'vector', - source: new ol.source.VectorTile({}) - }); - expect(layer.getRenderMode()).to.be('vector'); - layer = new ol.layer.VectorTile({ - renderMode: 'image', - source: new ol.source.VectorTile({}) - }); - expect(layer.getRenderMode()).to.be('image'); - expect(function() { - layer = new ol.layer.VectorTile({ - renderMode: 'foo', + it('works with options', function() { + var layer = new ol.layer.VectorTile({ + renderMode: 'vector', source: new ol.source.VectorTile({}) }); - }).to.throwException(); + expect(layer.getRenderMode()).to.be('vector'); + layer = new ol.layer.VectorTile({ + renderMode: 'image', + source: new ol.source.VectorTile({}) + }); + expect(layer.getRenderMode()).to.be('image'); + expect(function() { + layer = new ol.layer.VectorTile({ + renderMode: 'foo', + source: new ol.source.VectorTile({}) + }); + }).to.throwException(); + }); }); }); diff --git a/test/spec/ol/math.test.js b/test/spec/ol/math.test.js index e3e3b78d77..daba6d1619 100644 --- a/test/spec/ol/math.test.js +++ b/test/spec/ol/math.test.js @@ -111,6 +111,12 @@ describe('ol.math.solveLinearSystem', function() { expect(result).to.be(null); }); it('raises an exception when the matrix is malformed', function() { + var origAssert = console.assert; + console.assert = function(assertion, message) { + if (!assertion) { + throw new Error(message); + } + }; expect(function() { ol.math.solveLinearSystem([ [2, 1, 3, 1], @@ -126,6 +132,7 @@ describe('ol.math.solveLinearSystem', function() { [6, 8, 18, 5, 0] ]); }).to.throwException(); + console.assert = origAssert; }); }); diff --git a/test/spec/ol/ol.test.js b/test/spec/ol/ol.test.js new file mode 100644 index 0000000000..55cc17f072 --- /dev/null +++ b/test/spec/ol/ol.test.js @@ -0,0 +1,37 @@ +goog.provide('ol.test'); + +describe('ol', function() { + + describe('ol.assert', function() { + it('throws an exception', function() { + expect(function() { + ol.assert(false, 42); + }).to.throwException(); + }); + }); + + describe('ol.AssertionError', function() { + it('generates a message', function() { + var error = new ol.AssertionError(42); + expect(error.message).to.be('Assertion failed. See /doc/errors.html#42 for details.'); + }); + it('generates a message with a versioned url', function() { + var origVersion = ol.VERSION; + ol.VERSION = 'foo'; + var error = new ol.AssertionError(42); + expect(error.message).to.be('Assertion failed. See http://openlayers.org/en/foo/doc/errors.html#42 for details.'); + ol.VERSION = origVersion; + }); + it('has an error code', function() { + var error = new ol.AssertionError(42); + expect(error.code).to.be(42); + }); + it('has a name', function() { + var error = new ol.AssertionError(42); + expect(error.name).to.be('AssertionError'); + }) + }); + +}); + +goog.require('ol'); diff --git a/test/spec/ol/structs/priorityqueue.test.js b/test/spec/ol/structs/priorityqueue.test.js index 29bac4c78e..f969b8b7b9 100644 --- a/test/spec/ol/structs/priorityqueue.test.js +++ b/test/spec/ol/structs/priorityqueue.test.js @@ -9,11 +9,20 @@ describe('ol.structs.PriorityQueue', function() { describe('when empty', function() { - var pq; + var pq, origAssert; beforeEach(function() { + origAssert = console.assert; + console.assert = function(assertion, message) { + if (!assertion) { + throw new Error(message); + } + } pq = new ol.structs.PriorityQueue( identity, identity); }); + afterEach(function() { + console.assert = origAssert; + }); it('is valid', function() { expect(function() { diff --git a/test/spec/ol/tilerange.test.js b/test/spec/ol/tilerange.test.js index 091b7cc91f..2c351feca4 100644 --- a/test/spec/ol/tilerange.test.js +++ b/test/spec/ol/tilerange.test.js @@ -58,9 +58,11 @@ describe('ol.TileRange', function() { }); describe('with mixed z', function() { - expect(function() { - return new ol.TileRange.boundingTileRange([3, 1, 3], [4, 2, 0]); - }).to.throwException(); + it('returns the expected TileRange', function() { + expect(function() { + return new ol.TileRange.boundingTileRange([3, 1, 3], [4, 2, 0]); + }).to.throwException(); + }); }); });