UNPKG

546 BJavaScriptView Raw
1export class Fields {
2 constructor({ fields = [], encoding = "utf-8" }) {
3 this.entries = {};
4 fields.forEach(this.setField.bind(this));
5 this.encoding = encoding;
6 }
7 setField(field) {
8 this.entries[field.name.toLowerCase()] = field;
9 }
10 getField(name) {
11 return this.entries[name.toLowerCase()];
12 }
13 removeField(name) {
14 delete this.entries[name.toLowerCase()];
15 }
16 getByType(kind) {
17 return Object.values(this.entries).filter((field) => field.kind === kind);
18 }
19}