@lokascript/semantic 1.3.0 → 2.0.0
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/dist/__test-utils__/index.d.ts +6 -0
- package/dist/__test-utils__/index.d.ts.map +1 -0
- package/dist/__test-utils__/test-helpers.d.ts +7 -0
- package/dist/__test-utils__/test-helpers.d.ts.map +1 -0
- package/dist/__types__/test-helpers.d.ts +67 -0
- package/dist/__types__/test-helpers.d.ts.map +1 -0
- package/dist/analysis/index.d.ts +106 -0
- package/dist/analysis/index.d.ts.map +1 -0
- package/dist/ast-builder/command-mappers.d.ts +50 -0
- package/dist/ast-builder/command-mappers.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/index.d.ts +14 -0
- package/dist/ast-builder/expression-parser/index.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/parser.d.ts +50 -0
- package/dist/ast-builder/expression-parser/parser.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/tokenizer.d.ts +44 -0
- package/dist/ast-builder/expression-parser/tokenizer.d.ts.map +1 -0
- package/dist/ast-builder/expression-parser/types.d.ts +111 -0
- package/dist/ast-builder/expression-parser/types.d.ts.map +1 -0
- package/dist/ast-builder/index.d.ts +183 -0
- package/dist/ast-builder/index.d.ts.map +1 -0
- package/dist/ast-builder/value-converters.d.ts +51 -0
- package/dist/ast-builder/value-converters.d.ts.map +1 -0
- package/dist/browser-ar.ar.global.js +2 -2
- package/dist/browser-ar.d.ts +47 -0
- package/dist/browser-ar.d.ts.map +1 -0
- package/dist/browser-bn.bn.global.js +2 -0
- package/dist/browser-bn.d.ts +47 -0
- package/dist/browser-bn.d.ts.map +1 -0
- package/dist/browser-core.core.global.js +2 -2
- package/dist/browser-core.d.ts +83 -0
- package/dist/browser-core.d.ts.map +1 -0
- package/dist/browser-de.d.ts +47 -0
- package/dist/browser-de.d.ts.map +1 -0
- package/dist/browser-de.de.global.js +2 -2
- package/dist/browser-east-asian.d.ts +59 -0
- package/dist/browser-east-asian.d.ts.map +1 -0
- package/dist/browser-east-asian.east-asian.global.js +2 -2
- package/dist/browser-en-tr.d.ts +50 -0
- package/dist/browser-en-tr.d.ts.map +1 -0
- package/dist/browser-en-tr.en-tr.global.js +2 -2
- package/dist/browser-en.d.ts +48 -0
- package/dist/browser-en.d.ts.map +1 -0
- package/dist/browser-en.en.global.js +2 -2
- package/dist/browser-es-en.d.ts +62 -0
- package/dist/browser-es-en.d.ts.map +1 -0
- package/dist/browser-es-en.es-en.global.js +2 -2
- package/dist/browser-es.d.ts +51 -0
- package/dist/browser-es.d.ts.map +1 -0
- package/dist/browser-es.es.global.js +2 -2
- package/dist/browser-fr.d.ts +47 -0
- package/dist/browser-fr.d.ts.map +1 -0
- package/dist/browser-fr.fr.global.js +2 -2
- package/dist/browser-hi.d.ts +47 -0
- package/dist/browser-hi.d.ts.map +1 -0
- package/dist/browser-hi.hi.global.js +2 -0
- package/dist/browser-id.d.ts +47 -0
- package/dist/browser-id.d.ts.map +1 -0
- package/dist/browser-id.id.global.js +2 -2
- package/dist/browser-it.d.ts +47 -0
- package/dist/browser-it.d.ts.map +1 -0
- package/dist/browser-it.it.global.js +2 -0
- package/dist/browser-ja.d.ts +47 -0
- package/dist/browser-ja.d.ts.map +1 -0
- package/dist/browser-ja.ja.global.js +2 -2
- package/dist/browser-ko.d.ts +47 -0
- package/dist/browser-ko.d.ts.map +1 -0
- package/dist/browser-ko.ko.global.js +2 -2
- package/dist/browser-lazy.d.ts +52 -0
- package/dist/browser-lazy.d.ts.map +1 -0
- package/dist/browser-lazy.lazy.global.js +2 -2
- package/dist/browser-ms.d.ts +47 -0
- package/dist/browser-ms.d.ts.map +1 -0
- package/dist/browser-ms.ms.global.js +2 -0
- package/dist/browser-pl.d.ts +47 -0
- package/dist/browser-pl.d.ts.map +1 -0
- package/dist/browser-pl.pl.global.js +2 -0
- package/dist/browser-priority.d.ts +83 -0
- package/dist/browser-priority.d.ts.map +1 -0
- package/dist/browser-priority.priority.global.js +2 -2
- package/dist/browser-pt.d.ts +47 -0
- package/dist/browser-pt.d.ts.map +1 -0
- package/dist/browser-pt.pt.global.js +2 -2
- package/dist/browser-qu.d.ts +47 -0
- package/dist/browser-qu.d.ts.map +1 -0
- package/dist/browser-qu.qu.global.js +2 -2
- package/dist/browser-ru.d.ts +47 -0
- package/dist/browser-ru.d.ts.map +1 -0
- package/dist/browser-ru.ru.global.js +2 -0
- package/dist/browser-sw.d.ts +47 -0
- package/dist/browser-sw.d.ts.map +1 -0
- package/dist/browser-sw.sw.global.js +2 -2
- package/dist/browser-th.d.ts +47 -0
- package/dist/browser-th.d.ts.map +1 -0
- package/dist/browser-th.th.global.js +2 -0
- package/dist/browser-tl.d.ts +47 -0
- package/dist/browser-tl.d.ts.map +1 -0
- package/dist/browser-tl.tl.global.js +2 -0
- package/dist/browser-tr.d.ts +47 -0
- package/dist/browser-tr.d.ts.map +1 -0
- package/dist/browser-tr.tr.global.js +2 -2
- package/dist/browser-uk.d.ts +47 -0
- package/dist/browser-uk.d.ts.map +1 -0
- package/dist/browser-uk.uk.global.js +2 -0
- package/dist/browser-vi.d.ts +47 -0
- package/dist/browser-vi.d.ts.map +1 -0
- package/dist/browser-vi.vi.global.js +2 -0
- package/dist/browser-western.d.ts +67 -0
- package/dist/browser-western.d.ts.map +1 -0
- package/dist/browser-western.western.global.js +2 -2
- package/dist/browser-zh.d.ts +47 -0
- package/dist/browser-zh.d.ts.map +1 -0
- package/dist/browser-zh.zh.global.js +2 -2
- package/dist/browser.d.ts +69 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.global.js +2 -2
- package/dist/browser.global.js.map +1 -1
- package/dist/cache/index.d.ts +7 -0
- package/dist/cache/index.d.ts.map +1 -0
- package/dist/cache/semantic-cache.d.ts +138 -0
- package/dist/cache/semantic-cache.d.ts.map +1 -0
- package/dist/core-bridge.d.ts +154 -0
- package/dist/core-bridge.d.ts.map +1 -0
- package/dist/core.d.ts +24 -1235
- package/dist/core.d.ts.map +1 -0
- package/dist/core.js +6433 -1731
- package/dist/core.js.map +1 -1
- package/dist/explicit/converter.d.ts +98 -0
- package/dist/explicit/converter.d.ts.map +1 -0
- package/dist/explicit/index.d.ts +10 -0
- package/dist/explicit/index.d.ts.map +1 -0
- package/dist/explicit/parser.d.ts +25 -0
- package/dist/explicit/parser.d.ts.map +1 -0
- package/dist/explicit/renderer.d.ts +82 -0
- package/dist/explicit/renderer.d.ts.map +1 -0
- package/dist/generators/command-schemas.d.ts +358 -0
- package/dist/generators/command-schemas.d.ts.map +1 -0
- package/dist/generators/event-handlers-sov.d.ts +91 -0
- package/dist/generators/event-handlers-sov.d.ts.map +1 -0
- package/dist/generators/event-handlers-vso.d.ts +69 -0
- package/dist/generators/event-handlers-vso.d.ts.map +1 -0
- package/dist/generators/index.d.ts +12 -0
- package/dist/generators/index.d.ts.map +1 -0
- package/dist/generators/language-profiles.d.ts +65 -0
- package/dist/generators/language-profiles.d.ts.map +1 -0
- package/dist/generators/pattern-generator.d.ts +81 -0
- package/dist/generators/pattern-generator.d.ts.map +1 -0
- package/dist/generators/profiles/arabic.d.ts +9 -0
- package/dist/generators/profiles/arabic.d.ts.map +1 -0
- package/dist/generators/profiles/bengali.d.ts +9 -0
- package/dist/generators/profiles/bengali.d.ts.map +1 -0
- package/dist/generators/profiles/chinese.d.ts +9 -0
- package/dist/generators/profiles/chinese.d.ts.map +1 -0
- package/dist/generators/profiles/english.d.ts +8 -0
- package/dist/generators/profiles/english.d.ts.map +1 -0
- package/dist/generators/profiles/french.d.ts +9 -0
- package/dist/generators/profiles/french.d.ts.map +1 -0
- package/dist/generators/profiles/german.d.ts +9 -0
- package/dist/generators/profiles/german.d.ts.map +1 -0
- package/dist/generators/profiles/hebrew.d.ts +10 -0
- package/dist/generators/profiles/hebrew.d.ts.map +1 -0
- package/dist/generators/profiles/hindi.d.ts +9 -0
- package/dist/generators/profiles/hindi.d.ts.map +1 -0
- package/dist/generators/profiles/index.d.ts +36 -0
- package/dist/generators/profiles/index.d.ts.map +1 -0
- package/dist/generators/profiles/indonesian.d.ts +9 -0
- package/dist/generators/profiles/indonesian.d.ts.map +1 -0
- package/dist/generators/profiles/italian.d.ts +10 -0
- package/dist/generators/profiles/italian.d.ts.map +1 -0
- package/dist/generators/profiles/japanese.d.ts +9 -0
- package/dist/generators/profiles/japanese.d.ts.map +1 -0
- package/dist/generators/profiles/korean.d.ts +9 -0
- package/dist/generators/profiles/korean.d.ts.map +1 -0
- package/dist/generators/profiles/marker-templates.d.ts +119 -0
- package/dist/generators/profiles/marker-templates.d.ts.map +1 -0
- package/dist/generators/profiles/ms.d.ts +8 -0
- package/dist/generators/profiles/ms.d.ts.map +1 -0
- package/dist/generators/profiles/polish.d.ts +10 -0
- package/dist/generators/profiles/polish.d.ts.map +1 -0
- package/dist/generators/profiles/portuguese.d.ts +9 -0
- package/dist/generators/profiles/portuguese.d.ts.map +1 -0
- package/dist/generators/profiles/quechua.d.ts +9 -0
- package/dist/generators/profiles/quechua.d.ts.map +1 -0
- package/dist/generators/profiles/russian.d.ts +10 -0
- package/dist/generators/profiles/russian.d.ts.map +1 -0
- package/dist/generators/profiles/spanish.d.ts +9 -0
- package/dist/generators/profiles/spanish.d.ts.map +1 -0
- package/dist/generators/profiles/spanishMexico.d.ts +19 -0
- package/dist/generators/profiles/spanishMexico.d.ts.map +1 -0
- package/dist/generators/profiles/swahili.d.ts +9 -0
- package/dist/generators/profiles/swahili.d.ts.map +1 -0
- package/dist/generators/profiles/thai.d.ts +9 -0
- package/dist/generators/profiles/thai.d.ts.map +1 -0
- package/dist/generators/profiles/tl.d.ts +8 -0
- package/dist/generators/profiles/tl.d.ts.map +1 -0
- package/dist/generators/profiles/turkish.d.ts +9 -0
- package/dist/generators/profiles/turkish.d.ts.map +1 -0
- package/dist/generators/profiles/types.d.ts +170 -0
- package/dist/generators/profiles/types.d.ts.map +1 -0
- package/dist/generators/profiles/ukrainian.d.ts +10 -0
- package/dist/generators/profiles/ukrainian.d.ts.map +1 -0
- package/dist/generators/profiles/vietnamese.d.ts +10 -0
- package/dist/generators/profiles/vietnamese.d.ts.map +1 -0
- package/dist/generators/schema-error-codes.d.ts +60 -0
- package/dist/generators/schema-error-codes.d.ts.map +1 -0
- package/dist/generators/schema-validator.d.ts +77 -0
- package/dist/generators/schema-validator.d.ts.map +1 -0
- package/dist/index.cjs +5451 -2522
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +50 -3436
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5448 -2526
- package/dist/index.js.map +1 -1
- package/dist/interchange/from-semantic.d.ts +23 -0
- package/dist/interchange/from-semantic.d.ts.map +1 -0
- package/dist/interchange/index.d.ts +7 -0
- package/dist/interchange/index.d.ts.map +1 -0
- package/dist/interchange/types.d.ts +132 -0
- package/dist/interchange/types.d.ts.map +1 -0
- package/dist/language-building-schema.d.ts +163 -0
- package/dist/language-building-schema.d.ts.map +1 -0
- package/dist/language-loader.d.ts +126 -0
- package/dist/language-loader.d.ts.map +1 -0
- package/dist/languages/_all.d.ts +66 -0
- package/dist/languages/_all.d.ts.map +1 -0
- package/dist/languages/ar.d.ts +6 -75
- package/dist/languages/ar.d.ts.map +1 -0
- package/dist/languages/ar.js +65 -14
- package/dist/languages/ar.js.map +1 -1
- package/dist/languages/bn.d.ts +7 -30
- package/dist/languages/bn.d.ts.map +1 -0
- package/dist/languages/bn.js +83 -21
- package/dist/languages/bn.js.map +1 -1
- package/dist/languages/de.d.ts +6 -35
- package/dist/languages/de.d.ts.map +1 -0
- package/dist/languages/de.js +260 -22
- package/dist/languages/de.js.map +1 -1
- package/dist/languages/en.d.ts +13 -40
- package/dist/languages/en.d.ts.map +1 -0
- package/dist/languages/en.js +788 -241
- package/dist/languages/en.js.map +1 -1
- package/dist/languages/es-MX.d.ts +18 -17
- package/dist/languages/es-MX.d.ts.map +1 -0
- package/dist/languages/es-MX.js +66 -13
- package/dist/languages/es-MX.js.map +1 -1
- package/dist/languages/es.d.ts +6 -10
- package/dist/languages/es.d.ts.map +1 -0
- package/dist/languages/es.js +60 -13
- package/dist/languages/es.js.map +1 -1
- package/dist/languages/fr.d.ts +6 -34
- package/dist/languages/fr.d.ts.map +1 -0
- package/dist/languages/fr.js +309 -22
- package/dist/languages/fr.js.map +1 -1
- package/dist/languages/he.d.ts +6 -67
- package/dist/languages/he.d.ts.map +1 -0
- package/dist/languages/he.js +60 -13
- package/dist/languages/he.js.map +1 -1
- package/dist/languages/hi.d.ts +14 -32
- package/dist/languages/hi.d.ts.map +1 -0
- package/dist/languages/hi.js +60 -13
- package/dist/languages/hi.js.map +1 -1
- package/dist/languages/id.d.ts +6 -32
- package/dist/languages/id.d.ts.map +1 -0
- package/dist/languages/id.js +60 -13
- package/dist/languages/id.js.map +1 -1
- package/dist/languages/index.d.ts +18 -0
- package/dist/languages/index.d.ts.map +1 -0
- package/dist/languages/it.d.ts +6 -50
- package/dist/languages/it.d.ts.map +1 -0
- package/dist/languages/it.js +60 -13
- package/dist/languages/it.js.map +1 -1
- package/dist/languages/ja.d.ts +6 -50
- package/dist/languages/ja.d.ts.map +1 -0
- package/dist/languages/ja.js +60 -13
- package/dist/languages/ja.js.map +1 -1
- package/dist/languages/ko.d.ts +6 -55
- package/dist/languages/ko.d.ts.map +1 -0
- package/dist/languages/ko.js +64 -13
- package/dist/languages/ko.js.map +1 -1
- package/dist/languages/ms.d.ts +7 -29
- package/dist/languages/ms.d.ts.map +1 -0
- package/dist/languages/ms.js +58 -13
- package/dist/languages/ms.js.map +1 -1
- package/dist/languages/pl.d.ts +8 -33
- package/dist/languages/pl.d.ts.map +1 -0
- package/dist/languages/pl.js +277 -22
- package/dist/languages/pl.js.map +1 -1
- package/dist/languages/pt.d.ts +6 -34
- package/dist/languages/pt.d.ts.map +1 -0
- package/dist/languages/pt.js +344 -22
- package/dist/languages/pt.js.map +1 -1
- package/dist/languages/qu.d.ts +6 -44
- package/dist/languages/qu.d.ts.map +1 -0
- package/dist/languages/qu.js +105 -28
- package/dist/languages/qu.js.map +1 -1
- package/dist/languages/ru.d.ts +14 -33
- package/dist/languages/ru.d.ts.map +1 -0
- package/dist/languages/ru.js +371 -22
- package/dist/languages/ru.js.map +1 -1
- package/dist/languages/sw.d.ts +6 -32
- package/dist/languages/sw.d.ts.map +1 -0
- package/dist/languages/sw.js +69 -17
- package/dist/languages/sw.js.map +1 -1
- package/dist/languages/th.d.ts +7 -32
- package/dist/languages/th.d.ts.map +1 -0
- package/dist/languages/th.js +60 -13
- package/dist/languages/th.js.map +1 -1
- package/dist/languages/tl.d.ts +7 -29
- package/dist/languages/tl.d.ts.map +1 -0
- package/dist/languages/tl.js +75 -23
- package/dist/languages/tl.js.map +1 -1
- package/dist/languages/tr.d.ts +6 -50
- package/dist/languages/tr.d.ts.map +1 -0
- package/dist/languages/tr.js +67 -16
- package/dist/languages/tr.js.map +1 -1
- package/dist/languages/uk.d.ts +14 -33
- package/dist/languages/uk.d.ts.map +1 -0
- package/dist/languages/uk.js +357 -22
- package/dist/languages/uk.js.map +1 -1
- package/dist/languages/vi.d.ts +7 -56
- package/dist/languages/vi.d.ts.map +1 -0
- package/dist/languages/vi.js +59 -13
- package/dist/languages/vi.js.map +1 -1
- package/dist/languages/zh.d.ts +6 -55
- package/dist/languages/zh.d.ts.map +1 -0
- package/dist/languages/zh.js +59 -13
- package/dist/languages/zh.js.map +1 -1
- package/dist/parser/index.d.ts +8 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/pattern-matcher.d.ts +188 -0
- package/dist/parser/pattern-matcher.d.ts.map +1 -0
- package/dist/parser/semantic-parser.d.ts +238 -0
- package/dist/parser/semantic-parser.d.ts.map +1 -0
- package/dist/parser/utils/index.d.ts +9 -0
- package/dist/parser/utils/index.d.ts.map +1 -0
- package/dist/parser/utils/marker-resolution.d.ts +57 -0
- package/dist/parser/utils/marker-resolution.d.ts.map +1 -0
- package/dist/parser/utils/possessive-keywords.d.ts +31 -0
- package/dist/parser/utils/possessive-keywords.d.ts.map +1 -0
- package/dist/parser/utils/role-positioning.d.ts +42 -0
- package/dist/parser/utils/role-positioning.d.ts.map +1 -0
- package/dist/parser/utils/type-validation.d.ts +63 -0
- package/dist/parser/utils/type-validation.d.ts.map +1 -0
- package/dist/patterns/add/ar.d.ts +12 -0
- package/dist/patterns/add/ar.d.ts.map +1 -0
- package/dist/patterns/add/bn.d.ts +8 -0
- package/dist/patterns/add/bn.d.ts.map +1 -0
- package/dist/patterns/add/hi.d.ts +8 -0
- package/dist/patterns/add/hi.d.ts.map +1 -0
- package/dist/patterns/add/index.d.ts +31 -0
- package/dist/patterns/add/index.d.ts.map +1 -0
- package/dist/patterns/add/it.d.ts +11 -0
- package/dist/patterns/add/it.d.ts.map +1 -0
- package/dist/patterns/add/ja.d.ts +12 -0
- package/dist/patterns/add/ja.d.ts.map +1 -0
- package/dist/patterns/add/ko.d.ts +12 -0
- package/dist/patterns/add/ko.d.ts.map +1 -0
- package/dist/patterns/add/pl.d.ts +12 -0
- package/dist/patterns/add/pl.d.ts.map +1 -0
- package/dist/patterns/add/qu.d.ts +9 -0
- package/dist/patterns/add/qu.d.ts.map +1 -0
- package/dist/patterns/add/ru.d.ts +12 -0
- package/dist/patterns/add/ru.d.ts.map +1 -0
- package/dist/patterns/add/th.d.ts +8 -0
- package/dist/patterns/add/th.d.ts.map +1 -0
- package/dist/patterns/add/tr.d.ts +12 -0
- package/dist/patterns/add/tr.d.ts.map +1 -0
- package/dist/patterns/add/uk.d.ts +12 -0
- package/dist/patterns/add/uk.d.ts.map +1 -0
- package/dist/patterns/add/vi.d.ts +11 -0
- package/dist/patterns/add/vi.d.ts.map +1 -0
- package/dist/patterns/add/zh.d.ts +12 -0
- package/dist/patterns/add/zh.d.ts.map +1 -0
- package/dist/patterns/builders.d.ts +52 -0
- package/dist/patterns/builders.d.ts.map +1 -0
- package/dist/patterns/decrement/bn.d.ts +8 -0
- package/dist/patterns/decrement/bn.d.ts.map +1 -0
- package/dist/patterns/decrement/de.d.ts +12 -0
- package/dist/patterns/decrement/de.d.ts.map +1 -0
- package/dist/patterns/decrement/hi.d.ts +8 -0
- package/dist/patterns/decrement/hi.d.ts.map +1 -0
- package/dist/patterns/decrement/index.d.ts +28 -0
- package/dist/patterns/decrement/index.d.ts.map +1 -0
- package/dist/patterns/decrement/it.d.ts +11 -0
- package/dist/patterns/decrement/it.d.ts.map +1 -0
- package/dist/patterns/decrement/pl.d.ts +12 -0
- package/dist/patterns/decrement/pl.d.ts.map +1 -0
- package/dist/patterns/decrement/ru.d.ts +12 -0
- package/dist/patterns/decrement/ru.d.ts.map +1 -0
- package/dist/patterns/decrement/th.d.ts +8 -0
- package/dist/patterns/decrement/th.d.ts.map +1 -0
- package/dist/patterns/decrement/tr.d.ts +12 -0
- package/dist/patterns/decrement/tr.d.ts.map +1 -0
- package/dist/patterns/decrement/uk.d.ts +12 -0
- package/dist/patterns/decrement/uk.d.ts.map +1 -0
- package/dist/patterns/decrement/vi.d.ts +11 -0
- package/dist/patterns/decrement/vi.d.ts.map +1 -0
- package/dist/patterns/decrement/zh.d.ts +12 -0
- package/dist/patterns/decrement/zh.d.ts.map +1 -0
- package/dist/patterns/en.d.ts +13 -0
- package/dist/patterns/en.d.ts.map +1 -0
- package/dist/patterns/event-handler/ar.d.ts +12 -0
- package/dist/patterns/event-handler/ar.d.ts.map +1 -0
- package/dist/patterns/event-handler/bn.d.ts +8 -0
- package/dist/patterns/event-handler/bn.d.ts.map +1 -0
- package/dist/patterns/event-handler/de.d.ts +11 -0
- package/dist/patterns/event-handler/de.d.ts.map +1 -0
- package/dist/patterns/event-handler/en.d.ts +11 -0
- package/dist/patterns/event-handler/en.d.ts.map +1 -0
- package/dist/patterns/event-handler/es.d.ts +11 -0
- package/dist/patterns/event-handler/es.d.ts.map +1 -0
- package/dist/patterns/event-handler/fr.d.ts +11 -0
- package/dist/patterns/event-handler/fr.d.ts.map +1 -0
- package/dist/patterns/event-handler/he.d.ts +12 -0
- package/dist/patterns/event-handler/he.d.ts.map +1 -0
- package/dist/patterns/event-handler/hi.d.ts +9 -0
- package/dist/patterns/event-handler/hi.d.ts.map +1 -0
- package/dist/patterns/event-handler/id.d.ts +11 -0
- package/dist/patterns/event-handler/id.d.ts.map +1 -0
- package/dist/patterns/event-handler/index.d.ts +41 -0
- package/dist/patterns/event-handler/index.d.ts.map +1 -0
- package/dist/patterns/event-handler/it.d.ts +11 -0
- package/dist/patterns/event-handler/it.d.ts.map +1 -0
- package/dist/patterns/event-handler/ja.d.ts +12 -0
- package/dist/patterns/event-handler/ja.d.ts.map +1 -0
- package/dist/patterns/event-handler/ko.d.ts +12 -0
- package/dist/patterns/event-handler/ko.d.ts.map +1 -0
- package/dist/patterns/event-handler/ms.d.ts +14 -0
- package/dist/patterns/event-handler/ms.d.ts.map +1 -0
- package/dist/patterns/event-handler/pl.d.ts +12 -0
- package/dist/patterns/event-handler/pl.d.ts.map +1 -0
- package/dist/patterns/event-handler/pt.d.ts +11 -0
- package/dist/patterns/event-handler/pt.d.ts.map +1 -0
- package/dist/patterns/event-handler/qu.d.ts +11 -0
- package/dist/patterns/event-handler/qu.d.ts.map +1 -0
- package/dist/patterns/event-handler/ru.d.ts +12 -0
- package/dist/patterns/event-handler/ru.d.ts.map +1 -0
- package/dist/patterns/event-handler/shared.d.ts +15 -0
- package/dist/patterns/event-handler/shared.d.ts.map +1 -0
- package/dist/patterns/event-handler/sw.d.ts +11 -0
- package/dist/patterns/event-handler/sw.d.ts.map +1 -0
- package/dist/patterns/event-handler/th.d.ts +8 -0
- package/dist/patterns/event-handler/th.d.ts.map +1 -0
- package/dist/patterns/event-handler/tl.d.ts +9 -0
- package/dist/patterns/event-handler/tl.d.ts.map +1 -0
- package/dist/patterns/event-handler/tr.d.ts +12 -0
- package/dist/patterns/event-handler/tr.d.ts.map +1 -0
- package/dist/patterns/event-handler/uk.d.ts +12 -0
- package/dist/patterns/event-handler/uk.d.ts.map +1 -0
- package/dist/patterns/event-handler/vi.d.ts +11 -0
- package/dist/patterns/event-handler/vi.d.ts.map +1 -0
- package/dist/patterns/event-handler/zh.d.ts +11 -0
- package/dist/patterns/event-handler/zh.d.ts.map +1 -0
- package/dist/patterns/get/ar.d.ts +12 -0
- package/dist/patterns/get/ar.d.ts.map +1 -0
- package/dist/patterns/get/bn.d.ts +8 -0
- package/dist/patterns/get/bn.d.ts.map +1 -0
- package/dist/patterns/get/de.d.ts +12 -0
- package/dist/patterns/get/de.d.ts.map +1 -0
- package/dist/patterns/get/hi.d.ts +8 -0
- package/dist/patterns/get/hi.d.ts.map +1 -0
- package/dist/patterns/get/index.d.ts +29 -0
- package/dist/patterns/get/index.d.ts.map +1 -0
- package/dist/patterns/get/it.d.ts +11 -0
- package/dist/patterns/get/it.d.ts.map +1 -0
- package/dist/patterns/get/ja.d.ts +12 -0
- package/dist/patterns/get/ja.d.ts.map +1 -0
- package/dist/patterns/get/ko.d.ts +12 -0
- package/dist/patterns/get/ko.d.ts.map +1 -0
- package/dist/patterns/get/pl.d.ts +12 -0
- package/dist/patterns/get/pl.d.ts.map +1 -0
- package/dist/patterns/get/ru.d.ts +12 -0
- package/dist/patterns/get/ru.d.ts.map +1 -0
- package/dist/patterns/get/th.d.ts +8 -0
- package/dist/patterns/get/th.d.ts.map +1 -0
- package/dist/patterns/get/uk.d.ts +12 -0
- package/dist/patterns/get/uk.d.ts.map +1 -0
- package/dist/patterns/get/vi.d.ts +11 -0
- package/dist/patterns/get/vi.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/index.d.ts +20 -0
- package/dist/patterns/grammar-transformed/index.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/ja.d.ts +12 -0
- package/dist/patterns/grammar-transformed/ja.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/ko.d.ts +12 -0
- package/dist/patterns/grammar-transformed/ko.d.ts.map +1 -0
- package/dist/patterns/grammar-transformed/tr.d.ts +12 -0
- package/dist/patterns/grammar-transformed/tr.d.ts.map +1 -0
- package/dist/patterns/hide/ar.d.ts +12 -0
- package/dist/patterns/hide/ar.d.ts.map +1 -0
- package/dist/patterns/hide/bn.d.ts +8 -0
- package/dist/patterns/hide/bn.d.ts.map +1 -0
- package/dist/patterns/hide/de.d.ts +12 -0
- package/dist/patterns/hide/de.d.ts.map +1 -0
- package/dist/patterns/hide/hi.d.ts +8 -0
- package/dist/patterns/hide/hi.d.ts.map +1 -0
- package/dist/patterns/hide/index.d.ts +31 -0
- package/dist/patterns/hide/index.d.ts.map +1 -0
- package/dist/patterns/hide/it.d.ts +11 -0
- package/dist/patterns/hide/it.d.ts.map +1 -0
- package/dist/patterns/hide/ja.d.ts +12 -0
- package/dist/patterns/hide/ja.d.ts.map +1 -0
- package/dist/patterns/hide/ko.d.ts +12 -0
- package/dist/patterns/hide/ko.d.ts.map +1 -0
- package/dist/patterns/hide/pl.d.ts +12 -0
- package/dist/patterns/hide/pl.d.ts.map +1 -0
- package/dist/patterns/hide/ru.d.ts +12 -0
- package/dist/patterns/hide/ru.d.ts.map +1 -0
- package/dist/patterns/hide/th.d.ts +8 -0
- package/dist/patterns/hide/th.d.ts.map +1 -0
- package/dist/patterns/hide/tr.d.ts +12 -0
- package/dist/patterns/hide/tr.d.ts.map +1 -0
- package/dist/patterns/hide/uk.d.ts +12 -0
- package/dist/patterns/hide/uk.d.ts.map +1 -0
- package/dist/patterns/hide/vi.d.ts +11 -0
- package/dist/patterns/hide/vi.d.ts.map +1 -0
- package/dist/patterns/hide/zh.d.ts +12 -0
- package/dist/patterns/hide/zh.d.ts.map +1 -0
- package/dist/patterns/increment/bn.d.ts +8 -0
- package/dist/patterns/increment/bn.d.ts.map +1 -0
- package/dist/patterns/increment/de.d.ts +12 -0
- package/dist/patterns/increment/de.d.ts.map +1 -0
- package/dist/patterns/increment/hi.d.ts +8 -0
- package/dist/patterns/increment/hi.d.ts.map +1 -0
- package/dist/patterns/increment/index.d.ts +28 -0
- package/dist/patterns/increment/index.d.ts.map +1 -0
- package/dist/patterns/increment/it.d.ts +11 -0
- package/dist/patterns/increment/it.d.ts.map +1 -0
- package/dist/patterns/increment/pl.d.ts +12 -0
- package/dist/patterns/increment/pl.d.ts.map +1 -0
- package/dist/patterns/increment/ru.d.ts +12 -0
- package/dist/patterns/increment/ru.d.ts.map +1 -0
- package/dist/patterns/increment/th.d.ts +8 -0
- package/dist/patterns/increment/th.d.ts.map +1 -0
- package/dist/patterns/increment/tr.d.ts +12 -0
- package/dist/patterns/increment/tr.d.ts.map +1 -0
- package/dist/patterns/increment/uk.d.ts +12 -0
- package/dist/patterns/increment/uk.d.ts.map +1 -0
- package/dist/patterns/increment/vi.d.ts +11 -0
- package/dist/patterns/increment/vi.d.ts.map +1 -0
- package/dist/patterns/increment/zh.d.ts +12 -0
- package/dist/patterns/increment/zh.d.ts.map +1 -0
- package/dist/patterns/index.d.ts +21 -0
- package/dist/patterns/index.d.ts.map +1 -0
- package/dist/patterns/languages/en/control-flow.d.ts +40 -0
- package/dist/patterns/languages/en/control-flow.d.ts.map +1 -0
- package/dist/patterns/languages/en/fetch.d.ts +22 -0
- package/dist/patterns/languages/en/fetch.d.ts.map +1 -0
- package/dist/patterns/languages/en/index.d.ts +22 -0
- package/dist/patterns/languages/en/index.d.ts.map +1 -0
- package/dist/patterns/languages/en/repeat.d.ts +22 -0
- package/dist/patterns/languages/en/repeat.d.ts.map +1 -0
- package/dist/patterns/languages/en/set.d.ts +23 -0
- package/dist/patterns/languages/en/set.d.ts.map +1 -0
- package/dist/patterns/languages/en/swap.d.ts +19 -0
- package/dist/patterns/languages/en/swap.d.ts.map +1 -0
- package/dist/patterns/languages/en/temporal.d.ts +24 -0
- package/dist/patterns/languages/en/temporal.d.ts.map +1 -0
- package/dist/patterns/put/ar.d.ts +12 -0
- package/dist/patterns/put/ar.d.ts.map +1 -0
- package/dist/patterns/put/bn.d.ts +8 -0
- package/dist/patterns/put/bn.d.ts.map +1 -0
- package/dist/patterns/put/en.d.ts +11 -0
- package/dist/patterns/put/en.d.ts.map +1 -0
- package/dist/patterns/put/es.d.ts +11 -0
- package/dist/patterns/put/es.d.ts.map +1 -0
- package/dist/patterns/put/hi.d.ts +8 -0
- package/dist/patterns/put/hi.d.ts.map +1 -0
- package/dist/patterns/put/id.d.ts +15 -0
- package/dist/patterns/put/id.d.ts.map +1 -0
- package/dist/patterns/put/index.d.ts +33 -0
- package/dist/patterns/put/index.d.ts.map +1 -0
- package/dist/patterns/put/it.d.ts +11 -0
- package/dist/patterns/put/it.d.ts.map +1 -0
- package/dist/patterns/put/ja.d.ts +12 -0
- package/dist/patterns/put/ja.d.ts.map +1 -0
- package/dist/patterns/put/ko.d.ts +12 -0
- package/dist/patterns/put/ko.d.ts.map +1 -0
- package/dist/patterns/put/pl.d.ts +12 -0
- package/dist/patterns/put/pl.d.ts.map +1 -0
- package/dist/patterns/put/ru.d.ts +12 -0
- package/dist/patterns/put/ru.d.ts.map +1 -0
- package/dist/patterns/put/th.d.ts +8 -0
- package/dist/patterns/put/th.d.ts.map +1 -0
- package/dist/patterns/put/tr.d.ts +12 -0
- package/dist/patterns/put/tr.d.ts.map +1 -0
- package/dist/patterns/put/uk.d.ts +12 -0
- package/dist/patterns/put/uk.d.ts.map +1 -0
- package/dist/patterns/put/vi.d.ts +11 -0
- package/dist/patterns/put/vi.d.ts.map +1 -0
- package/dist/patterns/put/zh.d.ts +12 -0
- package/dist/patterns/put/zh.d.ts.map +1 -0
- package/dist/patterns/registry.d.ts +53 -0
- package/dist/patterns/registry.d.ts.map +1 -0
- package/dist/patterns/remove/ar.d.ts +12 -0
- package/dist/patterns/remove/ar.d.ts.map +1 -0
- package/dist/patterns/remove/bn.d.ts +8 -0
- package/dist/patterns/remove/bn.d.ts.map +1 -0
- package/dist/patterns/remove/hi.d.ts +8 -0
- package/dist/patterns/remove/hi.d.ts.map +1 -0
- package/dist/patterns/remove/index.d.ts +31 -0
- package/dist/patterns/remove/index.d.ts.map +1 -0
- package/dist/patterns/remove/it.d.ts +11 -0
- package/dist/patterns/remove/it.d.ts.map +1 -0
- package/dist/patterns/remove/ja.d.ts +12 -0
- package/dist/patterns/remove/ja.d.ts.map +1 -0
- package/dist/patterns/remove/ko.d.ts +12 -0
- package/dist/patterns/remove/ko.d.ts.map +1 -0
- package/dist/patterns/remove/pl.d.ts +12 -0
- package/dist/patterns/remove/pl.d.ts.map +1 -0
- package/dist/patterns/remove/qu.d.ts +9 -0
- package/dist/patterns/remove/qu.d.ts.map +1 -0
- package/dist/patterns/remove/ru.d.ts +12 -0
- package/dist/patterns/remove/ru.d.ts.map +1 -0
- package/dist/patterns/remove/th.d.ts +8 -0
- package/dist/patterns/remove/th.d.ts.map +1 -0
- package/dist/patterns/remove/tr.d.ts +12 -0
- package/dist/patterns/remove/tr.d.ts.map +1 -0
- package/dist/patterns/remove/uk.d.ts +12 -0
- package/dist/patterns/remove/uk.d.ts.map +1 -0
- package/dist/patterns/remove/vi.d.ts +11 -0
- package/dist/patterns/remove/vi.d.ts.map +1 -0
- package/dist/patterns/remove/zh.d.ts +12 -0
- package/dist/patterns/remove/zh.d.ts.map +1 -0
- package/dist/patterns/set/ar.d.ts +12 -0
- package/dist/patterns/set/ar.d.ts.map +1 -0
- package/dist/patterns/set/bn.d.ts +8 -0
- package/dist/patterns/set/bn.d.ts.map +1 -0
- package/dist/patterns/set/de.d.ts +12 -0
- package/dist/patterns/set/de.d.ts.map +1 -0
- package/dist/patterns/set/es.d.ts +12 -0
- package/dist/patterns/set/es.d.ts.map +1 -0
- package/dist/patterns/set/fr.d.ts +12 -0
- package/dist/patterns/set/fr.d.ts.map +1 -0
- package/dist/patterns/set/hi.d.ts +8 -0
- package/dist/patterns/set/hi.d.ts.map +1 -0
- package/dist/patterns/set/id.d.ts +12 -0
- package/dist/patterns/set/id.d.ts.map +1 -0
- package/dist/patterns/set/index.d.ts +35 -0
- package/dist/patterns/set/index.d.ts.map +1 -0
- package/dist/patterns/set/it.d.ts +11 -0
- package/dist/patterns/set/it.d.ts.map +1 -0
- package/dist/patterns/set/ja.d.ts +12 -0
- package/dist/patterns/set/ja.d.ts.map +1 -0
- package/dist/patterns/set/ko.d.ts +12 -0
- package/dist/patterns/set/ko.d.ts.map +1 -0
- package/dist/patterns/set/pl.d.ts +12 -0
- package/dist/patterns/set/pl.d.ts.map +1 -0
- package/dist/patterns/set/pt.d.ts +12 -0
- package/dist/patterns/set/pt.d.ts.map +1 -0
- package/dist/patterns/set/ru.d.ts +12 -0
- package/dist/patterns/set/ru.d.ts.map +1 -0
- package/dist/patterns/set/th.d.ts +8 -0
- package/dist/patterns/set/th.d.ts.map +1 -0
- package/dist/patterns/set/tr.d.ts +12 -0
- package/dist/patterns/set/tr.d.ts.map +1 -0
- package/dist/patterns/set/uk.d.ts +12 -0
- package/dist/patterns/set/uk.d.ts.map +1 -0
- package/dist/patterns/set/vi.d.ts +11 -0
- package/dist/patterns/set/vi.d.ts.map +1 -0
- package/dist/patterns/set/zh.d.ts +12 -0
- package/dist/patterns/set/zh.d.ts.map +1 -0
- package/dist/patterns/show/ar.d.ts +12 -0
- package/dist/patterns/show/ar.d.ts.map +1 -0
- package/dist/patterns/show/bn.d.ts +8 -0
- package/dist/patterns/show/bn.d.ts.map +1 -0
- package/dist/patterns/show/de.d.ts +12 -0
- package/dist/patterns/show/de.d.ts.map +1 -0
- package/dist/patterns/show/fr.d.ts +12 -0
- package/dist/patterns/show/fr.d.ts.map +1 -0
- package/dist/patterns/show/hi.d.ts +8 -0
- package/dist/patterns/show/hi.d.ts.map +1 -0
- package/dist/patterns/show/index.d.ts +32 -0
- package/dist/patterns/show/index.d.ts.map +1 -0
- package/dist/patterns/show/it.d.ts +11 -0
- package/dist/patterns/show/it.d.ts.map +1 -0
- package/dist/patterns/show/ja.d.ts +12 -0
- package/dist/patterns/show/ja.d.ts.map +1 -0
- package/dist/patterns/show/ko.d.ts +12 -0
- package/dist/patterns/show/ko.d.ts.map +1 -0
- package/dist/patterns/show/pl.d.ts +12 -0
- package/dist/patterns/show/pl.d.ts.map +1 -0
- package/dist/patterns/show/ru.d.ts +12 -0
- package/dist/patterns/show/ru.d.ts.map +1 -0
- package/dist/patterns/show/th.d.ts +8 -0
- package/dist/patterns/show/th.d.ts.map +1 -0
- package/dist/patterns/show/tr.d.ts +12 -0
- package/dist/patterns/show/tr.d.ts.map +1 -0
- package/dist/patterns/show/uk.d.ts +12 -0
- package/dist/patterns/show/uk.d.ts.map +1 -0
- package/dist/patterns/show/vi.d.ts +11 -0
- package/dist/patterns/show/vi.d.ts.map +1 -0
- package/dist/patterns/show/zh.d.ts +12 -0
- package/dist/patterns/show/zh.d.ts.map +1 -0
- package/dist/patterns/take/ar.d.ts +12 -0
- package/dist/patterns/take/ar.d.ts.map +1 -0
- package/dist/patterns/take/index.d.ts +18 -0
- package/dist/patterns/take/index.d.ts.map +1 -0
- package/dist/patterns/toggle/ar.d.ts +12 -0
- package/dist/patterns/toggle/ar.d.ts.map +1 -0
- package/dist/patterns/toggle/bn.d.ts +8 -0
- package/dist/patterns/toggle/bn.d.ts.map +1 -0
- package/dist/patterns/toggle/en.d.ts +11 -0
- package/dist/patterns/toggle/en.d.ts.map +1 -0
- package/dist/patterns/toggle/es.d.ts +11 -0
- package/dist/patterns/toggle/es.d.ts.map +1 -0
- package/dist/patterns/toggle/hi.d.ts +9 -0
- package/dist/patterns/toggle/hi.d.ts.map +1 -0
- package/dist/patterns/toggle/index.d.ts +33 -0
- package/dist/patterns/toggle/index.d.ts.map +1 -0
- package/dist/patterns/toggle/it.d.ts +11 -0
- package/dist/patterns/toggle/it.d.ts.map +1 -0
- package/dist/patterns/toggle/ja.d.ts +12 -0
- package/dist/patterns/toggle/ja.d.ts.map +1 -0
- package/dist/patterns/toggle/ko.d.ts +12 -0
- package/dist/patterns/toggle/ko.d.ts.map +1 -0
- package/dist/patterns/toggle/pl.d.ts +12 -0
- package/dist/patterns/toggle/pl.d.ts.map +1 -0
- package/dist/patterns/toggle/qu.d.ts +9 -0
- package/dist/patterns/toggle/qu.d.ts.map +1 -0
- package/dist/patterns/toggle/ru.d.ts +12 -0
- package/dist/patterns/toggle/ru.d.ts.map +1 -0
- package/dist/patterns/toggle/th.d.ts +9 -0
- package/dist/patterns/toggle/th.d.ts.map +1 -0
- package/dist/patterns/toggle/tr.d.ts +12 -0
- package/dist/patterns/toggle/tr.d.ts.map +1 -0
- package/dist/patterns/toggle/uk.d.ts +12 -0
- package/dist/patterns/toggle/uk.d.ts.map +1 -0
- package/dist/patterns/toggle/vi.d.ts +11 -0
- package/dist/patterns/toggle/vi.d.ts.map +1 -0
- package/dist/patterns/toggle/zh.d.ts +11 -0
- package/dist/patterns/toggle/zh.d.ts.map +1 -0
- package/dist/public-api.d.ts +190 -0
- package/dist/public-api.d.ts.map +1 -0
- package/dist/registry.d.ts +225 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/tokenizers/arabic.d.ts +67 -0
- package/dist/tokenizers/arabic.d.ts.map +1 -0
- package/dist/tokenizers/base-tokenizer.d.ts +240 -0
- package/dist/tokenizers/base-tokenizer.d.ts.map +1 -0
- package/dist/tokenizers/base.d.ts +14 -0
- package/dist/tokenizers/base.d.ts.map +1 -0
- package/dist/tokenizers/bengali.d.ts +22 -0
- package/dist/tokenizers/bengali.d.ts.map +1 -0
- package/dist/tokenizers/char-classifiers.d.ts +56 -0
- package/dist/tokenizers/char-classifiers.d.ts.map +1 -0
- package/dist/tokenizers/chinese.d.ts +47 -0
- package/dist/tokenizers/chinese.d.ts.map +1 -0
- package/dist/tokenizers/english.d.ts +34 -0
- package/dist/tokenizers/english.d.ts.map +1 -0
- package/dist/tokenizers/extractors.d.ts +61 -0
- package/dist/tokenizers/extractors.d.ts.map +1 -0
- package/dist/tokenizers/french.d.ts +26 -0
- package/dist/tokenizers/french.d.ts.map +1 -0
- package/dist/tokenizers/german.d.ts +27 -0
- package/dist/tokenizers/german.d.ts.map +1 -0
- package/dist/tokenizers/he.d.ts +58 -0
- package/dist/tokenizers/he.d.ts.map +1 -0
- package/dist/tokenizers/hindi.d.ts +25 -0
- package/dist/tokenizers/hindi.d.ts.map +1 -0
- package/dist/tokenizers/index.d.ts +64 -0
- package/dist/tokenizers/index.d.ts.map +1 -0
- package/dist/tokenizers/indonesian.d.ts +24 -0
- package/dist/tokenizers/indonesian.d.ts.map +1 -0
- package/dist/tokenizers/italian.d.ts +41 -0
- package/dist/tokenizers/italian.d.ts.map +1 -0
- package/dist/tokenizers/japanese.d.ts +42 -0
- package/dist/tokenizers/japanese.d.ts.map +1 -0
- package/dist/tokenizers/korean.d.ts +47 -0
- package/dist/tokenizers/korean.d.ts.map +1 -0
- package/dist/tokenizers/morphology/arabic-normalizer.d.ts +37 -0
- package/dist/tokenizers/morphology/arabic-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/french-normalizer.d.ts +46 -0
- package/dist/tokenizers/morphology/french-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/german-normalizer.d.ts +55 -0
- package/dist/tokenizers/morphology/german-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/index.d.ts +20 -0
- package/dist/tokenizers/morphology/index.d.ts.map +1 -0
- package/dist/tokenizers/morphology/italian-normalizer.d.ts +52 -0
- package/dist/tokenizers/morphology/italian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/japanese-normalizer.d.ts +43 -0
- package/dist/tokenizers/morphology/japanese-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/korean-normalizer.d.ts +45 -0
- package/dist/tokenizers/morphology/korean-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/polish-normalizer.d.ts +61 -0
- package/dist/tokenizers/morphology/polish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/portuguese-normalizer.d.ts +51 -0
- package/dist/tokenizers/morphology/portuguese-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/russian-normalizer.d.ts +72 -0
- package/dist/tokenizers/morphology/russian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/spanish-normalizer.d.ts +49 -0
- package/dist/tokenizers/morphology/spanish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/turkish-normalizer.d.ts +52 -0
- package/dist/tokenizers/morphology/turkish-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/morphology/types.d.ts +110 -0
- package/dist/tokenizers/morphology/types.d.ts.map +1 -0
- package/dist/tokenizers/morphology/ukrainian-normalizer.d.ts +76 -0
- package/dist/tokenizers/morphology/ukrainian-normalizer.d.ts.map +1 -0
- package/dist/tokenizers/ms.d.ts +22 -0
- package/dist/tokenizers/ms.d.ts.map +1 -0
- package/dist/tokenizers/polish.d.ts +25 -0
- package/dist/tokenizers/polish.d.ts.map +1 -0
- package/dist/tokenizers/portuguese.d.ts +26 -0
- package/dist/tokenizers/portuguese.d.ts.map +1 -0
- package/dist/tokenizers/quechua.d.ts +36 -0
- package/dist/tokenizers/quechua.d.ts.map +1 -0
- package/dist/tokenizers/russian.d.ts +25 -0
- package/dist/tokenizers/russian.d.ts.map +1 -0
- package/dist/{spanish-BedpM-NU.d.ts → tokenizers/spanish.d.ts} +5 -7
- package/dist/tokenizers/spanish.d.ts.map +1 -0
- package/dist/tokenizers/swahili.d.ts +24 -0
- package/dist/tokenizers/swahili.d.ts.map +1 -0
- package/dist/tokenizers/thai.d.ts +24 -0
- package/dist/tokenizers/thai.d.ts.map +1 -0
- package/dist/tokenizers/tl.d.ts +22 -0
- package/dist/tokenizers/tl.d.ts.map +1 -0
- package/dist/tokenizers/token-utils.d.ts +97 -0
- package/dist/tokenizers/token-utils.d.ts.map +1 -0
- package/dist/tokenizers/turkish.d.ts +42 -0
- package/dist/tokenizers/turkish.d.ts.map +1 -0
- package/dist/tokenizers/ukrainian.d.ts +25 -0
- package/dist/tokenizers/ukrainian.d.ts.map +1 -0
- package/dist/tokenizers/vietnamese.d.ts +47 -0
- package/dist/tokenizers/vietnamese.d.ts.map +1 -0
- package/dist/types/grammar-types.d.ts +224 -0
- package/dist/types/grammar-types.d.ts.map +1 -0
- package/dist/types/unified-profile.d.ts +167 -0
- package/dist/types/unified-profile.d.ts.map +1 -0
- package/dist/types.d.ts +401 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils/confidence-calculator.d.ts +43 -0
- package/dist/utils/confidence-calculator.d.ts.map +1 -0
- package/dist/validators/command-validator.d.ts +83 -0
- package/dist/validators/command-validator.d.ts.map +1 -0
- package/dist/validators/index.d.ts +7 -0
- package/dist/validators/index.d.ts.map +1 -0
- package/package.json +38 -6
- package/src/ast-builder/command-mappers.ts +9 -1
- package/src/ast-builder/expression-parser/parser.ts +13 -2
- package/src/ast-builder/index.ts +20 -6
- package/src/browser-bn.ts +162 -0
- package/src/browser-east-asian.ts +1 -1
- package/src/browser-hi.ts +162 -0
- package/src/browser-it.ts +162 -0
- package/src/browser-ms.ts +162 -0
- package/src/browser-pl.ts +162 -0
- package/src/browser-priority.ts +1 -1
- package/src/browser-ru.ts +162 -0
- package/src/browser-th.ts +162 -0
- package/src/browser-tl.ts +162 -0
- package/src/browser-uk.ts +162 -0
- package/src/browser-vi.ts +162 -0
- package/src/browser-western.ts +1 -1
- package/src/core-bridge.ts +43 -16
- package/src/core.ts +13 -0
- package/src/explicit/parser.ts +4 -2
- package/src/explicit/renderer.ts +1 -1
- package/src/generators/command-schemas.ts +214 -2
- package/src/generators/event-handlers-sov.ts +686 -0
- package/src/generators/event-handlers-vso.ts +489 -0
- package/src/generators/pattern-generator.ts +93 -736
- package/src/generators/profiles/arabic.ts +11 -1
- package/src/generators/profiles/bengali.ts +6 -0
- package/src/generators/profiles/chinese.ts +6 -0
- package/src/generators/profiles/english.ts +6 -0
- package/src/generators/profiles/french.ts +6 -0
- package/src/generators/profiles/german.ts +6 -0
- package/src/generators/profiles/hebrew.ts +6 -0
- package/src/generators/profiles/hindi.ts +6 -0
- package/src/generators/profiles/indonesian.ts +6 -0
- package/src/generators/profiles/italian.ts +6 -0
- package/src/generators/profiles/japanese.ts +6 -0
- package/src/generators/profiles/korean.ts +6 -0
- package/src/generators/profiles/ms.ts +6 -0
- package/src/generators/profiles/polish.ts +6 -0
- package/src/generators/profiles/portuguese.ts +6 -0
- package/src/generators/profiles/quechua.ts +35 -13
- package/src/generators/profiles/russian.ts +6 -0
- package/src/generators/profiles/spanish.ts +6 -0
- package/src/generators/profiles/spanishMexico.ts +6 -0
- package/src/generators/profiles/swahili.ts +14 -3
- package/src/generators/profiles/thai.ts +6 -0
- package/src/generators/profiles/tl.ts +22 -9
- package/src/generators/profiles/turkish.ts +7 -1
- package/src/generators/profiles/ukrainian.ts +6 -0
- package/src/generators/profiles/vietnamese.ts +6 -0
- package/src/generators/schema-validator.ts +8 -3
- package/src/index.ts +54 -0
- package/src/interchange/from-semantic.ts +440 -0
- package/src/interchange/index.ts +26 -0
- package/src/interchange/types.ts +186 -0
- package/src/parser/pattern-matcher.ts +65 -15
- package/src/parser/semantic-parser.ts +850 -8
- package/src/patterns/add/index.ts +1 -9
- package/src/patterns/builders.ts +2 -2
- package/src/patterns/decrement/index.ts +1 -9
- package/src/patterns/event-handler/shared.ts +30 -0
- package/src/patterns/event-handler/tl.ts +39 -19
- package/src/patterns/get/index.ts +1 -9
- package/src/patterns/hide/index.ts +1 -9
- package/src/patterns/increment/index.ts +1 -9
- package/src/patterns/put/index.ts +1 -9
- package/src/patterns/registry.ts +2 -2
- package/src/patterns/remove/index.ts +1 -9
- package/src/patterns/set/index.ts +1 -9
- package/src/patterns/show/index.ts +1 -9
- package/src/patterns/toggle/index.ts +1 -9
- package/src/tokenizers/arabic.ts +14 -1
- package/src/tokenizers/base-tokenizer.ts +644 -0
- package/src/tokenizers/base.ts +39 -1297
- package/src/tokenizers/bengali.ts +37 -10
- package/src/tokenizers/char-classifiers.ts +79 -0
- package/src/tokenizers/chinese.ts +7 -0
- package/src/tokenizers/english.ts +8 -1
- package/src/tokenizers/extractors.ts +452 -0
- package/src/tokenizers/french.ts +16 -1
- package/src/tokenizers/german.ts +16 -1
- package/src/tokenizers/he.ts +14 -1
- package/src/tokenizers/hindi.ts +14 -1
- package/src/tokenizers/indonesian.ts +14 -1
- package/src/tokenizers/italian.ts +14 -1
- package/src/tokenizers/japanese.ts +14 -1
- package/src/tokenizers/korean.ts +19 -1
- package/src/tokenizers/morphology/index.ts +17 -0
- package/src/tokenizers/morphology/polish-normalizer.ts +147 -131
- package/src/tokenizers/morphology/russian-normalizer.ts +397 -0
- package/src/tokenizers/morphology/ukrainian-normalizer.ts +366 -0
- package/src/tokenizers/ms.ts +14 -1
- package/src/tokenizers/polish.ts +16 -1
- package/src/tokenizers/portuguese.ts +16 -1
- package/src/tokenizers/quechua.ts +30 -1
- package/src/tokenizers/russian.ts +16 -1
- package/src/tokenizers/spanish.ts +14 -1
- package/src/tokenizers/swahili.ts +14 -1
- package/src/tokenizers/thai.ts +14 -1
- package/src/tokenizers/tl.ts +14 -1
- package/src/tokenizers/token-utils.ts +205 -0
- package/src/tokenizers/turkish.ts +21 -2
- package/src/tokenizers/ukrainian.ts +16 -1
- package/src/tokenizers/vietnamese.ts +7 -0
- package/src/types.ts +41 -2
- package/src/validators/command-validator.ts +17 -40
- package/dist/index.d.cts +0 -3470
- package/dist/types-BY3Id07j.d.ts +0 -615
- package/src/bridge.ts +0 -275
- package/src/generators/event-handler-generator.ts +0 -115
- package/src/patterns/add/ms.ts +0 -30
- package/src/patterns/add/tl.ts +0 -30
- package/src/patterns/decrement/ms.ts +0 -30
- package/src/patterns/decrement/tl.ts +0 -30
- package/src/patterns/get/ms.ts +0 -30
- package/src/patterns/get/tl.ts +0 -30
- package/src/patterns/hide/ms.ts +0 -30
- package/src/patterns/hide/tl.ts +0 -30
- package/src/patterns/increment/ms.ts +0 -30
- package/src/patterns/increment/tl.ts +0 -30
- package/src/patterns/put/ms.ts +0 -30
- package/src/patterns/put/tl.ts +0 -30
- package/src/patterns/remove/ms.ts +0 -30
- package/src/patterns/remove/tl.ts +0 -30
- package/src/patterns/set/ms.ts +0 -30
- package/src/patterns/set/tl.ts +0 -30
- package/src/patterns/show/ms.ts +0 -30
- package/src/patterns/show/tl.ts +0 -30
- package/src/patterns/toggle/ms.ts +0 -30
- package/src/patterns/toggle/tl.ts +0 -30
|
@@ -0,0 +1,366 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ukrainian Morphological Normalizer
|
|
3
|
+
*
|
|
4
|
+
* Reduces Ukrainian verb conjugations to their infinitive forms.
|
|
5
|
+
* Ukrainian is a fusional language closely related to Russian with rich verb morphology:
|
|
6
|
+
* - Two aspects: perfective and imperfective
|
|
7
|
+
* - Three tenses: present, past, future
|
|
8
|
+
* - Person/number agreement in present tense (6 forms)
|
|
9
|
+
* - Gender/number agreement in past tense (4 forms)
|
|
10
|
+
* - Imperative mood (2 forms: singular and plural)
|
|
11
|
+
* - Reflexive verbs (suffix -ся/-сь)
|
|
12
|
+
*
|
|
13
|
+
* Key differences from Russian:
|
|
14
|
+
* - Infinitive ends in -ти (not -ть): робити, ходити
|
|
15
|
+
* - Past masculine ends in -в (not -л): робив, ходив
|
|
16
|
+
* - Unique vowels: і, ї, є, ґ
|
|
17
|
+
*
|
|
18
|
+
* For software UI, Ukrainian uses INFINITIVE form (industry standard):
|
|
19
|
+
* - перемкнути (toggle), додати (add), видалити (remove)
|
|
20
|
+
*
|
|
21
|
+
* Examples:
|
|
22
|
+
* перемкни → перемкнути (imperative → infinitive)
|
|
23
|
+
* додав → додати (past → infinitive)
|
|
24
|
+
* видаляє → видаляти (present → infinitive)
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
import type { MorphologicalNormalizer, NormalizationResult } from './types';
|
|
28
|
+
import { noChange, normalized } from './types';
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Check if a word contains Ukrainian/Cyrillic characters.
|
|
32
|
+
*/
|
|
33
|
+
function hasUkrainianChars(word: string): boolean {
|
|
34
|
+
return /[а-яА-ЯіІїЇєЄґҐьЬ']/.test(word);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Common imperative → infinitive mappings for Ukrainian software UI keywords.
|
|
39
|
+
* These are irregular or semi-regular forms from the language profile.
|
|
40
|
+
*/
|
|
41
|
+
const IMPERATIVE_TO_INFINITIVE = new Map<string, string>([
|
|
42
|
+
// Core commands (from Ukrainian language profile)
|
|
43
|
+
['перемкни', 'перемкнути'],
|
|
44
|
+
['додай', 'додати'],
|
|
45
|
+
['видали', 'видалити'],
|
|
46
|
+
['прибери', 'прибрати'],
|
|
47
|
+
['поклади', 'покласти'],
|
|
48
|
+
['помісти', 'помістити'],
|
|
49
|
+
['встав', 'вставити'],
|
|
50
|
+
['візьми', 'взяти'],
|
|
51
|
+
['створи', 'створити'],
|
|
52
|
+
['клонуй', 'клонувати'],
|
|
53
|
+
['поміняй', 'поміняти'],
|
|
54
|
+
['трансформуй', 'трансформувати'],
|
|
55
|
+
['встанови', 'встановити'],
|
|
56
|
+
['задай', 'задати'],
|
|
57
|
+
['отримай', 'отримати'],
|
|
58
|
+
['збільш', 'збільшити'],
|
|
59
|
+
['зменш', 'зменшити'],
|
|
60
|
+
['запиши', 'записати'],
|
|
61
|
+
['покажи', 'показати'],
|
|
62
|
+
['сховай', 'сховати'],
|
|
63
|
+
['приховай', 'приховати'],
|
|
64
|
+
['анімуй', 'анімувати'],
|
|
65
|
+
['виклич', 'викликати'],
|
|
66
|
+
['надішли', 'надіслати'],
|
|
67
|
+
['сфокусуй', 'сфокусувати'],
|
|
68
|
+
['розфокусуй', 'розфокусувати'],
|
|
69
|
+
['перейди', 'перейти'],
|
|
70
|
+
['йди', 'йти'],
|
|
71
|
+
['чекай', 'чекати'],
|
|
72
|
+
['зачекай', 'зачекати'],
|
|
73
|
+
['завантаж', 'завантажити'],
|
|
74
|
+
['повтори', 'повторити'],
|
|
75
|
+
['продовжуй', 'продовжити'],
|
|
76
|
+
['кинь', 'кинути'],
|
|
77
|
+
['поверни', 'повернути'],
|
|
78
|
+
['скажи', 'сказати'],
|
|
79
|
+
['ініціалізуй', 'ініціалізувати'],
|
|
80
|
+
['виміряй', 'виміряти'],
|
|
81
|
+
]);
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Ukrainian morphological normalizer.
|
|
85
|
+
*/
|
|
86
|
+
export class UkrainianMorphologicalNormalizer implements MorphologicalNormalizer {
|
|
87
|
+
readonly language = 'uk';
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Check if a word might be a Ukrainian verb that can be normalized.
|
|
91
|
+
*/
|
|
92
|
+
isNormalizable(word: string): boolean {
|
|
93
|
+
if (word.length < 3) return false;
|
|
94
|
+
return hasUkrainianChars(word);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Normalize a Ukrainian word to its infinitive form.
|
|
99
|
+
*/
|
|
100
|
+
normalize(word: string): NormalizationResult {
|
|
101
|
+
const lower = word.toLowerCase();
|
|
102
|
+
|
|
103
|
+
// Handle reflexive verbs: strip -ся/-сь, normalize, re-add -ся
|
|
104
|
+
if (lower.endsWith('ся') || lower.endsWith('сь')) {
|
|
105
|
+
const reflexiveResult = this.tryReflexiveNormalization(lower);
|
|
106
|
+
if (reflexiveResult) return reflexiveResult;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// Already in infinitive form (-ти, -тися)?
|
|
110
|
+
if (lower.endsWith('ти') || lower.endsWith('чи')) {
|
|
111
|
+
return noChange(word);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// Try imperative → infinitive (lookup table only — high confidence)
|
|
115
|
+
const imperativeLookup = this.tryImperativeLookup(lower);
|
|
116
|
+
if (imperativeLookup) return imperativeLookup;
|
|
117
|
+
|
|
118
|
+
// Try past tense → infinitive (before generic patterns — -али/-или are longer)
|
|
119
|
+
const pastResult = this.tryPastTenseNormalization(lower);
|
|
120
|
+
if (pastResult) return pastResult;
|
|
121
|
+
|
|
122
|
+
// Try present tense → infinitive
|
|
123
|
+
const presentResult = this.tryPresentTenseNormalization(lower);
|
|
124
|
+
if (presentResult) return presentResult;
|
|
125
|
+
|
|
126
|
+
// Try generic imperative patterns (fallback — lower confidence)
|
|
127
|
+
const imperativeGeneric = this.tryGenericImperativeNormalization(lower);
|
|
128
|
+
if (imperativeGeneric) return imperativeGeneric;
|
|
129
|
+
|
|
130
|
+
// No normalization needed
|
|
131
|
+
return noChange(word);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Try to normalize reflexive verbs (-ся/-сь).
|
|
136
|
+
*/
|
|
137
|
+
private tryReflexiveNormalization(word: string): NormalizationResult | null {
|
|
138
|
+
const base = word.slice(0, -2);
|
|
139
|
+
|
|
140
|
+
// Already reflexive infinitive (-тися)?
|
|
141
|
+
if (word.endsWith('тися') || word.endsWith('чися')) {
|
|
142
|
+
return noChange(word);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Normalize the base verb
|
|
146
|
+
const baseResult = this.normalizeNonReflexive(base);
|
|
147
|
+
if (baseResult.confidence < 1.0) {
|
|
148
|
+
const infinitive = baseResult.stem.endsWith('ти')
|
|
149
|
+
? baseResult.stem.slice(0, -2) + 'тися'
|
|
150
|
+
: baseResult.stem + 'ся';
|
|
151
|
+
return normalized(infinitive, baseResult.confidence * 0.95, {
|
|
152
|
+
removedSuffixes: ['ся', ...(baseResult.metadata?.removedSuffixes || [])],
|
|
153
|
+
conjugationType: 'reflexive',
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return null;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Normalize a non-reflexive verb form.
|
|
162
|
+
*/
|
|
163
|
+
private normalizeNonReflexive(word: string): NormalizationResult {
|
|
164
|
+
if (word.endsWith('ти') || word.endsWith('чи')) {
|
|
165
|
+
return noChange(word);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
const imperativeLookup = this.tryImperativeLookup(word);
|
|
169
|
+
if (imperativeLookup) return imperativeLookup;
|
|
170
|
+
|
|
171
|
+
const pastResult = this.tryPastTenseNormalization(word);
|
|
172
|
+
if (pastResult) return pastResult;
|
|
173
|
+
|
|
174
|
+
const presentResult = this.tryPresentTenseNormalization(word);
|
|
175
|
+
if (presentResult) return presentResult;
|
|
176
|
+
|
|
177
|
+
const imperativeGeneric = this.tryGenericImperativeNormalization(word);
|
|
178
|
+
if (imperativeGeneric) return imperativeGeneric;
|
|
179
|
+
|
|
180
|
+
return noChange(word);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Try imperative → infinitive via lookup table only.
|
|
185
|
+
*/
|
|
186
|
+
private tryImperativeLookup(word: string): NormalizationResult | null {
|
|
187
|
+
if (IMPERATIVE_TO_INFINITIVE.has(word)) {
|
|
188
|
+
return normalized(IMPERATIVE_TO_INFINITIVE.get(word)!, 0.95, {
|
|
189
|
+
removedSuffixes: ['imperative'],
|
|
190
|
+
conjugationType: 'imperative',
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
return null;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Try generic imperative patterns (lower confidence fallback).
|
|
198
|
+
*/
|
|
199
|
+
private tryGenericImperativeNormalization(word: string): NormalizationResult | null {
|
|
200
|
+
// -йте (plural imperative for -ати verbs: читайте → читати)
|
|
201
|
+
if (word.endsWith('йте') && word.length > 5) {
|
|
202
|
+
return normalized(word.slice(0, -3) + 'ти', 0.8, {
|
|
203
|
+
removedSuffixes: ['йте'],
|
|
204
|
+
conjugationType: 'imperative',
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// -іть (2nd person plural/formal imperative)
|
|
209
|
+
if (word.endsWith('іть') && word.length > 5) {
|
|
210
|
+
return normalized(word.slice(0, -3) + 'ити', 0.8, {
|
|
211
|
+
removedSuffixes: ['іть'],
|
|
212
|
+
conjugationType: 'imperative',
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// -й → -ти (e.g., читай → читати)
|
|
217
|
+
if (word.endsWith('й') && word.length > 3) {
|
|
218
|
+
return normalized(word.slice(0, -1) + 'ти', 0.75, {
|
|
219
|
+
removedSuffixes: ['й'],
|
|
220
|
+
conjugationType: 'imperative',
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
// -и (2nd person singular for -ити verbs)
|
|
225
|
+
// e.g., говори → говорити
|
|
226
|
+
if (word.endsWith('и') && word.length > 3) {
|
|
227
|
+
return normalized(word + 'ти', 0.7, {
|
|
228
|
+
removedSuffixes: ['и→ити'],
|
|
229
|
+
conjugationType: 'imperative',
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
return null;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Try past tense → infinitive.
|
|
238
|
+
*
|
|
239
|
+
* Ukrainian past tense endings (differs from Russian):
|
|
240
|
+
* - masculine: -в (робив → робити)
|
|
241
|
+
* - feminine: -ла (робила → робити)
|
|
242
|
+
* - neuter: -ло (робило → робити)
|
|
243
|
+
* - plural: -ли (робили → робити)
|
|
244
|
+
*/
|
|
245
|
+
private tryPastTenseNormalization(word: string): NormalizationResult | null {
|
|
246
|
+
// Feminine/neuter/plural forms (longer suffixes first)
|
|
247
|
+
if (word.endsWith('ала') && word.length > 4) {
|
|
248
|
+
return normalized(word.slice(0, -3) + 'ати', 0.85, {
|
|
249
|
+
removedSuffixes: ['ала'],
|
|
250
|
+
conjugationType: 'past',
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
if (word.endsWith('ила') && word.length > 4) {
|
|
254
|
+
return normalized(word.slice(0, -3) + 'ити', 0.85, {
|
|
255
|
+
removedSuffixes: ['ила'],
|
|
256
|
+
conjugationType: 'past',
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
if (word.endsWith('али') && word.length > 4) {
|
|
260
|
+
return normalized(word.slice(0, -3) + 'ати', 0.85, {
|
|
261
|
+
removedSuffixes: ['али'],
|
|
262
|
+
conjugationType: 'past',
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
if (word.endsWith('или') && word.length > 4) {
|
|
266
|
+
return normalized(word.slice(0, -3) + 'ити', 0.85, {
|
|
267
|
+
removedSuffixes: ['или'],
|
|
268
|
+
conjugationType: 'past',
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// Masculine past: -ав → -ати, -ив → -ити
|
|
273
|
+
if (word.endsWith('ав') && word.length > 3) {
|
|
274
|
+
return normalized(word.slice(0, -2) + 'ати', 0.82, {
|
|
275
|
+
removedSuffixes: ['ав'],
|
|
276
|
+
conjugationType: 'past',
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
if (word.endsWith('ив') && word.length > 3) {
|
|
280
|
+
return normalized(word.slice(0, -2) + 'ити', 0.82, {
|
|
281
|
+
removedSuffixes: ['ив'],
|
|
282
|
+
conjugationType: 'past',
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
return null;
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Try present tense → infinitive.
|
|
291
|
+
*
|
|
292
|
+
* Ukrainian present tense endings:
|
|
293
|
+
* 1st conj: -ю/-у, -еш/-єш, -е/-є, -емо/-ємо, -ете/-єте, -ють/-уть
|
|
294
|
+
* 2nd conj: -ю/-у, -иш, -ить, -имо, -ите, -ять/-ать
|
|
295
|
+
*/
|
|
296
|
+
private tryPresentTenseNormalization(word: string): NormalizationResult | null {
|
|
297
|
+
// 2nd conjugation (more specific, check first)
|
|
298
|
+
if (word.endsWith('иш') && word.length > 3) {
|
|
299
|
+
return normalized(word.slice(0, -2) + 'ити', 0.8, {
|
|
300
|
+
removedSuffixes: ['иш'],
|
|
301
|
+
conjugationType: 'present',
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
if (word.endsWith('ить') && word.length > 4) {
|
|
305
|
+
return normalized(word.slice(0, -3) + 'ити', 0.78, {
|
|
306
|
+
removedSuffixes: ['ить'],
|
|
307
|
+
conjugationType: 'present',
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
if (word.endsWith('имо') && word.length > 4) {
|
|
311
|
+
return normalized(word.slice(0, -3) + 'ити', 0.8, {
|
|
312
|
+
removedSuffixes: ['имо'],
|
|
313
|
+
conjugationType: 'present',
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
if (word.endsWith('ять') && word.length > 4) {
|
|
317
|
+
return normalized(word.slice(0, -3) + 'ити', 0.78, {
|
|
318
|
+
removedSuffixes: ['ять'],
|
|
319
|
+
conjugationType: 'present',
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
// 1st conjugation
|
|
324
|
+
if (word.endsWith('єш') && word.length > 3) {
|
|
325
|
+
return normalized(word.slice(0, -2) + 'ати', 0.78, {
|
|
326
|
+
removedSuffixes: ['єш'],
|
|
327
|
+
conjugationType: 'present',
|
|
328
|
+
});
|
|
329
|
+
}
|
|
330
|
+
if (word.endsWith('еш') && word.length > 3) {
|
|
331
|
+
return normalized(word.slice(0, -2) + 'ати', 0.75, {
|
|
332
|
+
removedSuffixes: ['еш'],
|
|
333
|
+
conjugationType: 'present',
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
if (word.endsWith('є') && word.length > 2) {
|
|
337
|
+
return normalized(word.slice(0, -1) + 'ати', 0.72, {
|
|
338
|
+
removedSuffixes: ['є'],
|
|
339
|
+
conjugationType: 'present',
|
|
340
|
+
});
|
|
341
|
+
}
|
|
342
|
+
if (word.endsWith('ємо') && word.length > 4) {
|
|
343
|
+
return normalized(word.slice(0, -3) + 'ати', 0.8, {
|
|
344
|
+
removedSuffixes: ['ємо'],
|
|
345
|
+
conjugationType: 'present',
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
if (word.endsWith('ють') && word.length > 4) {
|
|
349
|
+
return normalized(word.slice(0, -3) + 'ати', 0.78, {
|
|
350
|
+
removedSuffixes: ['ють'],
|
|
351
|
+
conjugationType: 'present',
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
if (word.endsWith('уть') && word.length > 4) {
|
|
355
|
+
return normalized(word.slice(0, -3) + 'ати', 0.75, {
|
|
356
|
+
removedSuffixes: ['уть'],
|
|
357
|
+
conjugationType: 'present',
|
|
358
|
+
});
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
return null;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
// Export singleton instance
|
|
366
|
+
export const ukrainianMorphologicalNormalizer = new UkrainianMorphologicalNormalizer();
|
package/src/tokenizers/ms.ts
CHANGED
|
@@ -98,6 +98,12 @@ export class MalayTokenizer extends BaseTokenizer {
|
|
|
98
98
|
continue;
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
+
// Check for property access (obj.prop) vs CSS selector (.active)
|
|
102
|
+
if (this.tryPropertyAccess(input, pos, tokens)) {
|
|
103
|
+
pos++;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
|
|
101
107
|
const selectorToken = this.trySelector(input, pos);
|
|
102
108
|
if (selectorToken) {
|
|
103
109
|
tokens.push(selectorToken);
|
|
@@ -190,7 +196,14 @@ export class MalayTokenizer extends BaseTokenizer {
|
|
|
190
196
|
classifyToken(token: string): TokenKind {
|
|
191
197
|
// O(1) Map lookup instead of O(n) array search
|
|
192
198
|
if (this.isKeyword(token)) return 'keyword';
|
|
193
|
-
if (
|
|
199
|
+
if (
|
|
200
|
+
token.startsWith('.') ||
|
|
201
|
+
token.startsWith('#') ||
|
|
202
|
+
token.startsWith('[') ||
|
|
203
|
+
token.startsWith('*') ||
|
|
204
|
+
token.startsWith('<')
|
|
205
|
+
)
|
|
206
|
+
return 'selector';
|
|
194
207
|
if (token.startsWith(':')) return 'identifier';
|
|
195
208
|
if (token.startsWith('"') || token.startsWith("'")) return 'literal';
|
|
196
209
|
if (/^-?\d/.test(token)) return 'literal';
|
package/src/tokenizers/polish.ts
CHANGED
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
type KeywordEntry,
|
|
27
27
|
} from './base';
|
|
28
28
|
import { polishProfile } from '../generators/profiles/polish';
|
|
29
|
+
import { PolishMorphologicalNormalizer } from './morphology/polish-normalizer';
|
|
29
30
|
|
|
30
31
|
// =============================================================================
|
|
31
32
|
// Polish Character Classification
|
|
@@ -170,6 +171,7 @@ export class PolishTokenizer extends BaseTokenizer {
|
|
|
170
171
|
super();
|
|
171
172
|
// Initialize keywords from profile + extras (single source of truth)
|
|
172
173
|
this.initializeKeywordsFromProfile(polishProfile, POLISH_EXTRAS);
|
|
174
|
+
this.normalizer = new PolishMorphologicalNormalizer();
|
|
173
175
|
}
|
|
174
176
|
|
|
175
177
|
tokenize(input: string): TokenStream {
|
|
@@ -191,6 +193,12 @@ export class PolishTokenizer extends BaseTokenizer {
|
|
|
191
193
|
continue;
|
|
192
194
|
}
|
|
193
195
|
|
|
196
|
+
// Check for property access (obj.prop) vs CSS selector (.active)
|
|
197
|
+
if (this.tryPropertyAccess(input, pos, tokens)) {
|
|
198
|
+
pos++;
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
|
|
194
202
|
const selectorToken = this.trySelector(input, pos);
|
|
195
203
|
if (selectorToken) {
|
|
196
204
|
tokens.push(selectorToken);
|
|
@@ -263,7 +271,14 @@ export class PolishTokenizer extends BaseTokenizer {
|
|
|
263
271
|
if (PREPOSITIONS.has(lower)) return 'particle';
|
|
264
272
|
// O(1) Map lookup instead of O(n) array search
|
|
265
273
|
if (this.isKeyword(lower)) return 'keyword';
|
|
266
|
-
if (
|
|
274
|
+
if (
|
|
275
|
+
token.startsWith('#') ||
|
|
276
|
+
token.startsWith('.') ||
|
|
277
|
+
token.startsWith('[') ||
|
|
278
|
+
token.startsWith('*') ||
|
|
279
|
+
token.startsWith('<')
|
|
280
|
+
)
|
|
281
|
+
return 'selector';
|
|
267
282
|
if (token.startsWith('"') || token.startsWith("'")) return 'literal';
|
|
268
283
|
if (/^\d/.test(token)) return 'literal';
|
|
269
284
|
return 'identifier';
|
|
@@ -25,6 +25,7 @@ import {
|
|
|
25
25
|
type TimeUnitMapping,
|
|
26
26
|
} from './base';
|
|
27
27
|
import { portugueseProfile } from '../generators/profiles/portuguese';
|
|
28
|
+
import { PortugueseMorphologicalNormalizer } from './morphology/portuguese-normalizer';
|
|
28
29
|
|
|
29
30
|
// =============================================================================
|
|
30
31
|
// Portuguese Character Classification
|
|
@@ -166,6 +167,7 @@ export class PortugueseTokenizer extends BaseTokenizer {
|
|
|
166
167
|
constructor() {
|
|
167
168
|
super();
|
|
168
169
|
this.initializeKeywordsFromProfile(portugueseProfile, PORTUGUESE_EXTRAS);
|
|
170
|
+
this.normalizer = new PortugueseMorphologicalNormalizer();
|
|
169
171
|
}
|
|
170
172
|
|
|
171
173
|
tokenize(input: string): TokenStream {
|
|
@@ -187,6 +189,12 @@ export class PortugueseTokenizer extends BaseTokenizer {
|
|
|
187
189
|
continue;
|
|
188
190
|
}
|
|
189
191
|
|
|
192
|
+
// Check for property access (obj.prop) vs CSS selector (.active)
|
|
193
|
+
if (this.tryPropertyAccess(input, pos, tokens)) {
|
|
194
|
+
pos++;
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
|
|
190
198
|
const selectorToken = this.trySelector(input, pos);
|
|
191
199
|
if (selectorToken) {
|
|
192
200
|
tokens.push(selectorToken);
|
|
@@ -259,7 +267,14 @@ export class PortugueseTokenizer extends BaseTokenizer {
|
|
|
259
267
|
if (PREPOSITIONS.has(lower)) return 'particle';
|
|
260
268
|
// O(1) Map lookup instead of O(n) array search
|
|
261
269
|
if (this.isKeyword(lower)) return 'keyword';
|
|
262
|
-
if (
|
|
270
|
+
if (
|
|
271
|
+
token.startsWith('#') ||
|
|
272
|
+
token.startsWith('.') ||
|
|
273
|
+
token.startsWith('[') ||
|
|
274
|
+
token.startsWith('*') ||
|
|
275
|
+
token.startsWith('<')
|
|
276
|
+
)
|
|
277
|
+
return 'selector';
|
|
263
278
|
if (token.startsWith('"') || token.startsWith("'")) return 'literal';
|
|
264
279
|
if (/^\d/.test(token)) return 'literal';
|
|
265
280
|
return 'identifier';
|
|
@@ -47,6 +47,16 @@ const SUFFIXES = new Set([
|
|
|
47
47
|
'-kama', // limitative (until, up to)
|
|
48
48
|
'-rayku', // causative (because of)
|
|
49
49
|
'-hina', // simulative (like, as)
|
|
50
|
+
// Standalone (unhyphenated) forms — used when written as separate words
|
|
51
|
+
'ta',
|
|
52
|
+
'man',
|
|
53
|
+
'manta',
|
|
54
|
+
'pi',
|
|
55
|
+
'wan',
|
|
56
|
+
'paq',
|
|
57
|
+
'kama',
|
|
58
|
+
'hina',
|
|
59
|
+
'pa',
|
|
50
60
|
]);
|
|
51
61
|
|
|
52
62
|
// =============================================================================
|
|
@@ -77,6 +87,7 @@ const QUECHUA_EXTRAS: KeywordEntry[] = [
|
|
|
77
87
|
{ native: 'qhipa', normalized: 'last' },
|
|
78
88
|
{ native: 'hamuq', normalized: 'next' },
|
|
79
89
|
{ native: 'ñawpaq kaq', normalized: 'previous' },
|
|
90
|
+
{ native: 'ñawpaq_kaq', normalized: 'previous' },
|
|
80
91
|
{ native: 'aswan qayllaqa', normalized: 'closest' },
|
|
81
92
|
{ native: 'tayta', normalized: 'parent' },
|
|
82
93
|
|
|
@@ -171,6 +182,12 @@ export class QuechuaTokenizer extends BaseTokenizer {
|
|
|
171
182
|
continue;
|
|
172
183
|
}
|
|
173
184
|
|
|
185
|
+
// Check for property access (obj.prop) vs CSS selector (.active)
|
|
186
|
+
if (this.tryPropertyAccess(input, pos, tokens)) {
|
|
187
|
+
pos++;
|
|
188
|
+
continue;
|
|
189
|
+
}
|
|
190
|
+
|
|
174
191
|
const selectorToken = this.trySelector(input, pos);
|
|
175
192
|
if (selectorToken) {
|
|
176
193
|
// Check if selector has a Quechua suffix attached
|
|
@@ -271,7 +288,14 @@ export class QuechuaTokenizer extends BaseTokenizer {
|
|
|
271
288
|
if (SUFFIXES.has(lower)) return 'particle';
|
|
272
289
|
// O(1) Map lookup instead of O(n) array search
|
|
273
290
|
if (this.isKeyword(lower)) return 'keyword';
|
|
274
|
-
if (
|
|
291
|
+
if (
|
|
292
|
+
token.startsWith('#') ||
|
|
293
|
+
token.startsWith('.') ||
|
|
294
|
+
token.startsWith('[') ||
|
|
295
|
+
token.startsWith('*') ||
|
|
296
|
+
token.startsWith('<')
|
|
297
|
+
)
|
|
298
|
+
return 'selector';
|
|
275
299
|
if (token.startsWith('"') || token.startsWith("'")) return 'literal';
|
|
276
300
|
if (/^\d/.test(token)) return 'literal';
|
|
277
301
|
return 'identifier';
|
|
@@ -383,6 +407,11 @@ export class QuechuaTokenizer extends BaseTokenizer {
|
|
|
383
407
|
|
|
384
408
|
const lower = word.toLowerCase();
|
|
385
409
|
|
|
410
|
+
// Check standalone suffixes first — classify as particle
|
|
411
|
+
if (SUFFIXES.has(lower)) {
|
|
412
|
+
return createToken(word, 'particle', createPosition(startPos, pos));
|
|
413
|
+
}
|
|
414
|
+
|
|
386
415
|
// O(1) Map lookup instead of O(n) array search
|
|
387
416
|
const keywordEntry = this.lookupKeyword(lower);
|
|
388
417
|
if (keywordEntry) {
|
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
type KeywordEntry,
|
|
27
27
|
} from './base';
|
|
28
28
|
import { russianProfile } from '../generators/profiles/russian';
|
|
29
|
+
import { RussianMorphologicalNormalizer } from './morphology/russian-normalizer';
|
|
29
30
|
|
|
30
31
|
// =============================================================================
|
|
31
32
|
// Russian Character Classification
|
|
@@ -162,6 +163,7 @@ export class RussianTokenizer extends BaseTokenizer {
|
|
|
162
163
|
super();
|
|
163
164
|
// Initialize keywords from profile + extras (single source of truth)
|
|
164
165
|
this.initializeKeywordsFromProfile(russianProfile, RUSSIAN_EXTRAS);
|
|
166
|
+
this.normalizer = new RussianMorphologicalNormalizer();
|
|
165
167
|
}
|
|
166
168
|
|
|
167
169
|
tokenize(input: string): TokenStream {
|
|
@@ -183,6 +185,12 @@ export class RussianTokenizer extends BaseTokenizer {
|
|
|
183
185
|
continue;
|
|
184
186
|
}
|
|
185
187
|
|
|
188
|
+
// Check for property access (obj.prop) vs CSS selector (.active)
|
|
189
|
+
if (this.tryPropertyAccess(input, pos, tokens)) {
|
|
190
|
+
pos++;
|
|
191
|
+
continue;
|
|
192
|
+
}
|
|
193
|
+
|
|
186
194
|
const selectorToken = this.trySelector(input, pos);
|
|
187
195
|
if (selectorToken) {
|
|
188
196
|
tokens.push(selectorToken);
|
|
@@ -255,7 +263,14 @@ export class RussianTokenizer extends BaseTokenizer {
|
|
|
255
263
|
if (PREPOSITIONS.has(lower)) return 'particle';
|
|
256
264
|
// O(1) Map lookup instead of O(n) array search
|
|
257
265
|
if (this.isKeyword(lower)) return 'keyword';
|
|
258
|
-
if (
|
|
266
|
+
if (
|
|
267
|
+
token.startsWith('#') ||
|
|
268
|
+
token.startsWith('.') ||
|
|
269
|
+
token.startsWith('[') ||
|
|
270
|
+
token.startsWith('*') ||
|
|
271
|
+
token.startsWith('<')
|
|
272
|
+
)
|
|
273
|
+
return 'selector';
|
|
259
274
|
if (token.startsWith('"') || token.startsWith("'")) return 'literal';
|
|
260
275
|
if (/^\d/.test(token)) return 'literal';
|
|
261
276
|
return 'identifier';
|
|
@@ -218,6 +218,12 @@ export class SpanishTokenizer extends BaseTokenizer {
|
|
|
218
218
|
continue;
|
|
219
219
|
}
|
|
220
220
|
|
|
221
|
+
// Check for property access (obj.prop) vs CSS selector (.active)
|
|
222
|
+
if (this.tryPropertyAccess(input, pos, tokens)) {
|
|
223
|
+
pos++;
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
|
|
221
227
|
const selectorToken = this.trySelector(input, pos);
|
|
222
228
|
if (selectorToken) {
|
|
223
229
|
tokens.push(selectorToken);
|
|
@@ -306,7 +312,14 @@ export class SpanishTokenizer extends BaseTokenizer {
|
|
|
306
312
|
if (PREPOSITIONS.has(lower)) return 'particle';
|
|
307
313
|
// O(1) Map lookup instead of O(n) array search
|
|
308
314
|
if (this.isKeyword(lower)) return 'keyword';
|
|
309
|
-
if (
|
|
315
|
+
if (
|
|
316
|
+
token.startsWith('#') ||
|
|
317
|
+
token.startsWith('.') ||
|
|
318
|
+
token.startsWith('[') ||
|
|
319
|
+
token.startsWith('*') ||
|
|
320
|
+
token.startsWith('<')
|
|
321
|
+
)
|
|
322
|
+
return 'selector';
|
|
310
323
|
if (token.startsWith('"') || token.startsWith("'")) return 'literal';
|
|
311
324
|
if (/^\d/.test(token)) return 'literal';
|
|
312
325
|
if (['==', '!=', '<=', '>=', '<', '>', '&&', '||', '!'].includes(token)) return 'operator';
|
|
@@ -152,6 +152,12 @@ export class SwahiliTokenizer extends BaseTokenizer {
|
|
|
152
152
|
continue;
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
+
// Check for property access (obj.prop) vs CSS selector (.active)
|
|
156
|
+
if (this.tryPropertyAccess(input, pos, tokens)) {
|
|
157
|
+
pos++;
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
|
|
155
161
|
const selectorToken = this.trySelector(input, pos);
|
|
156
162
|
if (selectorToken) {
|
|
157
163
|
tokens.push(selectorToken);
|
|
@@ -224,7 +230,14 @@ export class SwahiliTokenizer extends BaseTokenizer {
|
|
|
224
230
|
if (PREPOSITIONS.has(lower)) return 'particle';
|
|
225
231
|
// O(1) Map lookup instead of O(n) array search
|
|
226
232
|
if (this.isKeyword(lower)) return 'keyword';
|
|
227
|
-
if (
|
|
233
|
+
if (
|
|
234
|
+
token.startsWith('#') ||
|
|
235
|
+
token.startsWith('.') ||
|
|
236
|
+
token.startsWith('[') ||
|
|
237
|
+
token.startsWith('*') ||
|
|
238
|
+
token.startsWith('<')
|
|
239
|
+
)
|
|
240
|
+
return 'selector';
|
|
228
241
|
if (token.startsWith('"') || token.startsWith("'")) return 'literal';
|
|
229
242
|
if (/^\d/.test(token)) return 'literal';
|
|
230
243
|
return 'identifier';
|
package/src/tokenizers/thai.ts
CHANGED
|
@@ -112,6 +112,12 @@ export class ThaiTokenizer extends BaseTokenizer {
|
|
|
112
112
|
continue;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
// Check for property access (obj.prop) vs CSS selector (.active)
|
|
116
|
+
if (this.tryPropertyAccess(input, pos, tokens)) {
|
|
117
|
+
pos++;
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
|
|
115
121
|
const selectorToken = this.trySelector(input, pos);
|
|
116
122
|
if (selectorToken) {
|
|
117
123
|
tokens.push(selectorToken);
|
|
@@ -225,7 +231,14 @@ export class ThaiTokenizer extends BaseTokenizer {
|
|
|
225
231
|
classifyToken(value: string): TokenKind {
|
|
226
232
|
// O(1) Map lookup instead of O(n) array search
|
|
227
233
|
if (this.isKeyword(value)) return 'keyword';
|
|
228
|
-
if (
|
|
234
|
+
if (
|
|
235
|
+
value.startsWith('.') ||
|
|
236
|
+
value.startsWith('#') ||
|
|
237
|
+
value.startsWith('[') ||
|
|
238
|
+
value.startsWith('*') ||
|
|
239
|
+
value.startsWith('<')
|
|
240
|
+
)
|
|
241
|
+
return 'selector';
|
|
229
242
|
if (value.startsWith(':')) return 'identifier';
|
|
230
243
|
if (value.startsWith('"') || value.startsWith("'")) return 'literal';
|
|
231
244
|
if (/^-?\d/.test(value)) return 'literal';
|