segment-dict
Version:
novel-segment segment data
63 lines • 2.25 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const debug_color2_1 = require("debug-color2");
const fs_extra_1 = require("fs-extra");
const upath2_1 = tslib_1.__importDefault(require("upath2"));
const loader_line_1 = require("@novel-segment/loader-line");
const project_config_1 = tslib_1.__importDefault(require("../project.config"));
const util_1 = require("./util");
const array_hyper_unique_1 = require("array-hyper-unique");
const core_1 = tslib_1.__importDefault(require("uni-string/src/core"));
const util_compare_1 = require("@novel-segment/util-compare");
let CWD = upath2_1.default.join(project_config_1.default.dict_root, 'segment');
let USE_CJK_MODE = 2;
let CACHE_LIST = {
skip: [],
};
(0, util_1.globDict)(CWD, [
...(0, util_1.all_default_load_dict)()
], [
'char*',
])
.tap(function (ls) {
let a = ls.reduce(function (a, v) {
let p = upath2_1.default.relative(CWD, v);
a.push(p);
return a;
}, []);
debug_color2_1.console.debug(a);
//process.exit();
})
.mapSeries(async function (file) {
let _basepath = upath2_1.default.relative(CWD, file);
let bool = true;
let list = await (0, util_compare_1.loadDictFile)(file, function (list, cur) {
cur.file = file;
let [w, p, f] = cur.data;
if (w && core_1.default.size(w) === 1) {
CACHE_LIST.skip.push(cur);
bool = false;
return false;
}
return true;
});
if (bool) {
return;
}
debug_color2_1.console.debug(`[START]`, _basepath);
let out_list = list.map(v => v.line);
out_list = (0, array_hyper_unique_1.array_unique)(out_list);
let out_file = file;
let out_data = (0, loader_line_1.serialize)(out_list) + "\n\n";
await (0, fs_extra_1.outputFile)(out_file, out_data);
})
.tap(async function () {
if (CACHE_LIST.skip.length) {
let list = CACHE_LIST.skip;
let out_list = list.map(v => v.line);
let out_file = upath2_1.default.join(CWD, 'char.txt');
await (0, fs_extra_1.appendFile)(out_file, "\n\n" + (0, loader_line_1.serialize)(out_list) + "\n\n");
}
});
//# sourceMappingURL=extract-char.js.map
;