LP1819745 Ang staff result page link repairs
[working/Evergreen.git] / Open-ILS / src / eg2 / src / app / share / util / hash-params.ts
1 import {ParamMap} from '@angular/router';
2
3
4 /**
5  * Class to map a generic hash to an Angular ParamMap.
6  */
7 export class HashParams implements ParamMap {
8     private params: {[key: string]: any[]};
9
10     public get keys(): string[] {
11         return Object.keys(this.params);
12     }
13
14     constructor(params: {[key: string]: any}) {
15         this.params = params || {};
16     }
17
18     has(key: string): boolean {
19         return key in this.params;
20     }
21
22     get(key: string): string | null {
23         return this.has(key) ? [].concat(this.params[key])[0] : null;
24     }
25
26     getAll(key: string): string[] {
27         return this.has(key) ? [].concat(this.params[key]) : [];
28     }
29 }