marlarky 1.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/README.md +489 -0
- package/dist/adapters/faker-js-adapter.d.ts +44 -0
- package/dist/adapters/faker-js-adapter.d.ts.map +1 -0
- package/dist/adapters/faker-js-adapter.js +46 -0
- package/dist/adapters/faker-js-adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +3 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +3 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/simple-faker-adapter.d.ts +22 -0
- package/dist/adapters/simple-faker-adapter.d.ts.map +1 -0
- package/dist/adapters/simple-faker-adapter.js +54 -0
- package/dist/adapters/simple-faker-adapter.js.map +1 -0
- package/dist/cli.d.ts +7 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +588 -0
- package/dist/cli.js.map +1 -0
- package/dist/defaults/index.d.ts +2 -0
- package/dist/defaults/index.d.ts.map +1 -0
- package/dist/defaults/index.js +2 -0
- package/dist/defaults/index.js.map +1 -0
- package/dist/defaults/word-lists.d.ts +22 -0
- package/dist/defaults/word-lists.d.ts.map +1 -0
- package/dist/defaults/word-lists.js +124 -0
- package/dist/defaults/word-lists.js.map +1 -0
- package/dist/generator/index.d.ts +2 -0
- package/dist/generator/index.d.ts.map +1 -0
- package/dist/generator/index.js +2 -0
- package/dist/generator/index.js.map +1 -0
- package/dist/generator/text-generator.d.ts +93 -0
- package/dist/generator/text-generator.d.ts.map +1 -0
- package/dist/generator/text-generator.js +411 -0
- package/dist/generator/text-generator.js.map +1 -0
- package/dist/generator/text-generator.test.d.ts +2 -0
- package/dist/generator/text-generator.test.d.ts.map +1 -0
- package/dist/generator/text-generator.test.js +151 -0
- package/dist/generator/text-generator.test.js.map +1 -0
- package/dist/grammar/index.d.ts +5 -0
- package/dist/grammar/index.d.ts.map +1 -0
- package/dist/grammar/index.js +3 -0
- package/dist/grammar/index.js.map +1 -0
- package/dist/grammar/phrase-builders.d.ts +72 -0
- package/dist/grammar/phrase-builders.d.ts.map +1 -0
- package/dist/grammar/phrase-builders.js +241 -0
- package/dist/grammar/phrase-builders.js.map +1 -0
- package/dist/grammar/sentence-templates.d.ts +67 -0
- package/dist/grammar/sentence-templates.d.ts.map +1 -0
- package/dist/grammar/sentence-templates.js +272 -0
- package/dist/grammar/sentence-templates.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +40 -0
- package/dist/index.js.map +1 -0
- package/dist/interfaces/faker-adapter.d.ts +25 -0
- package/dist/interfaces/faker-adapter.d.ts.map +1 -0
- package/dist/interfaces/faker-adapter.js +2 -0
- package/dist/interfaces/faker-adapter.js.map +1 -0
- package/dist/interfaces/index.d.ts +4 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +2 -0
- package/dist/interfaces/index.js.map +1 -0
- package/dist/interfaces/lexicon-store.d.ts +39 -0
- package/dist/interfaces/lexicon-store.d.ts.map +1 -0
- package/dist/interfaces/lexicon-store.js +2 -0
- package/dist/interfaces/lexicon-store.js.map +1 -0
- package/dist/interfaces/rng.d.ts +25 -0
- package/dist/interfaces/rng.d.ts.map +1 -0
- package/dist/interfaces/rng.js +2 -0
- package/dist/interfaces/rng.js.map +1 -0
- package/dist/lexicon/index.d.ts +4 -0
- package/dist/lexicon/index.d.ts.map +1 -0
- package/dist/lexicon/index.js +4 -0
- package/dist/lexicon/index.js.map +1 -0
- package/dist/lexicon/loader.d.ts +24 -0
- package/dist/lexicon/loader.d.ts.map +1 -0
- package/dist/lexicon/loader.js +47 -0
- package/dist/lexicon/loader.js.map +1 -0
- package/dist/lexicon/store.d.ts +39 -0
- package/dist/lexicon/store.d.ts.map +1 -0
- package/dist/lexicon/store.js +291 -0
- package/dist/lexicon/store.js.map +1 -0
- package/dist/lexicon/validator.d.ts +10 -0
- package/dist/lexicon/validator.d.ts.map +1 -0
- package/dist/lexicon/validator.js +273 -0
- package/dist/lexicon/validator.js.map +1 -0
- package/dist/morphology/articles.d.ts +17 -0
- package/dist/morphology/articles.d.ts.map +1 -0
- package/dist/morphology/articles.js +66 -0
- package/dist/morphology/articles.js.map +1 -0
- package/dist/morphology/articles.test.d.ts +2 -0
- package/dist/morphology/articles.test.d.ts.map +1 -0
- package/dist/morphology/articles.test.js +56 -0
- package/dist/morphology/articles.test.js.map +1 -0
- package/dist/morphology/conjugate.d.ts +46 -0
- package/dist/morphology/conjugate.d.ts.map +1 -0
- package/dist/morphology/conjugate.js +337 -0
- package/dist/morphology/conjugate.js.map +1 -0
- package/dist/morphology/conjugate.test.d.ts +2 -0
- package/dist/morphology/conjugate.test.d.ts.map +1 -0
- package/dist/morphology/conjugate.test.js +168 -0
- package/dist/morphology/conjugate.test.js.map +1 -0
- package/dist/morphology/index.d.ts +6 -0
- package/dist/morphology/index.d.ts.map +1 -0
- package/dist/morphology/index.js +9 -0
- package/dist/morphology/index.js.map +1 -0
- package/dist/morphology/normalize.d.ts +52 -0
- package/dist/morphology/normalize.d.ts.map +1 -0
- package/dist/morphology/normalize.js +127 -0
- package/dist/morphology/normalize.js.map +1 -0
- package/dist/morphology/pluralize.d.ts +17 -0
- package/dist/morphology/pluralize.d.ts.map +1 -0
- package/dist/morphology/pluralize.js +186 -0
- package/dist/morphology/pluralize.js.map +1 -0
- package/dist/morphology/pluralize.test.d.ts +2 -0
- package/dist/morphology/pluralize.test.d.ts.map +1 -0
- package/dist/morphology/pluralize.test.js +86 -0
- package/dist/morphology/pluralize.test.js.map +1 -0
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +2 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/word-provider.d.ts +125 -0
- package/dist/providers/word-provider.d.ts.map +1 -0
- package/dist/providers/word-provider.js +266 -0
- package/dist/providers/word-provider.js.map +1 -0
- package/dist/rng/index.d.ts +2 -0
- package/dist/rng/index.d.ts.map +1 -0
- package/dist/rng/index.js +2 -0
- package/dist/rng/index.js.map +1 -0
- package/dist/rng/seedable-rng.d.ts +19 -0
- package/dist/rng/seedable-rng.d.ts.map +1 -0
- package/dist/rng/seedable-rng.js +77 -0
- package/dist/rng/seedable-rng.js.map +1 -0
- package/dist/rng/seedable-rng.test.d.ts +2 -0
- package/dist/rng/seedable-rng.test.d.ts.map +1 -0
- package/dist/rng/seedable-rng.test.js +165 -0
- package/dist/rng/seedable-rng.test.js.map +1 -0
- package/dist/rules/index.d.ts +3 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +2 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/rule-engine.d.ts +78 -0
- package/dist/rules/rule-engine.d.ts.map +1 -0
- package/dist/rules/rule-engine.js +271 -0
- package/dist/rules/rule-engine.js.map +1 -0
- package/dist/transforms/config-merge.d.ts +19 -0
- package/dist/transforms/config-merge.d.ts.map +1 -0
- package/dist/transforms/config-merge.js +88 -0
- package/dist/transforms/config-merge.js.map +1 -0
- package/dist/transforms/config-merge.test.d.ts +2 -0
- package/dist/transforms/config-merge.test.d.ts.map +1 -0
- package/dist/transforms/config-merge.test.js +91 -0
- package/dist/transforms/config-merge.test.js.map +1 -0
- package/dist/transforms/default-registry.d.ts +10 -0
- package/dist/transforms/default-registry.d.ts.map +1 -0
- package/dist/transforms/default-registry.js +17 -0
- package/dist/transforms/default-registry.js.map +1 -0
- package/dist/transforms/index.d.ts +15 -0
- package/dist/transforms/index.d.ts.map +1 -0
- package/dist/transforms/index.js +20 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/pipeline.d.ts +28 -0
- package/dist/transforms/pipeline.d.ts.map +1 -0
- package/dist/transforms/pipeline.js +176 -0
- package/dist/transforms/pipeline.js.map +1 -0
- package/dist/transforms/pipeline.test.d.ts +2 -0
- package/dist/transforms/pipeline.test.d.ts.map +1 -0
- package/dist/transforms/pipeline.test.js +175 -0
- package/dist/transforms/pipeline.test.js.map +1 -0
- package/dist/transforms/protection.d.ts +16 -0
- package/dist/transforms/protection.d.ts.map +1 -0
- package/dist/transforms/protection.js +97 -0
- package/dist/transforms/protection.js.map +1 -0
- package/dist/transforms/protection.test.d.ts +2 -0
- package/dist/transforms/protection.test.d.ts.map +1 -0
- package/dist/transforms/protection.test.js +79 -0
- package/dist/transforms/protection.test.js.map +1 -0
- package/dist/transforms/registry.d.ts +25 -0
- package/dist/transforms/registry.d.ts.map +1 -0
- package/dist/transforms/registry.js +32 -0
- package/dist/transforms/registry.js.map +1 -0
- package/dist/transforms/registry.test.d.ts +2 -0
- package/dist/transforms/registry.test.d.ts.map +1 -0
- package/dist/transforms/registry.test.js +64 -0
- package/dist/transforms/registry.test.js.map +1 -0
- package/dist/transforms/tokenizer.d.ts +26 -0
- package/dist/transforms/tokenizer.d.ts.map +1 -0
- package/dist/transforms/tokenizer.js +137 -0
- package/dist/transforms/tokenizer.js.map +1 -0
- package/dist/transforms/tokenizer.test.d.ts +2 -0
- package/dist/transforms/tokenizer.test.d.ts.map +1 -0
- package/dist/transforms/tokenizer.test.js +85 -0
- package/dist/transforms/tokenizer.test.js.map +1 -0
- package/dist/transforms/transforms/biz-jargon.d.ts +7 -0
- package/dist/transforms/transforms/biz-jargon.d.ts.map +1 -0
- package/dist/transforms/transforms/biz-jargon.js +117 -0
- package/dist/transforms/transforms/biz-jargon.js.map +1 -0
- package/dist/transforms/transforms/emoji.d.ts +7 -0
- package/dist/transforms/transforms/emoji.d.ts.map +1 -0
- package/dist/transforms/transforms/emoji.js +127 -0
- package/dist/transforms/transforms/emoji.js.map +1 -0
- package/dist/transforms/transforms/index.d.ts +17 -0
- package/dist/transforms/transforms/index.d.ts.map +1 -0
- package/dist/transforms/transforms/index.js +37 -0
- package/dist/transforms/transforms/index.js.map +1 -0
- package/dist/transforms/transforms/leet.d.ts +7 -0
- package/dist/transforms/transforms/leet.d.ts.map +1 -0
- package/dist/transforms/transforms/leet.js +109 -0
- package/dist/transforms/transforms/leet.js.map +1 -0
- package/dist/transforms/transforms/mock-case.d.ts +7 -0
- package/dist/transforms/transforms/mock-case.d.ts.map +1 -0
- package/dist/transforms/transforms/mock-case.js +116 -0
- package/dist/transforms/transforms/mock-case.js.map +1 -0
- package/dist/transforms/transforms/pig-latin.d.ts +7 -0
- package/dist/transforms/transforms/pig-latin.d.ts.map +1 -0
- package/dist/transforms/transforms/pig-latin.js +132 -0
- package/dist/transforms/transforms/pig-latin.js.map +1 -0
- package/dist/transforms/transforms/pig-latin.test.d.ts +2 -0
- package/dist/transforms/transforms/pig-latin.test.d.ts.map +1 -0
- package/dist/transforms/transforms/pig-latin.test.js +77 -0
- package/dist/transforms/transforms/pig-latin.test.js.map +1 -0
- package/dist/transforms/transforms/pirate.d.ts +7 -0
- package/dist/transforms/transforms/pirate.d.ts.map +1 -0
- package/dist/transforms/transforms/pirate.js +150 -0
- package/dist/transforms/transforms/pirate.js.map +1 -0
- package/dist/transforms/transforms/redact.d.ts +7 -0
- package/dist/transforms/transforms/redact.d.ts.map +1 -0
- package/dist/transforms/transforms/redact.js +109 -0
- package/dist/transforms/transforms/redact.js.map +1 -0
- package/dist/transforms/transforms/reverse-words.d.ts +7 -0
- package/dist/transforms/transforms/reverse-words.d.ts.map +1 -0
- package/dist/transforms/transforms/reverse-words.js +88 -0
- package/dist/transforms/transforms/reverse-words.js.map +1 -0
- package/dist/transforms/transforms/transforms.test.d.ts +11 -0
- package/dist/transforms/transforms/transforms.test.d.ts.map +1 -0
- package/dist/transforms/transforms/transforms.test.js +489 -0
- package/dist/transforms/transforms/transforms.test.js.map +1 -0
- package/dist/transforms/transforms/ubbi-dubbi.d.ts +7 -0
- package/dist/transforms/transforms/ubbi-dubbi.d.ts.map +1 -0
- package/dist/transforms/transforms/ubbi-dubbi.js +120 -0
- package/dist/transforms/transforms/ubbi-dubbi.js.map +1 -0
- package/dist/transforms/transforms/uwu.d.ts +7 -0
- package/dist/transforms/transforms/uwu.d.ts.map +1 -0
- package/dist/transforms/transforms/uwu.js +106 -0
- package/dist/transforms/transforms/uwu.js.map +1 -0
- package/dist/transforms/types.d.ts +159 -0
- package/dist/transforms/types.d.ts.map +1 -0
- package/dist/transforms/types.js +22 -0
- package/dist/transforms/types.js.map +1 -0
- package/dist/types/api.d.ts +158 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +6 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/config.d.ts +86 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +66 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/context.d.ts +74 -0
- package/dist/types/context.d.ts.map +1 -0
- package/dist/types/context.js +83 -0
- package/dist/types/context.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/lexicon.d.ts +247 -0
- package/dist/types/lexicon.d.ts.map +1 -0
- package/dist/types/lexicon.js +6 -0
- package/dist/types/lexicon.js.map +1 -0
- package/examples/basic-usage.ts +48 -0
- package/examples/corporate-lexicon.ts +71 -0
- package/examples/lexicons/corporate-min.json +200 -0
- package/examples/with-tracing.ts +85 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/lexicon/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,SAAS,GAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACvF,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,CAAU,CAAC;AAC7F,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAChH,MAAM,qBAAqB,GAAG,CAAC,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAC9G,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAC;AAEhI;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAA6B,EAAE,CAAC;IAE9C,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACnF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,GAAG,GAAG,OAAkC,CAAC;IAE/C,kBAAkB;IAClB,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,2CAA2C,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iDAAiD,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,mBAAmB;IACnB,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,oBAAoB;IACpB,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC/B,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC;IAED,yBAAyB;IACzB,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACpC,qBAAqB,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,wBAAwB;IACxB,IAAI,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACnC,oBAAoB,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,uBAAuB;IACvB,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAClC,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,sBAAsB;IACtB,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,sBAAsB;IACtB,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACjC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,qBAAqB;IACrB,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAChC,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAiB,EACjB,MAAgC,EAChC,QAAkC;IAElC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,YAAY,EAAE,EAAE,CAAC;QAE9B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAChF,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,OAAkC,CAAC;QAE9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAU,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,GAAG,qBAAqB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACtI,CAAC;QAED,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACnG,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAa,EAAE,KAAa,EAAE,EAAE;gBAChD,YAAY,CAAC,IAAI,EAAE,GAAG,IAAI,UAAU,KAAK,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CACnB,IAAa,EACb,IAAY,EACZ,MAAgC,EAChC,QAAkC;IAElC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,IAA+B,CAAC;IAE1C,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,2CAA2C,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAClH,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,OAAO,EAAE,wCAAwC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACpH,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IACnG,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CACvB,QAAiB,EACjB,MAAgC,EAChC,SAAmC;IAEnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5F,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,GAAG,YAAY,EAAE,EAAE,CAAC;QAE9B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC/E,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,OAAkC,CAAC;QAE7C,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAA0C,CAAC,EAAE,CAAC;YAChF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,yBAAyB,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAC5B,aAAsB,EACtB,MAAgC,EAChC,QAAkC;IAElC,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,iCAAiC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACtG,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,iBAAiB,EAAE,EAAE,CAAC;QAEnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,SAAS;QACX,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,KAAc,EAAE,KAAa,EAAE,EAAE;YAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,OAAO,EAAE,sCAAsC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC/G,OAAO;YACT,CAAC;YAED,MAAM,CAAC,GAAG,KAAgC,CAAC;YAC3C,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACrG,CAAC;YACD,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,KAAK,UAAU,EAAE,OAAO,EAAE,wCAAwC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;YAC9H,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,YAAqB,EACrB,MAAgC,EAChC,QAAkC;IAElC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACnG,OAAO;IACT,CAAC;IAED,YAAY,CAAC,OAAO,CAAC,CAAC,IAAa,EAAE,KAAa,EAAE,EAAE;QACpD,MAAM,IAAI,GAAG,gBAAgB,KAAK,GAAG,CAAC;QAEtC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,+BAA+B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,IAA+B,CAAC;QAE1C,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,wBAAwB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,YAAY,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAoC,CAAC,EAAE,CAAC;YACnE,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,mBAAmB,CAC1B,WAAoB,EACpB,MAAgC,EAChC,SAAmC;IAEnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACjG,OAAO;IACT,CAAC;IAED,WAAW,CAAC,OAAO,CAAC,CAAC,UAAmB,EAAE,KAAa,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,eAAe,KAAK,GAAG,CAAC;QAErC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,UAAqC,CAAC;QAEhD,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,gCAAgC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAoC,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAClG,CAAC;QAED,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAA6C,CAAC,EAAE,CAAC;YACtF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,4BAA4B,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1G,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,OAAO,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACjG,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAmB,EACnB,MAAgC,EAChC,SAAmC;IAEnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/F,OAAO;IACT,CAAC;IAED,UAAU,CAAC,OAAO,CAAC,CAAC,SAAkB,EAAE,KAAa,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,cAAc,KAAK,GAAG,CAAC;QAEpC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QAED,MAAM,GAAG,GAAG,SAAoC,CAAC;QAEjD,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAA4C,CAAC,EAAE,CAAC;YACtF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,2BAA2B,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3G,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAoC,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,EAAE,OAAO,EAAE,kBAAkB,GAAG,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACpG,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAmB,EACnB,MAAgC,EAChC,SAAmC;IAEnC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,8BAA8B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,cAAc,EAAE,EAAE,CAAC;QAEhC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAkB,EAClB,MAAgC,EAChC,QAAkC;IAElC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7F,OAAO;IACT,CAAC;IAED,SAAS,CAAC,OAAO,CAAC,CAAC,QAAiB,EAAE,KAAa,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,aAAa,KAAK,GAAG,CAAC;QAEnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,4BAA4B,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAChF,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,QAAmC,CAAC;QAE9C,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,OAAO,EAAE,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7F,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7E,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,SAAS,EAAE,OAAO,EAAE,wCAAwC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QACpH,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Article Selection (a/an)
|
|
3
|
+
* Handles the a/an selection based on the following word's initial sound
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Determine if "an" should be used instead of "a"
|
|
7
|
+
*/
|
|
8
|
+
export declare function useAn(word: string): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Get the appropriate indefinite article for a word
|
|
11
|
+
*/
|
|
12
|
+
export declare function getIndefiniteArticle(word: string): 'a' | 'an';
|
|
13
|
+
/**
|
|
14
|
+
* Prepend the appropriate indefinite article to a word
|
|
15
|
+
*/
|
|
16
|
+
export declare function withIndefiniteArticle(word: string): string;
|
|
17
|
+
//# sourceMappingURL=articles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"articles.d.ts","sourceRoot":"","sources":["../../src/morphology/articles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH;;GAEG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA4B3C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI,CAE7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Article Selection (a/an)
|
|
3
|
+
* Handles the a/an selection based on the following word's initial sound
|
|
4
|
+
*/
|
|
5
|
+
// Words that start with a vowel letter but have a consonant sound
|
|
6
|
+
const CONSONANT_SOUND_WORDS = new Set([
|
|
7
|
+
'one', 'once', 'ones',
|
|
8
|
+
'uni', 'uniform', 'uniforms', 'union', 'unions', 'unique', 'unit', 'units', 'united', 'unity',
|
|
9
|
+
'universal', 'universe', 'university', 'universities',
|
|
10
|
+
'use', 'used', 'useful', 'useless', 'user', 'users', 'uses', 'using', 'usual', 'usually',
|
|
11
|
+
'utensil', 'utensils', 'utility', 'utilities', 'utopia',
|
|
12
|
+
'european', 'europeans', 'euphoria', 'euphemism',
|
|
13
|
+
'ewe', 'ewes',
|
|
14
|
+
]);
|
|
15
|
+
// Words that start with a consonant letter but have a vowel sound
|
|
16
|
+
const VOWEL_SOUND_WORDS = new Set([
|
|
17
|
+
'hour', 'hours', 'hourly',
|
|
18
|
+
'heir', 'heirs', 'heiress', 'heirloom', 'heirlooms',
|
|
19
|
+
'honest', 'honestly', 'honesty', 'honor', 'honors', 'honorable', 'honorary', 'honour', 'honours',
|
|
20
|
+
'herb', 'herbs', 'herbal', // American English
|
|
21
|
+
]);
|
|
22
|
+
// Acronyms/initialisms starting with vowel sounds
|
|
23
|
+
const VOWEL_SOUND_LETTERS = new Set(['a', 'e', 'f', 'h', 'i', 'l', 'm', 'n', 'o', 'r', 's', 'x']);
|
|
24
|
+
/**
|
|
25
|
+
* Determine if "an" should be used instead of "a"
|
|
26
|
+
*/
|
|
27
|
+
export function useAn(word) {
|
|
28
|
+
if (!word || word.length === 0)
|
|
29
|
+
return false;
|
|
30
|
+
const lower = word.toLowerCase();
|
|
31
|
+
const first = lower[0];
|
|
32
|
+
// Check explicit exceptions first
|
|
33
|
+
if (CONSONANT_SOUND_WORDS.has(lower))
|
|
34
|
+
return false;
|
|
35
|
+
if (VOWEL_SOUND_WORDS.has(lower))
|
|
36
|
+
return true;
|
|
37
|
+
// Check for partial matches (prefixes)
|
|
38
|
+
for (const exception of CONSONANT_SOUND_WORDS) {
|
|
39
|
+
if (lower.startsWith(exception) && lower.length > exception.length) {
|
|
40
|
+
const nextChar = lower[exception.length];
|
|
41
|
+
// Check if it's still the same word (not a compound)
|
|
42
|
+
if (nextChar && /[a-z]/.test(nextChar)) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Check if it looks like an acronym (all caps, or starts with capital)
|
|
48
|
+
if (word === word.toUpperCase() && word.length <= 5) {
|
|
49
|
+
return VOWEL_SOUND_LETTERS.has(first);
|
|
50
|
+
}
|
|
51
|
+
// Basic vowel check
|
|
52
|
+
return 'aeiou'.includes(first);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get the appropriate indefinite article for a word
|
|
56
|
+
*/
|
|
57
|
+
export function getIndefiniteArticle(word) {
|
|
58
|
+
return useAn(word) ? 'an' : 'a';
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Prepend the appropriate indefinite article to a word
|
|
62
|
+
*/
|
|
63
|
+
export function withIndefiniteArticle(word) {
|
|
64
|
+
return `${getIndefiniteArticle(word)} ${word}`;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=articles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"articles.js","sourceRoot":"","sources":["../../src/morphology/articles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"articles.test.d.ts","sourceRoot":"","sources":["../../src/morphology/articles.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { useAn, getIndefiniteArticle, withIndefiniteArticle } from './articles.js';
|
|
3
|
+
describe('Articles', () => {
|
|
4
|
+
describe('useAn', () => {
|
|
5
|
+
it('returns true for words starting with vowel sounds', () => {
|
|
6
|
+
expect(useAn('apple')).toBe(true);
|
|
7
|
+
expect(useAn('elephant')).toBe(true);
|
|
8
|
+
expect(useAn('igloo')).toBe(true);
|
|
9
|
+
expect(useAn('orange')).toBe(true);
|
|
10
|
+
expect(useAn('umbrella')).toBe(true);
|
|
11
|
+
});
|
|
12
|
+
it('returns false for words starting with consonant sounds', () => {
|
|
13
|
+
expect(useAn('banana')).toBe(false);
|
|
14
|
+
expect(useAn('car')).toBe(false);
|
|
15
|
+
expect(useAn('dog')).toBe(false);
|
|
16
|
+
expect(useAn('table')).toBe(false);
|
|
17
|
+
expect(useAn('zebra')).toBe(false);
|
|
18
|
+
});
|
|
19
|
+
it('handles "hour" exception (silent h)', () => {
|
|
20
|
+
expect(useAn('hour')).toBe(true);
|
|
21
|
+
expect(useAn('hourly')).toBe(true);
|
|
22
|
+
expect(useAn('honest')).toBe(true);
|
|
23
|
+
expect(useAn('honor')).toBe(true);
|
|
24
|
+
});
|
|
25
|
+
it('handles "university" exception (yoo sound)', () => {
|
|
26
|
+
expect(useAn('university')).toBe(false);
|
|
27
|
+
expect(useAn('uniform')).toBe(false);
|
|
28
|
+
expect(useAn('unique')).toBe(false);
|
|
29
|
+
expect(useAn('user')).toBe(false);
|
|
30
|
+
});
|
|
31
|
+
it('handles "one" exception', () => {
|
|
32
|
+
expect(useAn('one')).toBe(false);
|
|
33
|
+
expect(useAn('once')).toBe(false);
|
|
34
|
+
});
|
|
35
|
+
it('handles empty string', () => {
|
|
36
|
+
expect(useAn('')).toBe(false);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('getIndefiniteArticle', () => {
|
|
40
|
+
it('returns "a" or "an" correctly', () => {
|
|
41
|
+
expect(getIndefiniteArticle('apple')).toBe('an');
|
|
42
|
+
expect(getIndefiniteArticle('banana')).toBe('a');
|
|
43
|
+
expect(getIndefiniteArticle('hour')).toBe('an');
|
|
44
|
+
expect(getIndefiniteArticle('university')).toBe('a');
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('withIndefiniteArticle', () => {
|
|
48
|
+
it('prepends the correct article', () => {
|
|
49
|
+
expect(withIndefiniteArticle('apple')).toBe('an apple');
|
|
50
|
+
expect(withIndefiniteArticle('banana')).toBe('a banana');
|
|
51
|
+
expect(withIndefiniteArticle('hour')).toBe('an hour');
|
|
52
|
+
expect(withIndefiniteArticle('university')).toBe('a university');
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=articles.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"articles.test.js","sourceRoot":"","sources":["../../src/morphology/articles.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verb Conjugation
|
|
3
|
+
* Handles regular and common irregular verb conjugations
|
|
4
|
+
*/
|
|
5
|
+
import type { PhraseFeatures } from '../types/context.js';
|
|
6
|
+
export type Tense = 'present' | 'past' | 'future';
|
|
7
|
+
export type Aspect = 'simple' | 'progressive' | 'perfect' | 'perfectProgressive';
|
|
8
|
+
export interface ConjugationOptions {
|
|
9
|
+
tense: Tense;
|
|
10
|
+
aspect: Aspect;
|
|
11
|
+
subject: PhraseFeatures;
|
|
12
|
+
negative?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get past tense of a verb
|
|
16
|
+
*/
|
|
17
|
+
export declare function getPastTense(verb: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Get past participle of a verb
|
|
20
|
+
*/
|
|
21
|
+
export declare function getPastParticiple(verb: string): string;
|
|
22
|
+
/**
|
|
23
|
+
* Get present participle (gerund) of a verb
|
|
24
|
+
*/
|
|
25
|
+
export declare function getPresentParticiple(verb: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Get third person singular present tense
|
|
28
|
+
*/
|
|
29
|
+
export declare function getThirdPersonSingular(verb: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Conjugate 'be' based on subject
|
|
32
|
+
*/
|
|
33
|
+
export declare function conjugateBe(subject: PhraseFeatures, tense: Tense): string;
|
|
34
|
+
/**
|
|
35
|
+
* Conjugate 'have' based on subject
|
|
36
|
+
*/
|
|
37
|
+
export declare function conjugateHave(subject: PhraseFeatures, tense: Tense): string;
|
|
38
|
+
/**
|
|
39
|
+
* Conjugate 'do' based on subject
|
|
40
|
+
*/
|
|
41
|
+
export declare function conjugateDo(subject: PhraseFeatures, tense: Tense): string;
|
|
42
|
+
/**
|
|
43
|
+
* Full verb conjugation
|
|
44
|
+
*/
|
|
45
|
+
export declare function conjugate(verb: string, options: ConjugationOptions): string;
|
|
46
|
+
//# sourceMappingURL=conjugate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conjugate.d.ts","sourceRoot":"","sources":["../../src/morphology/conjugate.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,MAAM,MAAM,KAAK,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAClD,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,aAAa,GAAG,SAAS,GAAG,oBAAoB,CAAC;AAEjF,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,cAAc,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAiID;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA4BjD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUtD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuBzD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAmB3D;AA+BD;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAkBzE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAc3E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAczE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAiD3E"}
|
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verb Conjugation
|
|
3
|
+
* Handles regular and common irregular verb conjugations
|
|
4
|
+
*/
|
|
5
|
+
// Irregular verb forms: [base, pastTense, pastParticiple, presentParticiple, thirdPersonSingular]
|
|
6
|
+
const IRREGULAR_VERBS = {
|
|
7
|
+
'be': ['be', 'was/were', 'been', 'being', 'is'],
|
|
8
|
+
'have': ['have', 'had', 'had', 'having', 'has'],
|
|
9
|
+
'do': ['do', 'did', 'done', 'doing', 'does'],
|
|
10
|
+
'go': ['go', 'went', 'gone', 'going', 'goes'],
|
|
11
|
+
'say': ['say', 'said', 'said', 'saying', 'says'],
|
|
12
|
+
'get': ['get', 'got', 'gotten', 'getting', 'gets'],
|
|
13
|
+
'make': ['make', 'made', 'made', 'making', 'makes'],
|
|
14
|
+
'know': ['know', 'knew', 'known', 'knowing', 'knows'],
|
|
15
|
+
'think': ['think', 'thought', 'thought', 'thinking', 'thinks'],
|
|
16
|
+
'take': ['take', 'took', 'taken', 'taking', 'takes'],
|
|
17
|
+
'see': ['see', 'saw', 'seen', 'seeing', 'sees'],
|
|
18
|
+
'come': ['come', 'came', 'come', 'coming', 'comes'],
|
|
19
|
+
'want': ['want', 'wanted', 'wanted', 'wanting', 'wants'],
|
|
20
|
+
'use': ['use', 'used', 'used', 'using', 'uses'],
|
|
21
|
+
'find': ['find', 'found', 'found', 'finding', 'finds'],
|
|
22
|
+
'give': ['give', 'gave', 'given', 'giving', 'gives'],
|
|
23
|
+
'tell': ['tell', 'told', 'told', 'telling', 'tells'],
|
|
24
|
+
'work': ['work', 'worked', 'worked', 'working', 'works'],
|
|
25
|
+
'call': ['call', 'called', 'called', 'calling', 'calls'],
|
|
26
|
+
'try': ['try', 'tried', 'tried', 'trying', 'tries'],
|
|
27
|
+
'ask': ['ask', 'asked', 'asked', 'asking', 'asks'],
|
|
28
|
+
'need': ['need', 'needed', 'needed', 'needing', 'needs'],
|
|
29
|
+
'feel': ['feel', 'felt', 'felt', 'feeling', 'feels'],
|
|
30
|
+
'become': ['become', 'became', 'become', 'becoming', 'becomes'],
|
|
31
|
+
'leave': ['leave', 'left', 'left', 'leaving', 'leaves'],
|
|
32
|
+
'put': ['put', 'put', 'put', 'putting', 'puts'],
|
|
33
|
+
'mean': ['mean', 'meant', 'meant', 'meaning', 'means'],
|
|
34
|
+
'keep': ['keep', 'kept', 'kept', 'keeping', 'keeps'],
|
|
35
|
+
'let': ['let', 'let', 'let', 'letting', 'lets'],
|
|
36
|
+
'begin': ['begin', 'began', 'begun', 'beginning', 'begins'],
|
|
37
|
+
'seem': ['seem', 'seemed', 'seemed', 'seeming', 'seems'],
|
|
38
|
+
'help': ['help', 'helped', 'helped', 'helping', 'helps'],
|
|
39
|
+
'show': ['show', 'showed', 'shown', 'showing', 'shows'],
|
|
40
|
+
'hear': ['hear', 'heard', 'heard', 'hearing', 'hears'],
|
|
41
|
+
'play': ['play', 'played', 'played', 'playing', 'plays'],
|
|
42
|
+
'run': ['run', 'ran', 'run', 'running', 'runs'],
|
|
43
|
+
'move': ['move', 'moved', 'moved', 'moving', 'moves'],
|
|
44
|
+
'live': ['live', 'lived', 'lived', 'living', 'lives'],
|
|
45
|
+
'believe': ['believe', 'believed', 'believed', 'believing', 'believes'],
|
|
46
|
+
'hold': ['hold', 'held', 'held', 'holding', 'holds'],
|
|
47
|
+
'bring': ['bring', 'brought', 'brought', 'bringing', 'brings'],
|
|
48
|
+
'happen': ['happen', 'happened', 'happened', 'happening', 'happens'],
|
|
49
|
+
'write': ['write', 'wrote', 'written', 'writing', 'writes'],
|
|
50
|
+
'provide': ['provide', 'provided', 'provided', 'providing', 'provides'],
|
|
51
|
+
'sit': ['sit', 'sat', 'sat', 'sitting', 'sits'],
|
|
52
|
+
'stand': ['stand', 'stood', 'stood', 'standing', 'stands'],
|
|
53
|
+
'lose': ['lose', 'lost', 'lost', 'losing', 'loses'],
|
|
54
|
+
'pay': ['pay', 'paid', 'paid', 'paying', 'pays'],
|
|
55
|
+
'meet': ['meet', 'met', 'met', 'meeting', 'meets'],
|
|
56
|
+
'include': ['include', 'included', 'included', 'including', 'includes'],
|
|
57
|
+
'continue': ['continue', 'continued', 'continued', 'continuing', 'continues'],
|
|
58
|
+
'set': ['set', 'set', 'set', 'setting', 'sets'],
|
|
59
|
+
'learn': ['learn', 'learned', 'learned', 'learning', 'learns'],
|
|
60
|
+
'change': ['change', 'changed', 'changed', 'changing', 'changes'],
|
|
61
|
+
'lead': ['lead', 'led', 'led', 'leading', 'leads'],
|
|
62
|
+
'understand': ['understand', 'understood', 'understood', 'understanding', 'understands'],
|
|
63
|
+
'watch': ['watch', 'watched', 'watched', 'watching', 'watches'],
|
|
64
|
+
'follow': ['follow', 'followed', 'followed', 'following', 'follows'],
|
|
65
|
+
'stop': ['stop', 'stopped', 'stopped', 'stopping', 'stops'],
|
|
66
|
+
'create': ['create', 'created', 'created', 'creating', 'creates'],
|
|
67
|
+
'speak': ['speak', 'spoke', 'spoken', 'speaking', 'speaks'],
|
|
68
|
+
'read': ['read', 'read', 'read', 'reading', 'reads'],
|
|
69
|
+
'spend': ['spend', 'spent', 'spent', 'spending', 'spends'],
|
|
70
|
+
'grow': ['grow', 'grew', 'grown', 'growing', 'grows'],
|
|
71
|
+
'open': ['open', 'opened', 'opened', 'opening', 'opens'],
|
|
72
|
+
'walk': ['walk', 'walked', 'walked', 'walking', 'walks'],
|
|
73
|
+
'win': ['win', 'won', 'won', 'winning', 'wins'],
|
|
74
|
+
'offer': ['offer', 'offered', 'offered', 'offering', 'offers'],
|
|
75
|
+
'remember': ['remember', 'remembered', 'remembered', 'remembering', 'remembers'],
|
|
76
|
+
'consider': ['consider', 'considered', 'considered', 'considering', 'considers'],
|
|
77
|
+
'appear': ['appear', 'appeared', 'appeared', 'appearing', 'appears'],
|
|
78
|
+
'buy': ['buy', 'bought', 'bought', 'buying', 'buys'],
|
|
79
|
+
'wait': ['wait', 'waited', 'waited', 'waiting', 'waits'],
|
|
80
|
+
'serve': ['serve', 'served', 'served', 'serving', 'serves'],
|
|
81
|
+
'die': ['die', 'died', 'died', 'dying', 'dies'],
|
|
82
|
+
'send': ['send', 'sent', 'sent', 'sending', 'sends'],
|
|
83
|
+
'build': ['build', 'built', 'built', 'building', 'builds'],
|
|
84
|
+
'stay': ['stay', 'stayed', 'stayed', 'staying', 'stays'],
|
|
85
|
+
'fall': ['fall', 'fell', 'fallen', 'falling', 'falls'],
|
|
86
|
+
'cut': ['cut', 'cut', 'cut', 'cutting', 'cuts'],
|
|
87
|
+
'reach': ['reach', 'reached', 'reached', 'reaching', 'reaches'],
|
|
88
|
+
'kill': ['kill', 'killed', 'killed', 'killing', 'kills'],
|
|
89
|
+
'remain': ['remain', 'remained', 'remained', 'remaining', 'remains'],
|
|
90
|
+
'suggest': ['suggest', 'suggested', 'suggested', 'suggesting', 'suggests'],
|
|
91
|
+
'raise': ['raise', 'raised', 'raised', 'raising', 'raises'],
|
|
92
|
+
'pass': ['pass', 'passed', 'passed', 'passing', 'passes'],
|
|
93
|
+
'sell': ['sell', 'sold', 'sold', 'selling', 'sells'],
|
|
94
|
+
'require': ['require', 'required', 'required', 'requiring', 'requires'],
|
|
95
|
+
'report': ['report', 'reported', 'reported', 'reporting', 'reports'],
|
|
96
|
+
'decide': ['decide', 'decided', 'decided', 'deciding', 'decides'],
|
|
97
|
+
'pull': ['pull', 'pulled', 'pulled', 'pulling', 'pulls'],
|
|
98
|
+
'break': ['break', 'broke', 'broken', 'breaking', 'breaks'],
|
|
99
|
+
'catch': ['catch', 'caught', 'caught', 'catching', 'catches'],
|
|
100
|
+
'drive': ['drive', 'drove', 'driven', 'driving', 'drives'],
|
|
101
|
+
'eat': ['eat', 'ate', 'eaten', 'eating', 'eats'],
|
|
102
|
+
'fly': ['fly', 'flew', 'flown', 'flying', 'flies'],
|
|
103
|
+
'forget': ['forget', 'forgot', 'forgotten', 'forgetting', 'forgets'],
|
|
104
|
+
'hit': ['hit', 'hit', 'hit', 'hitting', 'hits'],
|
|
105
|
+
'hurt': ['hurt', 'hurt', 'hurt', 'hurting', 'hurts'],
|
|
106
|
+
'lay': ['lay', 'laid', 'laid', 'laying', 'lays'],
|
|
107
|
+
'lie': ['lie', 'lay', 'lain', 'lying', 'lies'],
|
|
108
|
+
'ride': ['ride', 'rode', 'ridden', 'riding', 'rides'],
|
|
109
|
+
'ring': ['ring', 'rang', 'rung', 'ringing', 'rings'],
|
|
110
|
+
'rise': ['rise', 'rose', 'risen', 'rising', 'rises'],
|
|
111
|
+
'seek': ['seek', 'sought', 'sought', 'seeking', 'seeks'],
|
|
112
|
+
'shake': ['shake', 'shook', 'shaken', 'shaking', 'shakes'],
|
|
113
|
+
'shine': ['shine', 'shone', 'shone', 'shining', 'shines'],
|
|
114
|
+
'shoot': ['shoot', 'shot', 'shot', 'shooting', 'shoots'],
|
|
115
|
+
'shut': ['shut', 'shut', 'shut', 'shutting', 'shuts'],
|
|
116
|
+
'sing': ['sing', 'sang', 'sung', 'singing', 'sings'],
|
|
117
|
+
'sink': ['sink', 'sank', 'sunk', 'sinking', 'sinks'],
|
|
118
|
+
'sleep': ['sleep', 'slept', 'slept', 'sleeping', 'sleeps'],
|
|
119
|
+
'slide': ['slide', 'slid', 'slid', 'sliding', 'slides'],
|
|
120
|
+
'steal': ['steal', 'stole', 'stolen', 'stealing', 'steals'],
|
|
121
|
+
'stick': ['stick', 'stuck', 'stuck', 'sticking', 'sticks'],
|
|
122
|
+
'strike': ['strike', 'struck', 'struck', 'striking', 'strikes'],
|
|
123
|
+
'swim': ['swim', 'swam', 'swum', 'swimming', 'swims'],
|
|
124
|
+
'swing': ['swing', 'swung', 'swung', 'swinging', 'swings'],
|
|
125
|
+
'teach': ['teach', 'taught', 'taught', 'teaching', 'teaches'],
|
|
126
|
+
'tear': ['tear', 'tore', 'torn', 'tearing', 'tears'],
|
|
127
|
+
'throw': ['throw', 'threw', 'thrown', 'throwing', 'throws'],
|
|
128
|
+
'wake': ['wake', 'woke', 'woken', 'waking', 'wakes'],
|
|
129
|
+
'wear': ['wear', 'wore', 'worn', 'wearing', 'wears'],
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Get past tense of a verb
|
|
133
|
+
*/
|
|
134
|
+
export function getPastTense(verb) {
|
|
135
|
+
const lower = verb.toLowerCase();
|
|
136
|
+
const irregular = IRREGULAR_VERBS[lower];
|
|
137
|
+
if (irregular) {
|
|
138
|
+
const past = irregular[1];
|
|
139
|
+
// Handle was/were for 'be'
|
|
140
|
+
if (past.includes('/')) {
|
|
141
|
+
return past.split('/')[0]; // Default to singular
|
|
142
|
+
}
|
|
143
|
+
return past;
|
|
144
|
+
}
|
|
145
|
+
// Regular verb rules
|
|
146
|
+
if (lower.endsWith('e')) {
|
|
147
|
+
return verb + 'd';
|
|
148
|
+
}
|
|
149
|
+
if (lower.endsWith('y') && !['a', 'e', 'i', 'o', 'u'].includes(lower[lower.length - 2] ?? '')) {
|
|
150
|
+
return verb.slice(0, -1) + 'ied';
|
|
151
|
+
}
|
|
152
|
+
// Double final consonant for CVC pattern
|
|
153
|
+
if (shouldDoubleConsonant(lower)) {
|
|
154
|
+
return verb + verb[verb.length - 1] + 'ed';
|
|
155
|
+
}
|
|
156
|
+
return verb + 'ed';
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Get past participle of a verb
|
|
160
|
+
*/
|
|
161
|
+
export function getPastParticiple(verb) {
|
|
162
|
+
const lower = verb.toLowerCase();
|
|
163
|
+
const irregular = IRREGULAR_VERBS[lower];
|
|
164
|
+
if (irregular) {
|
|
165
|
+
return irregular[2];
|
|
166
|
+
}
|
|
167
|
+
// Regular verbs: same as past tense
|
|
168
|
+
return getPastTense(verb);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get present participle (gerund) of a verb
|
|
172
|
+
*/
|
|
173
|
+
export function getPresentParticiple(verb) {
|
|
174
|
+
const lower = verb.toLowerCase();
|
|
175
|
+
const irregular = IRREGULAR_VERBS[lower];
|
|
176
|
+
if (irregular) {
|
|
177
|
+
return irregular[3];
|
|
178
|
+
}
|
|
179
|
+
// Regular verb rules
|
|
180
|
+
if (lower.endsWith('ie')) {
|
|
181
|
+
return verb.slice(0, -2) + 'ying';
|
|
182
|
+
}
|
|
183
|
+
if (lower.endsWith('e') && !lower.endsWith('ee')) {
|
|
184
|
+
return verb.slice(0, -1) + 'ing';
|
|
185
|
+
}
|
|
186
|
+
// Double final consonant for CVC pattern
|
|
187
|
+
if (shouldDoubleConsonant(lower)) {
|
|
188
|
+
return verb + verb[verb.length - 1] + 'ing';
|
|
189
|
+
}
|
|
190
|
+
return verb + 'ing';
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Get third person singular present tense
|
|
194
|
+
*/
|
|
195
|
+
export function getThirdPersonSingular(verb) {
|
|
196
|
+
const lower = verb.toLowerCase();
|
|
197
|
+
const irregular = IRREGULAR_VERBS[lower];
|
|
198
|
+
if (irregular) {
|
|
199
|
+
return irregular[4];
|
|
200
|
+
}
|
|
201
|
+
// Regular verb rules
|
|
202
|
+
if (lower.endsWith('s') || lower.endsWith('x') || lower.endsWith('z') ||
|
|
203
|
+
lower.endsWith('ch') || lower.endsWith('sh') || lower.endsWith('o')) {
|
|
204
|
+
return verb + 'es';
|
|
205
|
+
}
|
|
206
|
+
if (lower.endsWith('y') && !['a', 'e', 'i', 'o', 'u'].includes(lower[lower.length - 2] ?? '')) {
|
|
207
|
+
return verb.slice(0, -1) + 'ies';
|
|
208
|
+
}
|
|
209
|
+
return verb + 's';
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Check if final consonant should be doubled
|
|
213
|
+
*/
|
|
214
|
+
function shouldDoubleConsonant(verb) {
|
|
215
|
+
if (verb.length < 2)
|
|
216
|
+
return false;
|
|
217
|
+
const vowels = 'aeiou';
|
|
218
|
+
const last = verb[verb.length - 1];
|
|
219
|
+
const secondLast = verb[verb.length - 2];
|
|
220
|
+
// Must end in consonant
|
|
221
|
+
if (vowels.includes(last))
|
|
222
|
+
return false;
|
|
223
|
+
// Previous must be a single vowel
|
|
224
|
+
if (!vowels.includes(secondLast))
|
|
225
|
+
return false;
|
|
226
|
+
// Check for single vowel pattern (not double vowel)
|
|
227
|
+
if (verb.length >= 3) {
|
|
228
|
+
const thirdLast = verb[verb.length - 3];
|
|
229
|
+
if (vowels.includes(thirdLast))
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
// Common exceptions that don't double
|
|
233
|
+
const noDouble = ['w', 'x', 'y'];
|
|
234
|
+
if (noDouble.includes(last))
|
|
235
|
+
return false;
|
|
236
|
+
return true;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Conjugate 'be' based on subject
|
|
240
|
+
*/
|
|
241
|
+
export function conjugateBe(subject, tense) {
|
|
242
|
+
if (tense === 'past') {
|
|
243
|
+
if (subject.number === 'singular' && subject.person !== 2) {
|
|
244
|
+
return 'was';
|
|
245
|
+
}
|
|
246
|
+
return 'were';
|
|
247
|
+
}
|
|
248
|
+
if (tense === 'future') {
|
|
249
|
+
return 'will be';
|
|
250
|
+
}
|
|
251
|
+
// Present
|
|
252
|
+
if (subject.number === 'singular') {
|
|
253
|
+
if (subject.person === 1)
|
|
254
|
+
return 'am';
|
|
255
|
+
if (subject.person === 3)
|
|
256
|
+
return 'is';
|
|
257
|
+
}
|
|
258
|
+
return 'are';
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Conjugate 'have' based on subject
|
|
262
|
+
*/
|
|
263
|
+
export function conjugateHave(subject, tense) {
|
|
264
|
+
if (tense === 'past') {
|
|
265
|
+
return 'had';
|
|
266
|
+
}
|
|
267
|
+
if (tense === 'future') {
|
|
268
|
+
return 'will have';
|
|
269
|
+
}
|
|
270
|
+
// Present
|
|
271
|
+
if (subject.number === 'singular' && subject.person === 3) {
|
|
272
|
+
return 'has';
|
|
273
|
+
}
|
|
274
|
+
return 'have';
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Conjugate 'do' based on subject
|
|
278
|
+
*/
|
|
279
|
+
export function conjugateDo(subject, tense) {
|
|
280
|
+
if (tense === 'past') {
|
|
281
|
+
return 'did';
|
|
282
|
+
}
|
|
283
|
+
if (tense === 'future') {
|
|
284
|
+
return 'will do';
|
|
285
|
+
}
|
|
286
|
+
// Present
|
|
287
|
+
if (subject.number === 'singular' && subject.person === 3) {
|
|
288
|
+
return 'does';
|
|
289
|
+
}
|
|
290
|
+
return 'do';
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Full verb conjugation
|
|
294
|
+
*/
|
|
295
|
+
export function conjugate(verb, options) {
|
|
296
|
+
const { tense, aspect, subject, negative = false } = options;
|
|
297
|
+
const lower = verb.toLowerCase();
|
|
298
|
+
// Handle 'be' specially
|
|
299
|
+
if (lower === 'be') {
|
|
300
|
+
return conjugateBe(subject, tense);
|
|
301
|
+
}
|
|
302
|
+
// Simple aspects
|
|
303
|
+
if (aspect === 'simple') {
|
|
304
|
+
if (tense === 'present') {
|
|
305
|
+
if (subject.number === 'singular' && subject.person === 3) {
|
|
306
|
+
return negative ? `does not ${verb}` : getThirdPersonSingular(verb);
|
|
307
|
+
}
|
|
308
|
+
return negative ? `do not ${verb}` : verb;
|
|
309
|
+
}
|
|
310
|
+
if (tense === 'past') {
|
|
311
|
+
return negative ? `did not ${verb}` : getPastTense(verb);
|
|
312
|
+
}
|
|
313
|
+
if (tense === 'future') {
|
|
314
|
+
return negative ? `will not ${verb}` : `will ${verb}`;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
// Progressive aspect
|
|
318
|
+
if (aspect === 'progressive') {
|
|
319
|
+
const participle = getPresentParticiple(verb);
|
|
320
|
+
const beVerb = conjugateBe(subject, tense);
|
|
321
|
+
return negative ? `${beVerb} not ${participle}` : `${beVerb} ${participle}`;
|
|
322
|
+
}
|
|
323
|
+
// Perfect aspect
|
|
324
|
+
if (aspect === 'perfect') {
|
|
325
|
+
const participle = getPastParticiple(verb);
|
|
326
|
+
const haveVerb = conjugateHave(subject, tense);
|
|
327
|
+
return negative ? `${haveVerb} not ${participle}` : `${haveVerb} ${participle}`;
|
|
328
|
+
}
|
|
329
|
+
// Perfect progressive
|
|
330
|
+
if (aspect === 'perfectProgressive') {
|
|
331
|
+
const participle = getPresentParticiple(verb);
|
|
332
|
+
const haveVerb = conjugateHave(subject, tense);
|
|
333
|
+
return negative ? `${haveVerb} not been ${participle}` : `${haveVerb} been ${participle}`;
|
|
334
|
+
}
|
|
335
|
+
return verb;
|
|
336
|
+
}
|
|
337
|
+
//# sourceMappingURL=conjugate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conjugate.js","sourceRoot":"","sources":["../../src/morphology/conjugate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conjugate.test.d.ts","sourceRoot":"","sources":["../../src/morphology/conjugate.test.ts"],"names":[],"mappings":""}
|