-
Notifications
You must be signed in to change notification settings - Fork 2
/
details.js
42 lines (37 loc) · 795 Bytes
/
details.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
module.exports = class Details {
constructor() {
this.titledProperties = [];
this.headerLists = [];
this.tags = [];
this.summary = [];
this.raw = {};
this.hasData = true;
}
addHeaderList(header, item) {
let done = false;
this.headerLists.forEach((entry) => {
if (entry.header === header) {
entry.items.push(item);
done = true;
}
});
if (!done) {
this.headerLists.push({
header: header,
items: [item]
});
}
}
addTag(tag) {
this.tags.push(tag);
}
addSummary(summary) {
this.summary.push(summary);
}
addTitledProperty(title, property) {
this.titledProperties.push({
key: title,
value: property
});
}
};