UNPKG

3.27 kBSource Map (JSON)View Raw
1{"version":3,"file":"core.js","sourceRoot":"","sources":["core.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA4BH,MAAsB,qBAAqB;IAU1C,YAAY,IAAY,EAAE,UAAoB,EAAE,EAAE,WAAsC,EAAE,GAAG,IAAI;QAL1F,UAAK,GAAa,EAAE,CAAC;QACrB,WAAM,GAAoB,EAAE,CAAC;QAMnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,WAAW,EACf;YACC,IAAI,WAAW,CAAC,KAAK,EACrB;gBACC,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;aAC/B;YAED,IAAI,WAAW,CAAC,MAAM,EACtB;gBACC,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;aACjC;SACD;IACF,CAAC;IAES,OAAO,CAAsC,IAAO,EAAE,GAAG,IAAI;QAEtE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEZ,IAAI,OAAO,IAAI,IAAI,QAAQ,EAC3B;YACC,CAAC,GAAG,IAAI,CAAC;SACT;aACI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAC5B;YACC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;SACjB;aAED;YACC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAa,CAAC,CAAC;SAC9B;QAED,OAAO,CAAC,CAAA;IACT,CAAC;IAEM,MAAM,CAAsC,IAAO,EAAE,GAAG,IAAI;QAElE,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAE3B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC9B,CAAC;IAYM,IAAI;QAEV,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IACvC,CAAC;CACD;AAvED,sDAuEC;AAED,kBAAe,qBAAqB,CAAC","sourcesContent":["/**\n * Created by user on 2018/4/19/019.\n */\n\nimport { IWord } from '../segment/types';\nimport { IDictRow } from 'segment-dict/lib/loader/segment';\nimport CjkConv from 'cjk-conv';\nimport { text_list } from '../util/cjk';\nimport { ITableDictRow } from './dict';\n\nexport type IOptions = {\n\tautoCjk?: boolean,\n}\n\nexport interface IDICT<T = any>\n{\n\t[key: string]: T,\n}\n\nexport interface IDICT2<T = any>\n{\n\t[key: number]: IDICT<T>,\n}\n\nexport interface ITableDictExistsTable<T>\n{\n\tTABLE?: IDICT<T>,\n\tTABLE2?: any | IDICT2<T>,\n}\n\nexport abstract class AbstractTableDictCore<T>\n{\n\tpublic static type: string;\n\tpublic type: string;\n\n\tpublic TABLE: IDICT<T> = {};\n\tpublic TABLE2: any | IDICT2<T> = {};\n\n\tpublic options: IOptions;\n\n\tconstructor(type: string, options: IOptions = {}, existsTable?: ITableDictExistsTable<T>, ...argv)\n\t{\n\t\tthis.type = type;\n\n\t\tthis.options = Object.assign({}, this.options, options);\n\n\t\tif (existsTable)\n\t\t{\n\t\t\tif (existsTable.TABLE)\n\t\t\t{\n\t\t\t\tthis.TABLE = existsTable.TABLE;\n\t\t\t}\n\n\t\t\tif (existsTable.TABLE2)\n\t\t\t{\n\t\t\t\tthis.TABLE2 = existsTable.TABLE2;\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected _exists<U extends IWord | IDictRow | string>(data: U, ...argv)\n\t{\n\t\tlet w, p, f;\n\n\t\tif (typeof data == 'string')\n\t\t{\n\t\t\tw = data;\n\t\t}\n\t\telse if (Array.isArray(data))\n\t\t{\n\t\t\t[w, p, f] = data;\n\t\t}\n\t\telse\n\t\t{\n\t\t\t({ w, p, f } = data as IWord);\n\t\t}\n\n\t\treturn w\n\t}\n\n\tpublic exists<U extends IWord | IDictRow | string>(data: U, ...argv)\n\t{\n\t\tlet w = this._exists(data);\n\n\t\treturn this.TABLE[w] || null;\n\t}\n\n\tpublic abstract add(data, ...argv): this\n\n\tprotected abstract _add(data, ...argv)\n\n\tpublic remove?(data, ...argv): this\n\tprotected _remove?(data, ...argv)\n\n\tpublic json?(...argv): IDICT<T>\n\tpublic stringify?(...argv): string\n\n\tpublic size(): number\n\t{\n\t\treturn Object.keys(this.TABLE).length;\n\t}\n}\n\nexport default AbstractTableDictCore;\n"]}
\No newline at end of file