@keymanapp/kmc-model 19.0.27-alpha → 19.0.29-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/src/build-trie.js +14 -14
- package/build/src/build-trie.js.map +1 -1
- package/build/src/join-word-breaker-decorator.js +7 -7
- package/build/src/join-word-breaker-decorator.js.map +1 -1
- package/build/src/lexical-model-compiler.js +13 -13
- package/build/src/lexical-model-compiler.js.map +1 -1
- package/build/src/model-defaults.d.ts.map +1 -1
- package/build/src/model-defaults.js +3 -0
- package/build/src/model-defaults.js.map +1 -1
- package/build/src/model-definitions.js +2 -2
- package/build/src/model-definitions.js.map +1 -1
- package/build/src/script-overrides-decorator.js +4 -4
- package/build/src/script-overrides-decorator.js.map +1 -1
- package/package.json +5 -5
package/build/src/build-trie.js
CHANGED
|
@@ -15,9 +15,9 @@ export function createTrieDataStructure(filenames, searchTermToKey) {
|
|
|
15
15
|
throw new ModelCompilerError(ModelCompilerMessages.Error_SearchTermToKeyMustBeExplicitlySpecified());
|
|
16
16
|
}
|
|
17
17
|
// Make one big word list out of all of the filenames provided.
|
|
18
|
-
|
|
18
|
+
const wordlist = {};
|
|
19
19
|
filenames.forEach(filename => parseWordListFromFilename(wordlist, filename));
|
|
20
|
-
|
|
20
|
+
const trie = Trie.buildTrie(wordlist, searchTermToKey);
|
|
21
21
|
return JSON.stringify(trie);
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
@@ -74,20 +74,20 @@ export function parseWordListFromContents(wordlist, contents) {
|
|
|
74
74
|
*/
|
|
75
75
|
function _parseWordList(wordlist, source) {
|
|
76
76
|
const TAB = "\t";
|
|
77
|
-
|
|
78
|
-
for (
|
|
77
|
+
const wordsSeenInThisFile = new Set();
|
|
78
|
+
for (const [lineno, srcLine] of source.lines()) {
|
|
79
79
|
ModelCompilerMessageContext.line = lineno;
|
|
80
80
|
// Remove the byte-order mark (BOM) from the beginning of the string.
|
|
81
81
|
// Because `contents` can be the concatenation of several files, we have to remove
|
|
82
82
|
// the BOM from every possible start of file -- i.e., beginning of every line.
|
|
83
|
-
line =
|
|
83
|
+
const line = srcLine.replace(/^\uFEFF/, '').trim();
|
|
84
84
|
if (line.startsWith('#') || line === "") {
|
|
85
85
|
continue; // skip comments and empty lines
|
|
86
86
|
}
|
|
87
87
|
// The third column is the comment. Always ignored!
|
|
88
88
|
let [wordform, countText] = line.split(TAB);
|
|
89
89
|
// Clean the word form.
|
|
90
|
-
|
|
90
|
+
const original = wordform;
|
|
91
91
|
wordform = wordform.normalize('NFC');
|
|
92
92
|
if (original !== wordform) {
|
|
93
93
|
// Mixed normalization forms are yucky! Hint about it, because it may
|
|
@@ -142,7 +142,7 @@ class WordListFromFilename {
|
|
|
142
142
|
*/
|
|
143
143
|
function* enumerateLines(lines) {
|
|
144
144
|
let i = 1;
|
|
145
|
-
for (
|
|
145
|
+
for (const line of lines) {
|
|
146
146
|
yield [i, line];
|
|
147
147
|
i++;
|
|
148
148
|
}
|
|
@@ -168,7 +168,7 @@ var Trie;
|
|
|
168
168
|
* @returns A JSON-serialiable object that can be given to the TrieModel constructor.
|
|
169
169
|
*/
|
|
170
170
|
function buildTrie(wordlist, keyFunction) {
|
|
171
|
-
|
|
171
|
+
const root = new Trie(keyFunction).buildFromWordList(wordlist).root;
|
|
172
172
|
return {
|
|
173
173
|
totalWeight: sumWeights(root),
|
|
174
174
|
root: root
|
|
@@ -189,8 +189,8 @@ var Trie;
|
|
|
189
189
|
* @param words a list of word and count pairs.
|
|
190
190
|
*/
|
|
191
191
|
buildFromWordList(words) {
|
|
192
|
-
for (
|
|
193
|
-
|
|
192
|
+
for (const [wordform, weight] of Object.entries(words)) {
|
|
193
|
+
const key = this.toKey(wordform);
|
|
194
194
|
addUnsorted(this.root, { key, weight, content: wordform }, 0);
|
|
195
195
|
}
|
|
196
196
|
sortTrie(this.root);
|
|
@@ -267,15 +267,15 @@ var Trie;
|
|
|
267
267
|
* @param depth depth of the trie at this level.
|
|
268
268
|
*/
|
|
269
269
|
function convertLeafToInternalNode(leaf, depth) {
|
|
270
|
-
|
|
270
|
+
const entries = leaf.entries;
|
|
271
271
|
// Alias the current node, as the desired type.
|
|
272
|
-
|
|
272
|
+
const internal = leaf;
|
|
273
273
|
internal.type = 'internal';
|
|
274
274
|
delete leaf.entries;
|
|
275
275
|
internal.values = [];
|
|
276
276
|
internal.children = {};
|
|
277
277
|
// Convert the old values array into the format for interior nodes.
|
|
278
|
-
for (
|
|
278
|
+
for (const item of entries) {
|
|
279
279
|
let char;
|
|
280
280
|
if (depth < item.key.length) {
|
|
281
281
|
char = item.key[depth];
|
|
@@ -304,7 +304,7 @@ var Trie;
|
|
|
304
304
|
}
|
|
305
305
|
else {
|
|
306
306
|
// We MUST recurse and sort children before returning.
|
|
307
|
-
for (
|
|
307
|
+
for (const char of node.values) {
|
|
308
308
|
sortTrie(node.children[char]);
|
|
309
309
|
}
|
|
310
310
|
if (!node.unsorted) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-trie.js","sourceRoot":"","sources":["../../src/build-trie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,wCAAwC;AACxC,MAAM,iBAAiB,GAAG,eAAe,CAAC;AAW1C;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAmB,EAAE,eAAwC;IACnG,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,8CAA8C,EAAE,CAAC,CAAC;IACvG,CAAC;IACD,+DAA+D;IAC/D,
|
|
1
|
+
{"version":3,"file":"build-trie.js","sourceRoot":"","sources":["../../src/build-trie.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export function decorateWithJoin(breaker, joiners) {
|
|
|
10
10
|
// won't affect the joiner.
|
|
11
11
|
const delimiters = joiners.concat();
|
|
12
12
|
return function (input) {
|
|
13
|
-
|
|
13
|
+
const originalSpans = breaker(input);
|
|
14
14
|
// Implements a finite-state transducer (FST) where:
|
|
15
15
|
// - Transductions are pushed onto a stack
|
|
16
16
|
// - There are three states:
|
|
@@ -22,8 +22,8 @@ export function decorateWithJoin(breaker, joiners) {
|
|
|
22
22
|
// (hence the for-loop over the input tape)
|
|
23
23
|
// - each state is a JavaScript callback (function)
|
|
24
24
|
let state = emptyStack;
|
|
25
|
-
|
|
26
|
-
for (
|
|
25
|
+
const stack = [];
|
|
26
|
+
for (const span of originalSpans) {
|
|
27
27
|
state = state(span);
|
|
28
28
|
}
|
|
29
29
|
return stack;
|
|
@@ -73,9 +73,9 @@ export function decorateWithJoin(breaker, joiners) {
|
|
|
73
73
|
}
|
|
74
74
|
/****************** Helpers ******************/
|
|
75
75
|
function concatLastSpanInStackWith(span) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
const lastIndex = stack.length - 1;
|
|
77
|
+
const top = stack[lastIndex];
|
|
78
|
+
const joinedSpan = concatenateSpans(top, span);
|
|
79
79
|
stack[lastIndex] = joinedSpan;
|
|
80
80
|
}
|
|
81
81
|
};
|
|
@@ -104,7 +104,7 @@ export function decorateWithJoin(breaker, joiners) {
|
|
|
104
104
|
* When Array.prototype.include() doesn't exist:
|
|
105
105
|
*/
|
|
106
106
|
function includes(haystack, needle) {
|
|
107
|
-
for (
|
|
107
|
+
for (const item of haystack) {
|
|
108
108
|
if (item === needle)
|
|
109
109
|
return true;
|
|
110
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"join-word-breaker-decorator.js","sourceRoot":"","sources":["../../src/join-word-breaker-decorator.ts"],"names":[],"mappings":"AAIA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA6B,EAAE,OAAiB;IAC/E,wEAAwE;IACxE,2BAA2B;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAEpC,OAAO,UAAU,KAAa;QAC5B,
|
|
1
|
+
{"version":3,"file":"join-word-breaker-decorator.js","sourceRoot":"","sources":["../../src/join-word-breaker-decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,9 +45,9 @@ export class LexicalModelCompiler {
|
|
|
45
45
|
*/
|
|
46
46
|
async run(inputFilename, outputFilename) {
|
|
47
47
|
try {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
const modelSource = this.loadFromFilename(inputFilename);
|
|
49
|
+
const containingDirectory = callbacks.path.dirname(inputFilename);
|
|
50
|
+
const code = this.generateLexicalModelCode('<unknown>', modelSource, containingDirectory);
|
|
51
51
|
const result = {
|
|
52
52
|
artifacts: {
|
|
53
53
|
js: {
|
|
@@ -89,11 +89,11 @@ export class LexicalModelCompiler {
|
|
|
89
89
|
if (!data) {
|
|
90
90
|
throw new ModelCompilerError(ModelCompilerMessages.Error_ModelFileNotFound({ filename }));
|
|
91
91
|
}
|
|
92
|
-
|
|
92
|
+
const sourceCode = new TextDecoder().decode(data);
|
|
93
93
|
// Compile the module to JavaScript code.
|
|
94
94
|
// NOTE: transpile module does a very simple TS to JS compilation.
|
|
95
95
|
// It DOES NOT check for types!
|
|
96
|
-
|
|
96
|
+
const compilationOutput = ts.transpile(sourceCode, {
|
|
97
97
|
// Our runtime only supports ES3 with Node/CommonJS modules on Android 5.0.
|
|
98
98
|
// When we drop Android 5.0 support, we can update this to a `ScriptTarget`
|
|
99
99
|
// matrix against target version of Keyman, here and in
|
|
@@ -102,10 +102,10 @@ export class LexicalModelCompiler {
|
|
|
102
102
|
module: ts.ModuleKind.CommonJS,
|
|
103
103
|
});
|
|
104
104
|
// Turn the module into a function in which we can inject a global.
|
|
105
|
-
|
|
105
|
+
const moduleCode = '(function(exports){' + compilationOutput + '})';
|
|
106
106
|
// Run the module; its exports will be assigned to `moduleExports`.
|
|
107
|
-
|
|
108
|
-
|
|
107
|
+
const moduleExports = {};
|
|
108
|
+
const module = eval(moduleCode);
|
|
109
109
|
module(moduleExports);
|
|
110
110
|
if (!moduleExports['__esModule'] || !moduleExports['default']) {
|
|
111
111
|
ModelCompilerMessageContext.filename = filename;
|
|
@@ -133,7 +133,7 @@ export class LexicalModelCompiler {
|
|
|
133
133
|
//
|
|
134
134
|
switch (modelSource.format) {
|
|
135
135
|
case "custom-1.0":
|
|
136
|
-
|
|
136
|
+
const sources = modelSource.sources.map(function (source) {
|
|
137
137
|
return new TextDecoder().decode(callbacks.loadFile(callbacks.path.join(sourcePath, source)));
|
|
138
138
|
});
|
|
139
139
|
func += this.transpileSources(sources).join('\n');
|
|
@@ -145,13 +145,13 @@ export class LexicalModelCompiler {
|
|
|
145
145
|
// Convert all relative path names to paths relative to the enclosing
|
|
146
146
|
// directory. This way, we'll read the files relative to the model.ts
|
|
147
147
|
// file, rather than the current working directory.
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
const filenames = modelSource.sources.map(filename => callbacks.path.join(sourcePath, filename));
|
|
149
|
+
const definitions = new ModelDefinitions(modelSource);
|
|
150
150
|
func += definitions.compileDefinitions();
|
|
151
151
|
// Needs the actual searchTermToKey closure...
|
|
152
152
|
// Which needs the actual applyCasing closure as well.
|
|
153
153
|
func += `LMLayerWorker.loadModel(new models.TrieModel(${createTrieDataStructure(filenames, definitions.searchTermToKey)}, {\n`;
|
|
154
|
-
|
|
154
|
+
const wordBreakerSourceCode = compileWordBreaker(normalizeWordBreakerSpec(modelSource.wordBreaker));
|
|
155
155
|
func += ` wordBreaker: ${wordBreakerSourceCode},\n`;
|
|
156
156
|
// START - the lexical mapping option block
|
|
157
157
|
func += ` searchTermToKey: ${definitions.compileSearchTermToKey()},\n`;
|
|
@@ -211,7 +211,7 @@ function compileJoinDecorator(spec, existingWordBreakerCode) {
|
|
|
211
211
|
// The decorator will run IMMEDIATELY when the model is loaded,
|
|
212
212
|
// by the LMLayer returning the decorated word breaker to the
|
|
213
213
|
// LMLayer model.
|
|
214
|
-
|
|
214
|
+
const joinerExpr = JSON.stringify(spec.joinWordsAt);
|
|
215
215
|
return `(${decorateWithJoin.toString()}(${existingWordBreakerCode}, ${joinerExpr}))`;
|
|
216
216
|
}
|
|
217
217
|
function compileScriptOverrides(spec, existingWordBreakerCode) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexical-model-compiler.js","sourceRoot":"","sources":["../../src/lexical-model-compiler.ts"],"names":[],"mappings":"AAAA;;EAEE;AAEF,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAC,2BAA2B,EAAC,MAAM,iCAAiC,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAUzE,CAAC;AAYD,CAAC;AAYD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,OAAO,oBAAoB;IAE/B;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,SAA4B,EAAE,QAAyB;QAChE,oBAAoB,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,GAAG,CAAC,aAAqB,EAAE,cAAuB;QACtD,IAAI,CAAC;YACH,
|
|
1
|
+
{"version":3,"file":"lexical-model-compiler.js","sourceRoot":"","sources":["../../src/lexical-model-compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-defaults.d.ts","sourceRoot":"","sources":["../../src/model-defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model-defaults.d.ts","sourceRoot":"","sources":["../../src/model-defaults.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC;AACjD,OAAO,cAAc,GAAG,iBAAiB,CAAC,cAAc,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS/D;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,GAAG,MAAM,CAejG;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CA2B3E"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
// Since methods in this file get written out via .toString to actual models,
|
|
2
|
+
// and `var` is needed to support the initial version of Chrome loaded onto
|
|
3
|
+
// the oldest Android devices we support, we relax the no-var rule here.
|
|
1
4
|
/**
|
|
2
5
|
* Converts wordforms into an indexable form. It does this by
|
|
3
6
|
* normalizing the letter case of characters INDIVIDUALLY (to disregard
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-defaults.js","sourceRoot":"","sources":["../../src/model-defaults.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model-defaults.js","sourceRoot":"","sources":["../../src/model-defaults.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2EAA2E;AAC3E,wEAAwE;AAQxE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,OAAO,QAAQ;SACV,SAAS,CAAC,MAAM,CAAC;QAClB,wDAAwD;SACvD,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAChC,6DAA6D;SAC5D,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QACtB,2BAA2B;SAC1B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,2BAA2B,CAAC,QAAgB,EAAE,WAA2B;IACvF,6FAA6F;IAC7F,gGAAgG;IAChG,qCAAqC;IACrC,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ;SACnB,SAAS,CAAC,MAAM,CAAC;QAClB,wDAAwD;SACvD,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CACjC,CAAC,sBAAsB;SACvB,GAAG,CAAC,UAAS,CAAC,IAAI,OAAO,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA,CAAA,CAAC,CAAC;SAClD,IAAI,CAAC,EAAE,CAAC;QACT,6DAA6D;SAC5D,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;QACtB,2BAA2B;SAC1B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAkB,EAAE,IAAY;IACjE,QAAO,MAAM,EAAE,CAAC;QACd,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,SAAS;YACZ,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAClC,iEAAiE;YACjE,IAAI,cAAc,GAAG,CAAC,CAAC;YAEvB,6EAA6E;YAC7E,4EAA4E;YAC5E,IAAG,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,QAAQ,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,EAAE,CAAC;gBAC/D,qDAAqD;gBACrD,IAAI,gBAAgB,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAE1C,IAAG,gBAAgB,IAAI,MAAM,IAAI,gBAAgB,IAAI,MAAM,EAAE,CAAC;oBAC5D,gEAAgE;oBAChE,cAAc,EAAE,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,0EAA0E;YAC1E,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,oBAAoB;iBACnE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,CAAQ,oBAAoB;IAC/E,CAAC;AACH,CAAC"}
|
|
@@ -56,7 +56,7 @@ export class ModelDefinitions {
|
|
|
56
56
|
this.defaults.applyCasing = defaultApplyCasing;
|
|
57
57
|
if (modelSource.applyCasing) {
|
|
58
58
|
this.model.applyCasing = modelSource.applyCasing;
|
|
59
|
-
|
|
59
|
+
const _this = this;
|
|
60
60
|
// Since the defined casing function may expect to take our default implementation
|
|
61
61
|
// as a parameter, we can define the full implementation via closure capture.
|
|
62
62
|
this.applyCasing = function (casing, text) {
|
|
@@ -91,7 +91,7 @@ export class ModelDefinitions {
|
|
|
91
91
|
// For compile-time use.
|
|
92
92
|
this.applyCasing = this.defaults.applyCasing;
|
|
93
93
|
}
|
|
94
|
-
|
|
94
|
+
const _this = this;
|
|
95
95
|
this.searchTermToKey = function (text) {
|
|
96
96
|
return _this.model.searchTermToKey(text, _this.applyCasing);
|
|
97
97
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-definitions.js","sourceRoot":"","sources":["../../src/model-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAClB,2BAA2B,EAC3B,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAEpC,OAAO,cAAc,MAAM,2BAA2B,CAAC;AAMvD;;;;;;;;GAQG;AACH,MAAM,OAAO,gBAAgB;IAC3B,MAAM,CAAU,aAAa,GAAG,aAAa,CAAC;IAC9C;;;;;;;;;;OAUG;IACH,WAAW,CAAkB;IAE7B;;;;;;;;;;OAUG;IACH,eAAe,CAAqB;IAEpC;;;;OAIG;IACK,QAAQ,GAGZ;QACF,OAAO,EAAE,cAAc,CAAC,gBAAgB;KACzC,CAAC;IAEF;;;;;OAKG;IACK,KAAK,GAGT,EAAE,CAAC;IAEP,YAAY,WAA+B;QACzC,iEAAiE;QACjE,IAAG,WAAW,CAAC,kBAAkB,EAAE,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,kBAAkB,CAAC;YAE/C,IAAG,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC;gBACjD,
|
|
1
|
+
{"version":3,"file":"model-definitions.js","sourceRoot":"","sources":["../../src/model-definitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,13 +14,13 @@ export function decorateWithScriptOverrides(breaker, option) {
|
|
|
14
14
|
*/
|
|
15
15
|
const HAS_SOUTHEAST_ASIAN_LETTER = /[\u0E01-\u0E3A\u0E40-\u0E4E\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0EDC-\u0EDF\u1000-\u103F\u1050-\u108F\u109A-\u109D\u1780-\u17D3\u17D7\u17DC\u17DD\u30A1-\u30FA\u30FC-\u30FF]/;
|
|
16
16
|
return function enhancedBreaker(phrase) {
|
|
17
|
-
|
|
17
|
+
const originalSpans = breaker(phrase);
|
|
18
18
|
if (originalSpans.length === 0) {
|
|
19
19
|
return [];
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
for (
|
|
23
|
-
|
|
21
|
+
const outputSpans = [originalSpans.shift()];
|
|
22
|
+
for (const currentSpan of originalSpans) {
|
|
23
|
+
const previousSpan = lastFrom(outputSpans);
|
|
24
24
|
if (spansAreBackToBack(previousSpan, currentSpan) &&
|
|
25
25
|
hasSouthEastAsianLetter(previousSpan) &&
|
|
26
26
|
hasSouthEastAsianLetter(currentSpan)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"script-overrides-decorator.js","sourceRoot":"","sources":["../../src/script-overrides-decorator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAEzF,MAAM,UAAU,2BAA2B,CAAC,OAA6B,EAAE,MAA8B;IACvG,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;QACvC,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,+BAA+B,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,0BAA0B,GAAG,0OAA0O,CAAC;IAE9Q,OAAO,SAAS,eAAe,CAAC,MAAc;QAC5C,
|
|
1
|
+
{"version":3,"file":"script-overrides-decorator.js","sourceRoot":"","sources":["../../src/script-overrides-decorator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAEzF,MAAM,UAAU,2BAA2B,CAAC,OAA6B,EAAE,MAA8B;IACvG,IAAI,MAAM,KAAK,uBAAuB,EAAE,CAAC;QACvC,MAAM,IAAI,kBAAkB,CAAC,qBAAqB,CAAC,+BAA+B,CAAC,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,0BAA0B,GAAG,0OAA0O,CAAC;IAE9Q,OAAO,SAAS,eAAe,CAAC,MAAc;QAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QAC5C,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YAE3C,IAAI,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC;gBAC7C,uBAAuB,CAAC,YAAY,CAAC;gBACrC,uBAAuB,CAAC,WAAW,CAAC,EACtC,CAAC;gBACD,+CAA+C;gBAC/C,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC,CAAA;IAED,SAAS,uBAAuB,CAAC,IAAU;QACzC,OAAO,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,SAAS,kBAAkB,CAAC,MAAY,EAAE,MAAY;QACpD,OAAO,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC;IACrC,CAAC;IAED,SAAS,gBAAgB,CAAC,MAAY,EAAE,MAAY;QAClD,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,4CAA4C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;SAChC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,QAAQ,CAAI,KAAU;QAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"url": "https://github.com/keymanapp/keyman/issues"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@keymanapp/common-types": "19.0.
|
|
34
|
-
"@keymanapp/keyman-version": "19.0.
|
|
33
|
+
"@keymanapp/common-types": "19.0.29-alpha",
|
|
34
|
+
"@keymanapp/keyman-version": "19.0.29-alpha",
|
|
35
35
|
"typescript": "^5.4.5"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@keymanapp/developer-test-helpers": "19.0.
|
|
39
|
-
"@keymanapp/models-templates": "19.0.
|
|
38
|
+
"@keymanapp/developer-test-helpers": "19.0.29-alpha",
|
|
39
|
+
"@keymanapp/models-templates": "19.0.29-alpha",
|
|
40
40
|
"@types/mocha": "^5.2.7",
|
|
41
41
|
"@types/node": "^20.4.1",
|
|
42
42
|
"c8": "^7.12.0",
|
|
@@ -66,5 +66,5 @@
|
|
|
66
66
|
"type": "git",
|
|
67
67
|
"url": "git+https://github.com/keymanapp/keyman.git"
|
|
68
68
|
},
|
|
69
|
-
"version": "19.0.
|
|
69
|
+
"version": "19.0.29-alpha"
|
|
70
70
|
}
|