Skip to content

Commit

Permalink
Merge pull request #10431 from openstreetmap/kh/dep-cycle
Browse files Browse the repository at this point in the history
fix cyclic dependencies
  • Loading branch information
tyrasd committed Sep 3, 2024
2 parents 9469ee2 + 90c4241 commit 9990a7b
Show file tree
Hide file tree
Showing 20 changed files with 55 additions and 46 deletions.
3 changes: 2 additions & 1 deletion modules/behavior/hash.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@ import { select as d3_select } from 'd3-selection';
import { geoSphericalDistance } from '../geo';
import { modeBrowse } from '../modes/browse';
import { modeSelect, modeSelectNote } from '../modes';
import { utilDisplayLabel, utilObjectOmit, utilQsString, utilStringQs } from '../util';
import { utilObjectOmit, utilQsString, utilStringQs } from '../util';
import { utilArrayIdentical } from '../util/array';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { t } from '../core/localizer';
import { prefs } from '../core/preferences';

Expand Down
2 changes: 1 addition & 1 deletion modules/operations/paste.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { modeSelect } from '../modes/select';
import { geoExtent, geoVecSubtract } from '../geo';
import { t } from '../core/localizer';
import { uiCmd } from '../ui/cmd';
import { utilDisplayLabel } from '../util/util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';

// see also `behaviorPaste`
export function operationPaste(context) {
Expand Down
1 change: 0 additions & 1 deletion modules/util/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ export { utilDetect } from './detect';
export { utilDisplayName } from './util';
export { utilDisplayNameForPath } from './util';
export { utilDisplayType } from './util';
export { utilDisplayLabel } from './util';
export { utilEntityRoot } from './util';
export { utilEditDistance } from './util';
export { utilEntityAndDeepMemberIDs } from './util';
Expand Down
27 changes: 0 additions & 27 deletions modules/util/util.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { remove as removeDiacritics } from 'diacritics';
import { fixRTLTextForSvg, rtlRegex } from './svg_paths_rtl_fix';

import { presetManager } from '../presets';
import { t, localizer } from '../core/localizer';
import { utilArrayUnion } from './array';
import { utilDetect } from './detect';
Expand Down Expand Up @@ -244,32 +243,6 @@ export function utilDisplayType(id) {
}


// `utilDisplayLabel`
// Returns a string suitable for display
// By default returns something like name/ref, fallback to preset type, fallback to OSM type
// "Main Street" or "Tertiary Road"
// If `verbose=true`, include both preset name and feature name.
// "Tertiary Road Main Street"
//
export function utilDisplayLabel(entity, graphOrGeometry, verbose) {
var result;
var displayName = utilDisplayName(entity);
var preset = typeof graphOrGeometry === 'string' ?
presetManager.matchTags(entity.tags, graphOrGeometry) :
presetManager.match(entity, graphOrGeometry);
var presetName = preset && (preset.suggestion ? preset.subtitle() : preset.name());

if (verbose) {
result = [presetName, displayName].filter(Boolean).join(' ');
} else {
result = displayName || presetName;
}

// Fallback to the OSM type (node/way/relation)
return result || utilDisplayType(entity.id);
}


export function utilEntityRoot(entityType) {
return {
node: 'n',
Expand Down
33 changes: 33 additions & 0 deletions modules/util/utilDisplayLabel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import { presetManager } from '../presets';
import { utilDisplayName, utilDisplayType } from './util';

/**
* `utilDisplayLabel` returns a string suitable for display
*
* By default returns something like name/ref, fallback to preset type, fallback to OSM type
* "Main Street" or "Tertiary Road"
*
* If `verbose=true`, include both preset name and feature name.
* "Tertiary Road Main Street"
* @param {osmEntity} entity
* @param {string | unknown} graphOrGeometry
* @param {boolean} [verbose]
* @returns {string}
*/
export function utilDisplayLabel(entity, graphOrGeometry, verbose) {
var result;
var displayName = utilDisplayName(entity);
var preset = typeof graphOrGeometry === 'string' ?
presetManager.matchTags(entity.tags, graphOrGeometry) :
presetManager.match(entity, graphOrGeometry);
var presetName = preset && (preset.suggestion ? preset.subtitle() : preset.name());

if (verbose) {
result = [presetName, displayName].filter(Boolean).join(' ');
} else {
result = displayName || presetName;
}

// Fallback to the OSM type (node/way/relation)
return result || utilDisplayType(entity.id);
}
2 changes: 1 addition & 1 deletion modules/validations/almost_junction.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { actionAddMidpoint } from '../actions/add_midpoint';
import { actionChangeTags } from '../actions/change_tags';
import { actionMergeNodes } from '../actions/merge_nodes';
import { t } from '../core/localizer';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { osmRoutableHighwayTagValues } from '../osm/tags';
import { validationIssue, validationIssueFix } from '../core/validation';
import { services } from '../services';
Expand Down
2 changes: 1 addition & 1 deletion modules/validations/close_nodes.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { actionMergeNodes } from '../actions/merge_nodes';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { t } from '../core/localizer';
import { validationIssue, validationIssueFix } from '../core/validation';
import { osmPathHighwayTagValues } from '../osm/tags';
Expand Down
2 changes: 1 addition & 1 deletion modules/validations/crossing_ways.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import { geoAngle, geoExtent, geoLatToMeters, geoLonToMeters, geoLineIntersectio
import { osmNode } from '../osm/node';
import { osmFlowingWaterwayTagValues, osmPathHighwayTagValues, osmRailwayTrackTagValues, osmRoutableHighwayTagValues } from '../osm/tags';
import { t } from '../core/localizer';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';


Expand Down
2 changes: 1 addition & 1 deletion modules/validations/disconnected_way.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { t, localizer } from '../core/localizer';
import { modeDrawLine } from '../modes/draw_line';
import { operationDelete } from '../operations/delete';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { osmRoutableHighwayTagValues } from '../osm/tags';
import { validationIssue, validationIssueFix } from '../core/validation';
import { services } from '../services';
Expand Down
2 changes: 1 addition & 1 deletion modules/validations/help_request.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { t } from '../core/localizer';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';


Expand Down
2 changes: 1 addition & 1 deletion modules/validations/impossible_oneway.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { t, localizer } from '../core/localizer';
import { modeDrawLine } from '../modes/draw_line';
import { actionReverse } from '../actions/reverse';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { osmFlowingWaterwayTagValues, osmOneWayTags, osmRoutableHighwayTagValues } from '../osm/tags';
import { validationIssue, validationIssueFix } from '../core/validation';
import { services } from '../services';
Expand Down
2 changes: 1 addition & 1 deletion modules/validations/incompatible_source.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { t } from '../core/localizer';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';


Expand Down
2 changes: 1 addition & 1 deletion modules/validations/invalid_format.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { t } from '../core/localizer';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue } from '../core/validation';

export function validationFormatting() {
Expand Down
3 changes: 2 additions & 1 deletion modules/validations/mismatched_geometry.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,8 @@ import { osmNodeGeometriesForTags, osmTagSuggestingArea } from '../osm/tags';
import { presetManager } from '../presets';
import { geoHasSelfIntersections, geoSphericalDistance } from '../geo';
import { t } from '../core/localizer';
import { utilDisplayLabel, utilTagText } from '../util';
import { utilTagText } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';


Expand Down
2 changes: 1 addition & 1 deletion modules/validations/missing_role.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { actionChangeMember } from '../actions/change_member';
import { actionDeleteMember } from '../actions/delete_member';
import { t } from '../core/localizer';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';


Expand Down
2 changes: 1 addition & 1 deletion modules/validations/missing_tag.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { operationDelete } from '../operations/delete';
import { osmIsInterestingTag } from '../osm/tags';
import { t } from '../core/localizer';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';


Expand Down
4 changes: 2 additions & 2 deletions modules/validations/mutually_exclusive_tags.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { actionChangeTags } from '../actions/change_tags';
import { t } from '../core/localizer';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';
import { osmMutuallyExclusiveTagPairs } from '../osm/tags';

Expand Down Expand Up @@ -90,4 +90,4 @@ export function validationMutuallyExclusiveTags(/* context */) {
validation.type = type;

return validation;
}
}
3 changes: 2 additions & 1 deletion modules/validations/outdated_tags.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ import { actionUpgradeTags } from '../actions/upgrade_tags';
import { fileFetcher } from '../core';
import { presetManager } from '../presets';
import { services } from '../services';
import { utilDisplayLabel, utilHashcode, utilTagDiff } from '../util';
import { utilHashcode, utilTagDiff } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';


Expand Down
3 changes: 2 additions & 1 deletion modules/validations/private_data.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { actionChangeTags } from '../actions/change_tags';
import { t } from '../core/localizer';
import { utilDisplayLabel, utilTagDiff } from '../util';
import { utilTagDiff } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';


Expand Down
2 changes: 1 addition & 1 deletion modules/validations/unsquare_way.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { t } from '../core/localizer';
//import { actionChangeTags } from '../actions/change_tags';
import { actionOrthogonalize } from '../actions/orthogonalize';
import { geoOrthoCanOrthogonalize } from '../geo/ortho';
import { utilDisplayLabel } from '../util';
import { utilDisplayLabel } from '../util/utilDisplayLabel';
import { validationIssue, validationIssueFix } from '../core/validation';
import { services } from '../services';

Expand Down

0 comments on commit 9990a7b

Please sign in to comment.