UNPKG

1.68 kBJavaScriptView Raw
1"use strict";
2/**
3 * Created by user on 2018/4/19/019.
4 */
5Object.defineProperty(exports, "__esModule", { value: true });
6exports.TableDictSynonym = void 0;
7const synonym_pangu_1 = require("./synonym.pangu");
8/**
9 * 請注意 這與原版 node-segment 的格式不同
10 *
11 * 原版為一對一 => 錯字,正字
12 * 這裡為一對多 並且順序與原版相反 => 正字,錯字,...以,分隔更多字
13 */
14class TableDictSynonym extends synonym_pangu_1.TableDictSynonymPanGu {
15 constructor(type = TableDictSynonym.type, options = {}, ...argv) {
16 super(type, options, ...argv);
17 /**
18 * 緩存主KEY
19 */
20 this.TABLE2 = {};
21 }
22 add(data, skipExists) {
23 if (!Array.isArray(data) || data.length < 2) {
24 throw new TypeError(JSON.stringify(data));
25 }
26 let w = this._trim(data.shift());
27 if (!w) {
28 throw new TypeError(JSON.stringify(data));
29 }
30 let self = this;
31 self.TABLE2[w] = self.TABLE2[w] || [];
32 if (skipExists == null) {
33 skipExists = true;
34 }
35 data.forEach(function (bw, index) {
36 bw = self._trim(bw);
37 if (!bw) {
38 if (index == 0) {
39 throw new TypeError();
40 }
41 return;
42 }
43 if (skipExists && self.exists(bw) || bw in self.TABLE2) {
44 return;
45 }
46 self.TABLE2[w].push(bw);
47 self._add(bw, w);
48 //skipExists = true;
49 });
50 return this;
51 }
52}
53exports.TableDictSynonym = TableDictSynonym;
54exports.default = TableDictSynonym;
55//# sourceMappingURL=synonym.js.map
\No newline at end of file