diff --git a/config/jsdoc/api/template/publish.js b/config/jsdoc/api/template/publish.js index 5f904a10fd..e5bbfe66ff 100644 --- a/config/jsdoc/api/template/publish.js +++ b/config/jsdoc/api/template/publish.js @@ -364,13 +364,12 @@ exports.publish = function (taffyData, opts, tutorials) { doclet.examples = doclet.examples.map(function (example) { let caption, code; - if ( - example.match( - /^\s*
/g, '') ?>
diff --git a/config/jsdoc/api/template/tmpl/members.tmpl b/config/jsdoc/api/template/tmpl/members.tmpl
index 243e1f22cd..19f224e3d5 100644
--- a/config/jsdoc/api/template/tmpl/members.tmpl
+++ b/config/jsdoc/api/template/tmpl/members.tmpl
@@ -14,7 +14,7 @@ if (data.type && data.type.names) {
-
+
diff --git a/config/jsdoc/api/template/tmpl/navigation.tmpl b/config/jsdoc/api/template/tmpl/navigation.tmpl
index 982bc186f6..d4666b9805 100644
--- a/config/jsdoc/api/template/tmpl/navigation.tmpl
+++ b/config/jsdoc/api/template/tmpl/navigation.tmpl
@@ -2,7 +2,7 @@
var self = this;
function toShortName(name) {
- return name.indexOf('module:') === 0 ? name.split('/').pop() : name;
+ return name.startsWith('module:') ? name.split('/').pop() : name;
}
function getItemCssClass(type) {
diff --git a/config/jsdoc/api/template/tmpl/params.tmpl b/config/jsdoc/api/template/tmpl/params.tmpl
index f5ef85bd15..c5529e932f 100644
--- a/config/jsdoc/api/template/tmpl/params.tmpl
+++ b/config/jsdoc/api/template/tmpl/params.tmpl
@@ -1,11 +1,11 @@
@@ -48,29 +48,29 @@
Name
-
+
Type
-
+
Description
-
+
-
+
-
+
-
+
(defaults to )
@@ -87,7 +87,7 @@
-
+
\ No newline at end of file
diff --git a/config/jsdoc/api/template/tmpl/properties.tmpl b/config/jsdoc/api/template/tmpl/properties.tmpl
index 97a3d23abd..c3b4ebeab1 100644
--- a/config/jsdoc/api/template/tmpl/properties.tmpl
+++ b/config/jsdoc/api/template/tmpl/properties.tmpl
@@ -1,11 +1,11 @@
Name
-
+
Type
-
+
Argument
-
+
Default
-
+
Description
-
+
-
+
-
+
-
+
<optional>
-
+
<nullable>
-
+
@@ -96,12 +96,12 @@
-
+
Properties
-
+
\ No newline at end of file
diff --git a/config/jsdoc/api/template/tmpl/returns.tmpl b/config/jsdoc/api/template/tmpl/returns.tmpl
index b83aa5797a..41a25b788b 100644
--- a/config/jsdoc/api/template/tmpl/returns.tmpl
+++ b/config/jsdoc/api/template/tmpl/returns.tmpl
@@ -10,9 +10,9 @@ returns.forEach(function (ret, i) {
var name = ret.name || ret.description;
var startSpacePos = name.indexOf(" ");
- if (parentReturn !== null && name.indexOf(parentReturn.name + '.') === 0) {
+ if (parentReturn !== null && name.startsWith(parentReturn.name + '.')) {
ret.name = isNamed ? name.substr(parentReturn.name.length + 1) : name.substr(parentReturn.name.length + 1, startSpacePos - (parentReturn.name.length + 1));
-
+
parentReturn.subReturns = parentReturn.subReturns || [];
parentReturn.subReturns.push(ret);
returns[i] = null;
@@ -20,7 +20,7 @@ returns.forEach(function (ret, i) {
if (!isNamed) {
ret.name = ret.description.substr(0, startSpacePos !== -1 ? startSpacePos : ret.description.length);
}
-
+
parentReturn = ret;
}
}
@@ -54,7 +54,7 @@ if (returns.length > 1) {
ret.type.names.forEach(function(name, i) { ?>
|
-
diff --git a/config/jsdoc/info/publish.js b/config/jsdoc/info/publish.js
index cdac68ea22..5d1c015f1b 100644
--- a/config/jsdoc/info/publish.js
+++ b/config/jsdoc/info/publish.js
@@ -34,7 +34,7 @@ exports.publish = function (data, opts) {
return (
this.meta &&
this.meta.path &&
- this.longname.indexOf('') !== 0 &&
+ !this.longname.startsWith('') &&
this.longname !== 'module:ol'
);
},
@@ -59,7 +59,7 @@ exports.publish = function (data, opts) {
if (
constructor &&
constructor.substr(-1) === '_' &&
- constructor.indexOf('module:') === -1
+ !constructor.includes('module:')
) {
assert.strictEqual(
doc.inherited,
diff --git a/config/jsdoc/plugins/api.cjs b/config/jsdoc/plugins/api.cjs
index cd65cafecf..828bc1f9b8 100644
--- a/config/jsdoc/plugins/api.cjs
+++ b/config/jsdoc/plugins/api.cjs
@@ -37,7 +37,7 @@ function includeAugments(doclet) {
if (doclet.fires && cls.fires) {
for (let i = 0, ii = cls.fires.length; i < ii; ++i) {
const fires = cls.fires[i];
- if (doclet.fires.indexOf(fires) == -1) {
+ if (!doclet.fires.includes(fires)) {
doclet.fires.push(fires);
}
}
@@ -58,7 +58,7 @@ function includeAugments(doclet) {
doclet.fires = [];
}
cls.fires.forEach(function (f) {
- if (doclet.fires.indexOf(f) == -1) {
+ if (!doclet.fires.includes(f)) {
doclet.fires.push(f);
}
});
@@ -68,7 +68,7 @@ function includeAugments(doclet) {
doclet.observables = [];
}
cls.observables.forEach(function (f) {
- if (doclet.observables.indexOf(f) == -1) {
+ if (!doclet.observables.includes(f)) {
doclet.observables.push(f);
}
});
@@ -81,10 +81,10 @@ function includeAugments(doclet) {
function extractTypes(item) {
item.type.names.forEach(function (type) {
- const match = type.match(/^(.*<)?([^>]*)>?$/);
+ const match = type.match(/^(?:.*<)?([^>]*)>?$/);
if (match) {
- modules[match[2]] = true;
- types[match[2]] = true;
+ modules[match[1]] = true;
+ types[match[1]] = true;
}
});
}
diff --git a/config/jsdoc/plugins/markdown.cjs b/config/jsdoc/plugins/markdown.cjs
index 6916ed6b70..292b9eee63 100644
--- a/config/jsdoc/plugins/markdown.cjs
+++ b/config/jsdoc/plugins/markdown.cjs
@@ -76,7 +76,7 @@ function shouldProcessString(tagName, text) {
let shouldProcess = true;
// we only want to process `@author` and `@see` tags that contain Markdown links
- if ((tagName === 'author' || tagName === 'see') && text.indexOf('[') === -1) {
+ if ((tagName === 'author' || tagName === 'see') && !text.includes('[')) {
shouldProcess = false;
}
diff --git a/config/jsdoc/plugins/observable.cjs b/config/jsdoc/plugins/observable.cjs
index f3ffcff9bc..14e7f38658 100644
--- a/config/jsdoc/plugins/observable.cjs
+++ b/config/jsdoc/plugins/observable.cjs
@@ -29,10 +29,10 @@ exports.handlers = {
observable.name = name;
observable.readonly =
typeof observable.readonly == 'boolean' ? observable.readonly : true;
- if (doclet.name.indexOf('get') === 0) {
+ if (doclet.name.startsWith('get')) {
observable.type = doclet.returns[0].type;
observable.description = doclet.returns[0].description;
- } else if (doclet.name.indexOf('set') === 0) {
+ } else if (doclet.name.startsWith('set')) {
observable.readonly = false;
}
if (doclet.stability) {
@@ -42,14 +42,14 @@ exports.handlers = {
cls.observables = [];
}
observable = observables[doclet.observable];
- if (observable.type && cls.observables.indexOf(observable) == -1) {
+ if (observable.type && !cls.observables.includes(observable)) {
cls.observables.push(observable);
}
if (!cls.fires) {
cls.fires = [];
}
event = 'module:ol/Object.ObjectEvent#event:change:' + name;
- if (cls.fires.indexOf(event) == -1) {
+ if (!cls.fires.includes(event)) {
cls.fires.push(event);
}
}
diff --git a/examples/drag-and-drop-custom-kmz.js b/examples/drag-and-drop-custom-kmz.js
index 81ad5d95b5..e24427a73e 100644
--- a/examples/drag-and-drop-custom-kmz.js
+++ b/examples/drag-and-drop-custom-kmz.js
@@ -27,7 +27,7 @@ function getKMLImage(href) {
let url = href;
let path = window.location.href;
path = path.slice(0, path.lastIndexOf('/') + 1);
- if (href.indexOf(path) === 0) {
+ if (href.startsWith(path)) {
const regexp = new RegExp(href.replace(path, '') + '$', 'i');
const kmlFile = zip.file(regexp)[0];
if (kmlFile) {
diff --git a/examples/modify-test.js b/examples/modify-test.js
index 13f6b17384..d2010a4f9c 100644
--- a/examples/modify-test.js
+++ b/examples/modify-test.js
@@ -321,10 +321,7 @@ const modify = new Modify({
.getFeatures()
.getArray()
.every(function (feature) {
- return feature
- .getGeometry()
- .getType()
- .match(/Polygon/);
+ return /Polygon/.test(feature.getGeometry().getType());
});
},
});
diff --git a/examples/print-to-scale.js b/examples/print-to-scale.js
index e2267401d9..02f9a34430 100644
--- a/examples/print-to-scale.js
+++ b/examples/print-to-scale.js
@@ -74,11 +74,11 @@ const exportOptions = {
useCORS: true,
ignoreElements: function (element) {
const className = element.className || '';
- return !(
- className.indexOf('ol-control') === -1 ||
- className.indexOf('ol-scale') > -1 ||
- (className.indexOf('ol-attribution') > -1 &&
- className.indexOf('ol-uncollapsible'))
+ return (
+ className.includes('ol-control') &&
+ !className.includes('ol-scale') &&
+ (!className.includes('ol-attribution') ||
+ !className.includes('ol-uncollapsible'))
);
},
};
diff --git a/examples/vector-tile-selection.js b/examples/vector-tile-selection.js
index 5dd228dcae..57325b7e4d 100644
--- a/examples/vector-tile-selection.js
+++ b/examples/vector-tile-selection.js
@@ -86,7 +86,7 @@ map.on(['click', 'pointermove'], function (event) {
}
const fid = feature.getId();
- if (selectElement.value.indexOf('singleselect') === 0) {
+ if (selectElement.value.startsWith('singleselect')) {
selection = {};
}
// add selected feature to lookup
diff --git a/src/ol/array.js b/src/ol/array.js
index 518538641c..141dd41a0e 100644
--- a/src/ol/array.js
+++ b/src/ol/array.js
@@ -49,16 +49,6 @@ export function numberSafeCompareFunction(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
}
-/**
- * Whether the array contains the given object.
- * @param {Array<*>} arr The array to test for the presence of the element.
- * @param {*} obj The object for which to test.
- * @return {boolean} The object is in the array.
- */
-export function includes(arr, obj) {
- return arr.indexOf(obj) >= 0;
-}
-
/**
* {@link module:ol/tilegrid/TileGrid~TileGrid#getZForResolution} can use a function
* of this type to determine which nearest resolution to use.
diff --git a/src/ol/color.js b/src/ol/color.js
index 482ebb01a1..e47c5cebf4 100644
--- a/src/ol/color.js
+++ b/src/ol/color.js
@@ -168,11 +168,11 @@ function fromStringInternal_(s) {
}
}
color = [r, g, b, a / 255];
- } else if (s.indexOf('rgba(') == 0) {
+ } else if (s.startsWith('rgba(')) {
// rgba()
color = s.slice(5, -1).split(',').map(Number);
normalize(color);
- } else if (s.indexOf('rgb(') == 0) {
+ } else if (s.startsWith('rgb(')) {
// rgb()
color = s.slice(4, -1).split(',').map(Number);
color.push(1);
@@ -225,7 +225,5 @@ export function isStringColor(s) {
if (NAMED_COLOR_RE_.test(s)) {
s = fromNamed(s);
}
- return (
- HEX_COLOR_RE_.test(s) || s.indexOf('rgba(') === 0 || s.indexOf('rgb(') === 0
- );
+ return HEX_COLOR_RE_.test(s) || s.startsWith('rgba(') || s.startsWith('rgb(');
}
diff --git a/src/ol/events/Target.js b/src/ol/events/Target.js
index 26a0395518..319838006d 100644
--- a/src/ol/events/Target.js
+++ b/src/ol/events/Target.js
@@ -67,7 +67,7 @@ class Target extends Disposable {
}
const listeners = this.listeners_ || (this.listeners_ = {});
const listenersForType = listeners[type] || (listeners[type] = []);
- if (listenersForType.indexOf(listener) === -1) {
+ if (!listenersForType.includes(listener)) {
listenersForType.push(listener);
}
}
diff --git a/src/ol/format/GMLBase.js b/src/ol/format/GMLBase.js
index bfd8cb4025..33abc0cc39 100644
--- a/src/ol/format/GMLBase.js
+++ b/src/ol/format/GMLBase.js
@@ -167,7 +167,7 @@ class GMLBase extends XMLFeature {
const child = /** @type {Element} */ (node.childNodes[i]);
if (child.nodeType === 1) {
const ft = child.nodeName.split(':').pop();
- if (featureType.indexOf(ft) === -1) {
+ if (!featureType.includes(ft)) {
let key = '';
let count = 0;
const uri = child.namespaceURI;
@@ -206,10 +206,9 @@ class GMLBase extends XMLFeature {
/** @type {Object} */
const parsers = {};
for (let i = 0, ii = featureTypes.length; i < ii; ++i) {
- const featurePrefix =
- featureTypes[i].indexOf(':') === -1
- ? defaultPrefix
- : featureTypes[i].split(':')[0];
+ const featurePrefix = featureTypes[i].includes(':')
+ ? featureTypes[i].split(':')[0]
+ : defaultPrefix;
if (featurePrefix === p) {
parsers[featureTypes[i].split(':').pop()] =
localName == 'featureMembers'
diff --git a/src/ol/format/MVT.js b/src/ol/format/MVT.js
index 849c98dcd8..e264cfaf38 100644
--- a/src/ol/format/MVT.js
+++ b/src/ol/format/MVT.js
@@ -262,7 +262,7 @@ class MVT extends FeatureFormat {
const pbfLayers = pbf.readFields(layersPBFReader, {});
const features = [];
for (const name in pbfLayers) {
- if (layers && layers.indexOf(name) == -1) {
+ if (layers && !layers.includes(name)) {
continue;
}
const pbfLayer = pbfLayers[name];
diff --git a/src/ol/format/TopoJSON.js b/src/ol/format/TopoJSON.js
index 0253ce5ece..61847d2e90 100644
--- a/src/ol/format/TopoJSON.js
+++ b/src/ol/format/TopoJSON.js
@@ -110,7 +110,7 @@ class TopoJSON extends JSONFeature {
const property = this.layerName_;
let feature;
for (const objectName in topoJSONFeatures) {
- if (this.layers_ && this.layers_.indexOf(objectName) == -1) {
+ if (this.layers_ && !this.layers_.includes(objectName)) {
continue;
}
if (topoJSONFeatures[objectName].type === 'GeometryCollection') {
diff --git a/src/ol/format/WFS.js b/src/ol/format/WFS.js
index 88570faaf6..c1b1baf133 100644
--- a/src/ol/format/WFS.js
+++ b/src/ol/format/WFS.js
@@ -822,7 +822,7 @@ function getTypeName(featurePrefix, featureType) {
featurePrefix = featurePrefix ? featurePrefix : FEATURE_PREFIX;
const prefix = featurePrefix + ':';
// The featureType already contains the prefix.
- if (featureType.indexOf(prefix) === 0) {
+ if (featureType.startsWith(prefix)) {
return featureType;
} else {
return prefix + featureType;
diff --git a/src/ol/format/WKB.js b/src/ol/format/WKB.js
index 76de421142..d757aa68c1 100644
--- a/src/ol/format/WKB.js
+++ b/src/ol/format/WKB.js
@@ -498,10 +498,10 @@ class WkbWriter {
*/
writeWkbHeader(wkbType, srid) {
wkbType %= 1000; // Assume 1000 is an upper limit for type ID
- if (this.layout_.indexOf('Z') >= 0) {
+ if (this.layout_.includes('Z')) {
wkbType += this.isEWKB_ ? 0x80000000 : 1000;
}
- if (this.layout_.indexOf('M') >= 0) {
+ if (this.layout_.includes('M')) {
wkbType += this.isEWKB_ ? 0x40000000 : 2000;
}
if (this.isEWKB_ && Number.isInteger(srid)) {
@@ -864,7 +864,7 @@ class WKB extends FeatureFormat {
options.dataProjection && getProjection(options.dataProjection);
if (dataProjection) {
const code = dataProjection.getCode();
- if (code.indexOf('EPSG:') === 0) {
+ if (code.startsWith('EPSG:')) {
srid = Number(code.substring(5));
}
}
diff --git a/src/ol/has.js b/src/ol/has.js
index d844097914..26ed0753cb 100644
--- a/src/ol/has.js
+++ b/src/ol/has.js
@@ -11,13 +11,13 @@ const ua =
* User agent string says we are dealing with Firefox as browser.
* @type {boolean}
*/
-export const FIREFOX = ua.indexOf('firefox') !== -1;
+export const FIREFOX = ua.includes('firefox');
/**
* User agent string says we are dealing with Safari as browser.
* @type {boolean}
*/
-export const SAFARI = ua.indexOf('safari') !== -1 && ua.indexOf('chrom') == -1;
+export const SAFARI = ua.includes('safari') && !ua.includes('chrom');
/**
* https://bugs.webkit.org/show_bug.cgi?id=237906
@@ -25,22 +25,20 @@ export const SAFARI = ua.indexOf('safari') !== -1 && ua.indexOf('chrom') == -1;
*/
export const SAFARI_BUG_237906 =
SAFARI &&
- !!(
- ua.indexOf('version/15.4') >= 0 ||
- ua.match(/cpu (os|iphone os) 15_4 like mac os x/)
- );
+ (ua.includes('version/15.4') ||
+ /cpu (os|iphone os) 15_4 like mac os x/.test(ua));
/**
* User agent string says we are dealing with a WebKit engine.
* @type {boolean}
*/
-export const WEBKIT = ua.indexOf('webkit') !== -1 && ua.indexOf('edge') == -1;
+export const WEBKIT = ua.includes('webkit') && !ua.includes('edge');
/**
* User agent string says we are dealing with a Mac as platform.
* @type {boolean}
*/
-export const MAC = ua.indexOf('macintosh') !== -1;
+export const MAC = ua.includes('macintosh');
/**
* The ratio between physical pixels and device-independent pixels
diff --git a/src/ol/interaction/Modify.js b/src/ol/interaction/Modify.js
index f53913914b..e30913e66e 100644
--- a/src/ol/interaction/Modify.js
+++ b/src/ol/interaction/Modify.js
@@ -455,7 +455,7 @@ class Modify extends PointerInteraction {
const segment = segments[i];
for (let s = 0, ss = segment.length; s < ss; ++s) {
const feature = segment[s].feature;
- if (feature && features.indexOf(feature) === -1) {
+ if (feature && !features.includes(feature)) {
this.featuresBeingModified_.push(feature);
}
}
@@ -887,11 +887,11 @@ class Modify extends PointerInteraction {
const dragSegment = this.dragSegments_[i];
const segmentData = dragSegment[0];
const feature = segmentData.feature;
- if (features.indexOf(feature) === -1) {
+ if (!features.includes(feature)) {
features.push(feature);
}
const geometry = segmentData.geometry;
- if (geometries.indexOf(geometry) === -1) {
+ if (!geometries.includes(geometry)) {
geometries.push(geometry);
}
const depth = segmentData.depth;
diff --git a/src/ol/net.js b/src/ol/net.js
index 5385992ad8..6252105274 100644
--- a/src/ol/net.js
+++ b/src/ol/net.js
@@ -24,7 +24,7 @@ export function jsonp(url, callback, opt_errback, opt_callbackParam) {
script.async = true;
script.src =
url +
- (url.indexOf('?') == -1 ? '?' : '&') +
+ (url.includes('?') ? '&' : '?') +
(opt_callbackParam || 'callback') +
'=' +
key;
@@ -131,7 +131,7 @@ export function getJSON(url) {
* @return {string} The full URL.
*/
export function resolveUrl(base, url) {
- if (url.indexOf('://') >= 0) {
+ if (url.includes('://')) {
return url;
}
return new URL(url, base).href;
diff --git a/src/ol/render/canvas/ExecutorGroup.js b/src/ol/render/canvas/ExecutorGroup.js
index 06eb91ef67..c8caf9f531 100644
--- a/src/ol/render/canvas/ExecutorGroup.js
+++ b/src/ol/render/canvas/ExecutorGroup.js
@@ -231,7 +231,7 @@ class ExecutorGroup {
if (
!declutteredFeatures ||
(builderType !== 'Image' && builderType !== 'Text') ||
- declutteredFeatures.indexOf(feature) !== -1
+ declutteredFeatures.includes(feature)
) {
const idx = (indexes[i] - 3) / 4;
const x = hitTolerance - (idx % contextSize);
diff --git a/src/ol/renderer/canvas/TileLayer.js b/src/ol/renderer/canvas/TileLayer.js
index dfdb48d01c..44520a0a25 100644
--- a/src/ol/renderer/canvas/TileLayer.js
+++ b/src/ol/renderer/canvas/TileLayer.js
@@ -330,7 +330,7 @@ class CanvasTileLayerRenderer extends CanvasLayerRenderer {
}
if (
!this.newTiles_ &&
- (inTransition || this.renderedTiles.indexOf(tile) === -1)
+ (inTransition || !this.renderedTiles.includes(tile))
) {
this.newTiles_ = true;
}
diff --git a/src/ol/source/Zoomify.js b/src/ol/source/Zoomify.js
index 247d8ef80e..de01ccc705 100644
--- a/src/ol/source/Zoomify.js
+++ b/src/ol/source/Zoomify.js
@@ -195,11 +195,7 @@ class Zoomify extends TileImage {
});
let url = options.url;
- if (
- url &&
- url.indexOf('{TileGroup}') == -1 &&
- url.indexOf('{tileIndex}') == -1
- ) {
+ if (url && !url.includes('{TileGroup}') && !url.includes('{tileIndex}')) {
url += '{TileGroup}/{z}-{x}-{y}.jpg';
}
const urls = expandUrl(url);
diff --git a/src/ol/source/ogcTileUtil.js b/src/ol/source/ogcTileUtil.js
index 2925218236..83e302cf06 100644
--- a/src/ol/source/ogcTileUtil.js
+++ b/src/ol/source/ogcTileUtil.js
@@ -114,7 +114,7 @@ export function getMapTileUrlTemplate(links, mediaType) {
}
if (knownMapMediaTypes[link.type]) {
fallbackUrlTemplate = link.href;
- } else if (!fallbackUrlTemplate && link.type.indexOf('image/') === 0) {
+ } else if (!fallbackUrlTemplate && link.type.startsWith('image/')) {
fallbackUrlTemplate = link.href;
}
}
diff --git a/src/ol/style/expressions.js b/src/ol/style/expressions.js
index 1c69024020..8eaebc7b69 100644
--- a/src/ol/style/expressions.js
+++ b/src/ol/style/expressions.js
@@ -204,7 +204,7 @@ export function isTypeUnique(valueType) {
*/
export function numberToGlsl(v) {
const s = v.toString();
- return s.indexOf('.') === -1 ? s + '.0' : s;
+ return s.includes('.') ? s : s + '.0';
}
/**
@@ -395,7 +395,7 @@ Operators['get'] = {
assertArgsCount(args, 1);
assertString(args[0]);
const value = args[0].toString();
- if (context.attributes.indexOf(value) === -1) {
+ if (!context.attributes.includes(value)) {
context.attributes.push(value);
}
const prefix = context.inFragmentShader ? 'v_' : 'a_';
@@ -420,7 +420,7 @@ Operators['var'] = {
assertArgsCount(args, 1);
assertString(args[0]);
const value = args[0].toString();
- if (context.variables.indexOf(value) === -1) {
+ if (!context.variables.includes(value)) {
context.variables.push(value);
}
return uniformNameForVariable(value);
diff --git a/src/ol/tilegrid/WMTS.js b/src/ol/tilegrid/WMTS.js
index 41ed62a817..b888d273e9 100644
--- a/src/ol/tilegrid/WMTS.js
+++ b/src/ol/tilegrid/WMTS.js
@@ -143,7 +143,7 @@ export function createFromCapabilitiesMatrixSet(
}
// Fallback for tileMatrix identifiers that don't get prefixed
// by their tileMatrixSet identifiers.
- if (elt[identifierPropName].indexOf(':') === -1) {
+ if (!elt[identifierPropName].includes(':')) {
return (
matrixSet[identifierPropName] + ':' + elt[identifierPropName] ===
elt_ml[matrixIdsPropName]
diff --git a/src/ol/uri.js b/src/ol/uri.js
index ee9a0530d2..ac7bd81525 100644
--- a/src/ol/uri.js
+++ b/src/ol/uri.js
@@ -22,6 +22,6 @@ export function appendParams(uri, params) {
// remove any trailing ? or &
uri = uri.replace(/[?&]$/, '');
// append ? or & depending on whether uri has existing parameters
- uri = uri.indexOf('?') === -1 ? uri + '?' : uri + '&';
+ uri += uri.includes('?') ? '&' : '?';
return uri + qs;
}
diff --git a/src/ol/webgl/ShaderBuilder.js b/src/ol/webgl/ShaderBuilder.js
index 60913ac8f0..73041e6ca5 100644
--- a/src/ol/webgl/ShaderBuilder.js
+++ b/src/ol/webgl/ShaderBuilder.js
@@ -562,7 +562,7 @@ export function parseLiteralStyle(style) {
// for each feature attribute used in the fragment shader, define a varying that will be used to pass data
// from the vertex to the fragment shader, as well as an attribute in the vertex shader (if not already present)
fragContext.attributes.forEach(function (attrName) {
- if (vertContext.attributes.indexOf(attrName) === -1) {
+ if (!vertContext.attributes.includes(attrName)) {
vertContext.attributes.push(attrName);
}
builder.addVarying(`v_${attrName}`, 'float', `a_${attrName}`);
diff --git a/tasks/generate-index.js b/tasks/generate-index.js
index d2d09f5097..2482e12e44 100644
--- a/tasks/generate-index.js
+++ b/tasks/generate-index.js
@@ -30,7 +30,7 @@ function getImport(symbol, member) {
if (
member &&
namedExport.length > 1 &&
- (defaultExport.length <= 1 || defaultExport[0].indexOf('.') !== -1)
+ (defaultExport.length <= 1 || defaultExport[0].includes('.'))
) {
const from = namedExport[0].replace(/^module\:/, './');
const importName = from.replace(/[.\/]+/g, '_');
@@ -52,7 +52,7 @@ function formatSymbolExport(symbol, namespaces, imports) {
const last = nsParts.length - 1;
const imp = getImport(symbol, nsParts[last]);
if (imp) {
- const isNamed = parts[0].indexOf('.') !== -1;
+ const isNamed = parts[0].includes('.');
const importName = isNamed
? '_' + nsParts.slice(0, last).join('_') + '$' + nsParts[last]
: '$' + nsParts.join('$');
@@ -79,7 +79,7 @@ function generateExports(symbols) {
const blocks = [];
symbols.forEach(function (symbol) {
const name = symbol.name;
- if (name.indexOf('#') == -1) {
+ if (!name.includes('#')) {
const imp = getImport(symbol);
if (imp) {
imports[imp] = true;
diff --git a/tasks/generate-info.js b/tasks/generate-info.js
index bcf89bedce..3c772ccfd0 100644
--- a/tasks/generate-info.js
+++ b/tasks/generate-info.js
@@ -5,7 +5,7 @@ import {fileURLToPath} from 'url';
import {spawn} from 'child_process';
import {walk} from 'walk';
-const isWindows = process.platform.indexOf('win') === 0;
+const isWindows = process.platform.startsWith('win');
const baseDir = dirname(fileURLToPath(import.meta.url));
const sourceDir = path.join(baseDir, '..', 'src');
diff --git a/test/browser/spec/ol/interaction/modify.test.js b/test/browser/spec/ol/interaction/modify.test.js
index fc1217611e..1393d30ab6 100644
--- a/test/browser/spec/ol/interaction/modify.test.js
+++ b/test/browser/spec/ol/interaction/modify.test.js
@@ -966,7 +966,7 @@ describe('ol.interaction.Modify', function () {
const listeners = feature.listeners_['change'];
const candidates = Object.values(modify);
return listeners.filter(function (listener) {
- return candidates.indexOf(listener) !== -1;
+ return candidates.includes(listener);
});
};
});
diff --git a/test/rendering/test.js b/test/rendering/test.js
index 731533afac..803960dc92 100755
--- a/test/rendering/test.js
+++ b/test/rendering/test.js
@@ -48,7 +48,7 @@ function indexHandler(req, res) {
function notFound(req, res) {
return () => {
// first, try the default directory
- if (req.url.match(/^\/cases\/[^\/]+\/(index.html)?$/)) {
+ if (/^\/cases\/[^\/]+\/(index.html)?$/.test(req.url)) {
// request for a case index file, and file not found, use default
req.url = '/index.html';
return defaultHandler(req, res, () => indexHandler(req, res));