mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-15 05:30:35 +02:00
Remove lodash extend (re: #6087)
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _groupBy from 'lodash-es/groupBy';
|
||||
import _intersection from 'lodash-es/intersection';
|
||||
|
||||
@@ -19,7 +18,9 @@ export function actionJoin(ids) {
|
||||
|
||||
function groupEntitiesByGeometry(graph) {
|
||||
var entities = ids.map(function(id) { return graph.entity(id); });
|
||||
return _extend({line: []}, _groupBy(entities, function(entity) { return entity.geometry(graph); }));
|
||||
return Object.assign({ line: [] },
|
||||
_groupBy(entities, function(entity) { return entity.geometry(graph); })
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _groupBy from 'lodash-es/groupBy';
|
||||
import _uniq from 'lodash-es/uniq';
|
||||
|
||||
@@ -7,7 +6,7 @@ export function actionMerge(ids) {
|
||||
|
||||
function groupEntitiesByGeometry(graph) {
|
||||
var entities = ids.map(function(id) { return graph.entity(id); });
|
||||
return _extend({point: [], area: [], line: [], relation: []},
|
||||
return Object.assign({point: [], area: [], line: [], relation: []},
|
||||
_groupBy(entities, function(entity) { return entity.geometry(graph); }));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _groupBy from 'lodash-es/groupBy';
|
||||
import _map from 'lodash-es/map';
|
||||
import _omit from 'lodash-es/omit';
|
||||
@@ -11,7 +10,7 @@ export function actionMergePolygon(ids, newRelationId) {
|
||||
|
||||
function groupEntities(graph) {
|
||||
var entities = ids.map(function (id) { return graph.entity(id); });
|
||||
return _extend({
|
||||
return Object.assign({
|
||||
closedWay: [],
|
||||
multipolygon: [],
|
||||
other: []
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _indexOf from 'lodash-es/indexOf';
|
||||
import _intersection from 'lodash-es/intersection';
|
||||
|
||||
@@ -190,7 +189,7 @@ export function actionSplit(nodeId, newWayIds) {
|
||||
|
||||
if (!isOuter && isArea) {
|
||||
var multipolygon = osmRelation({
|
||||
tags: _extend({}, wayA.tags, {type: 'multipolygon'}),
|
||||
tags: Object.assign({}, wayA.tags, { type: 'multipolygon' }),
|
||||
members: [
|
||||
{id: wayA.id, role: 'outer', type: 'way'},
|
||||
{id: wayB.id, role: 'outer', type: 'way'}
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _groupBy from 'lodash-es/groupBy';
|
||||
import _map from 'lodash-es/map';
|
||||
|
||||
@@ -10,7 +9,7 @@ export function behaviorCopy(context) {
|
||||
|
||||
function groupEntities(ids, graph) {
|
||||
var entities = ids.map(function (id) { return graph.entity(id); });
|
||||
return _extend({relation: [], way: [], node: []},
|
||||
return Object.assign({relation: [], way: [], node: []},
|
||||
_groupBy(entities, function(entity) { return entity.type; }));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
|
||||
import {
|
||||
geoMetersToLat,
|
||||
geoMetersToLon
|
||||
} from './index';
|
||||
import { geoMetersToLat, geoMetersToLon } from './index';
|
||||
|
||||
|
||||
export function geoExtent(min, max) {
|
||||
@@ -22,7 +17,7 @@ export function geoExtent(min, max) {
|
||||
|
||||
geoExtent.prototype = new Array(2);
|
||||
|
||||
_extend(geoExtent.prototype, {
|
||||
Object.assign(geoExtent.prototype, {
|
||||
|
||||
equals: function (obj) {
|
||||
return this[0][0] === obj[0][0] &&
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _groupBy from 'lodash-es/groupBy';
|
||||
|
||||
import { t } from '../util/locale';
|
||||
@@ -7,11 +6,11 @@ import { behaviorOperation } from '../behavior';
|
||||
|
||||
|
||||
export function operationContinue(selectedIDs, context) {
|
||||
var graph = context.graph(),
|
||||
entities = selectedIDs.map(function(id) { return graph.entity(id); }),
|
||||
geometries = _extend({ line: [], vertex: [] },
|
||||
_groupBy(entities, function(entity) { return entity.geometry(graph); })),
|
||||
vertex = geometries.vertex[0];
|
||||
var graph = context.graph();
|
||||
var entities = selectedIDs.map(function(id) { return graph.entity(id); });
|
||||
var geometries = Object.assign({ line: [], vertex: [] },
|
||||
_groupBy(entities, function(entity) { return entity.geometry(graph); }));
|
||||
var vertex = geometries.vertex[0];
|
||||
|
||||
|
||||
function candidateWays() {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _filter from 'lodash-es/filter';
|
||||
import _map from 'lodash-es/map';
|
||||
|
||||
@@ -19,7 +18,7 @@ osmEntity.changeset = osmChangeset;
|
||||
|
||||
osmChangeset.prototype = Object.create(osmEntity.prototype);
|
||||
|
||||
_extend(osmChangeset.prototype, {
|
||||
Object.assign(osmChangeset.prototype, {
|
||||
|
||||
type: 'changeset',
|
||||
|
||||
@@ -127,7 +126,7 @@ _extend(osmChangeset.prototype, {
|
||||
'@generator': 'iD',
|
||||
'create': sort(nest(changes.created.map(rep), ['node', 'way', 'relation'])),
|
||||
'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']),
|
||||
'delete': _extend(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), { '@if-unused': true })
|
||||
'delete': Object.assign(nest(changes.deleted.map(rep), ['relation', 'way', 'node']), { '@if-unused': true })
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import _difference from 'lodash-es/difference';
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _uniq from 'lodash-es/uniq';
|
||||
|
||||
import { actionDeleteRelation, actionReverse, actionSplit } from '../actions';
|
||||
@@ -12,7 +11,7 @@ export function osmTurn(turn) {
|
||||
if (!(this instanceof osmTurn)) {
|
||||
return new osmTurn(turn);
|
||||
}
|
||||
_extend(this, turn);
|
||||
Object.assign(this, turn);
|
||||
}
|
||||
|
||||
|
||||
|
||||
+1
-2
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _map from 'lodash-es/map';
|
||||
import _uniq from 'lodash-es/uniq';
|
||||
|
||||
@@ -18,7 +17,7 @@ osmEntity.node = osmNode;
|
||||
|
||||
osmNode.prototype = Object.create(osmEntity.prototype);
|
||||
|
||||
_extend(osmNode.prototype, {
|
||||
Object.assign(osmNode.prototype, {
|
||||
|
||||
type: 'node',
|
||||
|
||||
|
||||
+1
-3
@@ -1,5 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
|
||||
import { geoExtent } from '../geo';
|
||||
|
||||
|
||||
@@ -20,7 +18,7 @@ osmNote.id = function() {
|
||||
osmNote.id.next = -1;
|
||||
|
||||
|
||||
_extend(osmNote.prototype, {
|
||||
Object.assign(osmNote.prototype, {
|
||||
|
||||
type: 'note',
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import { services } from '../../data/qa_errors.json';
|
||||
|
||||
|
||||
export function qaError() {
|
||||
if (!(this instanceof qaError)) {
|
||||
return (new qaError()).initialize(arguments);
|
||||
@@ -16,7 +16,7 @@ qaError.id = function() {
|
||||
|
||||
qaError.id.next = -1;
|
||||
|
||||
_extend(qaError.prototype, {
|
||||
Object.assign(qaError.prototype, {
|
||||
type: 'qaError',
|
||||
|
||||
// All errors need a position
|
||||
@@ -65,4 +65,4 @@ _extend(qaError.prototype, {
|
||||
update: function(attrs) {
|
||||
return qaError(this, attrs); // {v: 1 + (this.v || 0)}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
+9
-10
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _map from 'lodash-es/map';
|
||||
import _reject from 'lodash-es/reject';
|
||||
|
||||
@@ -36,7 +35,7 @@ osmRelation.creationOrder = function(a, b) {
|
||||
};
|
||||
|
||||
|
||||
_extend(osmRelation.prototype, {
|
||||
Object.assign(osmRelation.prototype, {
|
||||
type: 'relation',
|
||||
members: [],
|
||||
|
||||
@@ -47,7 +46,7 @@ _extend(osmRelation.prototype, {
|
||||
var copy = osmEntity.prototype.copy.call(this, resolver, copies);
|
||||
|
||||
var members = this.members.map(function(member) {
|
||||
return _extend({}, member, { id: resolver.entity(member.id).copy(resolver, copies).id });
|
||||
return Object.assign({}, member, { id: resolver.entity(member.id).copy(resolver, copies).id });
|
||||
});
|
||||
|
||||
copy = copy.update({members: members});
|
||||
@@ -92,7 +91,7 @@ _extend(osmRelation.prototype, {
|
||||
indexedMembers: function() {
|
||||
var result = new Array(this.members.length);
|
||||
for (var i = 0; i < this.members.length; i++) {
|
||||
result[i] = _extend({}, this.members[i], {index: i});
|
||||
result[i] = Object.assign({}, this.members[i], {index: i});
|
||||
}
|
||||
return result;
|
||||
},
|
||||
@@ -103,7 +102,7 @@ _extend(osmRelation.prototype, {
|
||||
memberByRole: function(role) {
|
||||
for (var i = 0; i < this.members.length; i++) {
|
||||
if (this.members[i].role === role) {
|
||||
return _extend({}, this.members[i], {index: i});
|
||||
return Object.assign({}, this.members[i], {index: i});
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -113,7 +112,7 @@ _extend(osmRelation.prototype, {
|
||||
var result = [];
|
||||
for (var i = 0; i < this.members.length; i++) {
|
||||
if (this.members[i].role === role) {
|
||||
result.push(_extend({}, this.members[i], {index: i}));
|
||||
result.push(Object.assign({}, this.members[i], {index: i}));
|
||||
}
|
||||
}
|
||||
return result;
|
||||
@@ -124,7 +123,7 @@ _extend(osmRelation.prototype, {
|
||||
memberById: function(id) {
|
||||
for (var i = 0; i < this.members.length; i++) {
|
||||
if (this.members[i].id === id) {
|
||||
return _extend({}, this.members[i], {index: i});
|
||||
return Object.assign({}, this.members[i], {index: i});
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -135,7 +134,7 @@ _extend(osmRelation.prototype, {
|
||||
memberByIdAndRole: function(id, role) {
|
||||
for (var i = 0; i < this.members.length; i++) {
|
||||
if (this.members[i].id === id && this.members[i].role === role) {
|
||||
return _extend({}, this.members[i], {index: i});
|
||||
return Object.assign({}, this.members[i], {index: i});
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -150,7 +149,7 @@ _extend(osmRelation.prototype, {
|
||||
|
||||
updateMember: function(member, index) {
|
||||
var members = this.members.slice();
|
||||
members.splice(index, 1, _extend({}, members[index], member));
|
||||
members.splice(index, 1, Object.assign({}, members[index], member));
|
||||
return this.update({members: members});
|
||||
},
|
||||
|
||||
@@ -233,7 +232,7 @@ _extend(osmRelation.prototype, {
|
||||
type: 'FeatureCollection',
|
||||
properties: this.tags,
|
||||
features: this.members.map(function (member) {
|
||||
return _extend({role: member.role}, resolver.entity(member.id).asGeoJSON(resolver));
|
||||
return Object.assign({role: member.role}, resolver.entity(member.id).asGeoJSON(resolver));
|
||||
})
|
||||
};
|
||||
}
|
||||
|
||||
+1
-2
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _map from 'lodash-es/map';
|
||||
import _uniq from 'lodash-es/uniq';
|
||||
|
||||
@@ -25,7 +24,7 @@ osmEntity.way = osmWay;
|
||||
osmWay.prototype = Object.create(osmEntity.prototype);
|
||||
|
||||
|
||||
_extend(osmWay.prototype, {
|
||||
Object.assign(osmWay.prototype, {
|
||||
type: 'way',
|
||||
nodes: [],
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _forEach from 'lodash-es/forEach';
|
||||
|
||||
import rbush from 'rbush';
|
||||
@@ -169,7 +168,7 @@ export default {
|
||||
if (_erCache.loadedTile[tile.id] || _erCache.inflightTile[tile.id]) return;
|
||||
|
||||
var rect = tile.extent.rectangle();
|
||||
var params = _extend({}, options, { east: rect[0], south: rect[3], west: rect[2], north: rect[1] });
|
||||
var params = Object.assign({}, options, { east: rect[0], south: rect[3], west: rect[2], north: rect[1] });
|
||||
|
||||
// 3 separate requests to store for each tile
|
||||
var requests = {};
|
||||
@@ -177,7 +176,7 @@ export default {
|
||||
_forEach(_impOsmUrls, function(v, k) {
|
||||
// We exclude WATER from missing geometry as it doesn't seem useful
|
||||
// We use most confident one-way and turn restrictions only, still have false positives
|
||||
var kParams = _extend({}, params, (k === 'mr') ? { type: 'PARKING,ROAD,BOTH,PATH' } : { confidenceLevel: 'C1' });
|
||||
var kParams = Object.assign({}, params, (k === 'mr') ? { type: 'PARKING,ROAD,BOTH,PATH' } : { confidenceLevel: 'C1' });
|
||||
var url = v + '/search?' + utilQsString(kParams);
|
||||
|
||||
requests[k] = d3_json(url,
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _forEach from 'lodash-es/forEach';
|
||||
|
||||
import rbush from 'rbush';
|
||||
@@ -307,7 +306,7 @@ export default {
|
||||
if (_krCache.loadedTile[tile.id] || _krCache.inflightTile[tile.id]) return;
|
||||
|
||||
var rect = tile.extent.rectangle();
|
||||
var params = _extend({}, options, { left: rect[0], bottom: rect[3], right: rect[2], top: rect[1] });
|
||||
var params = Object.assign({}, options, { left: rect[0], bottom: rect[3], right: rect[2], top: rect[1] });
|
||||
var url = _krUrlRoot + 'export.php?' + utilQsString(params) + '&ch=' + rules;
|
||||
|
||||
_krCache.inflightTile[tile.id] = d3_json(url,
|
||||
|
||||
+9
-10
@@ -1,6 +1,5 @@
|
||||
import _chunk from 'lodash-es/chunk';
|
||||
import _cloneDeep from 'lodash-es/cloneDeep';
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _forEach from 'lodash-es/forEach';
|
||||
import _groupBy from 'lodash-es/groupBy';
|
||||
import _isEmpty from 'lodash-es/isEmpty';
|
||||
@@ -294,7 +293,7 @@ var parsers = {
|
||||
|
||||
|
||||
function parseXML(xml, callback, options) {
|
||||
options = _extend({ skipSeen: true }, options);
|
||||
options = Object.assign({ skipSeen: true }, options);
|
||||
if (!xml || !xml.childNodes) {
|
||||
return callback({ message: 'No XML', status: -1 });
|
||||
}
|
||||
@@ -439,7 +438,7 @@ export default {
|
||||
// Generic method to load data from the OSM API
|
||||
// Can handle either auth or unauth calls.
|
||||
loadFromAPI: function(path, callback, options) {
|
||||
options = _extend({ skipSeen: true }, options);
|
||||
options = Object.assign({ skipSeen: true }, options);
|
||||
var that = this;
|
||||
var cid = _connectionID;
|
||||
|
||||
@@ -820,7 +819,7 @@ export default {
|
||||
_tileCache.loaded[tile.id] = true;
|
||||
}
|
||||
if (callback) {
|
||||
callback(err, _extend({ data: parsed }, tile));
|
||||
callback(err, Object.assign({ data: parsed }, tile));
|
||||
}
|
||||
if (_isEmpty(_tileCache.inflight)) {
|
||||
dispatch.call('loaded'); // stop the spinner
|
||||
@@ -835,7 +834,7 @@ export default {
|
||||
// Load notes from the API in tiles
|
||||
// GET /api/0.6/notes?bbox=
|
||||
loadNotes: function(projection, noteOptions) {
|
||||
noteOptions = _extend({ limit: 10000, closed: 7 }, noteOptions);
|
||||
noteOptions = Object.assign({ limit: 10000, closed: 7 }, noteOptions);
|
||||
if (_off) return;
|
||||
|
||||
var that = this;
|
||||
@@ -977,7 +976,7 @@ export default {
|
||||
switch: function(options) {
|
||||
urlroot = options.urlroot;
|
||||
|
||||
oauth.options(_extend({
|
||||
oauth.options(Object.assign({
|
||||
url: urlroot,
|
||||
loading: authLoading,
|
||||
done: authDone
|
||||
@@ -990,8 +989,8 @@ export default {
|
||||
},
|
||||
|
||||
|
||||
toggle: function(_) {
|
||||
_off = !_;
|
||||
toggle: function(val) {
|
||||
_off = !val;
|
||||
return this;
|
||||
},
|
||||
|
||||
@@ -1083,9 +1082,9 @@ export default {
|
||||
},
|
||||
|
||||
|
||||
tileZoom: function(_) {
|
||||
tileZoom: function(val) {
|
||||
if (!arguments.length) return _tileZoom;
|
||||
_tileZoom = _;
|
||||
_tileZoom = val;
|
||||
return this;
|
||||
},
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _forEach from 'lodash-es/forEach';
|
||||
import _union from 'lodash-es/union';
|
||||
|
||||
@@ -806,7 +805,7 @@ export default {
|
||||
that.selectImage(d)
|
||||
.then(function(r) {
|
||||
if (r.status === 'ok') {
|
||||
_sceneOptions = _extend(_sceneOptions, viewstate);
|
||||
_sceneOptions = Object.assign(_sceneOptions, viewstate);
|
||||
that.showViewer();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import _debounce from 'lodash-es/debounce';
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _forEach from 'lodash-es/forEach';
|
||||
import _omit from 'lodash-es/omit';
|
||||
|
||||
@@ -218,7 +217,7 @@ export default {
|
||||
keys: function(params, callback) {
|
||||
var doRequest = params.debounce ? debouncedRequest : request;
|
||||
params = clean(setSort(params));
|
||||
params = _extend({
|
||||
params = Object.assign({
|
||||
rp: 10,
|
||||
sortname: 'count_all',
|
||||
sortorder: 'desc',
|
||||
@@ -243,7 +242,7 @@ export default {
|
||||
multikeys: function(params, callback) {
|
||||
var doRequest = params.debounce ? debouncedRequest : request;
|
||||
params = clean(setSort(params));
|
||||
params = _extend({
|
||||
params = Object.assign({
|
||||
rp: 25,
|
||||
sortname: 'count_all',
|
||||
sortorder: 'desc',
|
||||
@@ -276,7 +275,7 @@ export default {
|
||||
|
||||
var doRequest = params.debounce ? debouncedRequest : request;
|
||||
params = clean(setSort(setFilter(params)));
|
||||
params = _extend({
|
||||
params = Object.assign({
|
||||
rp: 25,
|
||||
sortname: 'count_all',
|
||||
sortorder: 'desc',
|
||||
@@ -309,7 +308,7 @@ export default {
|
||||
var doRequest = params.debounce ? debouncedRequest : request;
|
||||
var geometry = params.geometry;
|
||||
params = clean(setSortMembers(params));
|
||||
params = _extend({
|
||||
params = Object.assign({
|
||||
rp: 25,
|
||||
sortname: 'count_all_members',
|
||||
sortorder: 'desc',
|
||||
|
||||
@@ -1,16 +1,10 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
|
||||
import {
|
||||
geoIdentity as d3_geoIdentity,
|
||||
geoPath as d3_geoPath,
|
||||
geoStream as d3_geoStream
|
||||
} from 'd3-geo';
|
||||
|
||||
import {
|
||||
geoVecAdd,
|
||||
geoVecAngle,
|
||||
geoVecLength
|
||||
} from '../geo';
|
||||
import { geoVecAdd, geoVecAngle, geoVecLength } from '../geo';
|
||||
|
||||
|
||||
// Touch targets control which other vertices we can drag a vertex onto.
|
||||
@@ -206,7 +200,7 @@ export function svgRelationMemberTags(graph) {
|
||||
graph.parentRelations(entity).forEach(function(relation) {
|
||||
var type = relation.tags.type;
|
||||
if ((type === 'multipolygon' && shouldCopyMultipolygonTags) || type === 'boundary') {
|
||||
tags = _extend({}, relation.tags, tags);
|
||||
tags = Object.assign({}, relation.tags, tags);
|
||||
}
|
||||
});
|
||||
return tags;
|
||||
|
||||
+1
-3
@@ -1,5 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
|
||||
import { dispatch as d3_dispatch } from 'd3-dispatch';
|
||||
|
||||
import {
|
||||
@@ -17,7 +15,7 @@ import { utilRebind } from '../util';
|
||||
|
||||
|
||||
export function uiField(context, presetField, entity, options) {
|
||||
options = _extend({
|
||||
options = Object.assign({
|
||||
show: true,
|
||||
wrap: true,
|
||||
remove: true,
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import _extend from 'lodash-es/extend';
|
||||
import _filter from 'lodash-es/filter';
|
||||
import _groupBy from 'lodash-es/groupBy';
|
||||
|
||||
@@ -54,7 +53,7 @@ export function uiRawMembershipEditor(context) {
|
||||
if (oldRole !== newRole) {
|
||||
_inChange = true;
|
||||
context.perform(
|
||||
actionChangeMember(d.relation.id, _extend({}, d.member, { role: newRole }), d.index),
|
||||
actionChangeMember(d.relation.id, Object.assign({}, d.member, { role: newRole }), d.index),
|
||||
t('operations.change_role.annotation')
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user