1 | export 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 | }
|