@keymanapp/kmc-model 17.0.85-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/.nyc_output/coverage-10524-1681239236645-0.json +1 -0
- package/Makefile +38 -0
- package/build/cjs-src/lexical-model-compiler.cjs +152688 -0
- package/build/src/build-trie.d.ts +40 -0
- package/build/src/build-trie.d.ts.map +1 -0
- package/build/src/build-trie.js +362 -0
- package/build/src/build-trie.js.map +1 -0
- package/build/src/join-word-breaker-decorator.d.ts +10 -0
- package/build/src/join-word-breaker-decorator.d.ts.map +1 -0
- package/build/src/join-word-breaker-decorator.js +121 -0
- package/build/src/join-word-breaker-decorator.js.map +1 -0
- package/build/src/lexical-model-compiler.d.ts +19 -0
- package/build/src/lexical-model-compiler.d.ts.map +1 -0
- package/build/src/lexical-model-compiler.js +155 -0
- package/build/src/lexical-model-compiler.js.map +1 -0
- package/build/src/lexical-model.d.ts +135 -0
- package/build/src/lexical-model.d.ts.map +1 -0
- package/build/src/lexical-model.js +6 -0
- package/build/src/lexical-model.js.map +1 -0
- package/build/src/main.d.ts +15 -0
- package/build/src/main.d.ts.map +1 -0
- package/build/src/main.js +46 -0
- package/build/src/main.js.map +1 -0
- package/build/src/model-compiler-errors.d.ts +77 -0
- package/build/src/model-compiler-errors.d.ts.map +1 -0
- package/build/src/model-compiler-errors.js +156 -0
- package/build/src/model-compiler-errors.js.map +1 -0
- package/build/src/model-defaults.d.ts +56 -0
- package/build/src/model-defaults.d.ts.map +1 -0
- package/build/src/model-defaults.js +106 -0
- package/build/src/model-defaults.js.map +1 -0
- package/build/src/model-definitions.d.ts +71 -0
- package/build/src/model-definitions.d.ts.map +1 -0
- package/build/src/model-definitions.js +189 -0
- package/build/src/model-definitions.js.map +1 -0
- package/build/src/script-overrides-decorator.d.ts +4 -0
- package/build/src/script-overrides-decorator.d.ts.map +1 -0
- package/build/src/script-overrides-decorator.js +63 -0
- package/build/src/script-overrides-decorator.js.map +1 -0
- package/build/test/helpers/index.d.ts +69 -0
- package/build/test/helpers/index.d.ts.map +1 -0
- package/build/test/helpers/index.js +160 -0
- package/build/test/helpers/index.js.map +1 -0
- package/build/test/test-compile-model-with-pseudoclosure.d.ts +2 -0
- package/build/test/test-compile-model-with-pseudoclosure.d.ts.map +1 -0
- package/build/test/test-compile-model-with-pseudoclosure.js +200 -0
- package/build/test/test-compile-model-with-pseudoclosure.js.map +1 -0
- package/build/test/test-compile-model.d.ts +2 -0
- package/build/test/test-compile-model.d.ts.map +1 -0
- package/build/test/test-compile-model.js +30 -0
- package/build/test/test-compile-model.js.map +1 -0
- package/build/test/test-compile-trie.d.ts +2 -0
- package/build/test/test-compile-trie.d.ts.map +1 -0
- package/build/test/test-compile-trie.js +125 -0
- package/build/test/test-compile-trie.js.map +1 -0
- package/build/test/test-default-apply-case.d.ts +2 -0
- package/build/test/test-default-apply-case.d.ts.map +1 -0
- package/build/test/test-default-apply-case.js +105 -0
- package/build/test/test-default-apply-case.js.map +1 -0
- package/build/test/test-default-search-term-to-key.d.ts +2 -0
- package/build/test/test-default-search-term-to-key.d.ts.map +1 -0
- package/build/test/test-default-search-term-to-key.js +148 -0
- package/build/test/test-default-search-term-to-key.js.map +1 -0
- package/build/test/test-error-logger.d.ts +2 -0
- package/build/test/test-error-logger.d.ts.map +1 -0
- package/build/test/test-error-logger.js +26 -0
- package/build/test/test-error-logger.js.map +1 -0
- package/build/test/test-join-word-breaker.d.ts +2 -0
- package/build/test/test-join-word-breaker.d.ts.map +1 -0
- package/build/test/test-join-word-breaker.js +84 -0
- package/build/test/test-join-word-breaker.js.map +1 -0
- package/build/test/test-model-definitions.d.ts +2 -0
- package/build/test/test-model-definitions.d.ts.map +1 -0
- package/build/test/test-model-definitions.js +165 -0
- package/build/test/test-model-definitions.js.map +1 -0
- package/build/test/test-override-script-defaults.d.ts +2 -0
- package/build/test/test-override-script-defaults.d.ts.map +1 -0
- package/build/test/test-override-script-defaults.js +28 -0
- package/build/test/test-override-script-defaults.js.map +1 -0
- package/build/test/test-parse-wordlist.d.ts +2 -0
- package/build/test/test-parse-wordlist.d.ts.map +1 -0
- package/build/test/test-parse-wordlist.js +110 -0
- package/build/test/test-parse-wordlist.js.map +1 -0
- package/build/test/test-punctuation.d.ts +2 -0
- package/build/test/test-punctuation.d.ts.map +1 -0
- package/build/test/test-punctuation.js +31 -0
- package/build/test/test-punctuation.js.map +1 -0
- package/build/test/tsconfig.tsbuildinfo +1 -0
- package/build/test/wordbreakers/data.d.ts +35 -0
- package/build/test/wordbreakers/data.d.ts.map +1 -0
- package/build/test/wordbreakers/data.js +1778 -0
- package/build/test/wordbreakers/data.js.map +1 -0
- package/build/test/wordbreakers/default-wordbreaker-esm.d.ts +10 -0
- package/build/test/wordbreakers/default-wordbreaker-esm.d.ts.map +1 -0
- package/build/test/wordbreakers/default-wordbreaker-esm.js +354 -0
- package/build/test/wordbreakers/default-wordbreaker-esm.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build.sh +73 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +161 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov-report/src/build-trie.ts.html +1618 -0
- package/coverage/lcov-report/src/index.html +221 -0
- package/coverage/lcov-report/src/join-word-breaker-decorator.ts.html +487 -0
- package/coverage/lcov-report/src/lexical-model-compiler.ts.html +622 -0
- package/coverage/lcov-report/src/main.ts.html +271 -0
- package/coverage/lcov-report/src/model-compiler-errors.ts.html +691 -0
- package/coverage/lcov-report/src/model-defaults.ts.html +415 -0
- package/coverage/lcov-report/src/model-definitions.ts.html +748 -0
- package/coverage/lcov-report/src/script-overrides-decorator.ts.html +310 -0
- package/coverage/lcov-report/test/helpers/index.html +116 -0
- package/coverage/lcov-report/test/helpers/index.ts.html +646 -0
- package/coverage/lcov-report/test/index.html +266 -0
- package/coverage/lcov-report/test/test-compile-model-with-pseudoclosure.ts.html +802 -0
- package/coverage/lcov-report/test/test-compile-model.ts.html +187 -0
- package/coverage/lcov-report/test/test-compile-trie.ts.html +541 -0
- package/coverage/lcov-report/test/test-default-apply-case.ts.html +466 -0
- package/coverage/lcov-report/test/test-default-search-term-to-key.ts.html +628 -0
- package/coverage/lcov-report/test/test-error-logger.ts.html +196 -0
- package/coverage/lcov-report/test/test-join-word-breaker.ts.html +376 -0
- package/coverage/lcov-report/test/test-model-definitions.ts.html +676 -0
- package/coverage/lcov-report/test/test-override-script-defaults.ts.html +184 -0
- package/coverage/lcov-report/test/test-parse-wordlist.ts.html +466 -0
- package/coverage/lcov-report/test/test-punctuation.ts.html +190 -0
- package/coverage/lcov-report/test/wordbreakers/data.ts.html +5413 -0
- package/coverage/lcov-report/test/wordbreakers/default-wordbreaker-esm.ts.html +1234 -0
- package/coverage/lcov-report/test/wordbreakers/index.html +131 -0
- package/coverage/lcov.info +5969 -0
- package/package.json +61 -0
- package/src/build-trie.ts +511 -0
- package/src/join-word-breaker-decorator.ts +134 -0
- package/src/lexical-model-compiler.ts +179 -0
- package/src/lexical-model.ts +150 -0
- package/src/main.ts +62 -0
- package/src/model-compiler-errors.ts +203 -0
- package/src/model-defaults.ts +111 -0
- package/src/model-definitions.ts +222 -0
- package/src/script-overrides-decorator.ts +75 -0
- package/test/README.md +15 -0
- package/test/fixtures/example.qaa.joinwordbreaker/example.qaa.joinwordbreaker.model.ts +10 -0
- package/test/fixtures/example.qaa.joinwordbreaker/wordlist.tsv +3 -0
- package/test/fixtures/example.qaa.scriptusesspaces/example.qaa.scriptusesspaces.model.ts +10 -0
- package/test/fixtures/example.qaa.scriptusesspaces/wordlist.tsv +8 -0
- package/test/fixtures/example.qaa.sencoten/example.qaa.sencoten.model.kmp.json +45 -0
- package/test/fixtures/example.qaa.sencoten/example.qaa.sencoten.model.kps +35 -0
- package/test/fixtures/example.qaa.sencoten/example.qaa.sencoten.model.ts +6 -0
- package/test/fixtures/example.qaa.sencoten/wordlist.tsv +10 -0
- package/test/fixtures/example.qaa.smp/example.qaa.smp.model.ts +6 -0
- package/test/fixtures/example.qaa.smp/wordlist.tsv +5 -0
- package/test/fixtures/example.qaa.trivial/example.qaa.trivial.model.ts +5 -0
- package/test/fixtures/example.qaa.trivial/wordlist.tsv +3 -0
- package/test/fixtures/example.qaa.utf16be/example.qaa.utf16be.model.ts +5 -0
- package/test/fixtures/example.qaa.utf16be/wordlist.txt +0 -0
- package/test/fixtures/example.qaa.utf16le/example.qaa.utf16le.model.ts +5 -0
- package/test/fixtures/example.qaa.utf16le/wordlist.txt +0 -0
- package/test/fixtures/example.qaa.wordbreaker/example.qaa.wordbreaker.model.ts +9 -0
- package/test/fixtures/example.qaa.wordbreaker/wordlist.tsv +3 -0
- package/test/helpers/index.ts +187 -0
- package/test/test-compile-model-with-pseudoclosure.ts +239 -0
- package/test/test-compile-model.ts +34 -0
- package/test/test-compile-trie.ts +152 -0
- package/test/test-default-apply-case.ts +128 -0
- package/test/test-default-search-term-to-key.ts +181 -0
- package/test/test-error-logger.ts +38 -0
- package/test/test-join-word-breaker.ts +97 -0
- package/test/test-model-definitions.ts +198 -0
- package/test/test-override-script-defaults.ts +33 -0
- package/test/test-parse-wordlist.ts +127 -0
- package/test/test-punctuation.ts +35 -0
- package/test/tsconfig.json +22 -0
- package/test/wordbreakers/README.md +3 -0
- package/test/wordbreakers/data.ts +1776 -0
- package/test/wordbreakers/default-wordbreaker-esm.ts +383 -0
- package/tools/create-override-script-regexp.ts +145 -0
- package/tsconfig.json +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../test/wordbreakers/data.ts"],"names":[],"mappings":"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,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC7C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC3C,CAAC,SAAS,CAAC,MAAM,EAAE,iBAAiB,C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,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,C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,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CA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B,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;IACzD,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC7C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC;IAC9C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC7C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC7C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;IAC5C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC7C,CAAC,SAAS,CAAC,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;CAC7C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="@keymanapp/models-types" />
|
|
2
|
+
/**
|
|
3
|
+
* Word breaker based on Unicode Standard Annex #29, Section 4.1:
|
|
4
|
+
* Default Word Boundary Specification.
|
|
5
|
+
*
|
|
6
|
+
* @see http://unicode.org/reports/tr29/#Word_Boundaries
|
|
7
|
+
* @see https://github.com/eddieantonio/unicode-default-word-boundary/tree/v12.0.0
|
|
8
|
+
*/
|
|
9
|
+
export default function default_(text: string): Span[];
|
|
10
|
+
//# sourceMappingURL=default-wordbreaker-esm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-wordbreaker-esm.d.ts","sourceRoot":"","sources":["../../../test/wordbreakers/default-wordbreaker-esm.ts"],"names":[],"mappings":";AAKE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,CAwBrD"}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
// TEMP: esm version of /common/models/wordbreakers/default/index.ts
|
|
2
|
+
import { I, WORD_BREAK_PROPERTY, WordBreakProperty } from './data.js';
|
|
3
|
+
/**
|
|
4
|
+
* Word breaker based on Unicode Standard Annex #29, Section 4.1:
|
|
5
|
+
* Default Word Boundary Specification.
|
|
6
|
+
*
|
|
7
|
+
* @see http://unicode.org/reports/tr29/#Word_Boundaries
|
|
8
|
+
* @see https://github.com/eddieantonio/unicode-default-word-boundary/tree/v12.0.0
|
|
9
|
+
*/
|
|
10
|
+
export default function default_(text) {
|
|
11
|
+
let boundaries = findBoundaries(text);
|
|
12
|
+
if (boundaries.length == 0) {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
// All non-empty strings have at least TWO boundaries: at the start and at the end of
|
|
16
|
+
// the string.
|
|
17
|
+
let spans = [];
|
|
18
|
+
for (let i = 0; i < boundaries.length - 1; i++) {
|
|
19
|
+
let start = boundaries[i];
|
|
20
|
+
let end = boundaries[i + 1];
|
|
21
|
+
let span = new LazySpan(text, start, end);
|
|
22
|
+
if (isNonSpace(span.text)) {
|
|
23
|
+
spans.push(span);
|
|
24
|
+
// Preserve a sequence-final space if it exists. Needed to signal "end of word".
|
|
25
|
+
}
|
|
26
|
+
else if (i == boundaries.length - 2) { // if "we just checked the final boundary"...
|
|
27
|
+
// We don't want to return the whitespace itself; the correct token is simply ''.
|
|
28
|
+
span = new LazySpan(text, end, end);
|
|
29
|
+
spans.push(span);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return spans;
|
|
33
|
+
}
|
|
34
|
+
// Utilities //
|
|
35
|
+
// type WordBreakProperty = data.WordBreakProperty;
|
|
36
|
+
// const WordBreakProperty = data.WordBreakProperty;
|
|
37
|
+
// type I = data.I;
|
|
38
|
+
// const I = data.I;
|
|
39
|
+
// const WORD_BREAK_PROPERTY = data.WORD_BREAK_PROPERTY;
|
|
40
|
+
/**
|
|
41
|
+
* A span that does not cut out the substring until it absolutely has to!
|
|
42
|
+
*/
|
|
43
|
+
class LazySpan {
|
|
44
|
+
_source;
|
|
45
|
+
start;
|
|
46
|
+
end;
|
|
47
|
+
constructor(source, start, end) {
|
|
48
|
+
this._source = source;
|
|
49
|
+
this.start = start;
|
|
50
|
+
this.end = end;
|
|
51
|
+
}
|
|
52
|
+
get text() {
|
|
53
|
+
return this._source.substring(this.start, this.end);
|
|
54
|
+
}
|
|
55
|
+
get length() {
|
|
56
|
+
return this.end - this.start;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Returns true when the chunk does not solely consist of whitespace.
|
|
61
|
+
*
|
|
62
|
+
* @param chunk a chunk of text. Starts and ends at word boundaries.
|
|
63
|
+
*/
|
|
64
|
+
function isNonSpace(chunk) {
|
|
65
|
+
return !Array.from(chunk).map(property).every(wb => (wb === WordBreakProperty.CR ||
|
|
66
|
+
wb === WordBreakProperty.LF ||
|
|
67
|
+
wb === WordBreakProperty.Newline ||
|
|
68
|
+
wb === WordBreakProperty.WSegSpace));
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Yields a series of string indices where a word break should
|
|
72
|
+
* occur. That is, there should be a break BEFORE each string
|
|
73
|
+
* index yielded by this generator.
|
|
74
|
+
*
|
|
75
|
+
* @param text Text to find word boundaries in.
|
|
76
|
+
*/
|
|
77
|
+
function findBoundaries(text) {
|
|
78
|
+
// WB1 and WB2: no boundaries if given an empty string.
|
|
79
|
+
if (text.length === 0) {
|
|
80
|
+
// There are no boundaries in an empty string!
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
// This algorithm works by maintaining a sliding window of four SCALAR VALUES.
|
|
84
|
+
//
|
|
85
|
+
// - Scalar values? JavaScript strings are NOT actually a string of
|
|
86
|
+
// Unicode code points; some characters are made up of TWO
|
|
87
|
+
// JavaScript indices. e.g.,
|
|
88
|
+
// "💩".length === 2;
|
|
89
|
+
// "💩"[0] === '\uD83D';
|
|
90
|
+
// "💩"[1] === '\uDCA9';
|
|
91
|
+
//
|
|
92
|
+
// These characters that are represented by TWO indices are
|
|
93
|
+
// called "surrogate pairs". Since we don't want to be in the
|
|
94
|
+
// "middle" of a character, make sure we're always advancing
|
|
95
|
+
// by scalar values, and NOT indices. That means, we sometimes
|
|
96
|
+
// need to advance by TWO indices, not just one.
|
|
97
|
+
// - Four values? Some rules look at what's to the left of
|
|
98
|
+
// left, and some look at what's to the right of right. So
|
|
99
|
+
// keep track of this!
|
|
100
|
+
let boundaries = [];
|
|
101
|
+
let rightPos;
|
|
102
|
+
let lookaheadPos = 0; // lookahead, one scalar value to the right of right.
|
|
103
|
+
// Before the start of the string is also the start of the string.
|
|
104
|
+
let lookbehind;
|
|
105
|
+
let left = WordBreakProperty.sot;
|
|
106
|
+
let right = WordBreakProperty.sot;
|
|
107
|
+
let lookahead = wordbreakPropertyAt(0);
|
|
108
|
+
// Count RIs to make sure we're not splitting emoji flags:
|
|
109
|
+
let nConsecutiveRegionalIndicators = 0;
|
|
110
|
+
do {
|
|
111
|
+
// Shift all positions, one scalar value to the right.
|
|
112
|
+
rightPos = lookaheadPos;
|
|
113
|
+
lookaheadPos = positionAfter(lookaheadPos);
|
|
114
|
+
// Shift all properties, one scalar value to the right.
|
|
115
|
+
[lookbehind, left, right, lookahead] =
|
|
116
|
+
[left, right, lookahead, wordbreakPropertyAt(lookaheadPos)];
|
|
117
|
+
// Break at the start and end of text, unless the text is empty.
|
|
118
|
+
// WB1: Break at start of text...
|
|
119
|
+
if (left === WordBreakProperty.sot) {
|
|
120
|
+
boundaries.push(rightPos);
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
// WB2: Break at the end of text...
|
|
124
|
+
if (right === WordBreakProperty.eot) {
|
|
125
|
+
boundaries.push(rightPos);
|
|
126
|
+
break; // Reached the end of the string. We're done!
|
|
127
|
+
}
|
|
128
|
+
// WB3: Do not break within CRLF:
|
|
129
|
+
if (left === WordBreakProperty.CR && right === WordBreakProperty.LF)
|
|
130
|
+
continue;
|
|
131
|
+
// WB3b: Otherwise, break after...
|
|
132
|
+
if (left === WordBreakProperty.Newline ||
|
|
133
|
+
left === WordBreakProperty.CR ||
|
|
134
|
+
left === WordBreakProperty.LF) {
|
|
135
|
+
boundaries.push(rightPos);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
// WB3a: ...and before newlines
|
|
139
|
+
if (right === WordBreakProperty.Newline ||
|
|
140
|
+
right === WordBreakProperty.CR ||
|
|
141
|
+
right === WordBreakProperty.LF) {
|
|
142
|
+
boundaries.push(rightPos);
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
// TODO: WB3c is not implemented, due to its complex, error-prone
|
|
146
|
+
// implementation, requiring a ginormous regexp, and the fact that
|
|
147
|
+
// the only thing it does is prevent big emoji sequences from being
|
|
148
|
+
// split up, like 🧚🏼♂️
|
|
149
|
+
// https://www.unicode.org/Public/emoji/12.0/emoji-zwj-sequences.txt
|
|
150
|
+
// WB3d: Keep horizontal whitespace together
|
|
151
|
+
if (left === WordBreakProperty.WSegSpace && right == WordBreakProperty.WSegSpace)
|
|
152
|
+
continue;
|
|
153
|
+
// WB4: Ignore format and extend characters
|
|
154
|
+
// This is to keep grapheme clusters together!
|
|
155
|
+
// See: Section 6.2: https://unicode.org/reports/tr29/#Grapheme_Cluster_and_Format_Rules
|
|
156
|
+
// N.B.: The rule about "except after sot, CR, LF, and
|
|
157
|
+
// Newline" already been by WB1, WB2, WB3a, and WB3b above.
|
|
158
|
+
while (right === WordBreakProperty.Format ||
|
|
159
|
+
right === WordBreakProperty.Extend ||
|
|
160
|
+
right === WordBreakProperty.ZWJ) {
|
|
161
|
+
// Continue advancing in the string, as if these
|
|
162
|
+
// characters do not exist. DO NOT update left and
|
|
163
|
+
// lookbehind however!
|
|
164
|
+
[rightPos, lookaheadPos] = [lookaheadPos, positionAfter(lookaheadPos)];
|
|
165
|
+
[right, lookahead] = [lookahead, wordbreakPropertyAt(lookaheadPos)];
|
|
166
|
+
}
|
|
167
|
+
// In ignoring the characters in the previous loop, we could
|
|
168
|
+
// have fallen off the end of the string, so end the loop
|
|
169
|
+
// prematurely if that happens!
|
|
170
|
+
if (right === WordBreakProperty.eot) {
|
|
171
|
+
boundaries.push(rightPos);
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
// WB4 (continued): Lookahead must ALSO ignore these format,
|
|
175
|
+
// extend, ZWJ characters!
|
|
176
|
+
while (lookahead === WordBreakProperty.Format ||
|
|
177
|
+
lookahead === WordBreakProperty.Extend ||
|
|
178
|
+
lookahead === WordBreakProperty.ZWJ) {
|
|
179
|
+
// Continue advancing in the string, as if these
|
|
180
|
+
// characters do not exist. DO NOT update left and right,
|
|
181
|
+
// however!
|
|
182
|
+
lookaheadPos = positionAfter(lookaheadPos);
|
|
183
|
+
lookahead = wordbreakPropertyAt(lookaheadPos);
|
|
184
|
+
}
|
|
185
|
+
// WB5: Do not break between most letters.
|
|
186
|
+
if (isAHLetter(left) && isAHLetter(right))
|
|
187
|
+
continue;
|
|
188
|
+
// Do not break across certain punctuation
|
|
189
|
+
// WB6: (Don't break before apostrophes in contractions)
|
|
190
|
+
if (isAHLetter(left) && isAHLetter(lookahead) &&
|
|
191
|
+
(right === WordBreakProperty.MidLetter || isMidNumLetQ(right)))
|
|
192
|
+
continue;
|
|
193
|
+
// WB7: (Don't break after apostrophes in contractions)
|
|
194
|
+
if (isAHLetter(lookbehind) && isAHLetter(right) &&
|
|
195
|
+
(left === WordBreakProperty.MidLetter || isMidNumLetQ(left)))
|
|
196
|
+
continue;
|
|
197
|
+
// WB7a
|
|
198
|
+
if (left === WordBreakProperty.Hebrew_Letter && right === WordBreakProperty.Single_Quote)
|
|
199
|
+
continue;
|
|
200
|
+
// WB7b
|
|
201
|
+
if (left === WordBreakProperty.Hebrew_Letter && right === WordBreakProperty.Double_Quote &&
|
|
202
|
+
lookahead === WordBreakProperty.Hebrew_Letter)
|
|
203
|
+
continue;
|
|
204
|
+
// WB7c
|
|
205
|
+
if (lookbehind === WordBreakProperty.Hebrew_Letter && left === WordBreakProperty.Double_Quote &&
|
|
206
|
+
right === WordBreakProperty.Hebrew_Letter)
|
|
207
|
+
continue;
|
|
208
|
+
// Do not break within sequences of digits, or digits adjacent to letters.
|
|
209
|
+
// e.g., "3a" or "A3"
|
|
210
|
+
// WB8
|
|
211
|
+
if (left === WordBreakProperty.Numeric && right === WordBreakProperty.Numeric)
|
|
212
|
+
continue;
|
|
213
|
+
// WB9
|
|
214
|
+
if (isAHLetter(left) && right === WordBreakProperty.Numeric)
|
|
215
|
+
continue;
|
|
216
|
+
// WB10
|
|
217
|
+
if (left === WordBreakProperty.Numeric && isAHLetter(right))
|
|
218
|
+
continue;
|
|
219
|
+
// Do not break within sequences, such as 3.2, 3,456.789
|
|
220
|
+
// WB11
|
|
221
|
+
if (lookbehind === WordBreakProperty.Numeric && right === WordBreakProperty.Numeric &&
|
|
222
|
+
(left === WordBreakProperty.MidNum || isMidNumLetQ(left)))
|
|
223
|
+
continue;
|
|
224
|
+
// WB12
|
|
225
|
+
if (left === WordBreakProperty.Numeric && lookahead === WordBreakProperty.Numeric &&
|
|
226
|
+
(right === WordBreakProperty.MidNum || isMidNumLetQ(right)))
|
|
227
|
+
continue;
|
|
228
|
+
// WB13: Do not break between Katakana
|
|
229
|
+
if (left === WordBreakProperty.Katakana && right === WordBreakProperty.Katakana)
|
|
230
|
+
continue;
|
|
231
|
+
// Do not break from extenders (e.g., U+202F NARROW NO-BREAK SPACE)
|
|
232
|
+
// WB13a
|
|
233
|
+
if ((isAHLetter(left) ||
|
|
234
|
+
left === WordBreakProperty.Numeric ||
|
|
235
|
+
left === WordBreakProperty.Katakana ||
|
|
236
|
+
left === WordBreakProperty.ExtendNumLet) &&
|
|
237
|
+
right === WordBreakProperty.ExtendNumLet)
|
|
238
|
+
continue;
|
|
239
|
+
// WB13b
|
|
240
|
+
if ((isAHLetter(right) ||
|
|
241
|
+
right === WordBreakProperty.Numeric ||
|
|
242
|
+
right === WordBreakProperty.Katakana) && left === WordBreakProperty.ExtendNumLet)
|
|
243
|
+
continue;
|
|
244
|
+
// WB15 & WB16:
|
|
245
|
+
// Do not break within emoji flag sequences. That is, do not break between
|
|
246
|
+
// regional indicator (RI) symbols if there is an odd number of RI
|
|
247
|
+
// characters before the break point.
|
|
248
|
+
if (right === WordBreakProperty.Regional_Indicator) {
|
|
249
|
+
// Emoji flags are actually composed of TWO scalar values, each being a
|
|
250
|
+
// "regional indicator". These indicators correspond to Latin letters. Put
|
|
251
|
+
// two of them together, and they spell out an ISO 3166-1-alpha-2 country
|
|
252
|
+
// code. Since these always come in pairs, NEVER split the pairs! So, if
|
|
253
|
+
// we happen to be inside the middle of an odd numbered of
|
|
254
|
+
// Regional_Indicators, DON'T SPLIT IT!
|
|
255
|
+
nConsecutiveRegionalIndicators += 1;
|
|
256
|
+
if ((nConsecutiveRegionalIndicators % 2) == 1) {
|
|
257
|
+
continue;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
nConsecutiveRegionalIndicators = 0;
|
|
262
|
+
}
|
|
263
|
+
// WB999: Otherwise, break EVERYWHERE (including around ideographs)
|
|
264
|
+
boundaries.push(rightPos);
|
|
265
|
+
} while (rightPos < text.length);
|
|
266
|
+
return boundaries;
|
|
267
|
+
///// Internal utility functions /////
|
|
268
|
+
/**
|
|
269
|
+
* Returns the position of the start of the next scalar value. This jumps
|
|
270
|
+
* over surrogate pairs.
|
|
271
|
+
*
|
|
272
|
+
* If asked for the character AFTER the end of the string, this always
|
|
273
|
+
* returns the length of the string.
|
|
274
|
+
*/
|
|
275
|
+
function positionAfter(pos) {
|
|
276
|
+
if (pos >= text.length) {
|
|
277
|
+
return text.length;
|
|
278
|
+
}
|
|
279
|
+
else if (isStartOfSurrogatePair(text[pos])) {
|
|
280
|
+
return pos + 2;
|
|
281
|
+
}
|
|
282
|
+
return pos + 1;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Return the value of the Word_Break property at the given string index.
|
|
286
|
+
* @param pos position in the text.
|
|
287
|
+
*/
|
|
288
|
+
function wordbreakPropertyAt(pos) {
|
|
289
|
+
if (pos < 0) {
|
|
290
|
+
return WordBreakProperty.sot; // Always "start of string" before the string starts!
|
|
291
|
+
}
|
|
292
|
+
else if (pos >= text.length) {
|
|
293
|
+
return WordBreakProperty.eot; // Always "end of string" after the string ends!
|
|
294
|
+
}
|
|
295
|
+
else if (isStartOfSurrogatePair(text[pos])) {
|
|
296
|
+
// Surrogate pairs the next TWO items from the string!
|
|
297
|
+
return property(text[pos] + text[pos + 1]);
|
|
298
|
+
}
|
|
299
|
+
return property(text[pos]);
|
|
300
|
+
}
|
|
301
|
+
// Word_Break rule macros
|
|
302
|
+
// See: https://unicode.org/reports/tr29/#WB_Rule_Macros
|
|
303
|
+
function isAHLetter(prop) {
|
|
304
|
+
return prop === WordBreakProperty.ALetter ||
|
|
305
|
+
prop === WordBreakProperty.Hebrew_Letter;
|
|
306
|
+
}
|
|
307
|
+
function isMidNumLetQ(prop) {
|
|
308
|
+
return prop === WordBreakProperty.MidNumLet ||
|
|
309
|
+
prop === WordBreakProperty.Single_Quote;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
function isStartOfSurrogatePair(character) {
|
|
313
|
+
let codeUnit = character.charCodeAt(0);
|
|
314
|
+
return codeUnit >= 0xD800 && codeUnit <= 0xDBFF;
|
|
315
|
+
}
|
|
316
|
+
/**
|
|
317
|
+
* Return the Word_Break property value for a character.
|
|
318
|
+
* Note that
|
|
319
|
+
* @param character a scalar value
|
|
320
|
+
*/
|
|
321
|
+
function property(character) {
|
|
322
|
+
// This MUST be a scalar value.
|
|
323
|
+
// TODO: remove dependence on character.codepointAt()?
|
|
324
|
+
let codepoint = character.codePointAt(0);
|
|
325
|
+
return searchForProperty(codepoint, 0, WORD_BREAK_PROPERTY.length - 1);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Binary search for the word break property of a given CODE POINT.
|
|
329
|
+
*
|
|
330
|
+
* The auto-generated data.ts master array defines a **character range**
|
|
331
|
+
* lookup table. If a character's codepoint is equal to or greater than
|
|
332
|
+
* the I.Start value for an entry and exclusively less than the next entry,
|
|
333
|
+
* it falls in the first entry's range bucket and is classified accordingly
|
|
334
|
+
* by this method.
|
|
335
|
+
*/
|
|
336
|
+
function searchForProperty(codePoint, left, right) {
|
|
337
|
+
// All items that are not found in the array are assigned the 'Other' property.
|
|
338
|
+
if (right < left) {
|
|
339
|
+
return WordBreakProperty.Other;
|
|
340
|
+
}
|
|
341
|
+
let midpoint = left + ~~((right - left) / 2);
|
|
342
|
+
let candidate = WORD_BREAK_PROPERTY[midpoint];
|
|
343
|
+
let nextRange = WORD_BREAK_PROPERTY[midpoint + 1];
|
|
344
|
+
let startOfNextRange = nextRange ? nextRange[I.Start] : Infinity;
|
|
345
|
+
if (codePoint < candidate[I.Start]) {
|
|
346
|
+
return searchForProperty(codePoint, left, midpoint - 1);
|
|
347
|
+
}
|
|
348
|
+
else if (codePoint >= startOfNextRange) {
|
|
349
|
+
return searchForProperty(codePoint, midpoint + 1, right);
|
|
350
|
+
}
|
|
351
|
+
// We found it!
|
|
352
|
+
return candidate[I.Value];
|
|
353
|
+
}
|
|
354
|
+
//# sourceMappingURL=default-wordbreaker-esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-wordbreaker-esm.js","sourceRoot":"","sources":["../../../test/wordbreakers/default-wordbreaker-esm.ts"],"names":[],"mappings":"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"}
|