forked from MapComplete/MapComplete
Change in tagfilters
This commit is contained in:
parent
c1c11ed906
commit
19acba61d2
3 changed files with 49 additions and 18 deletions
|
@ -1,8 +1,21 @@
|
|||
export class Regex implements TagsFilter {
|
||||
|
||||
export abstract class TagsFilter {
|
||||
abstract matches(tags: { k: string, v: string }[]): boolean
|
||||
abstract asOverpass(): string[]
|
||||
abstract substituteValues(tags: any) : TagsFilter;
|
||||
|
||||
matchesProperties(properties: any) : boolean{
|
||||
return this.matches(TagUtils.proprtiesToKV(properties));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export class Regex extends TagsFilter {
|
||||
private _k: string;
|
||||
private _r: string;
|
||||
|
||||
constructor(k: string, r: string) {
|
||||
super();
|
||||
this._k = k;
|
||||
this._r = r;
|
||||
}
|
||||
|
@ -37,11 +50,12 @@ export class Regex implements TagsFilter {
|
|||
|
||||
}
|
||||
|
||||
export class Tag implements TagsFilter {
|
||||
export class Tag extends TagsFilter {
|
||||
public key: string;
|
||||
public value: string;
|
||||
|
||||
constructor(key: string, value: string) {
|
||||
super()
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
}
|
||||
|
@ -85,11 +99,12 @@ export class Tag implements TagsFilter {
|
|||
|
||||
}
|
||||
|
||||
export class Or implements TagsFilter {
|
||||
export class Or extends TagsFilter {
|
||||
|
||||
public or: TagsFilter[]
|
||||
|
||||
constructor(or: TagsFilter[]) {
|
||||
super();
|
||||
this.or = or;
|
||||
}
|
||||
|
||||
|
@ -127,11 +142,12 @@ export class Or implements TagsFilter {
|
|||
|
||||
}
|
||||
|
||||
export class And implements TagsFilter {
|
||||
export class And extends TagsFilter {
|
||||
|
||||
public and: TagsFilter[]
|
||||
|
||||
constructor(and: TagsFilter[]) {
|
||||
super();
|
||||
this.and = and;
|
||||
}
|
||||
|
||||
|
@ -185,13 +201,6 @@ export class And implements TagsFilter {
|
|||
}
|
||||
}
|
||||
|
||||
export interface TagsFilter {
|
||||
matches(tags: { k: string, v: string }[]): boolean
|
||||
|
||||
asOverpass(): string[]
|
||||
|
||||
substituteValues(tags: any) : TagsFilter;
|
||||
}
|
||||
|
||||
export class TagUtils {
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue