1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.TableDictLine = void 0;
|
4 | const loader_line_1 = require("@novel-segment/loader-line");
|
5 | const util_1 = require("../util");
|
6 | const core_1 = require("./core");
|
7 |
|
8 |
|
9 |
|
10 | class TableDictLine extends core_1.default {
|
11 | exists(data, ...argv) {
|
12 | let w = this._exists(data);
|
13 | let bool = this.TABLE[w];
|
14 | return typeof bool === 'boolean' ? bool : null;
|
15 | }
|
16 | add(word) {
|
17 | let self = this;
|
18 | if (Array.isArray(word)) {
|
19 | word.forEach(v => self._add(v));
|
20 | }
|
21 | else {
|
22 | self._add(word);
|
23 | }
|
24 | return this;
|
25 | }
|
26 | _add(word) {
|
27 | word = word.trim();
|
28 | if (word) {
|
29 | this.TABLE[word] = true;
|
30 | }
|
31 | }
|
32 | remove(word) {
|
33 | let self = this;
|
34 | self._remove(word);
|
35 | return this;
|
36 | }
|
37 | _remove(word) {
|
38 | delete this.TABLE[word];
|
39 | }
|
40 | json() {
|
41 | return util_1.cloneDeep(this.TABLE);
|
42 | }
|
43 | stringify(LF = "\n") {
|
44 | let self = this;
|
45 | return Object.entries(self.TABLE)
|
46 | .reduce(function (a, [w, bool]) {
|
47 | if (bool) {
|
48 | let line = loader_line_1.stringifyLine(w);
|
49 | a.push(line);
|
50 | }
|
51 | return a;
|
52 | }, [])
|
53 | .join(typeof LF === 'string' ? LF : "\n");
|
54 | }
|
55 | }
|
56 | exports.TableDictLine = TableDictLine;
|
57 | exports.default = TableDictLine;
|
58 |
|
\ | No newline at end of file |