UNPKG

2.76 kBSource Map (JSON)View Raw
1{"version":3,"file":"ZhuyinTokenizer.js","sourceRoot":"","sources":["ZhuyinTokenizer.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,gCAA8E;AAO9E;;GAEG;AACH,MAAa,eAAgB,SAAQ,yBAAmB;IAAxD;;QAGC,SAAI,GAAG,iBAAiB,CAAC;IAuD1B,CAAC;IAlDU,MAAM,CAAC,GAAG,IAAI;QAEvB,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAc;QAEnB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,WAAW,CAAC,IAAY,EAAE,GAAY;QAErC,IAAI,GAAG,GAAY,EAAE,CAAC;QACtB,IAAI,IAAI,GAAG,IAAI,CAAC;QAEhB,IAAI,EAAE,GAAG,+BAA+B,CAAC;QAEzC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAClB;YACC,OAAO,IAAI,CAAC;SACZ;QAED,IAAI;aACF,KAAK,CAAC,kCAAkC,CAAC;aACzC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;YAEtB,IAAI,CAAC,KAAK,EAAE,EACZ;gBACC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EACd;oBACC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;wBACxB,CAAC;qBACD,EAAE;wBACF,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;qBACjB,EAAE,IAAI,CAAC,CAAC,CAAC;iBACV;qBAGD;oBACC,GAAG,CAAC,IAAI,CAAC;wBACR,CAAC;qBACD,CAAC,CAAC;iBACH;aACD;QACF,CAAC,CAAC,CACF;QAED,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAChC,CAAC;CAED;AA1DD,0CA0DC;AAEY,QAAA,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAyC,CAAC;AAEvG,kBAAe,eAAe,CAAC","sourcesContent":["'use strict';\n\nimport { SubSModule, SubSModuleTokenizer, ISubTokenizerCreate } from '../mod';\nimport { Segment, IWord, IDICT, IDICT2 } from '../Segment';\nimport { debugToken } from '../util/debug';\nimport UString from 'uni-string';\nimport { debug } from '../util';\nimport { IWordDebugInfo } from '../util/index';\n\n/**\n * 注音\n */\nexport class ZhuyinTokenizer extends SubSModuleTokenizer\n{\n\n\tname = 'ZhuyinTokenizer';\n\n\tprotected _TABLE: IDICT<IWord>;\n\tprotected _TABLE2: IDICT2<IWord>;\n\n\tprotected _cache(...argv)\n\t{\n\t\tsuper._cache(...argv);\n\t}\n\n\tsplit(words: IWord[]): IWord[]\n\t{\n\t\treturn this._splitUnset(words, this.splitZhuyin);\n\t}\n\n\tsplitZhuyin(text: string, cur?: number): IWord[]\n\t{\n\t\tlet ret: IWord[] = [];\n\t\tlet self = this;\n\n\t\tlet _r = /[\\u31A0-\\u31BA\\u3105-\\u312E]/u;\n\n\t\tif (!_r.test(text))\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\ttext\n\t\t\t.split(/([\\u31A0-\\u31BA\\u3105-\\u312E]+)/u)\n\t\t\t.forEach(function (w, i)\n\t\t\t{\n\t\t\t\tif (w !== '')\n\t\t\t\t{\n\t\t\t\t\tif (_r.test(w))\n\t\t\t\t\t{\n\t\t\t\t\t\tret.push(self.debugToken({\n\t\t\t\t\t\t\tw,\n\t\t\t\t\t\t}, {\n\t\t\t\t\t\t\t[self.name]: true,\n\t\t\t\t\t\t}, true));\n\t\t\t\t\t}\n\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tret.push({\n\t\t\t\t\t\t\tw,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t;\n\n\t\treturn ret.length ? ret : null;\n\t}\n\n}\n\nexport const init = ZhuyinTokenizer.init.bind(ZhuyinTokenizer) as ISubTokenizerCreate<ZhuyinTokenizer>;\n\nexport default ZhuyinTokenizer;\n"]}
\No newline at end of file