forked from MapComplete/MapComplete
Reformat all files with prettier
This commit is contained in:
parent
e22d189376
commit
b541d3eab4
382 changed files with 50893 additions and 35566 deletions
|
@ -1,24 +1,25 @@
|
|||
import {UIEventSource} from "../UIEventSource";
|
||||
import { UIEventSource } from "../UIEventSource"
|
||||
|
||||
export interface Relation {
|
||||
id: number,
|
||||
id: number
|
||||
type: "relation"
|
||||
members: {
|
||||
type: ("way" | "node" | "relation"),
|
||||
ref: number,
|
||||
type: "way" | "node" | "relation"
|
||||
ref: number
|
||||
role: string
|
||||
}[],
|
||||
tags: any,
|
||||
}[]
|
||||
tags: any
|
||||
// Alias for tags; tags == properties
|
||||
properties: any
|
||||
}
|
||||
|
||||
export default class RelationsTracker {
|
||||
public knownRelations = new UIEventSource<Map<string, { role: string; relation: Relation }[]>>(
|
||||
new Map(),
|
||||
"Relation memberships"
|
||||
)
|
||||
|
||||
public knownRelations = new UIEventSource<Map<string, { role: string; relation: Relation }[]>>(new Map(), "Relation memberships");
|
||||
|
||||
constructor() {
|
||||
}
|
||||
constructor() {}
|
||||
|
||||
/**
|
||||
* Gets an overview of the relations - except for multipolygons. We don't care about those
|
||||
|
@ -26,8 +27,9 @@ export default class RelationsTracker {
|
|||
* @constructor
|
||||
*/
|
||||
private static GetRelationElements(overpassJson: any): Relation[] {
|
||||
const relations = overpassJson.elements
|
||||
.filter(element => element.type === "relation" && element.tags.type !== "multipolygon")
|
||||
const relations = overpassJson.elements.filter(
|
||||
(element) => element.type === "relation" && element.tags.type !== "multipolygon"
|
||||
)
|
||||
for (const relation of relations) {
|
||||
relation.properties = relation.tags
|
||||
}
|
||||
|
@ -45,12 +47,12 @@ export default class RelationsTracker {
|
|||
*/
|
||||
private UpdateMembershipTable(relations: Relation[]): void {
|
||||
const memberships = this.knownRelations.data
|
||||
let changed = false;
|
||||
let changed = false
|
||||
for (const relation of relations) {
|
||||
for (const member of relation.members) {
|
||||
const role = {
|
||||
role: member.role,
|
||||
relation: relation
|
||||
relation: relation,
|
||||
}
|
||||
const key = member.type + "/" + member.ref
|
||||
if (!memberships.has(key)) {
|
||||
|
@ -58,19 +60,17 @@ export default class RelationsTracker {
|
|||
}
|
||||
const knownRelations = memberships.get(key)
|
||||
|
||||
const alreadyExists = knownRelations.some(knownRole => {
|
||||
const alreadyExists = knownRelations.some((knownRole) => {
|
||||
return knownRole.role === role.role && knownRole.relation === role.relation
|
||||
})
|
||||
if (!alreadyExists) {
|
||||
knownRelations.push(role)
|
||||
changed = true;
|
||||
changed = true
|
||||
}
|
||||
}
|
||||
}
|
||||
if (changed) {
|
||||
this.knownRelations.ping()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue