message: feat(utils-general): multiple locations matching
diff: export interface ILocationService {
  matches(currentLocation: string[], checkedLocation: string): boolean;
  + matchesSome(currentLocation: string[], checkedLocations: string[]): boolean;
  encode(decoded: string[][]): string[];
  decode(encoded: string[]): string[][];
  }
  @@ -15,6 +16,18 @@ export class LocationService implements ILocationService {
  );
  }
  + public matchesSome(currentLocation: string[], checkedLocations: string[]) {
  + const highestSpecificityTypes = this.filterForHighestSpecificity(
  + currentLocation
  + ).map(type => [...this.decode([type])[0]]);
  +
  + return highestSpecificityTypes.some(location =>
  + checkedLocations.some(checkedLocation =>
  + checkedLocation.startsWith(this.encode([location])[0])
  + )
  + );
  + }
  +
  public encode(decoded: string[][]): string[] {
  return decoded.map(group => group.join(';'));
  }
  