diff --git a/package-lock.json b/package-lock.json index a8ddd025c8..f69b353663 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3636,12 +3636,12 @@ } }, "eslint-config-openlayers": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-openlayers/-/eslint-config-openlayers-12.0.0.tgz", - "integrity": "sha512-cln+A0qoBvf9ZTVFt9UJ1pTb+TfKOZ5B55jPtYrIcREKXsRycTtWNQjtHQJRbfTPp8CGoU6tjJ6yLUsseVgv0Q==", + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-openlayers/-/eslint-config-openlayers-13.0.0.tgz", + "integrity": "sha512-FlhPbUhrgh9nyIrcf6jX8cZHLOxl2Z4rmLnMrhwBhE+KQK2n3hywXpkNvUROWV9TQpxavzaA7punYHL4ggUpig==", "dev": true, "requires": { - "eslint-plugin-import": "^2.17.3" + "eslint-plugin-import": "^2.18.2" } }, "eslint-import-resolver-node": { @@ -3672,9 +3672,9 @@ } }, "eslint-module-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.0.tgz", - "integrity": "sha512-14tltLm38Eu3zS+mt0KvILC3q8jyIAH518MlG+HO0p+yK885Lb1UHTY/UgR91eOyGdmxAPb+OLoW4znqIT6Ndw==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.4.1.tgz", + "integrity": "sha512-H6DOj+ejw7Tesdgbfs4jeS4YMFrT8uI8xwd1gtQqXssaR0EQ26L+2O/w6wkYFy2MymON0fTwHmXBvvfLNZVZEw==", "dev": true, "requires": { "debug": "^2.6.8", @@ -3751,9 +3751,9 @@ } }, "eslint-plugin-import": { - "version": "2.17.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.17.3.tgz", - "integrity": "sha512-qeVf/UwXFJbeyLbxuY8RgqDyEKCkqV7YC+E5S5uOjAp4tOc8zj01JP3ucoBM8JcEqd1qRasJSg6LLlisirfy0Q==", + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz", + "integrity": "sha512-5ohpsHAiUBRNaBWAF08izwUGlbrJoJJ+W9/TBwsGoR1MnlgfwMIKrFeSjWbt6moabiXW9xNvtFz+97KHRfI4HQ==", "dev": true, "requires": { "array-includes": "^3.0.3", @@ -3763,8 +3763,8 @@ "eslint-import-resolver-node": "^0.3.2", "eslint-module-utils": "^2.4.0", "has": "^1.0.3", - "lodash": "^4.17.11", "minimatch": "^3.0.4", + "object.values": "^1.1.0", "read-pkg-up": "^2.0.0", "resolve": "^1.11.0" }, @@ -3795,9 +3795,9 @@ "dev": true }, "resolve": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.0.tgz", - "integrity": "sha512-WL2pBDjqT6pGUNSUzMw00o4T7If+z4H2x3Gz893WoUQ5KW8Vr9txp00ykiP16VBaZF5+j/OcXJHZ9+PCvdiDKw==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", + "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", "dev": true, "requires": { "path-parse": "^1.0.6" @@ -5767,9 +5767,9 @@ "dev": true }, "https-proxy-agent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.2.tgz", - "integrity": "sha512-c8Ndjc9Bkpfx/vCJueCPy0jlP4ccCCSNDp8xwCZzPjKJUm+B+u9WX2x98Qx4n1PiMNTWo3D7KK5ifNV/yJyRzg==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, "requires": { "agent-base": "^4.3.0", @@ -8013,6 +8013,18 @@ "isobject": "^3.0.1" } }, + "object.values": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.0.tgz", + "integrity": "sha512-8mf0nKLAoFX6VlNVdhGj31SVYpaNFtUnuoOXWyFEstsWRgU837AK+JYM0iAxwkSzGRbwn8cbFmgbyxj1j4VbXg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.12.0", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, "obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", diff --git a/package.json b/package.json index ffcc56c433..429a02260b 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "copy-webpack-plugin": "^5.0.4", "coveralls": "3.0.7", "eslint": "^6.0.0", - "eslint-config-openlayers": "^12.0.0", + "eslint-config-openlayers": "^13.0.0", "expect.js": "0.3.1", "front-matter": "^3.0.2", "fs-extra": "^8.0.0", diff --git a/src/ol/Overlay.js b/src/ol/Overlay.js index c74d9bdf3e..fa71db0591 100644 --- a/src/ol/Overlay.js +++ b/src/ol/Overlay.js @@ -512,15 +512,18 @@ class Overlay extends BaseObject { positioning == OverlayPositioning.CENTER_RIGHT || positioning == OverlayPositioning.TOP_RIGHT) { if (this.rendered.left_ !== '') { - this.rendered.left_ = style.left = ''; + this.rendered.left_ = ''; + style.left = ''; } const right = Math.round(mapSize[0] - pixel[0] - offsetX) + 'px'; if (this.rendered.right_ != right) { - this.rendered.right_ = style.right = right; + this.rendered.right_ = right; + style.right = right; } } else { if (this.rendered.right_ !== '') { - this.rendered.right_ = style.right = ''; + this.rendered.right_ = ''; + style.right = ''; } if (positioning == OverlayPositioning.BOTTOM_CENTER || positioning == OverlayPositioning.CENTER_CENTER || @@ -529,22 +532,26 @@ class Overlay extends BaseObject { } const left = Math.round(pixel[0] + offsetX) + 'px'; if (this.rendered.left_ != left) { - this.rendered.left_ = style.left = left; + this.rendered.left_ = left; + style.left = left; } } if (positioning == OverlayPositioning.BOTTOM_LEFT || positioning == OverlayPositioning.BOTTOM_CENTER || positioning == OverlayPositioning.BOTTOM_RIGHT) { if (this.rendered.top_ !== '') { - this.rendered.top_ = style.top = ''; + this.rendered.top_ = ''; + style.top = ''; } const bottom = Math.round(mapSize[1] - pixel[1] - offsetY) + 'px'; if (this.rendered.bottom_ != bottom) { - this.rendered.bottom_ = style.bottom = bottom; + this.rendered.bottom_ = bottom; + style.bottom = bottom; } } else { if (this.rendered.bottom_ !== '') { - this.rendered.bottom_ = style.bottom = ''; + this.rendered.bottom_ = ''; + style.bottom = ''; } if (positioning == OverlayPositioning.CENTER_LEFT || positioning == OverlayPositioning.CENTER_CENTER || @@ -553,7 +560,8 @@ class Overlay extends BaseObject { } const top = Math.round(pixel[1] + offsetY) + 'px'; if (this.rendered.top_ != top) { - this.rendered.top_ = style.top = top; + this.rendered.top_ = 'top'; + style.top = top; } } } diff --git a/src/ol/VectorRenderTile.js b/src/ol/VectorRenderTile.js index 00bf30e914..79d539859e 100644 --- a/src/ol/VectorRenderTile.js +++ b/src/ol/VectorRenderTile.js @@ -124,7 +124,8 @@ class VectorRenderTile extends Tile { this.removeSourceTiles_(this); for (const key in this.context_) { const canvas = this.context_[key].canvas; - canvas.width = canvas.height = 0; + canvas.width = 0; + canvas.height = 0; } for (const key in this.executorGroups) { const executorGroups = this.executorGroups[key]; diff --git a/src/ol/centerconstraint.js b/src/ol/centerconstraint.js index 1bf5480c6f..82576941b8 100644 --- a/src/ol/centerconstraint.js +++ b/src/ol/centerconstraint.js @@ -37,10 +37,12 @@ export function createExtent(extent, onlyCenter, smooth) { // note: when zooming out of bounds, min and max values for x and y may // end up inverted (min > max); this has to be accounted for if (minX > maxX) { - minX = maxX = (maxX + minX) / 2; + minX = (maxX + minX) / 2; + maxX = minX; } if (minY > maxY) { - minY = maxY = (maxY + minY) / 2; + minY = (maxY + minY) / 2; + maxY = minY; } let x = clamp(center[0], minX, maxX); diff --git a/src/ol/events/Target.js b/src/ol/events/Target.js index 797f72610a..766a954479 100644 --- a/src/ol/events/Target.js +++ b/src/ol/events/Target.js @@ -72,7 +72,8 @@ class Target extends Disposable { } let listeners = this.listeners_[type]; if (!listeners) { - listeners = this.listeners_[type] = []; + listeners = []; + this.listeners_[type] = listeners; } if (listeners.indexOf(listener) === -1) { listeners.push(listener); diff --git a/src/ol/format/KML.js b/src/ol/format/KML.js index b6965bcab7..2f2ccbf1c2 100644 --- a/src/ol/format/KML.js +++ b/src/ol/format/KML.js @@ -1777,7 +1777,9 @@ function setCommonGeometryProperties(multiGeometry, geometries) { const tessellates = new Array(geometries.length); const altitudeModes = new Array(geometries.length); let hasExtrude, hasTessellate, hasAltitudeMode; - hasExtrude = hasTessellate = hasAltitudeMode = false; + hasExtrude = false; + hasTessellate = false; + hasAltitudeMode = false; for (let i = 0; i < ii; ++i) { const geometry = geometries[i]; extrudes[i] = geometry.get('extrude'); diff --git a/src/ol/interaction/Modify.js b/src/ol/interaction/Modify.js index f45ec5b209..42d6fda4dc 100644 --- a/src/ol/interaction/Modify.js +++ b/src/ol/interaction/Modify.js @@ -654,7 +654,8 @@ class Modify extends PointerInteraction { }; const featureSegments = [centerSegmentData, circumferenceSegmentData]; - centerSegmentData.featureSegments = circumferenceSegmentData.featureSegments = featureSegments; + centerSegmentData.featureSegments = featureSegments; + circumferenceSegmentData.featureSegments = featureSegments; this.rBush_.insert(createExtent(coordinates), centerSegmentData); this.rBush_.insert(geometry.getExtent(), circumferenceSegmentData); } @@ -746,12 +747,14 @@ class Modify extends PointerInteraction { switch (geometry.getType()) { case GeometryType.POINT: coordinates = vertex; - segment[0] = segment[1] = vertex; + segment[0] = vertex; + segment[1] = vertex; break; case GeometryType.MULTI_POINT: coordinates = geometry.getCoordinates(); coordinates[segmentData.index] = vertex; - segment[0] = segment[1] = vertex; + segment[0] = vertex; + segment[1] = vertex; break; case GeometryType.LINE_STRING: coordinates = geometry.getCoordinates(); @@ -774,7 +777,8 @@ class Modify extends PointerInteraction { segment[index] = vertex; break; case GeometryType.CIRCLE: - segment[0] = segment[1] = vertex; + segment[0] = vertex; + segment[1] = vertex; if (segmentData.index === CIRCLE_CENTER_INDEX) { this.changingFeature_ = true; geometry.setCenter(vertex); @@ -889,8 +893,10 @@ class Modify extends PointerInteraction { const coordinates = geometry.getCenter(); const centerSegmentData = segmentData.featureSegments[0]; const circumferenceSegmentData = segmentData.featureSegments[1]; - centerSegmentData.segment[0] = centerSegmentData.segment[1] = coordinates; - circumferenceSegmentData.segment[0] = circumferenceSegmentData.segment[1] = coordinates; + centerSegmentData.segment[0] = coordinates; + centerSegmentData.segment[1] = coordinates; + circumferenceSegmentData.segment[0] = coordinates; + circumferenceSegmentData.segment[1] = coordinates; this.rBush_.update(createExtent(coordinates), centerSegmentData); this.rBush_.update(geometry.getExtent(), circumferenceSegmentData); } else { diff --git a/src/ol/interaction/Translate.js b/src/ol/interaction/Translate.js index 3c4330d1aa..293fb457c1 100644 --- a/src/ol/interaction/Translate.js +++ b/src/ol/interaction/Translate.js @@ -198,7 +198,7 @@ class Translate extends PointerInteraction { handleDownEvent(event) { this.lastFeature_ = this.featuresAtPixel_(event.pixel, event.map); if (!this.lastCoordinate_ && this.lastFeature_) { - this.startCoordinate_ = + this.startCoordinate_ = event.coordinate; this.lastCoordinate_ = event.coordinate; this.handleMoveEvent(event); diff --git a/src/ol/layer/Graticule.js b/src/ol/layer/Graticule.js index d30fc2b2e3..9287cbb7fc 100644 --- a/src/ol/layer/Graticule.js +++ b/src/ol/layer/Graticule.js @@ -581,7 +581,8 @@ class Graticule extends VectorLayer { createGraticule_(extent, center, resolution, squaredTolerance) { const interval = this.getInterval_(resolution); if (interval == -1) { - this.meridians_.length = this.parallels_.length = 0; + this.meridians_.length = 0; + this.parallels_.length = 0; if (this.meridiansLabels_) { this.meridiansLabels_.length = 0; } @@ -708,7 +709,8 @@ class Graticule extends VectorLayer { const flatCoordinates = meridian(lon, minLat, maxLat, this.projection_, squaredTolerance); let lineString = this.meridians_[index]; if (!lineString) { - lineString = this.meridians_[index] = new LineString(flatCoordinates, GeometryLayout.XY); + lineString = new LineString(flatCoordinates, GeometryLayout.XY); + this.meridians_[index] = lineString; } else { lineString.setFlatCoordinates(GeometryLayout.XY, flatCoordinates); lineString.changed(); diff --git a/src/ol/render/Box.js b/src/ol/render/Box.js index 5d949f4e03..6b1f8c323e 100644 --- a/src/ol/render/Box.js +++ b/src/ol/render/Box.js @@ -74,7 +74,10 @@ class RenderBox extends Disposable { if (this.map_) { this.map_.getOverlayContainer().removeChild(this.element_); const style = this.element_.style; - style.left = style.top = style.width = style.height = 'inherit'; + style.left = 'inherit'; + style.top = 'inherit'; + style.width = 'inherit'; + style.height = 'inherit'; } this.map_ = map; if (this.map_) { diff --git a/src/ol/render/Feature.js b/src/ol/render/Feature.js index 7d758130bf..523b4d4355 100644 --- a/src/ol/render/Feature.js +++ b/src/ol/render/Feature.js @@ -268,10 +268,10 @@ class RenderFeature { /** * @return {Array|Array>} Ends or endss. */ -RenderFeature.prototype.getEnds = -RenderFeature.prototype.getEndss = function() { +RenderFeature.prototype.getEnds = function() { return this.ends_; }; +RenderFeature.prototype.getEndss = RenderFeature.prototype.getEnds; /** diff --git a/src/ol/render/canvas.js b/src/ol/render/canvas.js index d396f42ff1..cc7bfd4797 100644 --- a/src/ol/render/canvas.js +++ b/src/ol/render/canvas.js @@ -311,13 +311,15 @@ export const measureTextHeight = (function() { if (!div) { div = document.createElement('div'); div.innerHTML = 'M'; - div.style.margin = div.style.padding = '0 !important'; + div.style.margin = '0 !important'; + div.style.padding = '0 !important'; div.style.position = 'absolute !important'; div.style.left = '-99999px !important'; } div.style.font = font; document.body.appendChild(div); - height = heights[font] = div.offsetHeight; + height = div.offsetHeight; + heights[font] = height; document.body.removeChild(div); } return height; @@ -351,7 +353,8 @@ export function measureAndCacheTextWidth(font, text, cache) { if (text in cache) { return cache[text]; } - const width = cache[text] = measureTextWidth(font, text); + const width = measureTextWidth(font, text); + cache[text] = width; return width; } diff --git a/src/ol/render/canvas/BuilderGroup.js b/src/ol/render/canvas/BuilderGroup.js index 9f90c83dd8..8a6563fc16 100644 --- a/src/ol/render/canvas/BuilderGroup.js +++ b/src/ol/render/canvas/BuilderGroup.js @@ -87,7 +87,8 @@ class BuilderGroup { declutter = this.declutterGroups_; /** @type {number} */ (declutter[0][4])++; } else { - declutter = this.declutterGroups_ = [createEmpty()]; + declutter = [createEmpty()]; + this.declutterGroups_ = declutter; declutter[0].push(1); } } diff --git a/src/ol/render/canvas/Executor.js b/src/ol/render/canvas/Executor.js index 174687359e..57b42947c3 100644 --- a/src/ol/render/canvas/Executor.js +++ b/src/ol/render/canvas/Executor.js @@ -315,10 +315,14 @@ class Executor extends Disposable { const boxY = y - padding[0]; if (fillStroke || rotation !== 0) { - p1[0] = p4[0] = boxX; - p1[1] = p2[1] = boxY; - p2[0] = p3[0] = boxX + boxW; - p3[1] = p4[1] = boxY + boxH; + p1[0] = boxX; + p4[0] = boxX; + p1[1] = boxY; + p2[1] = boxY; + p2[0] = boxX + boxW; + p3[0] = p2[0]; + p3[1] = boxY + boxH; + p4[1] = p3[1]; } let transform = null; @@ -576,7 +580,8 @@ class Executor extends Disposable { } if (!pendingFill && !pendingStroke) { context.beginPath(); - prevX = prevY = NaN; + prevX = NaN; + prevY = NaN; } ++i; break; @@ -644,13 +649,18 @@ class Executor extends Disposable { strokeKey = /** @type {string} */ (instruction[20]); fillKey = /** @type {string} */ (instruction[21]); const labelWithAnchor = this.drawTextImageWithPointPlacement_(text, textKey, strokeKey, fillKey); - image = instruction[3] = labelWithAnchor.label; + image = labelWithAnchor.label; + instruction[3] = image; const textOffsetX = /** @type {number} */ (instruction[22]); - anchorX = instruction[4] = (labelWithAnchor.anchorX - textOffsetX) * this.pixelRatio; + anchorX = (labelWithAnchor.anchorX - textOffsetX) * this.pixelRatio; + instruction[4] = anchorX; const textOffsetY = /** @type {number} */ (instruction[23]); - anchorY = instruction[5] = (labelWithAnchor.anchorY - textOffsetY) * this.pixelRatio; - height = instruction[7] = image.height; - width = instruction[14] = image.width; + anchorY = (labelWithAnchor.anchorY - textOffsetY) * this.pixelRatio; + instruction[5] = anchorY; + height = image.height; + instruction[7] = height; + width = image.width; + instruction[14] = width; } let geometryWidths; @@ -665,7 +675,8 @@ class Executor extends Disposable { backgroundStroke = /** @type {boolean} */ (instruction[17]); } else { padding = defaultPadding; - backgroundFill = backgroundStroke = false; + backgroundFill = false; + backgroundStroke = false; } if (rotateWithView && viewRotationFromTransform) { @@ -730,7 +741,8 @@ class Executor extends Disposable { if (font in this.widths_) { cachedWidths = this.widths_[font]; } else { - cachedWidths = this.widths_[font] = {}; + cachedWidths = {}; + this.widths_[font] = cachedWidths; } const pathLength = lineStringLength(pixelCoordinates, begin, end, 2); diff --git a/src/ol/render/canvas/ExecutorGroup.js b/src/ol/render/canvas/ExecutorGroup.js index bb8257efa9..852179f346 100644 --- a/src/ol/render/canvas/ExecutorGroup.js +++ b/src/ol/render/canvas/ExecutorGroup.js @@ -116,7 +116,8 @@ class ExecutorGroup extends Disposable { for (const zIndex in allInstructions) { let executors = this.executorsByZIndex_[zIndex]; if (executors === undefined) { - this.executorsByZIndex_[zIndex] = executors = {}; + executors = {}; + this.executorsByZIndex_[zIndex] = executors; } const instructionByZindex = allInstructions[zIndex]; for (const builderType in instructionByZindex) { @@ -139,7 +140,8 @@ class ExecutorGroup extends Disposable { } if (this.hitDetectionContext_) { const canvas = this.hitDetectionContext_.canvas; - canvas.width = canvas.height = 0; + canvas.width = 0; + canvas.height = 0; } super.disposeInternal(); diff --git a/src/ol/render/canvas/Immediate.js b/src/ol/render/canvas/Immediate.js index 2d9bfc8046..4f16188299 100644 --- a/src/ol/render/canvas/Immediate.js +++ b/src/ol/render/canvas/Immediate.js @@ -719,7 +719,8 @@ class CanvasImmediateRenderer extends VectorContext { }; } else { if (contextFillState.fillStyle != fillState.fillStyle) { - contextFillState.fillStyle = context.fillStyle = fillState.fillStyle; + contextFillState.fillStyle = fillState.fillStyle; + context.fillStyle = fillState.fillStyle; } } } @@ -752,30 +753,33 @@ class CanvasImmediateRenderer extends VectorContext { }; } else { if (contextStrokeState.lineCap != strokeState.lineCap) { - contextStrokeState.lineCap = context.lineCap = strokeState.lineCap; + contextStrokeState.lineCap = strokeState.lineCap; + context.lineCap = strokeState.lineCap; } if (context.setLineDash) { if (!equals(contextStrokeState.lineDash, strokeState.lineDash)) { context.setLineDash(contextStrokeState.lineDash = strokeState.lineDash); } if (contextStrokeState.lineDashOffset != strokeState.lineDashOffset) { - contextStrokeState.lineDashOffset = context.lineDashOffset = - strokeState.lineDashOffset; + contextStrokeState.lineDashOffset = strokeState.lineDashOffset; + context.lineDashOffset = strokeState.lineDashOffset; } } if (contextStrokeState.lineJoin != strokeState.lineJoin) { - contextStrokeState.lineJoin = context.lineJoin = strokeState.lineJoin; + contextStrokeState.lineJoin = strokeState.lineJoin; + context.lineJoin = strokeState.lineJoin; } if (contextStrokeState.lineWidth != strokeState.lineWidth) { - contextStrokeState.lineWidth = context.lineWidth = strokeState.lineWidth; + contextStrokeState.lineWidth = strokeState.lineWidth; + context.lineWidth = strokeState.lineWidth; } if (contextStrokeState.miterLimit != strokeState.miterLimit) { - contextStrokeState.miterLimit = context.miterLimit = - strokeState.miterLimit; + contextStrokeState.miterLimit = strokeState.miterLimit; + context.miterLimit = strokeState.miterLimit; } if (contextStrokeState.strokeStyle != strokeState.strokeStyle) { - contextStrokeState.strokeStyle = context.strokeStyle = - strokeState.strokeStyle; + contextStrokeState.strokeStyle = strokeState.strokeStyle; + context.strokeStyle = strokeState.strokeStyle; } } } @@ -800,14 +804,16 @@ class CanvasImmediateRenderer extends VectorContext { }; } else { if (contextTextState.font != textState.font) { - contextTextState.font = context.font = textState.font; + contextTextState.font = textState.font; + context.font = textState.font; } if (contextTextState.textAlign != textAlign) { - contextTextState.textAlign = context.textAlign = /** @type {CanvasTextAlign} */ (textAlign); + contextTextState.textAlign = /** @type {CanvasTextAlign} */ (textAlign); + context.textAlign = /** @type {CanvasTextAlign} */ (textAlign); } if (contextTextState.textBaseline != textState.textBaseline) { - contextTextState.textBaseline = context.textBaseline = - /** @type {CanvasTextBaseline} */ (textState.textBaseline); + contextTextState.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline); + context.textBaseline = /** @type {CanvasTextBaseline} */ (textState.textBaseline); } } } diff --git a/src/ol/render/canvas/LabelCache.js b/src/ol/render/canvas/LabelCache.js index 6442e60330..dfa800428e 100644 --- a/src/ol/render/canvas/LabelCache.js +++ b/src/ol/render/canvas/LabelCache.js @@ -50,7 +50,8 @@ class LabelCache extends LRUCache { } } const canvas = this.pop(); - canvas.width = canvas.height = 0; + canvas.width = 0; + canvas.height = 0; for (const consumerId in this.consumers) { delete this.consumers[consumerId][key]; } diff --git a/src/ol/render/canvas/TextBuilder.js b/src/ol/render/canvas/TextBuilder.js index 89ec48de68..40c760256e 100644 --- a/src/ol/render/canvas/TextBuilder.js +++ b/src/ol/render/canvas/TextBuilder.js @@ -392,11 +392,13 @@ class CanvasTextBuilder extends CanvasBuilder { const textFillStyle = textStyle.getFill(); if (!textFillStyle) { - fillState = this.textFillState_ = null; + fillState = null; + this.textFillState_ = fillState; } else { fillState = this.textFillState_; if (!fillState) { - fillState = this.textFillState_ = /** @type {import("../canvas.js").FillState} */ ({}); + fillState = /** @type {import("../canvas.js").FillState} */ ({}); + this.textFillState_ = fillState; } fillState.fillStyle = asColorLike( textFillStyle.getColor() || defaultFillStyle); @@ -404,11 +406,13 @@ class CanvasTextBuilder extends CanvasBuilder { const textStrokeStyle = textStyle.getStroke(); if (!textStrokeStyle) { - strokeState = this.textStrokeState_ = null; + strokeState = null; + this.textStrokeState_ = strokeState; } else { strokeState = this.textStrokeState_; if (!strokeState) { - strokeState = this.textStrokeState_ = /** @type {import("../canvas.js").StrokeState} */ ({}); + strokeState = /** @type {import("../canvas.js").StrokeState} */ ({}); + this.textStrokeState_ = strokeState; } const lineDash = textStrokeStyle.getLineDash(); const lineDashOffset = textStrokeStyle.getLineDashOffset(); diff --git a/src/ol/render/canvas/hitdetect.js b/src/ol/render/canvas/hitdetect.js index f2026ae6ac..279ec99c2a 100644 --- a/src/ol/render/canvas/hitdetect.js +++ b/src/ol/render/canvas/hitdetect.js @@ -90,7 +90,8 @@ export function createHitDetectionImageData(size, transforms, features, styleFun const zIndex = Number(style.getZIndex()); let byGeometryType = featuresByZIndex[zIndex]; if (!byGeometryType) { - byGeometryType = featuresByZIndex[zIndex] = {}; + byGeometryType = {}; + featuresByZIndex[zIndex] = byGeometryType; byGeometryType[GeometryType.POLYGON] = []; byGeometryType[GeometryType.CIRCLE] = []; byGeometryType[GeometryType.LINE_STRING] = []; diff --git a/src/ol/renderer/canvas/ImageLayer.js b/src/ol/renderer/canvas/ImageLayer.js index 7e1f45b77f..5dc9895cd0 100644 --- a/src/ol/renderer/canvas/ImageLayer.js +++ b/src/ol/renderer/canvas/ImageLayer.js @@ -92,7 +92,8 @@ class CanvasImageLayerRenderer extends CanvasLayerRenderer { const rotation = viewState.rotation; if (rotation) { const size = Math.round(Math.sqrt(width * width + height * height)); - width = height = size; + width = size; + height = size; } // set forward and inverse pixel transforms diff --git a/src/ol/renderer/canvas/TileLayer.js b/src/ol/renderer/canvas/TileLayer.js index f82d33634e..518a77a610 100644 --- a/src/ol/renderer/canvas/TileLayer.js +++ b/src/ol/renderer/canvas/TileLayer.js @@ -175,7 +175,8 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer { if (rotation) { const size = Math.round(Math.sqrt(width * width + height * height)); - width = height = size; + width = size; + height = size; } const dx = tileResolution * width / 2 / tilePixelRatio; diff --git a/src/ol/renderer/webgl/Layer.js b/src/ol/renderer/webgl/Layer.js index beba3a016e..f7f1848268 100644 --- a/src/ol/renderer/webgl/Layer.js +++ b/src/ol/renderer/webgl/Layer.js @@ -169,7 +169,10 @@ export function writePointFeatureToBuffers(instructions, elementIndex, vertexBuf export function getBlankImageData() { const canvas = document.createElement('canvas'); const image = canvas.getContext('2d').createImageData(1, 1); - image.data[0] = image.data[1] = image.data[2] = image.data[3] = 255; + image.data[0] = 255; + image.data[1] = 255; + image.data[2] = 255; + image.data[3] = 255; return image; } diff --git a/src/ol/size.js b/src/ol/size.js index f6b73975f0..c26b81c2f8 100644 --- a/src/ol/size.js +++ b/src/ol/size.js @@ -70,7 +70,8 @@ export function toSize(size, opt_size) { if (opt_size === undefined) { opt_size = [size, size]; } else { - opt_size[0] = opt_size[1] = size; + opt_size[0] = size; + opt_size[1] = size; } return opt_size; } diff --git a/src/ol/source/UrlTile.js b/src/ol/source/UrlTile.js index b01cc974c1..0707b15eac 100644 --- a/src/ol/source/UrlTile.js +++ b/src/ol/source/UrlTile.js @@ -180,7 +180,8 @@ class UrlTile extends TileSource { * @api */ setUrl(url) { - const urls = this.urls = expandUrl(url); + const urls = expandUrl(url); + this.urls = urls; this.setUrls(urls); } diff --git a/src/ol/source/VectorTile.js b/src/ol/source/VectorTile.js index cd77907bcb..8c34a22ff9 100644 --- a/src/ol/source/VectorTile.js +++ b/src/ol/source/VectorTile.js @@ -380,8 +380,9 @@ class VectorTile extends UrlTile { // A tile grid that matches the tile size of the source tile grid is more // likely to have 1:1 relationships between source tiles and rendered tiles. const sourceTileGrid = this.tileGrid; - tileGrid = this.tileGrids_[code] = createForProjection(projection, undefined, + tileGrid = createForProjection(projection, undefined, sourceTileGrid ? sourceTileGrid.getTileSize(sourceTileGrid.getMinZoom()) : undefined); + this.tileGrids_[code] = tileGrid; } return tileGrid; } diff --git a/src/ol/tileurlfunction.js b/src/ol/tileurlfunction.js index 38a8893253..8d440116ab 100644 --- a/src/ol/tileurlfunction.js +++ b/src/ol/tileurlfunction.js @@ -114,7 +114,7 @@ export function expandUrl(url) { } return urls; } - match = match = /\{(\d+)-(\d+)\}/.exec(url); + match = /\{(\d+)-(\d+)\}/.exec(url); if (match) { // number range const stop = parseInt(match[2], 10); diff --git a/src/ol/webgl/Helper.js b/src/ol/webgl/Helper.js index fff48aca4d..b44944b4ff 100644 --- a/src/ol/webgl/Helper.js +++ b/src/ol/webgl/Helper.js @@ -379,10 +379,11 @@ class WebGLHelper extends Disposable { let bufferCache = this.bufferCache_[bufferKey]; if (!bufferCache) { const webGlBuffer = gl.createBuffer(); - bufferCache = this.bufferCache_[bufferKey] = { + bufferCache = { buffer: buffer, webGlBuffer: webGlBuffer }; + this.bufferCache_[bufferKey] = bufferCache; } gl.bindBuffer(buffer.getType(), bufferCache.webGlBuffer); } diff --git a/src/ol/xml.js b/src/ol/xml.js index 6fe040b721..0f47f57a4a 100644 --- a/src/ol/xml.js +++ b/src/ol/xml.js @@ -215,7 +215,8 @@ export function makeObjectPropertyPusher(valueReader, opt_property, opt_this) { if (property in object) { array = object[property]; } else { - array = object[property] = []; + array = []; + object[property] = array; } array.push(value); } diff --git a/test/spec/ol/control/attribution.test.js b/test/spec/ol/control/attribution.test.js index 87ea9a01bd..24e3868263 100644 --- a/test/spec/ol/control/attribution.test.js +++ b/test/spec/ol/control/attribution.test.js @@ -23,7 +23,8 @@ describe('ol.control.Attribution', function() { beforeEach(function() { const target = document.createElement('div'); - target.style.width = target.style.height = '100px'; + target.style.width = '100px'; + target.style.height = '100px'; document.body.appendChild(target); map = new Map({ target: target, diff --git a/test/spec/ol/map.test.js b/test/spec/ol/map.test.js index 7f9f81d8ca..974a396beb 100644 --- a/test/spec/ol/map.test.js +++ b/test/spec/ol/map.test.js @@ -197,7 +197,8 @@ describe('ol.Map', function() { let map; beforeEach(function() { const target = document.createElement('div'); - target.style.width = target.style.height = '100px'; + target.style.width = '100px'; + target.style.height = '100px'; document.body.appendChild(target); map = new Map({ target: target, @@ -259,7 +260,8 @@ describe('ol.Map', function() { let target, map, layer; beforeEach(function() { target = document.createElement('div'); - target.style.width = target.style.height = '100px'; + target.style.width = '100px'; + target.style.height = '100px'; document.body.appendChild(target); layer = new VectorLayer({ source: new VectorSource({ @@ -360,7 +362,8 @@ describe('ol.Map', function() { useGeographic(); target = document.createElement('div'); - target.style.width = target.style.height = size + 'px'; + target.style.width = size + 'px'; + target.style.height = size + 'px'; document.body.appendChild(target); map = new Map({ @@ -413,7 +416,8 @@ describe('ol.Map', function() { useGeographic(); target = document.createElement('div'); - target.style.width = target.style.height = size + 'px'; + target.style.width = size + 'px'; + target.style.height = size + 'px'; document.body.appendChild(target); map = new Map({ diff --git a/test/spec/ol/renderer/canvas/imagelayer.test.js b/test/spec/ol/renderer/canvas/imagelayer.test.js index 4390cd93d2..7f75ba5dae 100644 --- a/test/spec/ol/renderer/canvas/imagelayer.test.js +++ b/test/spec/ol/renderer/canvas/imagelayer.test.js @@ -81,7 +81,8 @@ describe('ol.renderer.canvas.ImageLayer', function() { }); div = document.createElement('div'); - div.style.width = div.style.height = '100px'; + div.style.width = '100px'; + div.style.height = '100px'; document.body.appendChild(div); map = new Map({ target: div, @@ -131,7 +132,8 @@ describe('ol.renderer.canvas.ImageLayer', function() { }); div = document.createElement('div'); - div.style.width = div.style.height = '100px'; + div.style.width = '100px'; + div.style.height = '100px'; document.body.appendChild(div); map = new Map({ target: div, diff --git a/test/spec/ol/source/imagewms.test.js b/test/spec/ol/source/imagewms.test.js index 2eff4da538..4262ea5be2 100644 --- a/test/spec/ol/source/imagewms.test.js +++ b/test/spec/ol/source/imagewms.test.js @@ -408,7 +408,8 @@ describe('ol.source.ImageWMS', function() { source.loading = false; }); const target = document.createElement('div'); - target.style.width = target.style.height = '100px'; + target.style.width = '100px'; + target.style.height = '100px'; document.body.appendChild(target); map = new Map({ target: target, diff --git a/test/spec/ol/source/vector.test.js b/test/spec/ol/source/vector.test.js index 8ba9a0b568..f363a11aab 100644 --- a/test/spec/ol/source/vector.test.js +++ b/test/spec/ol/source/vector.test.js @@ -158,7 +158,8 @@ describe('ol.source.Vector', function() { url: 'spec/ol/source/vectorsource/single-feature.json' }); const target = document.createElement('div'); - target.style.width = target.style.height = '100px'; + target.style.width = '100px'; + target.style.height = '100px'; document.body.appendChild(target); map = new Map({ target: target, @@ -592,7 +593,8 @@ describe('ol.source.Vector', function() { } }); const div = document.createElement('div'); - div.style.width = div.style.height = '100px'; + div.style.width = '100px'; + div.style.height = '100px'; document.body.appendChild(div); const map = new Map({ target: div, diff --git a/test/spec/ol/source/vectortile.test.js b/test/spec/ol/source/vectortile.test.js index 93e7c1e1ab..5a6d519753 100644 --- a/test/spec/ol/source/vectortile.test.js +++ b/test/spec/ol/source/vectortile.test.js @@ -198,7 +198,8 @@ describe('ol.source.VectorTile', function() { }); target = document.createElement('div'); - target.style.width = target.style.height = '100px'; + target.style.width = '100px'; + target.style.height = '100px'; document.body.appendChild(target); map = new Map({ diff --git a/test/spec/ol/source/xyz.test.js b/test/spec/ol/source/xyz.test.js index 9b7304b22c..14b9b07f82 100644 --- a/test/spec/ol/source/xyz.test.js +++ b/test/spec/ol/source/xyz.test.js @@ -206,7 +206,8 @@ describe('ol.source.XYZ', function() { } }); const target = document.createElement('div'); - target.style.width = target.style.height = '100px'; + target.style.width = '100px'; + target.style.height = '100px'; document.body.appendChild(target); map = new Map({ target: target,