diff --git a/modules/actions/join.js b/modules/actions/join.js index c7d980e12..f3dc4daea 100644 --- a/modules/actions/join.js +++ b/modules/actions/join.js @@ -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); }) + ); } diff --git a/modules/actions/merge.js b/modules/actions/merge.js index cf57cbd41..699420d06 100644 --- a/modules/actions/merge.js +++ b/modules/actions/merge.js @@ -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); })); } diff --git a/modules/actions/merge_polygon.js b/modules/actions/merge_polygon.js index 7f0b6661d..51186a5d2 100644 --- a/modules/actions/merge_polygon.js +++ b/modules/actions/merge_polygon.js @@ -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: [] diff --git a/modules/actions/split.js b/modules/actions/split.js index 679eead43..15cd767bd 100644 --- a/modules/actions/split.js +++ b/modules/actions/split.js @@ -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'} diff --git a/modules/behavior/copy.js b/modules/behavior/copy.js index d465aeedd..48da18c10 100644 --- a/modules/behavior/copy.js +++ b/modules/behavior/copy.js @@ -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; })); } diff --git a/modules/geo/extent.js b/modules/geo/extent.js index 0b85158ea..92c2622a1 100644 --- a/modules/geo/extent.js +++ b/modules/geo/extent.js @@ -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] && diff --git a/modules/operations/continue.js b/modules/operations/continue.js index 173965485..505aeade5 100644 --- a/modules/operations/continue.js +++ b/modules/operations/continue.js @@ -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() { diff --git a/modules/osm/changeset.js b/modules/osm/changeset.js index 9aeb8d604..1ba39d5bc 100644 --- a/modules/osm/changeset.js +++ b/modules/osm/changeset.js @@ -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 }) } }; }, diff --git a/modules/osm/intersection.js b/modules/osm/intersection.js index d8715d8b9..a3dc734be 100644 --- a/modules/osm/intersection.js +++ b/modules/osm/intersection.js @@ -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); } diff --git a/modules/osm/node.js b/modules/osm/node.js index 73e35597e..96b7f47f7 100644 --- a/modules/osm/node.js +++ b/modules/osm/node.js @@ -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', diff --git a/modules/osm/note.js b/modules/osm/note.js index 305849cae..e8c56f657 100644 --- a/modules/osm/note.js +++ b/modules/osm/note.js @@ -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', diff --git a/modules/osm/qa_error.js b/modules/osm/qa_error.js index a5c9fd20d..7e18de237 100644 --- a/modules/osm/qa_error.js +++ b/modules/osm/qa_error.js @@ -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)} } -}); \ No newline at end of file +}); diff --git a/modules/osm/relation.js b/modules/osm/relation.js index c642b0740..441595723 100644 --- a/modules/osm/relation.js +++ b/modules/osm/relation.js @@ -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)); }) }; } diff --git a/modules/osm/way.js b/modules/osm/way.js index a08e697b8..4802b074c 100644 --- a/modules/osm/way.js +++ b/modules/osm/way.js @@ -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: [], diff --git a/modules/services/improveOSM.js b/modules/services/improveOSM.js index 9f69d736a..d20d96df8 100644 --- a/modules/services/improveOSM.js +++ b/modules/services/improveOSM.js @@ -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, diff --git a/modules/services/keepRight.js b/modules/services/keepRight.js index 8f6e4dc8e..1cdb8ad3a 100644 --- a/modules/services/keepRight.js +++ b/modules/services/keepRight.js @@ -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, diff --git a/modules/services/osm.js b/modules/services/osm.js index dad62a64a..8a5a6eb34 100644 --- a/modules/services/osm.js +++ b/modules/services/osm.js @@ -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; }, diff --git a/modules/services/streetside.js b/modules/services/streetside.js index e273e9bf7..bf112ca41 100644 --- a/modules/services/streetside.js +++ b/modules/services/streetside.js @@ -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(); } }); diff --git a/modules/services/taginfo.js b/modules/services/taginfo.js index daaea0ea0..00cc6efee 100644 --- a/modules/services/taginfo.js +++ b/modules/services/taginfo.js @@ -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', diff --git a/modules/svg/helpers.js b/modules/svg/helpers.js index 56730f1e8..d878af9ef 100644 --- a/modules/svg/helpers.js +++ b/modules/svg/helpers.js @@ -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; diff --git a/modules/ui/field.js b/modules/ui/field.js index 53a962404..3db7f7e2e 100644 --- a/modules/ui/field.js +++ b/modules/ui/field.js @@ -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, diff --git a/modules/ui/raw_membership_editor.js b/modules/ui/raw_membership_editor.js index 5eb4fc828..a60172147 100644 --- a/modules/ui/raw_membership_editor.js +++ b/modules/ui/raw_membership_editor.js @@ -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') ); }