Remove use of goog.array.map

This commit is contained in:
Frederic Junod
2015-09-23 17:20:39 +02:00
parent 4e7f558234
commit 9e2a393426
16 changed files with 75 additions and 91 deletions
+4 -6
View File
@@ -3,7 +3,6 @@
goog.provide('ol.format.GeoJSON'); goog.provide('ol.format.GeoJSON');
goog.require('goog.array');
goog.require('goog.asserts'); goog.require('goog.asserts');
goog.require('goog.object'); goog.require('goog.object');
goog.require('ol.Feature'); goog.require('ol.Feature');
@@ -90,7 +89,7 @@ ol.format.GeoJSON.readGeometryCollectionGeometry_ = function(
object, opt_options) { object, opt_options) {
goog.asserts.assert(object.type == 'GeometryCollection', goog.asserts.assert(object.type == 'GeometryCollection',
'object.type should be GeometryCollection'); 'object.type should be GeometryCollection');
var geometries = goog.array.map(object.geometries, var geometries = object.geometries.map(
/** /**
* @param {GeoJSONGeometry} geometry Geometry. * @param {GeoJSONGeometry} geometry Geometry.
* @return {ol.geom.Geometry} geometry Geometry. * @return {ol.geom.Geometry} geometry Geometry.
@@ -212,10 +211,9 @@ ol.format.GeoJSON.writeGeometryCollectionGeometry_ = function(
geometry, opt_options) { geometry, opt_options) {
goog.asserts.assertInstanceof(geometry, ol.geom.GeometryCollection, goog.asserts.assertInstanceof(geometry, ol.geom.GeometryCollection,
'geometry should be an ol.geom.GeometryCollection'); 'geometry should be an ol.geom.GeometryCollection');
var geometries = goog.array.map( var geometries = geometry.getGeometriesArray().map(function(geometry) {
geometry.getGeometriesArray(), function(geometry) { return ol.format.GeoJSON.writeGeometry_(geometry, opt_options);
return ol.format.GeoJSON.writeGeometry_(geometry, opt_options); });
});
return /** @type {GeoJSONGeometryCollection} */ ({ return /** @type {GeoJSONGeometryCollection} */ ({
type: 'GeometryCollection', type: 'GeometryCollection',
geometries: geometries geometries: geometries
+3 -6
View File
@@ -1,6 +1,5 @@
goog.provide('ol.proj.EPSG3857'); goog.provide('ol.proj.EPSG3857');
goog.require('goog.array');
goog.require('goog.asserts'); goog.require('goog.asserts');
goog.require('ol.math'); goog.require('ol.math');
goog.require('ol.proj'); goog.require('ol.proj');
@@ -91,11 +90,9 @@ ol.proj.EPSG3857.CODES = [
* @const * @const
* @type {Array.<ol.proj.Projection>} * @type {Array.<ol.proj.Projection>}
*/ */
ol.proj.EPSG3857.PROJECTIONS = goog.array.map( ol.proj.EPSG3857.PROJECTIONS = ol.proj.EPSG3857.CODES.map(function(code) {
ol.proj.EPSG3857.CODES, return new ol.proj.EPSG3857_(code);
function(code) { });
return new ol.proj.EPSG3857_(code);
});
/** /**
+1 -3
View File
@@ -3,7 +3,6 @@
goog.provide('ol.render.Box'); goog.provide('ol.render.Box');
goog.require('goog.Disposable'); goog.require('goog.Disposable');
goog.require('goog.array');
goog.require('goog.asserts'); goog.require('goog.asserts');
goog.require('goog.events'); goog.require('goog.events');
goog.require('ol.geom.Polygon'); goog.require('ol.geom.Polygon');
@@ -76,8 +75,7 @@ ol.render.Box.prototype.createGeometry_ = function() {
endPixel, endPixel,
[endPixel[0], startPixel[1]] [endPixel[0], startPixel[1]]
]; ];
var coordinates = goog.array.map(pixels, var coordinates = pixels.map(this.map_.getCoordinateFromPixel, this.map_);
this.map_.getCoordinateFromPixel, this.map_);
// close the polygon // close the polygon
coordinates[4] = coordinates[0].slice(); coordinates[4] = coordinates[0].slice();
return new ol.geom.Polygon([coordinates]); return new ol.geom.Polygon([coordinates]);
+1 -1
View File
@@ -725,7 +725,7 @@ ol.render.canvas.Immediate.prototype.drawText = goog.abstractMethod;
*/ */
ol.render.canvas.Immediate.prototype.flush = function() { ol.render.canvas.Immediate.prototype.flush = function() {
/** @type {Array.<number>} */ /** @type {Array.<number>} */
var zs = goog.array.map(goog.object.getKeys(this.callbacksByZIndex_), Number); var zs = goog.object.getKeys(this.callbacksByZIndex_).map(Number);
goog.array.sort(zs); goog.array.sort(zs);
var i, ii, callbacks, j, jj; var i, ii, callbacks, j, jj;
for (i = 0, ii = zs.length; i < ii; ++i) { for (i = 0, ii = zs.length; i < ii; ++i) {
+2 -2
View File
@@ -1960,7 +1960,7 @@ ol.render.canvas.ReplayGroup.prototype.replay = function(
context, pixelRatio, transform, viewRotation, skippedFeaturesHash) { context, pixelRatio, transform, viewRotation, skippedFeaturesHash) {
/** @type {Array.<number>} */ /** @type {Array.<number>} */
var zs = goog.array.map(goog.object.getKeys(this.replaysByZIndex_), Number); var zs = goog.object.getKeys(this.replaysByZIndex_).map(Number);
goog.array.sort(zs); goog.array.sort(zs);
// setup clipping so that the parts of over-simplified geometries are not // setup clipping so that the parts of over-simplified geometries are not
@@ -2015,7 +2015,7 @@ ol.render.canvas.ReplayGroup.prototype.replayHitDetection_ = function(
context, transform, viewRotation, skippedFeaturesHash, context, transform, viewRotation, skippedFeaturesHash,
featureCallback, opt_hitExtent) { featureCallback, opt_hitExtent) {
/** @type {Array.<number>} */ /** @type {Array.<number>} */
var zs = goog.array.map(goog.object.getKeys(this.replaysByZIndex_), Number); var zs = goog.object.getKeys(this.replaysByZIndex_).map(Number);
goog.array.sort(zs, function(a, b) { return b - a; }); goog.array.sort(zs, function(a, b) { return b - a; });
var i, ii, j, replays, replay, result; var i, ii, j, replays, replay, result;
+1 -1
View File
@@ -80,7 +80,7 @@ goog.inherits(ol.render.webgl.Immediate, ol.render.VectorContext);
*/ */
ol.render.webgl.Immediate.prototype.flush = function() { ol.render.webgl.Immediate.prototype.flush = function() {
/** @type {Array.<number>} */ /** @type {Array.<number>} */
var zs = goog.array.map(goog.object.getKeys(this.callbacksByZIndex_), Number); var zs = goog.object.getKeys(this.callbacksByZIndex_).map(Number);
goog.array.sort(zs); goog.array.sort(zs);
var i, ii, callbacks, j, jj; var i, ii, callbacks, j, jj;
for (i = 0, ii = zs.length; i < ii; ++i) { for (i = 0, ii = zs.length; i < ii; ++i) {
@@ -354,7 +354,7 @@ ol.renderer.canvas.TileLayer.prototype.prepareFrame =
} }
/** @type {Array.<number>} */ /** @type {Array.<number>} */
var zs = goog.array.map(goog.object.getKeys(tilesToDrawByZ), Number); var zs = goog.object.getKeys(tilesToDrawByZ).map(Number);
goog.array.sort(zs); goog.array.sort(zs);
var opaque = tileSource.getOpaque(); var opaque = tileSource.getOpaque();
var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent( var origin = ol.extent.getTopLeft(tileGrid.getTileCoordExtent(
+2 -3
View File
@@ -172,7 +172,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
} }
/** @type {Array.<number>} */ /** @type {Array.<number>} */
var zs = goog.array.map(goog.object.getKeys(tilesToDrawByZ), Number); var zs = goog.object.getKeys(tilesToDrawByZ).map(Number);
goog.array.sort(zs); goog.array.sort(zs);
/** @type {Object.<number, boolean>} */ /** @type {Object.<number, boolean>} */
@@ -198,8 +198,7 @@ ol.renderer.dom.TileLayer.prototype.prepareFrame =
} }
/** @type {Array.<number>} */ /** @type {Array.<number>} */
var tileLayerZKeys = var tileLayerZKeys = goog.object.getKeys(this.tileLayerZs_).map(Number);
goog.array.map(goog.object.getKeys(this.tileLayerZs_), Number);
goog.array.sort(tileLayerZKeys); goog.array.sort(tileLayerZKeys);
var i, ii, j, origin, resolution; var i, ii, j, origin, resolution;
@@ -286,7 +286,7 @@ ol.renderer.webgl.TileLayer.prototype.prepareFrame =
} }
/** @type {Array.<number>} */ /** @type {Array.<number>} */
var zs = goog.array.map(goog.object.getKeys(tilesToDrawByZ), Number); var zs = goog.object.getKeys(tilesToDrawByZ).map(Number);
goog.array.sort(zs); goog.array.sort(zs);
var u_tileOffset = goog.vec.Vec4.createFloat32(); var u_tileOffset = goog.vec.Vec4.createFloat32();
var i, ii, sx, sy, tileKey, tilesToDraw, tx, ty; var i, ii, sx, sy, tileKey, tilesToDraw, tx, ty;
+52 -56
View File
@@ -115,67 +115,63 @@ ol.source.BingMaps.prototype.handleImageryMetadataResponse =
var culture = this.culture_; var culture = this.culture_;
this.tileUrlFunction = ol.TileUrlFunction.createFromTileUrlFunctions( this.tileUrlFunction = ol.TileUrlFunction.createFromTileUrlFunctions(
goog.array.map( resource.imageUrlSubdomains.map(function(subdomain) {
resource.imageUrlSubdomains, var quadKeyTileCoord = [0, 0, 0];
function(subdomain) { var imageUrl = resource.imageUrl
var quadKeyTileCoord = [0, 0, 0]; .replace('{subdomain}', subdomain)
var imageUrl = resource.imageUrl .replace('{culture}', culture);
.replace('{subdomain}', subdomain) return (
.replace('{culture}', culture); /**
return ( * @param {ol.TileCoord} tileCoord Tile coordinate.
/** * @param {number} pixelRatio Pixel ratio.
* @param {ol.TileCoord} tileCoord Tile coordinate. * @param {ol.proj.Projection} projection Projection.
* @param {number} pixelRatio Pixel ratio. * @return {string|undefined} Tile URL.
* @param {ol.proj.Projection} projection Projection. */
* @return {string|undefined} Tile URL. function(tileCoord, pixelRatio, projection) {
*/ goog.asserts.assert(ol.proj.equivalent(
function(tileCoord, pixelRatio, projection) { projection, sourceProjection),
goog.asserts.assert(ol.proj.equivalent( 'projections are equivalent');
projection, sourceProjection), if (goog.isNull(tileCoord)) {
'projections are equivalent'); return undefined;
if (goog.isNull(tileCoord)) { } else {
return undefined; ol.tilecoord.createOrUpdate(tileCoord[0], tileCoord[1],
} else { -tileCoord[2] - 1, quadKeyTileCoord);
ol.tilecoord.createOrUpdate(tileCoord[0], tileCoord[1], return imageUrl.replace('{quadkey}', ol.tilecoord.quadKey(
-tileCoord[2] - 1, quadKeyTileCoord); quadKeyTileCoord));
return imageUrl.replace('{quadkey}', ol.tilecoord.quadKey( }
quadKeyTileCoord)); });
} }));
});
}));
if (resource.imageryProviders) { if (resource.imageryProviders) {
var transform = ol.proj.getTransformFromProjections( var transform = ol.proj.getTransformFromProjections(
ol.proj.get('EPSG:4326'), this.getProjection()); ol.proj.get('EPSG:4326'), this.getProjection());
var attributions = goog.array.map( var attributions = resource.imageryProviders.map(function(imageryProvider) {
resource.imageryProviders, var html = imageryProvider.attribution;
function(imageryProvider) { /** @type {Object.<string, Array.<ol.TileRange>>} */
var html = imageryProvider.attribution; var tileRanges = {};
/** @type {Object.<string, Array.<ol.TileRange>>} */ goog.array.forEach(
var tileRanges = {}; imageryProvider.coverageAreas,
goog.array.forEach( function(coverageArea) {
imageryProvider.coverageAreas, var minZ = coverageArea.zoomMin;
function(coverageArea) { var maxZ = Math.min(coverageArea.zoomMax, maxZoom);
var minZ = coverageArea.zoomMin; var bbox = coverageArea.bbox;
var maxZ = Math.min(coverageArea.zoomMax, maxZoom); var epsg4326Extent = [bbox[1], bbox[0], bbox[3], bbox[2]];
var bbox = coverageArea.bbox; var extent = ol.extent.applyTransform(
var epsg4326Extent = [bbox[1], bbox[0], bbox[3], bbox[2]]; epsg4326Extent, transform);
var extent = ol.extent.applyTransform( var tileRange, z, zKey;
epsg4326Extent, transform); for (z = minZ; z <= maxZ; ++z) {
var tileRange, z, zKey; zKey = z.toString();
for (z = minZ; z <= maxZ; ++z) { tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z);
zKey = z.toString(); if (zKey in tileRanges) {
tileRange = tileGrid.getTileRangeForExtentAndZ(extent, z); tileRanges[zKey].push(tileRange);
if (zKey in tileRanges) { } else {
tileRanges[zKey].push(tileRange); tileRanges[zKey] = [tileRange];
} else { }
tileRanges[zKey] = [tileRange]; }
} });
} return new ol.Attribution({html: html, tileRanges: tileRanges});
}); });
return new ol.Attribution({html: html, tileRanges: tileRanges});
});
attributions.push(ol.source.BingMaps.TOS_ATTRIBUTION); attributions.push(ol.source.BingMaps.TOS_ATTRIBUTION);
this.setAttributions(attributions); this.setAttributions(attributions);
} }
+1 -1
View File
@@ -178,7 +178,7 @@ ol.source.WMTS = function(options) {
var tileUrlFunction = this.urls_.length > 0 ? var tileUrlFunction = this.urls_.length > 0 ?
ol.TileUrlFunction.createFromTileUrlFunctions( ol.TileUrlFunction.createFromTileUrlFunctions(
goog.array.map(this.urls_, createFromWMTSTemplate)) : this.urls_.map(createFromWMTSTemplate)) :
ol.TileUrlFunction.nullTileUrlFunction; ol.TileUrlFunction.nullTileUrlFunction;
goog.base(this, { goog.base(this, {
+2 -3
View File
@@ -1,6 +1,5 @@
goog.provide('ol.structs.RBush'); goog.provide('ol.structs.RBush');
goog.require('goog.array');
goog.require('goog.asserts'); goog.require('goog.asserts');
goog.require('goog.object'); goog.require('goog.object');
goog.require('ol.ext.rbush'); goog.require('ol.ext.rbush');
@@ -150,7 +149,7 @@ ol.structs.RBush.prototype.update = function(extent, value) {
*/ */
ol.structs.RBush.prototype.getAll = function() { ol.structs.RBush.prototype.getAll = function() {
var items = this.rbush_.all(); var items = this.rbush_.all();
return goog.array.map(items, function(item) { return items.map(function(item) {
return item[4]; return item[4];
}); });
}; };
@@ -163,7 +162,7 @@ ol.structs.RBush.prototype.getAll = function() {
*/ */
ol.structs.RBush.prototype.getInExtent = function(extent) { ol.structs.RBush.prototype.getInExtent = function(extent) {
var items = this.rbush_.search(extent); var items = this.rbush_.search(extent);
return goog.array.map(items, function(item) { return items.map(function(item) {
return item[4]; return item[4];
}); });
}; };
+1 -3
View File
@@ -1,7 +1,6 @@
goog.provide('ol.TileCoord'); goog.provide('ol.TileCoord');
goog.provide('ol.tilecoord'); goog.provide('ol.tilecoord');
goog.require('goog.array');
goog.require('goog.asserts'); goog.require('goog.asserts');
goog.require('ol.extent'); goog.require('ol.extent');
@@ -35,10 +34,9 @@ ol.tilecoord.createFromString = function(str) {
var v = str.split('/'); var v = str.split('/');
goog.asserts.assert(v.length === 3, goog.asserts.assert(v.length === 3,
'must provide a string in "z/x/y" format, got "%s"', str); 'must provide a string in "z/x/y" format, got "%s"', str);
v = goog.array.map(v, function(e, i, a) { return v.map(function(e) {
return parseInt(e, 10); return parseInt(e, 10);
}); });
return v;
}; };
+1 -1
View File
@@ -121,7 +121,7 @@ ol.tilegrid.TileGrid = function(options) {
if (options.sizes !== undefined) { if (options.sizes !== undefined) {
goog.asserts.assert(options.sizes.length == this.resolutions_.length, goog.asserts.assert(options.sizes.length == this.resolutions_.length,
'number of sizes and resolutions must be equal'); 'number of sizes and resolutions must be equal');
this.fullTileRanges_ = goog.array.map(options.sizes, function(size, z) { this.fullTileRanges_ = options.sizes.map(function(size, z) {
goog.asserts.assert(size[0] !== 0, 'width must not be 0'); goog.asserts.assert(size[0] !== 0, 'width must not be 0');
goog.asserts.assert(size[1] !== 0, 'height must not be 0'); goog.asserts.assert(size[1] !== 0, 'height must not be 0');
var tileRange = new ol.TileRange( var tileRange = new ol.TileRange(
+1 -2
View File
@@ -1,7 +1,6 @@
goog.provide('ol.TileUrlFunction'); goog.provide('ol.TileUrlFunction');
goog.provide('ol.TileUrlFunctionType'); goog.provide('ol.TileUrlFunctionType');
goog.require('goog.array');
goog.require('goog.asserts'); goog.require('goog.asserts');
goog.require('goog.math'); goog.require('goog.math');
goog.require('ol.TileCoord'); goog.require('ol.TileCoord');
@@ -73,7 +72,7 @@ ol.TileUrlFunction.createFromTemplate = function(template) {
*/ */
ol.TileUrlFunction.createFromTemplates = function(templates) { ol.TileUrlFunction.createFromTemplates = function(templates) {
return ol.TileUrlFunction.createFromTileUrlFunctions( return ol.TileUrlFunction.createFromTileUrlFunctions(
goog.array.map(templates, ol.TileUrlFunction.createFromTemplate)); templates.map(ol.TileUrlFunction.createFromTemplate));
}; };
+1 -1
View File
@@ -10,7 +10,7 @@ describe('ol.proj', function() {
describe('projection equivalence', function() { describe('projection equivalence', function() {
function _testAllEquivalent(codes) { function _testAllEquivalent(codes) {
var projections = goog.array.map(codes, ol.proj.get); var projections = codes.map(ol.proj.get);
goog.array.forEach(projections, function(source) { goog.array.forEach(projections, function(source) {
goog.array.forEach(projections, function(destination) { goog.array.forEach(projections, function(destination) {
expect(ol.proj.equivalent(source, destination)).to.be.ok(); expect(ol.proj.equivalent(source, destination)).to.be.ok();