UNPKG

5.22 kBJavaScriptView Raw
1'use strict';
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.init = exports.ZhRadicalTokenizer = void 0;
4const mod_1 = require("../mod");
5/**
6 * 此模組目前無任何用處與效果
7 *
8 * @todo 部首
9 */
10class ZhRadicalTokenizer extends mod_1.SubSModuleTokenizer {
11 constructor() {
12 super(...arguments);
13 this.name = 'ZhRadicalTokenizer';
14 }
15 _cache(...argv) {
16 super._cache(...argv);
17 }
18 split(words) {
19 return this._splitUnset(words, this.splitZhRadical);
20 }
21 splitZhRadical(text, cur) {
22 let ret = [];
23 let self = this;
24 let _r = /[\u4136\u4137]/u;
25 if (!_r.test(text)) {
26 return null;
27 }
28 text
29 .split(/([\u4136\u4137]+)/u)
30 .forEach(function (w, i) {
31 if (w !== '') {
32 if (_r.test(w)) {
33 ret.push(self.debugToken({
34 w,
35 }, {
36 [self.name]: true,
37 }, true));
38 }
39 else {
40 ret.push({
41 w,
42 });
43 }
44 }
45 });
46 return ret.length ? ret : null;
47 }
48}
49exports.ZhRadicalTokenizer = ZhRadicalTokenizer;
50exports.init = ZhRadicalTokenizer.init.bind(ZhRadicalTokenizer);
51exports.default = ZhRadicalTokenizer;
52//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWmhSYWRpY2FsVG9rZW5pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiWmhSYWRpY2FsVG9rZW5pemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7O0FBRWIsZ0NBQThFO0FBTzlFOzs7O0dBSUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLHlCQUFtQjtJQUEzRDs7UUFHQyxTQUFJLEdBQUcsb0JBQW9CLENBQUM7SUFzRDdCLENBQUM7SUFqRFUsTUFBTSxDQUFDLEdBQUcsSUFBSTtRQUV2QixLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFjO1FBRW5CLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxjQUFjLENBQUMsSUFBWSxFQUFFLEdBQVk7UUFFeEMsSUFBSSxHQUFHLEdBQVksRUFBRSxDQUFDO1FBQ3RCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUVoQixJQUFJLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztRQUUzQixJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDbEI7WUFDQyxPQUFPLElBQUksQ0FBQztTQUNaO1FBRUQsSUFBSTthQUNGLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQzthQUMzQixPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUV0QixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQ1o7Z0JBQ0MsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNkO29CQUNDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQzt3QkFDeEIsQ0FBQztxQkFDRCxFQUFFO3dCQUNGLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUk7cUJBQ2pCLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztpQkFDVjtxQkFFRDtvQkFDQyxHQUFHLENBQUMsSUFBSSxDQUFDO3dCQUNSLENBQUM7cUJBQ0QsQ0FBQyxDQUFDO2lCQUNIO2FBQ0Q7UUFDRixDQUFDLENBQUMsQ0FDRjtRQUVELE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEMsQ0FBQztDQUVEO0FBekRELGdEQXlEQztBQUVZLFFBQUEsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQTRDLENBQUM7QUFFaEgsa0JBQWUsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7IFN1YlNNb2R1bGUsIFN1YlNNb2R1bGVUb2tlbml6ZXIsIElTdWJUb2tlbml6ZXJDcmVhdGUgfSBmcm9tICcuLi9tb2QnO1xuaW1wb3J0IHsgU2VnbWVudCwgSVdvcmQsIElESUNULCBJRElDVDIgfSBmcm9tICcuLi9TZWdtZW50JztcbmltcG9ydCB7IGRlYnVnVG9rZW4gfSBmcm9tICcuLi91dGlsL2RlYnVnJztcbmltcG9ydCBVU3RyaW5nIGZyb20gJ3VuaS1zdHJpbmcnO1xuaW1wb3J0IHsgZGVidWcgfSBmcm9tICcuLi91dGlsJztcbmltcG9ydCB7IElXb3JkRGVidWdJbmZvIH0gZnJvbSAnLi4vdXRpbC9pbmRleCc7XG5cbi8qKlxuICog5q2k5qih57WE55uu5YmN54Sh5Lu75L2V55So6JmV6IiH5pWI5p6cXG4gKlxuICogQHRvZG8g6YOo6aaWXG4gKi9cbmV4cG9ydCBjbGFzcyBaaFJhZGljYWxUb2tlbml6ZXIgZXh0ZW5kcyBTdWJTTW9kdWxlVG9rZW5pemVyXG57XG5cblx0bmFtZSA9ICdaaFJhZGljYWxUb2tlbml6ZXInO1xuXG5cdHByb3RlY3RlZCBfVEFCTEU6IElESUNUPElXb3JkPjtcblx0cHJvdGVjdGVkIF9UQUJMRTI6IElESUNUMjxJV29yZD47XG5cblx0cHJvdGVjdGVkIF9jYWNoZSguLi5hcmd2KVxuXHR7XG5cdFx0c3VwZXIuX2NhY2hlKC4uLmFyZ3YpO1xuXHR9XG5cblx0c3BsaXQod29yZHM6IElXb3JkW10pOiBJV29yZFtdXG5cdHtcblx0XHRyZXR1cm4gdGhpcy5fc3BsaXRVbnNldCh3b3JkcywgdGhpcy5zcGxpdFpoUmFkaWNhbCk7XG5cdH1cblxuXHRzcGxpdFpoUmFkaWNhbCh0ZXh0OiBzdHJpbmcsIGN1cj86IG51bWJlcik6IElXb3JkW11cblx0e1xuXHRcdGxldCByZXQ6IElXb3JkW10gPSBbXTtcblx0XHRsZXQgc2VsZiA9IHRoaXM7XG5cblx0XHRsZXQgX3IgPSAvW1xcdTQxMzZcXHU0MTM3XS91O1xuXG5cdFx0aWYgKCFfci50ZXN0KHRleHQpKVxuXHRcdHtcblx0XHRcdHJldHVybiBudWxsO1xuXHRcdH1cblxuXHRcdHRleHRcblx0XHRcdC5zcGxpdCgvKFtcXHU0MTM2XFx1NDEzN10rKS91KVxuXHRcdFx0LmZvckVhY2goZnVuY3Rpb24gKHcsIGkpXG5cdFx0XHR7XG5cdFx0XHRcdGlmICh3ICE9PSAnJylcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGlmIChfci50ZXN0KHcpKVxuXHRcdFx0XHRcdHtcblx0XHRcdFx0XHRcdHJldC5wdXNoKHNlbGYuZGVidWdUb2tlbih7XG5cdFx0XHRcdFx0XHRcdHcsXG5cdFx0XHRcdFx0XHR9LCB7XG5cdFx0XHRcdFx0XHRcdFtzZWxmLm5hbWVdOiB0cnVlLFxuXHRcdFx0XHRcdFx0fSwgdHJ1ZSkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRlbHNlXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0cmV0LnB1c2goe1xuXHRcdFx0XHRcdFx0XHR3LFxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdDtcblxuXHRcdHJldHVybiByZXQubGVuZ3RoID8gcmV0IDogbnVsbDtcblx0fVxuXG59XG5cbmV4cG9ydCBjb25zdCBpbml0ID0gWmhSYWRpY2FsVG9rZW5pemVyLmluaXQuYmluZChaaFJhZGljYWxUb2tlbml6ZXIpIGFzIElTdWJUb2tlbml6ZXJDcmVhdGU8WmhSYWRpY2FsVG9rZW5pemVyPjtcblxuZXhwb3J0IGRlZmF1bHQgWmhSYWRpY2FsVG9rZW5pemVyO1xuIl19
\No newline at end of file