UNPKG

3.13 kBSource Map (JSON)View Raw
1{"version":3,"file":"line.js","sourceRoot":"","sources":["line.ts"],"names":[],"mappings":";;;AACA,4DAAqE;AAErE,kCAAoC;AAEpC,iCAAwE;AAExE;;GAEG;AACH,MAAsB,aAAc,SAAQ,cAA8B;IAElE,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI;QAE1B,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3B,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAEzB,OAAO,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/C,CAAC;IAED,GAAG,CAAC,IAAuB;QAE1B,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EACvB;YACC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;SAC/B;aAED;YACC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAChB;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,IAAY;QAEhB,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAEnB,IAAI,IAAI,EACR;YACC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;SACxB;IACF,CAAC;IAED,MAAM,CAAC,IAAY;QAElB,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,CAAC,IAAY;QAEnB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,IAAI;QAEH,OAAO,gBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,SAAS,CAAC,EAAE,GAAG,IAAI;QAElB,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;aAC/B,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC;YAE7B,IAAI,IAAI,EACR;gBACC,IAAI,IAAI,GAAG,2BAAa,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACb;YAED,OAAO,CAAC,CAAA;QACT,CAAC,EAAE,EAAE,CAAC;aACL,IAAI,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACxC;IACH,CAAC;CACD;AAzED,sCAyEC;AAED,kBAAe,aAAa,CAAA","sourcesContent":["import { IDICT_SYNONYM, IWord } from '../Segment';\nimport { IDictRow, stringifyLine } from '@novel-segment/loader-line';\nimport CjkConv from 'cjk-conv';\nimport { cloneDeep } from '../util';\nimport { text_list } from '../util/cjk';\nimport AbstractTableDictCore, { IDICT, IDICT2, IOptions } from './core';\n\n/**\n * 原版 node-segment 的格式\n */\nexport abstract class TableDictLine extends AbstractTableDictCore<boolean>\n{\n\tpublic exists(data, ...argv)\n\t{\n\t\tlet w = this._exists(data);\n\n\t\tlet bool = this.TABLE[w];\n\n\t\treturn typeof bool === 'boolean' ? bool : null\n\t}\n\n\tadd(word: string | string[])\n\t{\n\t\tlet self = this;\n\n\t\tif (Array.isArray(word))\n\t\t{\n\t\t\tword.forEach(v => self._add(v))\n\t\t}\n\t\telse\n\t\t{\n\t\t\tself._add(word);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\t_add(word: string)\n\t{\n\t\tword = word.trim();\n\n\t\tif (word)\n\t\t{\n\t\t\tthis.TABLE[word] = true;\n\t\t}\n\t}\n\n\tremove(word: string)\n\t{\n\t\tlet self = this;\n\t\tself._remove(word);\n\n\t\treturn this;\n\t}\n\n\t_remove(word: string)\n\t{\n\t\tdelete this.TABLE[word]\n\t}\n\n\tjson()\n\t{\n\t\treturn cloneDeep(this.TABLE)\n\t}\n\n\tstringify(LF = \"\\n\")\n\t{\n\t\tlet self = this;\n\n\t\treturn Object.entries(self.TABLE)\n\t\t\t.reduce(function (a, [w, bool])\n\t\t\t{\n\t\t\t\tif (bool)\n\t\t\t\t{\n\t\t\t\t\tlet line = stringifyLine(w);\n\t\t\t\t\ta.push(line);\n\t\t\t\t}\n\n\t\t\t\treturn a\n\t\t\t}, [])\n\t\t\t.join(typeof LF === 'string' ? LF : \"\\n\")\n\t\t\t;\n\t}\n}\n\nexport default TableDictLine\n"]}
\No newline at end of file