@kensio/pinyinjs 1.7.4 → 1.7.5
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/accuracy/score-case.d.ts +23 -0
- package/dist/accuracy/score-case.d.ts.map +1 -0
- package/dist/accuracy/score-case.js +63 -0
- package/dist/accuracy/score-case.js.map +1 -0
- package/dist/accuracy/score.d.ts +1 -8
- package/dist/accuracy/score.d.ts.map +1 -1
- package/dist/accuracy/score.js +1 -55
- package/dist/accuracy/score.js.map +1 -1
- package/dist/cli/arguments.d.ts +4 -290
- package/dist/cli/arguments.d.ts.map +1 -1
- package/dist/cli/arguments.js +5 -357
- package/dist/cli/arguments.js.map +1 -1
- package/dist/cli/check-command.d.ts +9 -0
- package/dist/cli/check-command.d.ts.map +1 -0
- package/dist/cli/check-command.js +95 -0
- package/dist/cli/check-command.js.map +1 -0
- package/dist/cli/cli-input.d.ts +49 -0
- package/dist/cli/cli-input.d.ts.map +1 -0
- package/dist/cli/cli-input.js +31 -0
- package/dist/cli/cli-input.js.map +1 -0
- package/dist/cli/command.d.ts +97 -0
- package/dist/cli/command.d.ts.map +1 -0
- package/dist/cli/command.js +40 -0
- package/dist/cli/command.js.map +1 -0
- package/dist/cli/commands.d.ts +7 -110
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +14 -991
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/convert-command.d.ts +6 -0
- package/dist/cli/convert-command.d.ts.map +1 -0
- package/dist/cli/convert-command.js +52 -0
- package/dist/cli/convert-command.js.map +1 -0
- package/dist/cli/environment.d.ts +1 -1
- package/dist/cli/environment.d.ts.map +1 -1
- package/dist/cli/explain-command.d.ts +6 -0
- package/dist/cli/explain-command.d.ts.map +1 -0
- package/dist/cli/explain-command.js +40 -0
- package/dist/cli/explain-command.js.map +1 -0
- package/dist/cli/explain-syllable.d.ts +10 -0
- package/dist/cli/explain-syllable.d.ts.map +1 -0
- package/dist/cli/explain-syllable.js +70 -0
- package/dist/cli/explain-syllable.js.map +1 -0
- package/dist/cli/flag-help.d.ts +18 -0
- package/dist/cli/flag-help.d.ts.map +1 -0
- package/dist/cli/flag-help.js +78 -0
- package/dist/cli/flag-help.js.map +1 -0
- package/dist/cli/flag-lists.d.ts +49 -0
- package/dist/cli/flag-lists.d.ts.map +1 -0
- package/dist/cli/flag-lists.js +58 -0
- package/dist/cli/flag-lists.js.map +1 -0
- package/dist/cli/flag-values.d.ts +44 -0
- package/dist/cli/flag-values.d.ts.map +1 -0
- package/dist/cli/flag-values.js +56 -0
- package/dist/cli/flag-values.js.map +1 -0
- package/dist/cli/flags.d.ts +193 -0
- package/dist/cli/flags.d.ts.map +1 -0
- package/dist/cli/flags.js +133 -0
- package/dist/cli/flags.js.map +1 -0
- package/dist/cli/format-options.d.ts +29 -0
- package/dist/cli/format-options.d.ts.map +1 -0
- package/dist/cli/format-options.js +72 -0
- package/dist/cli/format-options.js.map +1 -0
- package/dist/cli/global-help.d.ts +23 -0
- package/dist/cli/global-help.d.ts.map +1 -0
- package/dist/cli/global-help.js +40 -0
- package/dist/cli/global-help.js.map +1 -0
- package/dist/cli/help.d.ts +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +5 -99
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/html-commands.d.ts +13 -0
- package/dist/cli/html-commands.d.ts.map +1 -0
- package/dist/cli/html-commands.js +49 -0
- package/dist/cli/html-commands.js.map +1 -0
- package/dist/cli/info-command.d.ts +7 -0
- package/dist/cli/info-command.d.ts.map +1 -0
- package/dist/cli/info-command.js +39 -0
- package/dist/cli/info-command.js.map +1 -0
- package/dist/cli/lookup-commands.d.ts +10 -0
- package/dist/cli/lookup-commands.d.ts.map +1 -0
- package/dist/cli/lookup-commands.js +101 -0
- package/dist/cli/lookup-commands.js.map +1 -0
- package/dist/cli/match-command.d.ts +11 -0
- package/dist/cli/match-command.d.ts.map +1 -0
- package/dist/cli/match-command.js +76 -0
- package/dist/cli/match-command.js.map +1 -0
- package/dist/cli/number-command.d.ts +12 -0
- package/dist/cli/number-command.d.ts.map +1 -0
- package/dist/cli/number-command.js +89 -0
- package/dist/cli/number-command.js.map +1 -0
- package/dist/cli/options.d.ts +30 -0
- package/dist/cli/options.d.ts.map +1 -0
- package/dist/cli/options.js +54 -0
- package/dist/cli/options.js.map +1 -0
- package/dist/cli/run-command.d.ts +24 -0
- package/dist/cli/run-command.d.ts.map +1 -0
- package/dist/cli/run-command.js +40 -0
- package/dist/cli/run-command.js.map +1 -0
- package/dist/cli/run.d.ts +4 -42
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +6 -61
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/script-command.d.ts +10 -0
- package/dist/cli/script-command.d.ts.map +1 -0
- package/dist/cli/script-command.js +58 -0
- package/dist/cli/script-command.js.map +1 -0
- package/dist/cli/segment-command.d.ts +11 -0
- package/dist/cli/segment-command.d.ts.map +1 -0
- package/dist/cli/segment-command.js +53 -0
- package/dist/cli/segment-command.js.map +1 -0
- package/dist/cli/slug-command.d.ts +10 -0
- package/dist/cli/slug-command.d.ts.map +1 -0
- package/dist/cli/slug-command.js +28 -0
- package/dist/cli/slug-command.js.map +1 -0
- package/dist/cli/syllable-command.d.ts +14 -0
- package/dist/cli/syllable-command.d.ts.map +1 -0
- package/dist/cli/syllable-command.js +82 -0
- package/dist/cli/syllable-command.js.map +1 -0
- package/dist/cli/system-table.d.ts +12 -0
- package/dist/cli/system-table.d.ts.map +1 -0
- package/dist/cli/system-table.js +48 -0
- package/dist/cli/system-table.js.map +1 -0
- package/dist/cli/systems.d.ts +57 -0
- package/dist/cli/systems.d.ts.map +1 -0
- package/dist/cli/systems.js +27 -0
- package/dist/cli/systems.js.map +1 -0
- package/dist/cli/transcribe-command.d.ts +18 -0
- package/dist/cli/transcribe-command.d.ts.map +1 -0
- package/dist/cli/transcribe-command.js +86 -0
- package/dist/cli/transcribe-command.js.map +1 -0
- package/dist/cli/transcribe-reading.d.ts +15 -0
- package/dist/cli/transcribe-reading.d.ts.map +1 -0
- package/dist/cli/transcribe-reading.js +90 -0
- package/dist/cli/transcribe-reading.js.map +1 -0
- package/dist/cli/transcribe-rows.d.ts +26 -0
- package/dist/cli/transcribe-rows.d.ts.map +1 -0
- package/dist/cli/transcribe-rows.js +30 -0
- package/dist/cli/transcribe-rows.js.map +1 -0
- package/dist/cli/usage-error.d.ts +9 -0
- package/dist/cli/usage-error.d.ts.map +1 -0
- package/dist/cli/usage-error.js +9 -0
- package/dist/cli/usage-error.js.map +1 -0
- package/dist/decode/alternatives.d.ts +16 -0
- package/dist/decode/alternatives.d.ts.map +1 -0
- package/dist/decode/alternatives.js +31 -0
- package/dist/decode/alternatives.js.map +1 -0
- package/dist/decode/confidence.d.ts.map +1 -1
- package/dist/decode/confidence.js +3 -118
- package/dist/decode/confidence.js.map +1 -1
- package/dist/decode/convert-options.d.ts +116 -0
- package/dist/decode/convert-options.d.ts.map +1 -0
- package/dist/decode/convert-options.js +2 -0
- package/dist/decode/convert-options.js.map +1 -0
- package/dist/decode/convert-pipeline.d.ts +18 -0
- package/dist/decode/convert-pipeline.d.ts.map +1 -0
- package/dist/decode/convert-pipeline.js +66 -0
- package/dist/decode/convert-pipeline.js.map +1 -0
- package/dist/decode/convert.d.ts +9 -118
- package/dist/decode/convert.d.ts.map +1 -1
- package/dist/decode/convert.js +5 -453
- package/dist/decode/convert.js.map +1 -1
- package/dist/decode/decode.d.ts +2 -15
- package/dist/decode/decode.d.ts.map +1 -1
- package/dist/decode/decode.js +2 -121
- package/dist/decode/decode.js.map +1 -1
- package/dist/decode/decoders.d.ts +32 -0
- package/dist/decode/decoders.d.ts.map +1 -0
- package/dist/decode/decoders.js +29 -0
- package/dist/decode/decoders.js.map +1 -0
- package/dist/decode/edge-context.d.ts +38 -0
- package/dist/decode/edge-context.d.ts.map +1 -0
- package/dist/decode/edge-context.js +57 -0
- package/dist/decode/edge-context.js.map +1 -0
- package/dist/decode/hint-lattice.d.ts +45 -0
- package/dist/decode/hint-lattice.d.ts.map +1 -0
- package/dist/decode/hint-lattice.js +140 -0
- package/dist/decode/hint-lattice.js.map +1 -0
- package/dist/decode/hints.d.ts +2 -45
- package/dist/decode/hints.d.ts.map +1 -1
- package/dist/decode/hints.js +1 -139
- package/dist/decode/hints.js.map +1 -1
- package/dist/decode/jiao-rule.d.ts +58 -0
- package/dist/decode/jiao-rule.d.ts.map +1 -0
- package/dist/decode/jiao-rule.js +76 -0
- package/dist/decode/jiao-rule.js.map +1 -0
- package/dist/decode/lattice-costs.d.ts +55 -0
- package/dist/decode/lattice-costs.d.ts.map +1 -0
- package/dist/decode/lattice-costs.js +90 -0
- package/dist/decode/lattice-costs.js.map +1 -0
- package/dist/decode/lattice-edges.d.ts +29 -0
- package/dist/decode/lattice-edges.d.ts.map +1 -0
- package/dist/decode/lattice-edges.js +78 -0
- package/dist/decode/lattice-edges.js.map +1 -0
- package/dist/decode/lattice-slice.d.ts +37 -0
- package/dist/decode/lattice-slice.d.ts.map +1 -0
- package/dist/decode/lattice-slice.js +43 -0
- package/dist/decode/lattice-slice.js.map +1 -0
- package/dist/decode/lattice-types.d.ts +82 -0
- package/dist/decode/lattice-types.d.ts.map +1 -0
- package/dist/decode/lattice-types.js +44 -0
- package/dist/decode/lattice-types.js.map +1 -0
- package/dist/decode/lattice.d.ts +2 -59
- package/dist/decode/lattice.d.ts.map +1 -1
- package/dist/decode/lattice.js +2 -118
- package/dist/decode/lattice.js.map +1 -1
- package/dist/decode/number-pieces.d.ts +62 -0
- package/dist/decode/number-pieces.d.ts.map +1 -0
- package/dist/decode/number-pieces.js +106 -0
- package/dist/decode/number-pieces.js.map +1 -0
- package/dist/decode/numbers.d.ts +53 -0
- package/dist/decode/numbers.d.ts.map +1 -0
- package/dist/decode/numbers.js +69 -0
- package/dist/decode/numbers.js.map +1 -0
- package/dist/decode/pieces.d.ts +78 -0
- package/dist/decode/pieces.d.ts.map +1 -0
- package/dist/decode/pieces.js +136 -0
- package/dist/decode/pieces.js.map +1 -0
- package/dist/decode/polyphone-rules.d.ts +31 -0
- package/dist/decode/polyphone-rules.d.ts.map +1 -0
- package/dist/decode/polyphone-rules.js +159 -0
- package/dist/decode/polyphone-rules.js.map +1 -0
- package/dist/decode/reading-rules.d.ts +2 -97
- package/dist/decode/reading-rules.d.ts.map +1 -1
- package/dist/decode/reading-rules.js +4 -365
- package/dist/decode/reading-rules.js.map +1 -1
- package/dist/decode/rules.d.ts +1 -17
- package/dist/decode/rules.d.ts.map +1 -1
- package/dist/decode/rules.js +1 -43
- package/dist/decode/rules.js.map +1 -1
- package/dist/decode/run-lattice.d.ts +52 -0
- package/dist/decode/run-lattice.d.ts.map +1 -0
- package/dist/decode/run-lattice.js +91 -0
- package/dist/decode/run-lattice.js.map +1 -0
- package/dist/decode/sandhi-tones.d.ts +69 -0
- package/dist/decode/sandhi-tones.d.ts.map +1 -0
- package/dist/decode/sandhi-tones.js +88 -0
- package/dist/decode/sandhi-tones.js.map +1 -0
- package/dist/decode/sandhi.d.ts +1 -1
- package/dist/decode/sandhi.d.ts.map +1 -1
- package/dist/decode/sandhi.js +1 -81
- package/dist/decode/sandhi.js.map +1 -1
- package/dist/decode/script-types.d.ts +76 -0
- package/dist/decode/script-types.d.ts.map +1 -0
- package/dist/decode/script-types.js +35 -0
- package/dist/decode/script-types.js.map +1 -0
- package/dist/decode/script-words.d.ts +32 -0
- package/dist/decode/script-words.d.ts.map +1 -0
- package/dist/decode/script-words.js +77 -0
- package/dist/decode/script-words.js.map +1 -0
- package/dist/decode/script.d.ts +3 -73
- package/dist/decode/script.d.ts.map +1 -1
- package/dist/decode/script.js +3 -109
- package/dist/decode/script.js.map +1 -1
- package/dist/decode/tan-rule.d.ts +68 -0
- package/dist/decode/tan-rule.d.ts.map +1 -0
- package/dist/decode/tan-rule.js +131 -0
- package/dist/decode/tan-rule.js.map +1 -0
- package/dist/decode/write-run.d.ts +28 -0
- package/dist/decode/write-run.d.ts.map +1 -0
- package/dist/decode/write-run.js +77 -0
- package/dist/decode/write-run.js.map +1 -0
- package/dist/dictionary/artifact-claims.d.ts +25 -0
- package/dist/dictionary/artifact-claims.d.ts.map +1 -0
- package/dist/dictionary/artifact-claims.js +47 -0
- package/dist/dictionary/artifact-claims.js.map +1 -0
- package/dist/dictionary/artifact-format.d.ts +86 -0
- package/dist/dictionary/artifact-format.d.ts.map +1 -0
- package/dist/dictionary/artifact-format.js +91 -0
- package/dist/dictionary/artifact-format.js.map +1 -0
- package/dist/dictionary/artifact-read.d.ts +34 -0
- package/dist/dictionary/artifact-read.d.ts.map +1 -0
- package/dist/dictionary/artifact-read.js +114 -0
- package/dist/dictionary/artifact-read.js.map +1 -0
- package/dist/dictionary/artifact.d.ts +4 -63
- package/dist/dictionary/artifact.d.ts.map +1 -1
- package/dist/dictionary/artifact.js +12 -229
- package/dist/dictionary/artifact.js.map +1 -1
- package/dist/dictionary/assertions.d.ts +5 -57
- package/dist/dictionary/assertions.d.ts.map +1 -1
- package/dist/dictionary/assertions.js +4 -317
- package/dist/dictionary/assertions.js.map +1 -1
- package/dist/dictionary/build-assertions.d.ts +12 -0
- package/dist/dictionary/build-assertions.d.ts.map +1 -0
- package/dist/dictionary/build-assertions.js +13 -0
- package/dist/dictionary/build-assertions.js.map +1 -0
- package/dist/dictionary/built-dictionary.d.ts +46 -0
- package/dist/dictionary/built-dictionary.d.ts.map +1 -0
- package/dist/dictionary/built-dictionary.js +97 -0
- package/dist/dictionary/built-dictionary.js.map +1 -0
- package/dist/dictionary/cedict-senses.d.ts +80 -0
- package/dist/dictionary/cedict-senses.d.ts.map +1 -0
- package/dist/dictionary/cedict-senses.js +114 -0
- package/dist/dictionary/cedict-senses.js.map +1 -0
- package/dist/dictionary/character-defaults.d.ts +26 -0
- package/dist/dictionary/character-defaults.d.ts.map +1 -0
- package/dist/dictionary/character-defaults.js +67 -0
- package/dist/dictionary/character-defaults.js.map +1 -0
- package/dist/dictionary/character-readings.d.ts +10 -0
- package/dist/dictionary/character-readings.d.ts.map +1 -0
- package/dist/dictionary/character-readings.js +25 -0
- package/dist/dictionary/character-readings.js.map +1 -0
- package/dist/dictionary/dictionary-entry.d.ts +37 -0
- package/dist/dictionary/dictionary-entry.d.ts.map +1 -0
- package/dist/dictionary/dictionary-entry.js +41 -0
- package/dist/dictionary/dictionary-entry.js.map +1 -0
- package/dist/dictionary/dictionary-readings.d.ts +56 -0
- package/dist/dictionary/dictionary-readings.d.ts.map +1 -0
- package/dist/dictionary/dictionary-readings.js +93 -0
- package/dist/dictionary/dictionary-readings.js.map +1 -0
- package/dist/dictionary/dictionary.d.ts +6 -60
- package/dist/dictionary/dictionary.d.ts.map +1 -1
- package/dist/dictionary/dictionary.js +9 -169
- package/dist/dictionary/dictionary.js.map +1 -1
- package/dist/dictionary/entry-invariants.d.ts +3 -0
- package/dist/dictionary/entry-invariants.d.ts.map +1 -0
- package/dist/dictionary/entry-invariants.js +67 -0
- package/dist/dictionary/entry-invariants.js.map +1 -0
- package/dist/dictionary/entry-lines.d.ts +35 -0
- package/dist/dictionary/entry-lines.d.ts.map +1 -0
- package/dist/dictionary/entry-lines.js +70 -0
- package/dist/dictionary/entry-lines.js.map +1 -0
- package/dist/dictionary/erhua-repair.d.ts +26 -0
- package/dist/dictionary/erhua-repair.d.ts.map +1 -0
- package/dist/dictionary/erhua-repair.js +49 -0
- package/dist/dictionary/erhua-repair.js.map +1 -0
- package/dist/dictionary/frequency-tones.d.ts +74 -0
- package/dist/dictionary/frequency-tones.d.ts.map +1 -0
- package/dist/dictionary/frequency-tones.js +128 -0
- package/dist/dictionary/frequency-tones.js.map +1 -0
- package/dist/dictionary/inventory-invariants.d.ts +3 -0
- package/dist/dictionary/inventory-invariants.d.ts.map +1 -0
- package/dist/dictionary/inventory-invariants.js +54 -0
- package/dist/dictionary/inventory-invariants.js.map +1 -0
- package/dist/dictionary/locale-candidates.d.ts +40 -0
- package/dist/dictionary/locale-candidates.d.ts.map +1 -0
- package/dist/dictionary/locale-candidates.js +77 -0
- package/dist/dictionary/locale-candidates.js.map +1 -0
- package/dist/dictionary/locale-segments.d.ts +47 -0
- package/dist/dictionary/locale-segments.d.ts.map +1 -0
- package/dist/dictionary/locale-segments.js +141 -0
- package/dist/dictionary/locale-segments.js.map +1 -0
- package/dist/dictionary/locale.d.ts +1 -21
- package/dist/dictionary/locale.d.ts.map +1 -1
- package/dist/dictionary/locale.js +9 -198
- package/dist/dictionary/locale.js.map +1 -1
- package/dist/dictionary/merge-types.d.ts +121 -0
- package/dist/dictionary/merge-types.d.ts.map +1 -0
- package/dist/dictionary/merge-types.js +35 -0
- package/dist/dictionary/merge-types.js.map +1 -0
- package/dist/dictionary/merge-word.d.ts +7 -0
- package/dist/dictionary/merge-word.d.ts.map +1 -0
- package/dist/dictionary/merge-word.js +91 -0
- package/dist/dictionary/merge-word.js.map +1 -0
- package/dist/dictionary/merge.d.ts +5 -62
- package/dist/dictionary/merge.d.ts.map +1 -1
- package/dist/dictionary/merge.js +30 -713
- package/dist/dictionary/merge.js.map +1 -1
- package/dist/dictionary/proper-noun.d.ts +28 -0
- package/dist/dictionary/proper-noun.d.ts.map +1 -0
- package/dist/dictionary/proper-noun.js +43 -0
- package/dist/dictionary/proper-noun.js.map +1 -0
- package/dist/dictionary/reading-agreement.d.ts +71 -0
- package/dist/dictionary/reading-agreement.d.ts.map +1 -0
- package/dist/dictionary/reading-agreement.js +156 -0
- package/dist/dictionary/reading-agreement.js.map +1 -0
- package/dist/dictionary/script-conversion.d.ts +28 -0
- package/dist/dictionary/script-conversion.d.ts.map +1 -0
- package/dist/dictionary/script-conversion.js +58 -0
- package/dist/dictionary/script-conversion.js.map +1 -0
- package/dist/dictionary/script-pairings.d.ts +74 -0
- package/dist/dictionary/script-pairings.d.ts.map +1 -0
- package/dist/dictionary/script-pairings.js +120 -0
- package/dist/dictionary/script-pairings.js.map +1 -0
- package/dist/dictionary/script-tables.d.ts.map +1 -1
- package/dist/dictionary/script-tables.js +2 -165
- package/dist/dictionary/script-tables.js.map +1 -1
- package/dist/dictionary/taiwan-reading.d.ts +8 -0
- package/dist/dictionary/taiwan-reading.d.ts.map +1 -0
- package/dist/dictionary/taiwan-reading.js +38 -0
- package/dist/dictionary/taiwan-reading.js.map +1 -0
- package/dist/dictionary/tone-invariants.d.ts +3 -0
- package/dist/dictionary/tone-invariants.d.ts.map +1 -0
- package/dist/dictionary/tone-invariants.js +64 -0
- package/dist/dictionary/tone-invariants.js.map +1 -0
- package/dist/dictionary/traditional-form.d.ts +21 -0
- package/dist/dictionary/traditional-form.d.ts.map +1 -0
- package/dist/dictionary/traditional-form.js +59 -0
- package/dist/dictionary/traditional-form.js.map +1 -0
- package/dist/dictionary/traditional-ranking.d.ts +22 -0
- package/dist/dictionary/traditional-ranking.d.ts.map +1 -0
- package/dist/dictionary/traditional-ranking.js +74 -0
- package/dist/dictionary/traditional-ranking.js.map +1 -0
- package/dist/dictionary/traditional-table.d.ts +51 -0
- package/dist/dictionary/traditional-table.d.ts.map +1 -0
- package/dist/dictionary/traditional-table.js +98 -0
- package/dist/dictionary/traditional-table.js.map +1 -0
- package/dist/dictionary/traditional.d.ts +3 -56
- package/dist/dictionary/traditional.d.ts.map +1 -1
- package/dist/dictionary/traditional.js +3 -186
- package/dist/dictionary/traditional.js.map +1 -1
- package/dist/dictionary/variant-counts.d.ts +39 -0
- package/dist/dictionary/variant-counts.d.ts.map +1 -0
- package/dist/dictionary/variant-counts.js +38 -0
- package/dist/dictionary/variant-counts.js.map +1 -0
- package/dist/dictionary/word-reading.d.ts +26 -0
- package/dist/dictionary/word-reading.d.ts.map +1 -0
- package/dist/dictionary/word-reading.js +76 -0
- package/dist/dictionary/word-reading.js.map +1 -0
- package/dist/dictionary/word-readings.d.ts +15 -0
- package/dist/dictionary/word-readings.d.ts.map +1 -0
- package/dist/dictionary/word-readings.js +38 -0
- package/dist/dictionary/word-readings.js.map +1 -0
- package/dist/format/annotate.d.ts +90 -0
- package/dist/format/annotate.d.ts.map +1 -0
- package/dist/format/annotate.js +168 -0
- package/dist/format/annotate.js.map +1 -0
- package/dist/format/html.d.ts +15 -46
- package/dist/format/html.d.ts.map +1 -1
- package/dist/format/html.js +3 -162
- package/dist/format/html.js.map +1 -1
- package/dist/format/slug-hash.d.ts +51 -0
- package/dist/format/slug-hash.d.ts.map +1 -0
- package/dist/format/slug-hash.js +74 -0
- package/dist/format/slug-hash.js.map +1 -0
- package/dist/format/slug-options.d.ts +98 -0
- package/dist/format/slug-options.d.ts.map +1 -0
- package/dist/format/slug-options.js +2 -0
- package/dist/format/slug-options.js.map +1 -0
- package/dist/format/slug-words.d.ts +27 -0
- package/dist/format/slug-words.d.ts.map +1 -0
- package/dist/format/slug-words.js +0 -0
- package/dist/format/slug-words.js.map +1 -0
- package/dist/format/slug.d.ts +3 -128
- package/dist/format/slug.d.ts.map +1 -1
- package/dist/format/slug.js +0 -0
- package/dist/format/slug.js.map +1 -1
- package/dist/grade/check-readings.d.ts +41 -0
- package/dist/grade/check-readings.d.ts.map +1 -0
- package/dist/grade/check-readings.js +36 -0
- package/dist/grade/check-readings.js.map +1 -0
- package/dist/grade/check.d.ts +4 -4
- package/dist/grade/check.d.ts.map +1 -1
- package/dist/grade/check.js +5 -270
- package/dist/grade/check.js.map +1 -1
- package/dist/grade/pair-syllables.d.ts +48 -0
- package/dist/grade/pair-syllables.d.ts.map +1 -0
- package/dist/grade/pair-syllables.js +71 -0
- package/dist/grade/pair-syllables.js.map +1 -0
- package/dist/grade/reading-syllables.d.ts +62 -0
- package/dist/grade/reading-syllables.d.ts.map +1 -0
- package/dist/grade/reading-syllables.js +58 -0
- package/dist/grade/reading-syllables.js.map +1 -0
- package/dist/grade/reading-tolerance.d.ts +72 -0
- package/dist/grade/reading-tolerance.d.ts.map +1 -0
- package/dist/grade/reading-tolerance.js +107 -0
- package/dist/grade/reading-tolerance.js.map +1 -0
- package/dist/grade/typed-reading.d.ts +28 -0
- package/dist/grade/typed-reading.d.ts.map +1 -0
- package/dist/grade/typed-reading.js +36 -0
- package/dist/grade/typed-reading.js.map +1 -0
- package/dist/numerals/numeral-parse.d.ts +32 -0
- package/dist/numerals/numeral-parse.d.ts.map +1 -0
- package/dist/numerals/numeral-parse.js +44 -0
- package/dist/numerals/numeral-parse.js.map +1 -0
- package/dist/numerals/numeral-shapes.d.ts +89 -0
- package/dist/numerals/numeral-shapes.d.ts.map +1 -0
- package/dist/numerals/numeral-shapes.js +99 -0
- package/dist/numerals/numeral-shapes.js.map +1 -0
- package/dist/numerals/numerals.d.ts.map +1 -1
- package/dist/numerals/numerals.js +2 -36
- package/dist/numerals/numerals.js.map +1 -1
- package/dist/numerals/read-numeral.d.ts +76 -0
- package/dist/numerals/read-numeral.d.ts.map +1 -0
- package/dist/numerals/read-numeral.js +88 -0
- package/dist/numerals/read-numeral.js.map +1 -0
- package/dist/numerals/text.d.ts +3 -37
- package/dist/numerals/text.d.ts.map +1 -1
- package/dist/numerals/text.js +3 -254
- package/dist/numerals/text.js.map +1 -1
- package/dist/numerals/time.d.ts +34 -0
- package/dist/numerals/time.d.ts.map +1 -0
- package/dist/numerals/time.js +93 -0
- package/dist/numerals/time.js.map +1 -0
- package/dist/orthography/address-grouping.d.ts +34 -0
- package/dist/orthography/address-grouping.d.ts.map +1 -0
- package/dist/orthography/address-grouping.js +52 -0
- package/dist/orthography/address-grouping.js.map +1 -0
- package/dist/orthography/grouping.d.ts +3 -87
- package/dist/orthography/grouping.d.ts.map +1 -1
- package/dist/orthography/grouping.js +4 -270
- package/dist/orthography/grouping.js.map +1 -1
- package/dist/orthography/place-grouping.d.ts +39 -0
- package/dist/orthography/place-grouping.d.ts.map +1 -0
- package/dist/orthography/place-grouping.js +83 -0
- package/dist/orthography/place-grouping.js.map +1 -0
- package/dist/orthography/word-grouping.d.ts +48 -0
- package/dist/orthography/word-grouping.d.ts.map +1 -0
- package/dist/orthography/word-grouping.js +147 -0
- package/dist/orthography/word-grouping.js.map +1 -0
- package/dist/script/conversion-format.d.ts +22 -0
- package/dist/script/conversion-format.d.ts.map +1 -0
- package/dist/script/conversion-format.js +22 -0
- package/dist/script/conversion-format.js.map +1 -0
- package/dist/script/conversion-read.d.ts +9 -0
- package/dist/script/conversion-read.d.ts.map +1 -0
- package/dist/script/conversion-read.js +69 -0
- package/dist/script/conversion-read.js.map +1 -0
- package/dist/script/conversion-write.d.ts +14 -0
- package/dist/script/conversion-write.d.ts.map +1 -0
- package/dist/script/conversion-write.js +34 -0
- package/dist/script/conversion-write.js.map +1 -0
- package/dist/script/conversion.d.ts +10 -16
- package/dist/script/conversion.d.ts.map +1 -1
- package/dist/script/conversion.js +2 -115
- package/dist/script/conversion.js.map +1 -1
- package/dist/search/candidate-narrowing.d.ts +56 -0
- package/dist/search/candidate-narrowing.d.ts.map +1 -0
- package/dist/search/candidate-narrowing.js +55 -0
- package/dist/search/candidate-narrowing.js.map +1 -0
- package/dist/search/candidate-query.d.ts +25 -0
- package/dist/search/candidate-query.d.ts.map +1 -0
- package/dist/search/candidate-query.js +28 -0
- package/dist/search/candidate-query.js.map +1 -0
- package/dist/search/candidate-writings.d.ts +24 -0
- package/dist/search/candidate-writings.d.ts.map +1 -0
- package/dist/search/candidate-writings.js +114 -0
- package/dist/search/candidate-writings.js.map +1 -0
- package/dist/search/candidates.d.ts +7 -41
- package/dist/search/candidates.d.ts.map +1 -1
- package/dist/search/candidates.js +10 -164
- package/dist/search/candidates.js.map +1 -1
- package/dist/search/match-chunks.d.ts +19 -0
- package/dist/search/match-chunks.d.ts.map +1 -0
- package/dist/search/match-chunks.js +30 -0
- package/dist/search/match-chunks.js.map +1 -0
- package/dist/search/match-ranking.d.ts +39 -0
- package/dist/search/match-ranking.d.ts.map +1 -0
- package/dist/search/match-ranking.js +51 -0
- package/dist/search/match-ranking.js.map +1 -0
- package/dist/search/match-readings.d.ts +43 -0
- package/dist/search/match-readings.d.ts.map +1 -0
- package/dist/search/match-readings.js +83 -0
- package/dist/search/match-readings.js.map +1 -0
- package/dist/search/match-scoring.d.ts +146 -0
- package/dist/search/match-scoring.d.ts.map +1 -0
- package/dist/search/match-scoring.js +114 -0
- package/dist/search/match-scoring.js.map +1 -0
- package/dist/search/match-search.d.ts +28 -0
- package/dist/search/match-search.d.ts.map +1 -0
- package/dist/search/match-search.js +128 -0
- package/dist/search/match-search.js.map +1 -0
- package/dist/search/match.d.ts +5 -36
- package/dist/search/match.d.ts.map +1 -1
- package/dist/search/match.js +2 -379
- package/dist/search/match.js.map +1 -1
- package/dist/search/reverse-index-build.d.ts +30 -0
- package/dist/search/reverse-index-build.d.ts.map +1 -0
- package/dist/search/reverse-index-build.js +72 -0
- package/dist/search/reverse-index-build.js.map +1 -0
- package/dist/search/reverse-index-format.d.ts +60 -0
- package/dist/search/reverse-index-format.d.ts.map +1 -0
- package/dist/search/reverse-index-format.js +54 -0
- package/dist/search/reverse-index-format.js.map +1 -0
- package/dist/search/reverse-index-groups.d.ts +37 -0
- package/dist/search/reverse-index-groups.d.ts.map +1 -0
- package/dist/search/reverse-index-groups.js +71 -0
- package/dist/search/reverse-index-groups.js.map +1 -0
- package/dist/search/reverse-index-passes.d.ts +78 -0
- package/dist/search/reverse-index-passes.d.ts.map +1 -0
- package/dist/search/reverse-index-passes.js +59 -0
- package/dist/search/reverse-index-passes.js.map +1 -0
- package/dist/search/reverse-index-state.d.ts +36 -0
- package/dist/search/reverse-index-state.d.ts.map +1 -0
- package/dist/search/reverse-index-state.js +95 -0
- package/dist/search/reverse-index-state.js.map +1 -0
- package/dist/search/reverse-index.d.ts +8 -67
- package/dist/search/reverse-index.d.ts.map +1 -1
- package/dist/search/reverse-index.js +4 -255
- package/dist/search/reverse-index.js.map +1 -1
- package/dist/sources/unihan-readings.d.ts +58 -0
- package/dist/sources/unihan-readings.d.ts.map +1 -0
- package/dist/sources/unihan-readings.js +95 -0
- package/dist/sources/unihan-readings.js.map +1 -0
- package/dist/sources/unihan.d.ts +6 -9
- package/dist/sources/unihan.d.ts.map +1 -1
- package/dist/sources/unihan.js +2 -85
- package/dist/sources/unihan.js.map +1 -1
- package/dist/syllable/final-tables.d.ts +23 -0
- package/dist/syllable/final-tables.d.ts.map +1 -0
- package/dist/syllable/final-tables.js +50 -0
- package/dist/syllable/final-tables.js.map +1 -0
- package/dist/syllable/inventory.d.ts +8 -42
- package/dist/syllable/inventory.d.ts.map +1 -1
- package/dist/syllable/inventory.js +9 -918
- package/dist/syllable/inventory.js.map +1 -1
- package/dist/syllable/spellings.d.ts +40 -0
- package/dist/syllable/spellings.d.ts.map +1 -0
- package/dist/syllable/spellings.js +469 -0
- package/dist/syllable/spellings.js.map +1 -0
- package/dist/syllable/syllable-parts.d.ts +31 -0
- package/dist/syllable/syllable-parts.d.ts.map +1 -0
- package/dist/syllable/syllable-parts.js +105 -0
- package/dist/syllable/syllable-parts.js.map +1 -0
- package/dist/syllable/syllable.d.ts +1 -14
- package/dist/syllable/syllable.d.ts.map +1 -1
- package/dist/syllable/syllable.js +3 -144
- package/dist/syllable/syllable.js.map +1 -1
- package/dist/syllable/written-tones.d.ts +6 -0
- package/dist/syllable/written-tones.d.ts.map +1 -0
- package/dist/syllable/written-tones.js +453 -0
- package/dist/syllable/written-tones.js.map +1 -0
- package/dist/transcription/bopomofo-parse.d.ts +42 -0
- package/dist/transcription/bopomofo-parse.d.ts.map +1 -0
- package/dist/transcription/bopomofo-parse.js +92 -0
- package/dist/transcription/bopomofo-parse.js.map +1 -0
- package/dist/transcription/bopomofo-reverse.d.ts +31 -0
- package/dist/transcription/bopomofo-reverse.d.ts.map +1 -0
- package/dist/transcription/bopomofo-reverse.js +48 -0
- package/dist/transcription/bopomofo-reverse.js.map +1 -0
- package/dist/transcription/bopomofo-symbols.d.ts +36 -0
- package/dist/transcription/bopomofo-symbols.d.ts.map +1 -0
- package/dist/transcription/bopomofo-symbols.js +41 -0
- package/dist/transcription/bopomofo-symbols.js.map +1 -0
- package/dist/transcription/bopomofo-tables.d.ts +87 -0
- package/dist/transcription/bopomofo-tables.d.ts.map +1 -0
- package/dist/transcription/bopomofo-tables.js +180 -0
- package/dist/transcription/bopomofo-tables.js.map +1 -0
- package/dist/transcription/bopomofo.d.ts +14 -32
- package/dist/transcription/bopomofo.d.ts.map +1 -1
- package/dist/transcription/bopomofo.js +5 -343
- package/dist/transcription/bopomofo.js.map +1 -1
- package/dist/transcription/gwoyeu-first-second.d.ts +36 -0
- package/dist/transcription/gwoyeu-first-second.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-first-second.js +75 -0
- package/dist/transcription/gwoyeu-first-second.js.map +1 -0
- package/dist/transcription/gwoyeu-spelling.d.ts +38 -0
- package/dist/transcription/gwoyeu-spelling.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-spelling.js +124 -0
- package/dist/transcription/gwoyeu-spelling.js.map +1 -0
- package/dist/transcription/gwoyeu-tables.d.ts +93 -0
- package/dist/transcription/gwoyeu-tables.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-tables.js +205 -0
- package/dist/transcription/gwoyeu-tables.js.map +1 -0
- package/dist/transcription/gwoyeu-tonal-forms.d.ts +49 -0
- package/dist/transcription/gwoyeu-tonal-forms.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-tonal-forms.js +89 -0
- package/dist/transcription/gwoyeu-tonal-forms.js.map +1 -0
- package/dist/transcription/gwoyeu-vowels.d.ts +51 -0
- package/dist/transcription/gwoyeu-vowels.d.ts.map +1 -0
- package/dist/transcription/gwoyeu-vowels.js +58 -0
- package/dist/transcription/gwoyeu-vowels.js.map +1 -0
- package/dist/transcription/gwoyeu.d.ts +1 -26
- package/dist/transcription/gwoyeu.d.ts.map +1 -1
- package/dist/transcription/gwoyeu.js +2 -540
- package/dist/transcription/gwoyeu.js.map +1 -1
- package/dist/transcription/ipa-symbols.d.ts +67 -0
- package/dist/transcription/ipa-symbols.d.ts.map +1 -0
- package/dist/transcription/ipa-symbols.js +135 -0
- package/dist/transcription/ipa-symbols.js.map +1 -0
- package/dist/transcription/ipa.d.ts +2 -10
- package/dist/transcription/ipa.d.ts.map +1 -1
- package/dist/transcription/ipa.js +2 -134
- package/dist/transcription/ipa.js.map +1 -1
- package/dist/transcription/wade-giles-index.d.ts +35 -0
- package/dist/transcription/wade-giles-index.d.ts.map +1 -0
- package/dist/transcription/wade-giles-index.js +110 -0
- package/dist/transcription/wade-giles-index.js.map +1 -0
- package/dist/transcription/wade-giles-parse.d.ts +36 -0
- package/dist/transcription/wade-giles-parse.d.ts.map +1 -0
- package/dist/transcription/wade-giles-parse.js +84 -0
- package/dist/transcription/wade-giles-parse.js.map +1 -0
- package/dist/transcription/wade-giles-spelling.d.ts +61 -0
- package/dist/transcription/wade-giles-spelling.d.ts.map +1 -0
- package/dist/transcription/wade-giles-spelling.js +107 -0
- package/dist/transcription/wade-giles-spelling.js.map +1 -0
- package/dist/transcription/wade-giles-syllable.d.ts +29 -0
- package/dist/transcription/wade-giles-syllable.d.ts.map +1 -0
- package/dist/transcription/wade-giles-syllable.js +90 -0
- package/dist/transcription/wade-giles-syllable.js.map +1 -0
- package/dist/transcription/wade-giles-tables.d.ts +80 -0
- package/dist/transcription/wade-giles-tables.d.ts.map +1 -0
- package/dist/transcription/wade-giles-tables.js +178 -0
- package/dist/transcription/wade-giles-tables.js.map +1 -0
- package/dist/transcription/wade-giles.d.ts +9 -60
- package/dist/transcription/wade-giles.d.ts.map +1 -1
- package/dist/transcription/wade-giles.js +6 -543
- package/dist/transcription/wade-giles.js.map +1 -1
- package/dist/transcription/yale-tables.d.ts +54 -0
- package/dist/transcription/yale-tables.d.ts.map +1 -0
- package/dist/transcription/yale-tables.js +125 -0
- package/dist/transcription/yale-tables.js.map +1 -0
- package/dist/transcription/yale.d.ts.map +1 -1
- package/dist/transcription/yale.js +1 -124
- package/dist/transcription/yale.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reading-syllables.d.ts","sourceRoot":"","sources":["../../src/grade/reading-syllables.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,cAAc,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,SAAS,MAAM,EAAE,CAQnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAEnE;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,cAAc,EAAE,GAChC,SAAS,eAAe,EAAE,CAoB5B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { toCharacters } from "../script/characters.js";
|
|
2
|
+
/**
|
|
3
|
+
* Where each piece's source characters start, in code points.
|
|
4
|
+
*
|
|
5
|
+
* Read off the sources rather than tracked through the conversion, which works
|
|
6
|
+
* because every character of the text is named by exactly one piece — a piece
|
|
7
|
+
* naming none is either pinyin orthography the source has no trace of, such as
|
|
8
|
+
* the space between two words, or a syllable reading on into the characters the
|
|
9
|
+
* piece before it named.
|
|
10
|
+
*/
|
|
11
|
+
export function sourcePositions(pieces) {
|
|
12
|
+
const positions = [];
|
|
13
|
+
let at = 0;
|
|
14
|
+
for (const piece of pieces) {
|
|
15
|
+
positions.push(at);
|
|
16
|
+
at += toCharacters(piece.source ?? "").length;
|
|
17
|
+
}
|
|
18
|
+
return positions;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* What a piece written between two syllables makes of the join.
|
|
22
|
+
*
|
|
23
|
+
* Only a hyphen written where the syllables would otherwise have run together
|
|
24
|
+
* is 分词连写's internal boundary; anything else — a space, punctuation, a
|
|
25
|
+
* stretch that was never Han — separates two words.
|
|
26
|
+
*/
|
|
27
|
+
export function junctionOver(text, held) {
|
|
28
|
+
return text === "-" && held === "join" ? "hyphen" : "break";
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The syllables a conversion writes, with their positions and what joins them.
|
|
32
|
+
*
|
|
33
|
+
* A conversion writes its syllables as adjacent pieces within a word — the
|
|
34
|
+
* 隔音符号 is part of a syllable's own spelling rather than a piece of its own —
|
|
35
|
+
* so anything standing between two of them is a boundary, and the hyphen of
|
|
36
|
+
* 分词连写 is the one that is not a word boundary.
|
|
37
|
+
*/
|
|
38
|
+
export function readingSyllables(pieces) {
|
|
39
|
+
const positions = sourcePositions(pieces);
|
|
40
|
+
const syllables = [];
|
|
41
|
+
// The first syllable of a text begins a word, whatever comes before it.
|
|
42
|
+
let junction = "break";
|
|
43
|
+
for (const [at, piece] of pieces.entries()) {
|
|
44
|
+
if (piece.syllable === undefined) {
|
|
45
|
+
junction = junctionOver(piece.text, junction);
|
|
46
|
+
continue;
|
|
47
|
+
}
|
|
48
|
+
syllables.push({
|
|
49
|
+
piece: { ...piece, syllable: piece.syllable },
|
|
50
|
+
/* c8 ignore next -- one position is recorded for each piece there is */
|
|
51
|
+
at: positions[at] ?? 0,
|
|
52
|
+
junction,
|
|
53
|
+
});
|
|
54
|
+
junction = "join";
|
|
55
|
+
}
|
|
56
|
+
return syllables;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=reading-syllables.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reading-syllables.js","sourceRoot":"","sources":["../../src/grade/reading-syllables.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA0BvD;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiC;IAEjC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnB,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IAChD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,IAAc;IACvD,OAAO,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAiC;IAEjC,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAsB,EAAE,CAAC;IACxC,wEAAwE;IACxE,IAAI,QAAQ,GAAa,OAAO,CAAC;IAEjC,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QACD,SAAS,CAAC,IAAI,CAAC;YACb,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC7C,wEAAwE;YACxE,EAAE,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;YACtB,QAAQ;SACT,CAAC,CAAC;QACH,QAAQ,GAAG,MAAM,CAAC;IACpB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything a typed syllable is allowed to be, beside the one answer.
|
|
3
|
+
*
|
|
4
|
+
* The checker's whole difficulty is here: the library writes one reading, and
|
|
5
|
+
* several others are not mistakes. A tone the sandhi square reaches the other
|
|
6
|
+
* way round, a reading the decode turned down without much reason to — each is
|
|
7
|
+
* a separate source of tolerance, and each is gathered here so that
|
|
8
|
+
* `check-readings.ts` can simply put them together.
|
|
9
|
+
*/
|
|
10
|
+
import { type ConvertOptions } from "../decode/convert.js";
|
|
11
|
+
import type { Dictionary } from "../dictionary/dictionary.js";
|
|
12
|
+
import type { SandhiOptions } from "../decode/sandhi.js";
|
|
13
|
+
import { type Syllable } from "../syllable/syllable.js";
|
|
14
|
+
import type { Tone } from "../tone/tone.js";
|
|
15
|
+
import { type ReadingPiece, type ReadingSyllable } from "./reading-syllables.js";
|
|
16
|
+
/**
|
|
17
|
+
* The other corner of the sandhi square.
|
|
18
|
+
*
|
|
19
|
+
* A learner may write the underlying tones or the tones actually said, and both
|
|
20
|
+
* are right — 你好 is written `nǐ hǎo` and said `ní hǎo`. Rather than convert
|
|
21
|
+
* four times for the four combinations of {@link SandhiOptions}, this converts
|
|
22
|
+
* twice and inverts both switches at once, which reaches every tone: 一 and 不
|
|
23
|
+
* sandhi applies to syllables in the first and fourth tones, third-tone sandhi
|
|
24
|
+
* only to syllables in the third, so the two passes never touch the same
|
|
25
|
+
* syllable and each one's two forms both appear across the two corners.
|
|
26
|
+
*/
|
|
27
|
+
export declare function oppositeSandhi(sandhi: SandhiOptions | undefined): SandhiOptions;
|
|
28
|
+
/**
|
|
29
|
+
* The readings the decode turned down without much reason to.
|
|
30
|
+
*
|
|
31
|
+
* The decode charges {@link READING_CHARGE} for a word boundary, so a rejected
|
|
32
|
+
* reading costing less than that was available without breaking any dictionary
|
|
33
|
+
* word apart — see {@link import("../decode/confidence.js").isUncertain}, which
|
|
34
|
+
* is the same threshold read as a question rather than as a filter. The library
|
|
35
|
+
* knows it was guessing there, so a learner who guessed the other way is not
|
|
36
|
+
* wrong.
|
|
37
|
+
*
|
|
38
|
+
* Only a rejected reading of exactly the one character this syllable reads is
|
|
39
|
+
* taken. An alternative can cover a different stretch — 玩儿 read as `wánr`
|
|
40
|
+
* competes with 玩 `wán` and 儿 `ér` — and a claim about other characters says
|
|
41
|
+
* nothing about what belongs in this position.
|
|
42
|
+
*/
|
|
43
|
+
export declare function rejectedReadings(piece: ReadingPiece): readonly Syllable[];
|
|
44
|
+
/**
|
|
45
|
+
* Gather readings into the spellings and tones they allow.
|
|
46
|
+
*
|
|
47
|
+
* The tone is allowed to be undefined only because {@link Syllable.tone} is: a
|
|
48
|
+
* reading that came out of the dictionary always carries one.
|
|
49
|
+
*/
|
|
50
|
+
export declare function acceptedReadings(readings: readonly Syllable[]): ReadonlyMap<string, ReadonlySet<Tone | undefined>>;
|
|
51
|
+
/**
|
|
52
|
+
* The same text converted three ways, one for each source of tolerance.
|
|
53
|
+
*
|
|
54
|
+
* The first is the answer itself, with the confidence report beside it. The
|
|
55
|
+
* second is the other corner of the sandhi square, which is where the second
|
|
56
|
+
* form of every tone comes from. The third is the same text written under the
|
|
57
|
+
* other spacing convention, which is where a boundary's tolerance comes from:
|
|
58
|
+
* 分词连写 is what puts 了 on its verb and separates 市 from 南京, and a learner
|
|
59
|
+
* who wrote the words the dictionary knows instead — `tā kàn le`, `Nánjīngshì`
|
|
60
|
+
* — has written one of the two conventions this package implements rather than
|
|
61
|
+
* made a mistake.
|
|
62
|
+
*
|
|
63
|
+
* All three decode identically. Sandhi rewrites tones and 分词连写 moves
|
|
64
|
+
* boundaries; neither touches the syllables underneath, so all three line up one
|
|
65
|
+
* for one.
|
|
66
|
+
*/
|
|
67
|
+
export declare function readingsThreeWays(dictionary: Dictionary, text: string, options: ConvertOptions): {
|
|
68
|
+
readonly written: readonly ReadingSyllable[];
|
|
69
|
+
readonly said: readonly ReadingSyllable[];
|
|
70
|
+
readonly spaced: readonly ReadingSyllable[];
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=reading-tolerance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reading-tolerance.d.ts","sourceRoot":"","sources":["../../src/grade/reading-tolerance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EACL,KAAK,cAAc,EAGpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,KAAK,QAAQ,EAAyB,MAAM,yBAAyB,CAAC;AAC/E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EAErB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,aAAa,GAAG,SAAS,GAChC,aAAa,CAKf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,QAAQ,EAAE,CAczE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,SAAS,QAAQ,EAAE,GAC5B,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAUpD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GACtB;IACD,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;IAC1C,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;CAC7C,CAgBA"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Everything a typed syllable is allowed to be, beside the one answer.
|
|
3
|
+
*
|
|
4
|
+
* The checker's whole difficulty is here: the library writes one reading, and
|
|
5
|
+
* several others are not mistakes. A tone the sandhi square reaches the other
|
|
6
|
+
* way round, a reading the decode turned down without much reason to — each is
|
|
7
|
+
* a separate source of tolerance, and each is gathered here so that
|
|
8
|
+
* `check-readings.ts` can simply put them together.
|
|
9
|
+
*/
|
|
10
|
+
import { convertPieces, convertPiecesUnscored, } from "../decode/convert.js";
|
|
11
|
+
import { READING_CHARGE } from "../decode/lattice.js";
|
|
12
|
+
import { toCharacters } from "../script/characters.js";
|
|
13
|
+
import { writeSyllableSpelling } from "../syllable/syllable.js";
|
|
14
|
+
import { readingSyllables, } from "./reading-syllables.js";
|
|
15
|
+
/**
|
|
16
|
+
* The other corner of the sandhi square.
|
|
17
|
+
*
|
|
18
|
+
* A learner may write the underlying tones or the tones actually said, and both
|
|
19
|
+
* are right — 你好 is written `nǐ hǎo` and said `ní hǎo`. Rather than convert
|
|
20
|
+
* four times for the four combinations of {@link SandhiOptions}, this converts
|
|
21
|
+
* twice and inverts both switches at once, which reaches every tone: 一 and 不
|
|
22
|
+
* sandhi applies to syllables in the first and fourth tones, third-tone sandhi
|
|
23
|
+
* only to syllables in the third, so the two passes never touch the same
|
|
24
|
+
* syllable and each one's two forms both appear across the two corners.
|
|
25
|
+
*/
|
|
26
|
+
export function oppositeSandhi(sandhi) {
|
|
27
|
+
return {
|
|
28
|
+
yiBu: !(sandhi?.yiBu ?? true),
|
|
29
|
+
thirdTone: !(sandhi?.thirdTone ?? false),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The readings the decode turned down without much reason to.
|
|
34
|
+
*
|
|
35
|
+
* The decode charges {@link READING_CHARGE} for a word boundary, so a rejected
|
|
36
|
+
* reading costing less than that was available without breaking any dictionary
|
|
37
|
+
* word apart — see {@link import("../decode/confidence.js").isUncertain}, which
|
|
38
|
+
* is the same threshold read as a question rather than as a filter. The library
|
|
39
|
+
* knows it was guessing there, so a learner who guessed the other way is not
|
|
40
|
+
* wrong.
|
|
41
|
+
*
|
|
42
|
+
* Only a rejected reading of exactly the one character this syllable reads is
|
|
43
|
+
* taken. An alternative can cover a different stretch — 玩儿 read as `wánr`
|
|
44
|
+
* competes with 玩 `wán` and 儿 `ér` — and a claim about other characters says
|
|
45
|
+
* nothing about what belongs in this position.
|
|
46
|
+
*/
|
|
47
|
+
export function rejectedReadings(piece) {
|
|
48
|
+
const { confidence, source } = piece;
|
|
49
|
+
if (source === undefined || toCharacters(source).length !== 1) {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
return (confidence?.alternatives ?? []).flatMap((alternative) => {
|
|
53
|
+
const [syllable] = alternative.reading;
|
|
54
|
+
return alternative.cost < READING_CHARGE &&
|
|
55
|
+
alternative.to - alternative.from === 1 &&
|
|
56
|
+
alternative.reading.length === 1 &&
|
|
57
|
+
syllable !== undefined
|
|
58
|
+
? [syllable]
|
|
59
|
+
: [];
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Gather readings into the spellings and tones they allow.
|
|
64
|
+
*
|
|
65
|
+
* The tone is allowed to be undefined only because {@link Syllable.tone} is: a
|
|
66
|
+
* reading that came out of the dictionary always carries one.
|
|
67
|
+
*/
|
|
68
|
+
export function acceptedReadings(readings) {
|
|
69
|
+
const accepted = new Map();
|
|
70
|
+
for (const syllable of readings) {
|
|
71
|
+
const base = writeSyllableSpelling(syllable);
|
|
72
|
+
const tones = accepted.get(base) ?? new Set();
|
|
73
|
+
tones.add(syllable.tone);
|
|
74
|
+
accepted.set(base, tones);
|
|
75
|
+
}
|
|
76
|
+
return accepted;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The same text converted three ways, one for each source of tolerance.
|
|
80
|
+
*
|
|
81
|
+
* The first is the answer itself, with the confidence report beside it. The
|
|
82
|
+
* second is the other corner of the sandhi square, which is where the second
|
|
83
|
+
* form of every tone comes from. The third is the same text written under the
|
|
84
|
+
* other spacing convention, which is where a boundary's tolerance comes from:
|
|
85
|
+
* 分词连写 is what puts 了 on its verb and separates 市 from 南京, and a learner
|
|
86
|
+
* who wrote the words the dictionary knows instead — `tā kàn le`, `Nánjīngshì`
|
|
87
|
+
* — has written one of the two conventions this package implements rather than
|
|
88
|
+
* made a mistake.
|
|
89
|
+
*
|
|
90
|
+
* All three decode identically. Sandhi rewrites tones and 分词连写 moves
|
|
91
|
+
* boundaries; neither touches the syllables underneath, so all three line up one
|
|
92
|
+
* for one.
|
|
93
|
+
*/
|
|
94
|
+
export function readingsThreeWays(dictionary, text, options) {
|
|
95
|
+
return {
|
|
96
|
+
written: readingSyllables(convertPieces(dictionary, text, options)),
|
|
97
|
+
said: readingSyllables(convertPiecesUnscored(dictionary, text, {
|
|
98
|
+
...options,
|
|
99
|
+
sandhi: oppositeSandhi(options.sandhi),
|
|
100
|
+
})),
|
|
101
|
+
spaced: readingSyllables(convertPiecesUnscored(dictionary, text, {
|
|
102
|
+
...options,
|
|
103
|
+
grouping: !(options.grouping ?? true),
|
|
104
|
+
})),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=reading-tolerance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reading-tolerance.js","sourceRoot":"","sources":["../../src/grade/reading-tolerance.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAEL,aAAa,EACb,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAiB,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAE/E,OAAO,EAGL,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAiC;IAEjC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,IAAI,IAAI,CAAC;QAC7B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,IAAI,KAAK,CAAC;KACzC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAmB;IAClD,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACrC,IAAI,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,CAAC,UAAU,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QAC9D,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC;QACvC,OAAO,WAAW,CAAC,IAAI,GAAG,cAAc;YACtC,WAAW,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,KAAK,CAAC;YACvC,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAChC,QAAQ,KAAK,SAAS;YACtB,CAAC,CAAC,CAAC,QAAQ,CAAC;YACZ,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;IAE1D,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAoB,CAAC;QAChE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,iBAAiB,CAC/B,UAAsB,EACtB,IAAY,EACZ,OAAuB;IAMvB,OAAO;QACL,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,EAAE,gBAAgB,CACpB,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE;YACtC,GAAG,OAAO;YACV,MAAM,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;SACvC,CAAC,CACH;QACD,MAAM,EAAE,gBAAgB,CACtB,qBAAqB,CAAC,UAAU,EAAE,IAAI,EAAE;YACtC,GAAG,OAAO;YACV,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;SACtC,CAAC,CACH;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type Syllable } from "../syllable/syllable.js";
|
|
2
|
+
import type { Tone } from "../tone/tone.js";
|
|
3
|
+
/**
|
|
4
|
+
* One syllable of what was typed.
|
|
5
|
+
*/
|
|
6
|
+
export interface TypedSyllable {
|
|
7
|
+
readonly text: string;
|
|
8
|
+
readonly syllable: Syllable | undefined;
|
|
9
|
+
/** The toneless spelling this is aligned and compared by. */
|
|
10
|
+
readonly base: string;
|
|
11
|
+
/** The tone written on it, or undefined where none was. */
|
|
12
|
+
readonly tone: Tone | undefined;
|
|
13
|
+
/** Whether a written word begins here. */
|
|
14
|
+
readonly startsWord: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Read what was typed, one syllable at a time.
|
|
18
|
+
*
|
|
19
|
+
* {@link tokenisePinyin} is what the decoder is scored with, and it is tolerant
|
|
20
|
+
* in the two ways that matter here: word spacing is discarded, and the
|
|
21
|
+
* apostrophes and hyphens inside a word are read as the syllable boundaries
|
|
22
|
+
* they are and dropped. Both are orthography rather than pronunciation.
|
|
23
|
+
*
|
|
24
|
+
* A stretch that is not pinyin at all comes back whole, and is reported as
|
|
25
|
+
* written rather than thrown away.
|
|
26
|
+
*/
|
|
27
|
+
export declare function typedReading(typed: string): readonly TypedSyllable[];
|
|
28
|
+
//# sourceMappingURL=typed-reading.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-reading.d.ts","sourceRoot":"","sources":["../../src/grade/typed-reading.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,KAAK,QAAQ,EAEd,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IACxC,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,aAAa,EAAE,CAepE"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The reading someone typed, as the checker compares it.
|
|
3
|
+
*
|
|
4
|
+
* The other side from `check-readings.ts`, and much the smaller one: there is
|
|
5
|
+
* no dictionary behind a typed string, only the tokeniser and what each token
|
|
6
|
+
* turns out to spell.
|
|
7
|
+
*/
|
|
8
|
+
import { tokenisePinyin } from "../accuracy/tokenise.js";
|
|
9
|
+
import { readSyllable, writeSyllableSpelling, } from "../syllable/syllable.js";
|
|
10
|
+
/**
|
|
11
|
+
* Read what was typed, one syllable at a time.
|
|
12
|
+
*
|
|
13
|
+
* {@link tokenisePinyin} is what the decoder is scored with, and it is tolerant
|
|
14
|
+
* in the two ways that matter here: word spacing is discarded, and the
|
|
15
|
+
* apostrophes and hyphens inside a word are read as the syllable boundaries
|
|
16
|
+
* they are and dropped. Both are orthography rather than pronunciation.
|
|
17
|
+
*
|
|
18
|
+
* A stretch that is not pinyin at all comes back whole, and is reported as
|
|
19
|
+
* written rather than thrown away.
|
|
20
|
+
*/
|
|
21
|
+
export function typedReading(typed) {
|
|
22
|
+
const { syllables, wordStarts } = tokenisePinyin(typed);
|
|
23
|
+
return syllables.map((text, at) => {
|
|
24
|
+
const syllable = readSyllable(text);
|
|
25
|
+
return {
|
|
26
|
+
text,
|
|
27
|
+
syllable,
|
|
28
|
+
base: syllable === undefined
|
|
29
|
+
? text.toLowerCase().normalize("NFC")
|
|
30
|
+
: writeSyllableSpelling(syllable),
|
|
31
|
+
tone: syllable?.tone,
|
|
32
|
+
startsWord: wordStarts.has(at),
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=typed-reading.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-reading.js","sourceRoot":"","sources":["../../src/grade/typed-reading.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EACL,YAAY,EAEZ,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAiBjC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE;QAChC,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO;YACL,IAAI;YACJ,QAAQ;YACR,IAAI,EACF,QAAQ,KAAK,SAAS;gBACpB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;gBACrC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC;YACrC,IAAI,EAAE,QAAQ,EAAE,IAAI;YACpB,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;SAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a number is made of, once its sign and its point are taken off.
|
|
3
|
+
*/
|
|
4
|
+
export interface Parsed {
|
|
5
|
+
readonly isNegative: boolean;
|
|
6
|
+
/** The digits before the point, as written. */
|
|
7
|
+
readonly whole: string;
|
|
8
|
+
/** The digits after it, as written, or the empty string. */
|
|
9
|
+
readonly fraction: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Anything this module will read: digits, optionally signed and pointed.
|
|
13
|
+
*
|
|
14
|
+
* `security/detect-unsafe-regex` flags the optional group after `\d+`, and the
|
|
15
|
+
* literal `.` in front of it means no input can be split between the two. Timed
|
|
16
|
+
* on a signed decimal that cannot match, it is linear to 128k characters.
|
|
17
|
+
*/
|
|
18
|
+
export declare const NUMBER: RegExp;
|
|
19
|
+
/**
|
|
20
|
+
* Take a number apart, keeping the digits exactly as they were written.
|
|
21
|
+
*
|
|
22
|
+
* A string rather than a number is the input that carries the most: `007` and
|
|
23
|
+
* `7` are the same quantity and different digits, and a room number keeps its
|
|
24
|
+
* zeros. A `number` is stringified first, which is why a caller who cares about
|
|
25
|
+
* leading zeros should pass the string.
|
|
26
|
+
*/
|
|
27
|
+
export declare function parse(value: string | number): Parsed | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Write digits one at a time: 2019 → 二〇一九.
|
|
30
|
+
*/
|
|
31
|
+
export declare function digitsHanzi(digits: string, zero: string): string;
|
|
32
|
+
//# sourceMappingURL=numeral-parse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeral-parse.d.ts","sourceRoot":"","sources":["../../src/numerals/numeral-parse.ts"],"names":[],"mappings":"AASA;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,QAAuD,CAAC;AAE3E;;;;;;;GAOG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAUhE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMhE"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Taking a number apart into the pieces 汉字 are written from.
|
|
3
|
+
*
|
|
4
|
+
* A sign, a whole part and a fraction, plus the digit-at-a-time reading a
|
|
5
|
+
* fraction and a spelled-out number both use.
|
|
6
|
+
*/
|
|
7
|
+
import { toCharacters } from "../script/characters.js";
|
|
8
|
+
import { DIGIT_CHARACTERS } from "./characters.js";
|
|
9
|
+
/**
|
|
10
|
+
* Anything this module will read: digits, optionally signed and pointed.
|
|
11
|
+
*
|
|
12
|
+
* `security/detect-unsafe-regex` flags the optional group after `\d+`, and the
|
|
13
|
+
* literal `.` in front of it means no input can be split between the two. Timed
|
|
14
|
+
* on a signed decimal that cannot match, it is linear to 128k characters.
|
|
15
|
+
*/
|
|
16
|
+
export const NUMBER = /^(?<sign>-?)(?<whole>\d+)(?:\.(?<fraction>\d+))?$/u;
|
|
17
|
+
/**
|
|
18
|
+
* Take a number apart, keeping the digits exactly as they were written.
|
|
19
|
+
*
|
|
20
|
+
* A string rather than a number is the input that carries the most: `007` and
|
|
21
|
+
* `7` are the same quantity and different digits, and a room number keeps its
|
|
22
|
+
* zeros. A `number` is stringified first, which is why a caller who cares about
|
|
23
|
+
* leading zeros should pass the string.
|
|
24
|
+
*/
|
|
25
|
+
export function parse(value) {
|
|
26
|
+
const found = NUMBER.exec(String(value))?.groups;
|
|
27
|
+
if (found === undefined) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
return {
|
|
31
|
+
isNegative: found["sign"] === "-",
|
|
32
|
+
whole: found["whole"] ?? "",
|
|
33
|
+
fraction: found["fraction"] ?? "",
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Write digits one at a time: 2019 → 二〇一九.
|
|
38
|
+
*/
|
|
39
|
+
export function digitsHanzi(digits, zero) {
|
|
40
|
+
return toCharacters(digits)
|
|
41
|
+
.map((digit) => digit === "0" ? zero : (DIGIT_CHARACTERS[Number(digit)] ?? digit))
|
|
42
|
+
.join("");
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=numeral-parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeral-parse.js","sourceRoot":"","sources":["../../src/numerals/numeral-parse.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAanD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,oDAAoD,CAAC;AAE3E;;;;;;;GAOG;AACH,MAAM,UAAU,KAAK,CAAC,KAAsB;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC;IACjD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;QACjC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;QAC3B,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;KAClC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,IAAY;IACtD,OAAO,YAAY,CAAC,MAAM,CAAC;SACxB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACb,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAClE;SACA,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shapes a number takes in running text.
|
|
3
|
+
*
|
|
4
|
+
* What counts as a number, what follows one and changes how it is said, and
|
|
5
|
+
* the bounds a time is written within. `text.ts` walks a text against them.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* A number as it appears in running text: digits, with the separators a writer
|
|
9
|
+
* uses and an optional decimal part.
|
|
10
|
+
*
|
|
11
|
+
* `security/detect-unsafe-regex` flags the optional decimal after `[\d,]*`. A
|
|
12
|
+
* comma run and a decimal part cannot claim the same characters, since `\.` is
|
|
13
|
+
* neither a digit nor a comma, so there is nothing to backtrack over — timed
|
|
14
|
+
* linear to 128k characters.
|
|
15
|
+
*/
|
|
16
|
+
export declare const NUMBER: RegExp;
|
|
17
|
+
/**
|
|
18
|
+
* The percent signs a number can carry, half-width and full-width.
|
|
19
|
+
*/
|
|
20
|
+
export declare const PERCENT: Set<string>;
|
|
21
|
+
/**
|
|
22
|
+
* Marks that make the digits beside them an identifier rather than a quantity.
|
|
23
|
+
*
|
|
24
|
+
* 6:30 is a time, 3202-5625 is a phone number and COVID-19 is a name; none of
|
|
25
|
+
* them is counted, and the mark between the parts has no reading at all. So a
|
|
26
|
+
* digit run touching one is left exactly as it was written — of 7,846 digit
|
|
27
|
+
* runs measured over Tatoeba and zh.wikipedia about 55 are this shape, and
|
|
28
|
+
* reading them produced `liù:sānshí` for 6:30, which is worse than leaving it.
|
|
29
|
+
*/
|
|
30
|
+
export declare const IDENTIFIER: Set<string>;
|
|
31
|
+
/**
|
|
32
|
+
* A time as a writer punctuates it: 6:30, 07:05, 2:30.
|
|
33
|
+
*
|
|
34
|
+
* Sticky, because it is tried at the start of a digit run the number scanner
|
|
35
|
+
* has already found rather than searched for on its own.
|
|
36
|
+
*
|
|
37
|
+
* Two digits after the colon and no more, which is what separates a time from
|
|
38
|
+
* a ratio: 16:9 and 2:1 are proportions and scores and are read `shíliù bǐ
|
|
39
|
+
* jiǔ`, which this does not attempt. Measured over Tatoeba and zh.wikipedia,
|
|
40
|
+
* the shape catches 104 runs and every one of them is a time — none has an
|
|
41
|
+
* hour above 23 or a minute above 59, and the four colon runs that are not
|
|
42
|
+
* times all have a single digit after the colon.
|
|
43
|
+
*/
|
|
44
|
+
export declare const TIME: RegExp;
|
|
45
|
+
/**
|
|
46
|
+
* The bounds a time is written within.
|
|
47
|
+
*/
|
|
48
|
+
export declare const HOURS_IN_A_DAY = 24;
|
|
49
|
+
export declare const MINUTES_IN_AN_HOUR = 60;
|
|
50
|
+
/**
|
|
51
|
+
* The characters a lone 2 in front of them labels rather than counts.
|
|
52
|
+
*
|
|
53
|
+
* A 2 standing immediately in front of what it counts is 两 — 两个, 两人, 两岁,
|
|
54
|
+
* 两次, 两天 — and the measure words it can count with are an open list, so 两
|
|
55
|
+
* is the default and this is the exception. What is left is the positions a
|
|
56
|
+
* digit *names*: 2月 is February, 2日 and 2号 are the second of the month, 2楼
|
|
57
|
+
* is the second floor, 2路 is the number 2 bus, 2班 is the second class and 2期
|
|
58
|
+
* is the second phase. A named position is 二.
|
|
59
|
+
*
|
|
60
|
+
* The traditional forms are listed beside the simplified ones, since the text
|
|
61
|
+
* being converted may be in either script.
|
|
62
|
+
*/
|
|
63
|
+
export declare const LABELLED: Set<string>;
|
|
64
|
+
/**
|
|
65
|
+
* The units a lone 2 in front of them keeps 二 for, as the number itself does.
|
|
66
|
+
*
|
|
67
|
+
* 20 是二十 and 200 是二百, so 2十 and 2百 are written the same way: whether the
|
|
68
|
+
* unit is a digit or a character does not change how the number is said. 千, 万
|
|
69
|
+
* and 亿 are left to `CardinalOptions.liang` for exactly the same reason, which
|
|
70
|
+
* is why 2万 is 两万 as 20,000 already is.
|
|
71
|
+
*/
|
|
72
|
+
export declare const SMALL_UNITS: Set<string>;
|
|
73
|
+
/**
|
|
74
|
+
* The mark that makes the number after it an ordinal: 第2次 is 第二次.
|
|
75
|
+
*
|
|
76
|
+
* An ordinal names a position however ordinary the measure word after it is,
|
|
77
|
+
* so it takes 二 where the same 2次 on its own would be 两次.
|
|
78
|
+
*/
|
|
79
|
+
export declare const ORDINAL = "\u7B2C";
|
|
80
|
+
/**
|
|
81
|
+
* How many digits a year is written with, when it is a year and not a count.
|
|
82
|
+
*
|
|
83
|
+
* 1998年 is a year and is spelled out; 30年 is thirty years and is counted.
|
|
84
|
+
* Four is the length that separates them, and a two-digit year — 98年 for 1998
|
|
85
|
+
* — is left counted, because 20年 meaning twenty years is far commoner than
|
|
86
|
+
* 20年 meaning 2020 and nothing in the text tells them apart.
|
|
87
|
+
*/
|
|
88
|
+
export declare const YEAR_DIGITS = 4;
|
|
89
|
+
//# sourceMappingURL=numeral-shapes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeral-shapes.d.ts","sourceRoot":"","sources":["../../src/numerals/numeral-shapes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;;;;;;;;GAQG;AACH,eAAO,MAAM,MAAM,QAAyB,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,OAAO,aAAsB,CAAC;AAE3C;;;;;;;;GAQG;AACH,eAAO,MAAM,UAAU,aAAoD,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,QAAkC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,aAUnB,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,aAAsB,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,OAAO,WAAM,CAAC;AAE3B;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,IAAI,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shapes a number takes in running text.
|
|
3
|
+
*
|
|
4
|
+
* What counts as a number, what follows one and changes how it is said, and
|
|
5
|
+
* the bounds a time is written within. `text.ts` walks a text against them.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* A number as it appears in running text: digits, with the separators a writer
|
|
9
|
+
* uses and an optional decimal part.
|
|
10
|
+
*
|
|
11
|
+
* `security/detect-unsafe-regex` flags the optional decimal after `[\d,]*`. A
|
|
12
|
+
* comma run and a decimal part cannot claim the same characters, since `\.` is
|
|
13
|
+
* neither a digit nor a comma, so there is nothing to backtrack over — timed
|
|
14
|
+
* linear to 128k characters.
|
|
15
|
+
*/
|
|
16
|
+
export const NUMBER = /\d[\d,]*(?:\.\d+)?/gu;
|
|
17
|
+
/**
|
|
18
|
+
* The percent signs a number can carry, half-width and full-width.
|
|
19
|
+
*/
|
|
20
|
+
export const PERCENT = new Set(["%", "%"]);
|
|
21
|
+
/**
|
|
22
|
+
* Marks that make the digits beside them an identifier rather than a quantity.
|
|
23
|
+
*
|
|
24
|
+
* 6:30 is a time, 3202-5625 is a phone number and COVID-19 is a name; none of
|
|
25
|
+
* them is counted, and the mark between the parts has no reading at all. So a
|
|
26
|
+
* digit run touching one is left exactly as it was written — of 7,846 digit
|
|
27
|
+
* runs measured over Tatoeba and zh.wikipedia about 55 are this shape, and
|
|
28
|
+
* reading them produced `liù:sānshí` for 6:30, which is worse than leaving it.
|
|
29
|
+
*/
|
|
30
|
+
export const IDENTIFIER = new Set([":", ":", "-", "-", "—", "–", "/", "/"]);
|
|
31
|
+
/**
|
|
32
|
+
* A time as a writer punctuates it: 6:30, 07:05, 2:30.
|
|
33
|
+
*
|
|
34
|
+
* Sticky, because it is tried at the start of a digit run the number scanner
|
|
35
|
+
* has already found rather than searched for on its own.
|
|
36
|
+
*
|
|
37
|
+
* Two digits after the colon and no more, which is what separates a time from
|
|
38
|
+
* a ratio: 16:9 and 2:1 are proportions and scores and are read `shíliù bǐ
|
|
39
|
+
* jiǔ`, which this does not attempt. Measured over Tatoeba and zh.wikipedia,
|
|
40
|
+
* the shape catches 104 runs and every one of them is a time — none has an
|
|
41
|
+
* hour above 23 or a minute above 59, and the four colon runs that are not
|
|
42
|
+
* times all have a single digit after the colon.
|
|
43
|
+
*/
|
|
44
|
+
export const TIME = /(\d{1,2})[::](\d{2})(?!\d)/duy;
|
|
45
|
+
/**
|
|
46
|
+
* The bounds a time is written within.
|
|
47
|
+
*/
|
|
48
|
+
export const HOURS_IN_A_DAY = 24;
|
|
49
|
+
export const MINUTES_IN_AN_HOUR = 60;
|
|
50
|
+
/**
|
|
51
|
+
* The characters a lone 2 in front of them labels rather than counts.
|
|
52
|
+
*
|
|
53
|
+
* A 2 standing immediately in front of what it counts is 两 — 两个, 两人, 两岁,
|
|
54
|
+
* 两次, 两天 — and the measure words it can count with are an open list, so 两
|
|
55
|
+
* is the default and this is the exception. What is left is the positions a
|
|
56
|
+
* digit *names*: 2月 is February, 2日 and 2号 are the second of the month, 2楼
|
|
57
|
+
* is the second floor, 2路 is the number 2 bus, 2班 is the second class and 2期
|
|
58
|
+
* is the second phase. A named position is 二.
|
|
59
|
+
*
|
|
60
|
+
* The traditional forms are listed beside the simplified ones, since the text
|
|
61
|
+
* being converted may be in either script.
|
|
62
|
+
*/
|
|
63
|
+
export const LABELLED = new Set([
|
|
64
|
+
"月",
|
|
65
|
+
"日",
|
|
66
|
+
"号",
|
|
67
|
+
"號",
|
|
68
|
+
"楼",
|
|
69
|
+
"樓",
|
|
70
|
+
"路",
|
|
71
|
+
"班",
|
|
72
|
+
"期",
|
|
73
|
+
]);
|
|
74
|
+
/**
|
|
75
|
+
* The units a lone 2 in front of them keeps 二 for, as the number itself does.
|
|
76
|
+
*
|
|
77
|
+
* 20 是二十 and 200 是二百, so 2十 and 2百 are written the same way: whether the
|
|
78
|
+
* unit is a digit or a character does not change how the number is said. 千, 万
|
|
79
|
+
* and 亿 are left to `CardinalOptions.liang` for exactly the same reason, which
|
|
80
|
+
* is why 2万 is 两万 as 20,000 already is.
|
|
81
|
+
*/
|
|
82
|
+
export const SMALL_UNITS = new Set(["十", "百"]);
|
|
83
|
+
/**
|
|
84
|
+
* The mark that makes the number after it an ordinal: 第2次 is 第二次.
|
|
85
|
+
*
|
|
86
|
+
* An ordinal names a position however ordinary the measure word after it is,
|
|
87
|
+
* so it takes 二 where the same 2次 on its own would be 两次.
|
|
88
|
+
*/
|
|
89
|
+
export const ORDINAL = "第";
|
|
90
|
+
/**
|
|
91
|
+
* How many digits a year is written with, when it is a year and not a count.
|
|
92
|
+
*
|
|
93
|
+
* 1998年 is a year and is spelled out; 30年 is thirty years and is counted.
|
|
94
|
+
* Four is the length that separates them, and a two-digit year — 98年 for 1998
|
|
95
|
+
* — is left counted, because 20年 meaning twenty years is far commoner than
|
|
96
|
+
* 20年 meaning 2020 and nothing in the text tells them apart.
|
|
97
|
+
*/
|
|
98
|
+
export const YEAR_DIGITS = 4;
|
|
99
|
+
//# sourceMappingURL=numeral-shapes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeral-shapes.js","sourceRoot":"","sources":["../../src/numerals/numeral-shapes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,sBAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE5E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,+BAA+B,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IAC9B,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACJ,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numerals.d.ts","sourceRoot":"","sources":["../../src/numerals/numerals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"numerals.d.ts","sourceRoot":"","sources":["../../src/numerals/numerals.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,eAAe,CAAC;AAGvB;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,8BAA8B;IAC9B,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE,cAAmB,GAC3B,MAAM,GAAG,SAAS,CA0BpB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,cAAmB,GAC3B,SAAS,QAAQ,EAAE,GAAG,SAAS,CAajC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE,cAAmB,GAC3B,SAAS,QAAQ,EAAE,GAAG,SAAS,CAGjC;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,OAAO,GAAE,cAAmB,GAC3B,MAAM,GAAG,SAAS,CAKpB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,OAAO,GAAE,cAAmB,GAC3B,MAAM,GAAG,SAAS,CAOpB"}
|