@kensio/pinyinjs 1.7.3 → 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.
Files changed (695) hide show
  1. package/dist/accuracy/score-case.d.ts +23 -0
  2. package/dist/accuracy/score-case.d.ts.map +1 -0
  3. package/dist/accuracy/score-case.js +63 -0
  4. package/dist/accuracy/score-case.js.map +1 -0
  5. package/dist/accuracy/score.d.ts +1 -8
  6. package/dist/accuracy/score.d.ts.map +1 -1
  7. package/dist/accuracy/score.js +1 -55
  8. package/dist/accuracy/score.js.map +1 -1
  9. package/dist/cli/arguments.d.ts +4 -290
  10. package/dist/cli/arguments.d.ts.map +1 -1
  11. package/dist/cli/arguments.js +5 -357
  12. package/dist/cli/arguments.js.map +1 -1
  13. package/dist/cli/check-command.d.ts +9 -0
  14. package/dist/cli/check-command.d.ts.map +1 -0
  15. package/dist/cli/check-command.js +95 -0
  16. package/dist/cli/check-command.js.map +1 -0
  17. package/dist/cli/cli-input.d.ts +49 -0
  18. package/dist/cli/cli-input.d.ts.map +1 -0
  19. package/dist/cli/cli-input.js +31 -0
  20. package/dist/cli/cli-input.js.map +1 -0
  21. package/dist/cli/command.d.ts +97 -0
  22. package/dist/cli/command.d.ts.map +1 -0
  23. package/dist/cli/command.js +40 -0
  24. package/dist/cli/command.js.map +1 -0
  25. package/dist/cli/commands.d.ts +7 -110
  26. package/dist/cli/commands.d.ts.map +1 -1
  27. package/dist/cli/commands.js +14 -991
  28. package/dist/cli/commands.js.map +1 -1
  29. package/dist/cli/convert-command.d.ts +6 -0
  30. package/dist/cli/convert-command.d.ts.map +1 -0
  31. package/dist/cli/convert-command.js +52 -0
  32. package/dist/cli/convert-command.js.map +1 -0
  33. package/dist/cli/environment.d.ts +1 -1
  34. package/dist/cli/environment.d.ts.map +1 -1
  35. package/dist/cli/explain-command.d.ts +6 -0
  36. package/dist/cli/explain-command.d.ts.map +1 -0
  37. package/dist/cli/explain-command.js +40 -0
  38. package/dist/cli/explain-command.js.map +1 -0
  39. package/dist/cli/explain-syllable.d.ts +10 -0
  40. package/dist/cli/explain-syllable.d.ts.map +1 -0
  41. package/dist/cli/explain-syllable.js +70 -0
  42. package/dist/cli/explain-syllable.js.map +1 -0
  43. package/dist/cli/flag-help.d.ts +18 -0
  44. package/dist/cli/flag-help.d.ts.map +1 -0
  45. package/dist/cli/flag-help.js +78 -0
  46. package/dist/cli/flag-help.js.map +1 -0
  47. package/dist/cli/flag-lists.d.ts +49 -0
  48. package/dist/cli/flag-lists.d.ts.map +1 -0
  49. package/dist/cli/flag-lists.js +58 -0
  50. package/dist/cli/flag-lists.js.map +1 -0
  51. package/dist/cli/flag-values.d.ts +44 -0
  52. package/dist/cli/flag-values.d.ts.map +1 -0
  53. package/dist/cli/flag-values.js +56 -0
  54. package/dist/cli/flag-values.js.map +1 -0
  55. package/dist/cli/flags.d.ts +193 -0
  56. package/dist/cli/flags.d.ts.map +1 -0
  57. package/dist/cli/flags.js +133 -0
  58. package/dist/cli/flags.js.map +1 -0
  59. package/dist/cli/format-options.d.ts +29 -0
  60. package/dist/cli/format-options.d.ts.map +1 -0
  61. package/dist/cli/format-options.js +72 -0
  62. package/dist/cli/format-options.js.map +1 -0
  63. package/dist/cli/global-help.d.ts +23 -0
  64. package/dist/cli/global-help.d.ts.map +1 -0
  65. package/dist/cli/global-help.js +40 -0
  66. package/dist/cli/global-help.js.map +1 -0
  67. package/dist/cli/help.d.ts +1 -1
  68. package/dist/cli/help.d.ts.map +1 -1
  69. package/dist/cli/help.js +5 -99
  70. package/dist/cli/help.js.map +1 -1
  71. package/dist/cli/html-commands.d.ts +13 -0
  72. package/dist/cli/html-commands.d.ts.map +1 -0
  73. package/dist/cli/html-commands.js +49 -0
  74. package/dist/cli/html-commands.js.map +1 -0
  75. package/dist/cli/info-command.d.ts +7 -0
  76. package/dist/cli/info-command.d.ts.map +1 -0
  77. package/dist/cli/info-command.js +39 -0
  78. package/dist/cli/info-command.js.map +1 -0
  79. package/dist/cli/lookup-commands.d.ts +10 -0
  80. package/dist/cli/lookup-commands.d.ts.map +1 -0
  81. package/dist/cli/lookup-commands.js +101 -0
  82. package/dist/cli/lookup-commands.js.map +1 -0
  83. package/dist/cli/match-command.d.ts +11 -0
  84. package/dist/cli/match-command.d.ts.map +1 -0
  85. package/dist/cli/match-command.js +76 -0
  86. package/dist/cli/match-command.js.map +1 -0
  87. package/dist/cli/number-command.d.ts +12 -0
  88. package/dist/cli/number-command.d.ts.map +1 -0
  89. package/dist/cli/number-command.js +89 -0
  90. package/dist/cli/number-command.js.map +1 -0
  91. package/dist/cli/options.d.ts +30 -0
  92. package/dist/cli/options.d.ts.map +1 -0
  93. package/dist/cli/options.js +54 -0
  94. package/dist/cli/options.js.map +1 -0
  95. package/dist/cli/run-command.d.ts +24 -0
  96. package/dist/cli/run-command.d.ts.map +1 -0
  97. package/dist/cli/run-command.js +40 -0
  98. package/dist/cli/run-command.js.map +1 -0
  99. package/dist/cli/run.d.ts +4 -42
  100. package/dist/cli/run.d.ts.map +1 -1
  101. package/dist/cli/run.js +6 -61
  102. package/dist/cli/run.js.map +1 -1
  103. package/dist/cli/script-command.d.ts +10 -0
  104. package/dist/cli/script-command.d.ts.map +1 -0
  105. package/dist/cli/script-command.js +58 -0
  106. package/dist/cli/script-command.js.map +1 -0
  107. package/dist/cli/segment-command.d.ts +11 -0
  108. package/dist/cli/segment-command.d.ts.map +1 -0
  109. package/dist/cli/segment-command.js +53 -0
  110. package/dist/cli/segment-command.js.map +1 -0
  111. package/dist/cli/slug-command.d.ts +10 -0
  112. package/dist/cli/slug-command.d.ts.map +1 -0
  113. package/dist/cli/slug-command.js +28 -0
  114. package/dist/cli/slug-command.js.map +1 -0
  115. package/dist/cli/syllable-command.d.ts +14 -0
  116. package/dist/cli/syllable-command.d.ts.map +1 -0
  117. package/dist/cli/syllable-command.js +82 -0
  118. package/dist/cli/syllable-command.js.map +1 -0
  119. package/dist/cli/system-table.d.ts +12 -0
  120. package/dist/cli/system-table.d.ts.map +1 -0
  121. package/dist/cli/system-table.js +48 -0
  122. package/dist/cli/system-table.js.map +1 -0
  123. package/dist/cli/systems.d.ts +57 -0
  124. package/dist/cli/systems.d.ts.map +1 -0
  125. package/dist/cli/systems.js +27 -0
  126. package/dist/cli/systems.js.map +1 -0
  127. package/dist/cli/transcribe-command.d.ts +18 -0
  128. package/dist/cli/transcribe-command.d.ts.map +1 -0
  129. package/dist/cli/transcribe-command.js +86 -0
  130. package/dist/cli/transcribe-command.js.map +1 -0
  131. package/dist/cli/transcribe-reading.d.ts +15 -0
  132. package/dist/cli/transcribe-reading.d.ts.map +1 -0
  133. package/dist/cli/transcribe-reading.js +90 -0
  134. package/dist/cli/transcribe-reading.js.map +1 -0
  135. package/dist/cli/transcribe-rows.d.ts +26 -0
  136. package/dist/cli/transcribe-rows.d.ts.map +1 -0
  137. package/dist/cli/transcribe-rows.js +30 -0
  138. package/dist/cli/transcribe-rows.js.map +1 -0
  139. package/dist/cli/usage-error.d.ts +9 -0
  140. package/dist/cli/usage-error.d.ts.map +1 -0
  141. package/dist/cli/usage-error.js +9 -0
  142. package/dist/cli/usage-error.js.map +1 -0
  143. package/dist/decode/alternatives.d.ts +16 -0
  144. package/dist/decode/alternatives.d.ts.map +1 -0
  145. package/dist/decode/alternatives.js +31 -0
  146. package/dist/decode/alternatives.js.map +1 -0
  147. package/dist/decode/confidence.d.ts.map +1 -1
  148. package/dist/decode/confidence.js +3 -118
  149. package/dist/decode/confidence.js.map +1 -1
  150. package/dist/decode/convert-options.d.ts +116 -0
  151. package/dist/decode/convert-options.d.ts.map +1 -0
  152. package/dist/decode/convert-options.js +2 -0
  153. package/dist/decode/convert-options.js.map +1 -0
  154. package/dist/decode/convert-pipeline.d.ts +18 -0
  155. package/dist/decode/convert-pipeline.d.ts.map +1 -0
  156. package/dist/decode/convert-pipeline.js +66 -0
  157. package/dist/decode/convert-pipeline.js.map +1 -0
  158. package/dist/decode/convert.d.ts +9 -118
  159. package/dist/decode/convert.d.ts.map +1 -1
  160. package/dist/decode/convert.js +5 -453
  161. package/dist/decode/convert.js.map +1 -1
  162. package/dist/decode/decode.d.ts +2 -15
  163. package/dist/decode/decode.d.ts.map +1 -1
  164. package/dist/decode/decode.js +2 -121
  165. package/dist/decode/decode.js.map +1 -1
  166. package/dist/decode/decoders.d.ts +32 -0
  167. package/dist/decode/decoders.d.ts.map +1 -0
  168. package/dist/decode/decoders.js +29 -0
  169. package/dist/decode/decoders.js.map +1 -0
  170. package/dist/decode/edge-context.d.ts +38 -0
  171. package/dist/decode/edge-context.d.ts.map +1 -0
  172. package/dist/decode/edge-context.js +57 -0
  173. package/dist/decode/edge-context.js.map +1 -0
  174. package/dist/decode/hint-lattice.d.ts +45 -0
  175. package/dist/decode/hint-lattice.d.ts.map +1 -0
  176. package/dist/decode/hint-lattice.js +140 -0
  177. package/dist/decode/hint-lattice.js.map +1 -0
  178. package/dist/decode/hints.d.ts +2 -45
  179. package/dist/decode/hints.d.ts.map +1 -1
  180. package/dist/decode/hints.js +1 -139
  181. package/dist/decode/hints.js.map +1 -1
  182. package/dist/decode/jiao-rule.d.ts +58 -0
  183. package/dist/decode/jiao-rule.d.ts.map +1 -0
  184. package/dist/decode/jiao-rule.js +76 -0
  185. package/dist/decode/jiao-rule.js.map +1 -0
  186. package/dist/decode/lattice-costs.d.ts +55 -0
  187. package/dist/decode/lattice-costs.d.ts.map +1 -0
  188. package/dist/decode/lattice-costs.js +90 -0
  189. package/dist/decode/lattice-costs.js.map +1 -0
  190. package/dist/decode/lattice-edges.d.ts +29 -0
  191. package/dist/decode/lattice-edges.d.ts.map +1 -0
  192. package/dist/decode/lattice-edges.js +78 -0
  193. package/dist/decode/lattice-edges.js.map +1 -0
  194. package/dist/decode/lattice-slice.d.ts +37 -0
  195. package/dist/decode/lattice-slice.d.ts.map +1 -0
  196. package/dist/decode/lattice-slice.js +43 -0
  197. package/dist/decode/lattice-slice.js.map +1 -0
  198. package/dist/decode/lattice-types.d.ts +82 -0
  199. package/dist/decode/lattice-types.d.ts.map +1 -0
  200. package/dist/decode/lattice-types.js +44 -0
  201. package/dist/decode/lattice-types.js.map +1 -0
  202. package/dist/decode/lattice.d.ts +2 -59
  203. package/dist/decode/lattice.d.ts.map +1 -1
  204. package/dist/decode/lattice.js +2 -118
  205. package/dist/decode/lattice.js.map +1 -1
  206. package/dist/decode/number-pieces.d.ts +62 -0
  207. package/dist/decode/number-pieces.d.ts.map +1 -0
  208. package/dist/decode/number-pieces.js +106 -0
  209. package/dist/decode/number-pieces.js.map +1 -0
  210. package/dist/decode/numbers.d.ts +53 -0
  211. package/dist/decode/numbers.d.ts.map +1 -0
  212. package/dist/decode/numbers.js +69 -0
  213. package/dist/decode/numbers.js.map +1 -0
  214. package/dist/decode/pieces.d.ts +78 -0
  215. package/dist/decode/pieces.d.ts.map +1 -0
  216. package/dist/decode/pieces.js +136 -0
  217. package/dist/decode/pieces.js.map +1 -0
  218. package/dist/decode/polyphone-rules.d.ts +31 -0
  219. package/dist/decode/polyphone-rules.d.ts.map +1 -0
  220. package/dist/decode/polyphone-rules.js +159 -0
  221. package/dist/decode/polyphone-rules.js.map +1 -0
  222. package/dist/decode/reading-rules.d.ts +2 -97
  223. package/dist/decode/reading-rules.d.ts.map +1 -1
  224. package/dist/decode/reading-rules.js +4 -365
  225. package/dist/decode/reading-rules.js.map +1 -1
  226. package/dist/decode/rules.d.ts +1 -17
  227. package/dist/decode/rules.d.ts.map +1 -1
  228. package/dist/decode/rules.js +1 -43
  229. package/dist/decode/rules.js.map +1 -1
  230. package/dist/decode/run-lattice.d.ts +52 -0
  231. package/dist/decode/run-lattice.d.ts.map +1 -0
  232. package/dist/decode/run-lattice.js +91 -0
  233. package/dist/decode/run-lattice.js.map +1 -0
  234. package/dist/decode/sandhi-tones.d.ts +69 -0
  235. package/dist/decode/sandhi-tones.d.ts.map +1 -0
  236. package/dist/decode/sandhi-tones.js +88 -0
  237. package/dist/decode/sandhi-tones.js.map +1 -0
  238. package/dist/decode/sandhi.d.ts +1 -1
  239. package/dist/decode/sandhi.d.ts.map +1 -1
  240. package/dist/decode/sandhi.js +1 -81
  241. package/dist/decode/sandhi.js.map +1 -1
  242. package/dist/decode/script-types.d.ts +76 -0
  243. package/dist/decode/script-types.d.ts.map +1 -0
  244. package/dist/decode/script-types.js +35 -0
  245. package/dist/decode/script-types.js.map +1 -0
  246. package/dist/decode/script-words.d.ts +32 -0
  247. package/dist/decode/script-words.d.ts.map +1 -0
  248. package/dist/decode/script-words.js +77 -0
  249. package/dist/decode/script-words.js.map +1 -0
  250. package/dist/decode/script.d.ts +3 -73
  251. package/dist/decode/script.d.ts.map +1 -1
  252. package/dist/decode/script.js +3 -109
  253. package/dist/decode/script.js.map +1 -1
  254. package/dist/decode/tan-rule.d.ts +68 -0
  255. package/dist/decode/tan-rule.d.ts.map +1 -0
  256. package/dist/decode/tan-rule.js +131 -0
  257. package/dist/decode/tan-rule.js.map +1 -0
  258. package/dist/decode/write-run.d.ts +28 -0
  259. package/dist/decode/write-run.d.ts.map +1 -0
  260. package/dist/decode/write-run.js +77 -0
  261. package/dist/decode/write-run.js.map +1 -0
  262. package/dist/dictionary/artifact-claims.d.ts +25 -0
  263. package/dist/dictionary/artifact-claims.d.ts.map +1 -0
  264. package/dist/dictionary/artifact-claims.js +47 -0
  265. package/dist/dictionary/artifact-claims.js.map +1 -0
  266. package/dist/dictionary/artifact-format.d.ts +86 -0
  267. package/dist/dictionary/artifact-format.d.ts.map +1 -0
  268. package/dist/dictionary/artifact-format.js +91 -0
  269. package/dist/dictionary/artifact-format.js.map +1 -0
  270. package/dist/dictionary/artifact-read.d.ts +34 -0
  271. package/dist/dictionary/artifact-read.d.ts.map +1 -0
  272. package/dist/dictionary/artifact-read.js +114 -0
  273. package/dist/dictionary/artifact-read.js.map +1 -0
  274. package/dist/dictionary/artifact.d.ts +4 -63
  275. package/dist/dictionary/artifact.d.ts.map +1 -1
  276. package/dist/dictionary/artifact.js +12 -229
  277. package/dist/dictionary/artifact.js.map +1 -1
  278. package/dist/dictionary/assertions.d.ts +5 -57
  279. package/dist/dictionary/assertions.d.ts.map +1 -1
  280. package/dist/dictionary/assertions.js +4 -317
  281. package/dist/dictionary/assertions.js.map +1 -1
  282. package/dist/dictionary/build-assertions.d.ts +12 -0
  283. package/dist/dictionary/build-assertions.d.ts.map +1 -0
  284. package/dist/dictionary/build-assertions.js +13 -0
  285. package/dist/dictionary/build-assertions.js.map +1 -0
  286. package/dist/dictionary/built-dictionary.d.ts +46 -0
  287. package/dist/dictionary/built-dictionary.d.ts.map +1 -0
  288. package/dist/dictionary/built-dictionary.js +97 -0
  289. package/dist/dictionary/built-dictionary.js.map +1 -0
  290. package/dist/dictionary/cedict-senses.d.ts +80 -0
  291. package/dist/dictionary/cedict-senses.d.ts.map +1 -0
  292. package/dist/dictionary/cedict-senses.js +114 -0
  293. package/dist/dictionary/cedict-senses.js.map +1 -0
  294. package/dist/dictionary/character-defaults.d.ts +26 -0
  295. package/dist/dictionary/character-defaults.d.ts.map +1 -0
  296. package/dist/dictionary/character-defaults.js +67 -0
  297. package/dist/dictionary/character-defaults.js.map +1 -0
  298. package/dist/dictionary/character-readings.d.ts +10 -0
  299. package/dist/dictionary/character-readings.d.ts.map +1 -0
  300. package/dist/dictionary/character-readings.js +25 -0
  301. package/dist/dictionary/character-readings.js.map +1 -0
  302. package/dist/dictionary/dictionary-entry.d.ts +37 -0
  303. package/dist/dictionary/dictionary-entry.d.ts.map +1 -0
  304. package/dist/dictionary/dictionary-entry.js +41 -0
  305. package/dist/dictionary/dictionary-entry.js.map +1 -0
  306. package/dist/dictionary/dictionary-readings.d.ts +56 -0
  307. package/dist/dictionary/dictionary-readings.d.ts.map +1 -0
  308. package/dist/dictionary/dictionary-readings.js +93 -0
  309. package/dist/dictionary/dictionary-readings.js.map +1 -0
  310. package/dist/dictionary/dictionary.d.ts +6 -60
  311. package/dist/dictionary/dictionary.d.ts.map +1 -1
  312. package/dist/dictionary/dictionary.js +9 -169
  313. package/dist/dictionary/dictionary.js.map +1 -1
  314. package/dist/dictionary/entry-invariants.d.ts +3 -0
  315. package/dist/dictionary/entry-invariants.d.ts.map +1 -0
  316. package/dist/dictionary/entry-invariants.js +67 -0
  317. package/dist/dictionary/entry-invariants.js.map +1 -0
  318. package/dist/dictionary/entry-lines.d.ts +35 -0
  319. package/dist/dictionary/entry-lines.d.ts.map +1 -0
  320. package/dist/dictionary/entry-lines.js +70 -0
  321. package/dist/dictionary/entry-lines.js.map +1 -0
  322. package/dist/dictionary/erhua-repair.d.ts +26 -0
  323. package/dist/dictionary/erhua-repair.d.ts.map +1 -0
  324. package/dist/dictionary/erhua-repair.js +49 -0
  325. package/dist/dictionary/erhua-repair.js.map +1 -0
  326. package/dist/dictionary/frequency-tones.d.ts +74 -0
  327. package/dist/dictionary/frequency-tones.d.ts.map +1 -0
  328. package/dist/dictionary/frequency-tones.js +128 -0
  329. package/dist/dictionary/frequency-tones.js.map +1 -0
  330. package/dist/dictionary/inventory-invariants.d.ts +3 -0
  331. package/dist/dictionary/inventory-invariants.d.ts.map +1 -0
  332. package/dist/dictionary/inventory-invariants.js +54 -0
  333. package/dist/dictionary/inventory-invariants.js.map +1 -0
  334. package/dist/dictionary/locale-candidates.d.ts +40 -0
  335. package/dist/dictionary/locale-candidates.d.ts.map +1 -0
  336. package/dist/dictionary/locale-candidates.js +77 -0
  337. package/dist/dictionary/locale-candidates.js.map +1 -0
  338. package/dist/dictionary/locale-segments.d.ts +47 -0
  339. package/dist/dictionary/locale-segments.d.ts.map +1 -0
  340. package/dist/dictionary/locale-segments.js +141 -0
  341. package/dist/dictionary/locale-segments.js.map +1 -0
  342. package/dist/dictionary/locale.d.ts +1 -21
  343. package/dist/dictionary/locale.d.ts.map +1 -1
  344. package/dist/dictionary/locale.js +9 -198
  345. package/dist/dictionary/locale.js.map +1 -1
  346. package/dist/dictionary/merge-types.d.ts +121 -0
  347. package/dist/dictionary/merge-types.d.ts.map +1 -0
  348. package/dist/dictionary/merge-types.js +35 -0
  349. package/dist/dictionary/merge-types.js.map +1 -0
  350. package/dist/dictionary/merge-word.d.ts +7 -0
  351. package/dist/dictionary/merge-word.d.ts.map +1 -0
  352. package/dist/dictionary/merge-word.js +91 -0
  353. package/dist/dictionary/merge-word.js.map +1 -0
  354. package/dist/dictionary/merge.d.ts +5 -62
  355. package/dist/dictionary/merge.d.ts.map +1 -1
  356. package/dist/dictionary/merge.js +30 -713
  357. package/dist/dictionary/merge.js.map +1 -1
  358. package/dist/dictionary/proper-noun.d.ts +28 -0
  359. package/dist/dictionary/proper-noun.d.ts.map +1 -0
  360. package/dist/dictionary/proper-noun.js +43 -0
  361. package/dist/dictionary/proper-noun.js.map +1 -0
  362. package/dist/dictionary/reading-agreement.d.ts +71 -0
  363. package/dist/dictionary/reading-agreement.d.ts.map +1 -0
  364. package/dist/dictionary/reading-agreement.js +156 -0
  365. package/dist/dictionary/reading-agreement.js.map +1 -0
  366. package/dist/dictionary/script-conversion.d.ts +28 -0
  367. package/dist/dictionary/script-conversion.d.ts.map +1 -0
  368. package/dist/dictionary/script-conversion.js +58 -0
  369. package/dist/dictionary/script-conversion.js.map +1 -0
  370. package/dist/dictionary/script-pairings.d.ts +74 -0
  371. package/dist/dictionary/script-pairings.d.ts.map +1 -0
  372. package/dist/dictionary/script-pairings.js +120 -0
  373. package/dist/dictionary/script-pairings.js.map +1 -0
  374. package/dist/dictionary/script-tables.d.ts.map +1 -1
  375. package/dist/dictionary/script-tables.js +2 -165
  376. package/dist/dictionary/script-tables.js.map +1 -1
  377. package/dist/dictionary/taiwan-reading.d.ts +8 -0
  378. package/dist/dictionary/taiwan-reading.d.ts.map +1 -0
  379. package/dist/dictionary/taiwan-reading.js +38 -0
  380. package/dist/dictionary/taiwan-reading.js.map +1 -0
  381. package/dist/dictionary/tone-invariants.d.ts +3 -0
  382. package/dist/dictionary/tone-invariants.d.ts.map +1 -0
  383. package/dist/dictionary/tone-invariants.js +64 -0
  384. package/dist/dictionary/tone-invariants.js.map +1 -0
  385. package/dist/dictionary/traditional-form.d.ts +21 -0
  386. package/dist/dictionary/traditional-form.d.ts.map +1 -0
  387. package/dist/dictionary/traditional-form.js +59 -0
  388. package/dist/dictionary/traditional-form.js.map +1 -0
  389. package/dist/dictionary/traditional-ranking.d.ts +22 -0
  390. package/dist/dictionary/traditional-ranking.d.ts.map +1 -0
  391. package/dist/dictionary/traditional-ranking.js +74 -0
  392. package/dist/dictionary/traditional-ranking.js.map +1 -0
  393. package/dist/dictionary/traditional-table.d.ts +51 -0
  394. package/dist/dictionary/traditional-table.d.ts.map +1 -0
  395. package/dist/dictionary/traditional-table.js +98 -0
  396. package/dist/dictionary/traditional-table.js.map +1 -0
  397. package/dist/dictionary/traditional.d.ts +3 -56
  398. package/dist/dictionary/traditional.d.ts.map +1 -1
  399. package/dist/dictionary/traditional.js +3 -186
  400. package/dist/dictionary/traditional.js.map +1 -1
  401. package/dist/dictionary/variant-counts.d.ts +39 -0
  402. package/dist/dictionary/variant-counts.d.ts.map +1 -0
  403. package/dist/dictionary/variant-counts.js +38 -0
  404. package/dist/dictionary/variant-counts.js.map +1 -0
  405. package/dist/dictionary/word-reading.d.ts +26 -0
  406. package/dist/dictionary/word-reading.d.ts.map +1 -0
  407. package/dist/dictionary/word-reading.js +76 -0
  408. package/dist/dictionary/word-reading.js.map +1 -0
  409. package/dist/dictionary/word-readings.d.ts +15 -0
  410. package/dist/dictionary/word-readings.d.ts.map +1 -0
  411. package/dist/dictionary/word-readings.js +38 -0
  412. package/dist/dictionary/word-readings.js.map +1 -0
  413. package/dist/format/annotate.d.ts +90 -0
  414. package/dist/format/annotate.d.ts.map +1 -0
  415. package/dist/format/annotate.js +168 -0
  416. package/dist/format/annotate.js.map +1 -0
  417. package/dist/format/html.d.ts +15 -46
  418. package/dist/format/html.d.ts.map +1 -1
  419. package/dist/format/html.js +3 -162
  420. package/dist/format/html.js.map +1 -1
  421. package/dist/format/slug-hash.d.ts +51 -0
  422. package/dist/format/slug-hash.d.ts.map +1 -0
  423. package/dist/format/slug-hash.js +74 -0
  424. package/dist/format/slug-hash.js.map +1 -0
  425. package/dist/format/slug-options.d.ts +98 -0
  426. package/dist/format/slug-options.d.ts.map +1 -0
  427. package/dist/format/slug-options.js +2 -0
  428. package/dist/format/slug-options.js.map +1 -0
  429. package/dist/format/slug-words.d.ts +27 -0
  430. package/dist/format/slug-words.d.ts.map +1 -0
  431. package/dist/format/slug-words.js +0 -0
  432. package/dist/format/slug-words.js.map +1 -0
  433. package/dist/format/slug.d.ts +3 -128
  434. package/dist/format/slug.d.ts.map +1 -1
  435. package/dist/format/slug.js +0 -0
  436. package/dist/format/slug.js.map +1 -1
  437. package/dist/grade/check-readings.d.ts +41 -0
  438. package/dist/grade/check-readings.d.ts.map +1 -0
  439. package/dist/grade/check-readings.js +36 -0
  440. package/dist/grade/check-readings.js.map +1 -0
  441. package/dist/grade/check.d.ts +4 -4
  442. package/dist/grade/check.d.ts.map +1 -1
  443. package/dist/grade/check.js +5 -270
  444. package/dist/grade/check.js.map +1 -1
  445. package/dist/grade/pair-syllables.d.ts +48 -0
  446. package/dist/grade/pair-syllables.d.ts.map +1 -0
  447. package/dist/grade/pair-syllables.js +71 -0
  448. package/dist/grade/pair-syllables.js.map +1 -0
  449. package/dist/grade/reading-syllables.d.ts +62 -0
  450. package/dist/grade/reading-syllables.d.ts.map +1 -0
  451. package/dist/grade/reading-syllables.js +58 -0
  452. package/dist/grade/reading-syllables.js.map +1 -0
  453. package/dist/grade/reading-tolerance.d.ts +72 -0
  454. package/dist/grade/reading-tolerance.d.ts.map +1 -0
  455. package/dist/grade/reading-tolerance.js +107 -0
  456. package/dist/grade/reading-tolerance.js.map +1 -0
  457. package/dist/grade/typed-reading.d.ts +28 -0
  458. package/dist/grade/typed-reading.d.ts.map +1 -0
  459. package/dist/grade/typed-reading.js +36 -0
  460. package/dist/grade/typed-reading.js.map +1 -0
  461. package/dist/numerals/numeral-parse.d.ts +32 -0
  462. package/dist/numerals/numeral-parse.d.ts.map +1 -0
  463. package/dist/numerals/numeral-parse.js +44 -0
  464. package/dist/numerals/numeral-parse.js.map +1 -0
  465. package/dist/numerals/numeral-shapes.d.ts +89 -0
  466. package/dist/numerals/numeral-shapes.d.ts.map +1 -0
  467. package/dist/numerals/numeral-shapes.js +99 -0
  468. package/dist/numerals/numeral-shapes.js.map +1 -0
  469. package/dist/numerals/numerals.d.ts.map +1 -1
  470. package/dist/numerals/numerals.js +2 -36
  471. package/dist/numerals/numerals.js.map +1 -1
  472. package/dist/numerals/read-numeral.d.ts +76 -0
  473. package/dist/numerals/read-numeral.d.ts.map +1 -0
  474. package/dist/numerals/read-numeral.js +88 -0
  475. package/dist/numerals/read-numeral.js.map +1 -0
  476. package/dist/numerals/text.d.ts +3 -37
  477. package/dist/numerals/text.d.ts.map +1 -1
  478. package/dist/numerals/text.js +3 -254
  479. package/dist/numerals/text.js.map +1 -1
  480. package/dist/numerals/time.d.ts +34 -0
  481. package/dist/numerals/time.d.ts.map +1 -0
  482. package/dist/numerals/time.js +93 -0
  483. package/dist/numerals/time.js.map +1 -0
  484. package/dist/orthography/address-grouping.d.ts +34 -0
  485. package/dist/orthography/address-grouping.d.ts.map +1 -0
  486. package/dist/orthography/address-grouping.js +52 -0
  487. package/dist/orthography/address-grouping.js.map +1 -0
  488. package/dist/orthography/grouping.d.ts +3 -87
  489. package/dist/orthography/grouping.d.ts.map +1 -1
  490. package/dist/orthography/grouping.js +4 -270
  491. package/dist/orthography/grouping.js.map +1 -1
  492. package/dist/orthography/place-grouping.d.ts +39 -0
  493. package/dist/orthography/place-grouping.d.ts.map +1 -0
  494. package/dist/orthography/place-grouping.js +83 -0
  495. package/dist/orthography/place-grouping.js.map +1 -0
  496. package/dist/orthography/word-grouping.d.ts +48 -0
  497. package/dist/orthography/word-grouping.d.ts.map +1 -0
  498. package/dist/orthography/word-grouping.js +147 -0
  499. package/dist/orthography/word-grouping.js.map +1 -0
  500. package/dist/script/conversion-format.d.ts +22 -0
  501. package/dist/script/conversion-format.d.ts.map +1 -0
  502. package/dist/script/conversion-format.js +22 -0
  503. package/dist/script/conversion-format.js.map +1 -0
  504. package/dist/script/conversion-read.d.ts +9 -0
  505. package/dist/script/conversion-read.d.ts.map +1 -0
  506. package/dist/script/conversion-read.js +69 -0
  507. package/dist/script/conversion-read.js.map +1 -0
  508. package/dist/script/conversion-write.d.ts +14 -0
  509. package/dist/script/conversion-write.d.ts.map +1 -0
  510. package/dist/script/conversion-write.js +34 -0
  511. package/dist/script/conversion-write.js.map +1 -0
  512. package/dist/script/conversion.d.ts +10 -16
  513. package/dist/script/conversion.d.ts.map +1 -1
  514. package/dist/script/conversion.js +2 -115
  515. package/dist/script/conversion.js.map +1 -1
  516. package/dist/search/candidate-narrowing.d.ts +56 -0
  517. package/dist/search/candidate-narrowing.d.ts.map +1 -0
  518. package/dist/search/candidate-narrowing.js +55 -0
  519. package/dist/search/candidate-narrowing.js.map +1 -0
  520. package/dist/search/candidate-query.d.ts +25 -0
  521. package/dist/search/candidate-query.d.ts.map +1 -0
  522. package/dist/search/candidate-query.js +28 -0
  523. package/dist/search/candidate-query.js.map +1 -0
  524. package/dist/search/candidate-writings.d.ts +24 -0
  525. package/dist/search/candidate-writings.d.ts.map +1 -0
  526. package/dist/search/candidate-writings.js +114 -0
  527. package/dist/search/candidate-writings.js.map +1 -0
  528. package/dist/search/candidates.d.ts +7 -41
  529. package/dist/search/candidates.d.ts.map +1 -1
  530. package/dist/search/candidates.js +10 -164
  531. package/dist/search/candidates.js.map +1 -1
  532. package/dist/search/match-chunks.d.ts +19 -0
  533. package/dist/search/match-chunks.d.ts.map +1 -0
  534. package/dist/search/match-chunks.js +30 -0
  535. package/dist/search/match-chunks.js.map +1 -0
  536. package/dist/search/match-ranking.d.ts +39 -0
  537. package/dist/search/match-ranking.d.ts.map +1 -0
  538. package/dist/search/match-ranking.js +51 -0
  539. package/dist/search/match-ranking.js.map +1 -0
  540. package/dist/search/match-readings.d.ts +43 -0
  541. package/dist/search/match-readings.d.ts.map +1 -0
  542. package/dist/search/match-readings.js +83 -0
  543. package/dist/search/match-readings.js.map +1 -0
  544. package/dist/search/match-scoring.d.ts +146 -0
  545. package/dist/search/match-scoring.d.ts.map +1 -0
  546. package/dist/search/match-scoring.js +114 -0
  547. package/dist/search/match-scoring.js.map +1 -0
  548. package/dist/search/match-search.d.ts +28 -0
  549. package/dist/search/match-search.d.ts.map +1 -0
  550. package/dist/search/match-search.js +128 -0
  551. package/dist/search/match-search.js.map +1 -0
  552. package/dist/search/match.d.ts +5 -36
  553. package/dist/search/match.d.ts.map +1 -1
  554. package/dist/search/match.js +2 -379
  555. package/dist/search/match.js.map +1 -1
  556. package/dist/search/reverse-index-build.d.ts +30 -0
  557. package/dist/search/reverse-index-build.d.ts.map +1 -0
  558. package/dist/search/reverse-index-build.js +72 -0
  559. package/dist/search/reverse-index-build.js.map +1 -0
  560. package/dist/search/reverse-index-format.d.ts +60 -0
  561. package/dist/search/reverse-index-format.d.ts.map +1 -0
  562. package/dist/search/reverse-index-format.js +54 -0
  563. package/dist/search/reverse-index-format.js.map +1 -0
  564. package/dist/search/reverse-index-groups.d.ts +37 -0
  565. package/dist/search/reverse-index-groups.d.ts.map +1 -0
  566. package/dist/search/reverse-index-groups.js +71 -0
  567. package/dist/search/reverse-index-groups.js.map +1 -0
  568. package/dist/search/reverse-index-passes.d.ts +78 -0
  569. package/dist/search/reverse-index-passes.d.ts.map +1 -0
  570. package/dist/search/reverse-index-passes.js +59 -0
  571. package/dist/search/reverse-index-passes.js.map +1 -0
  572. package/dist/search/reverse-index-state.d.ts +36 -0
  573. package/dist/search/reverse-index-state.d.ts.map +1 -0
  574. package/dist/search/reverse-index-state.js +95 -0
  575. package/dist/search/reverse-index-state.js.map +1 -0
  576. package/dist/search/reverse-index.d.ts +8 -67
  577. package/dist/search/reverse-index.d.ts.map +1 -1
  578. package/dist/search/reverse-index.js +4 -255
  579. package/dist/search/reverse-index.js.map +1 -1
  580. package/dist/sources/unihan-readings.d.ts +58 -0
  581. package/dist/sources/unihan-readings.d.ts.map +1 -0
  582. package/dist/sources/unihan-readings.js +95 -0
  583. package/dist/sources/unihan-readings.js.map +1 -0
  584. package/dist/sources/unihan.d.ts +6 -9
  585. package/dist/sources/unihan.d.ts.map +1 -1
  586. package/dist/sources/unihan.js +2 -85
  587. package/dist/sources/unihan.js.map +1 -1
  588. package/dist/syllable/final-tables.d.ts +23 -0
  589. package/dist/syllable/final-tables.d.ts.map +1 -0
  590. package/dist/syllable/final-tables.js +50 -0
  591. package/dist/syllable/final-tables.js.map +1 -0
  592. package/dist/syllable/inventory.d.ts +8 -42
  593. package/dist/syllable/inventory.d.ts.map +1 -1
  594. package/dist/syllable/inventory.js +9 -918
  595. package/dist/syllable/inventory.js.map +1 -1
  596. package/dist/syllable/spellings.d.ts +40 -0
  597. package/dist/syllable/spellings.d.ts.map +1 -0
  598. package/dist/syllable/spellings.js +469 -0
  599. package/dist/syllable/spellings.js.map +1 -0
  600. package/dist/syllable/syllable-parts.d.ts +31 -0
  601. package/dist/syllable/syllable-parts.d.ts.map +1 -0
  602. package/dist/syllable/syllable-parts.js +105 -0
  603. package/dist/syllable/syllable-parts.js.map +1 -0
  604. package/dist/syllable/syllable.d.ts +1 -14
  605. package/dist/syllable/syllable.d.ts.map +1 -1
  606. package/dist/syllable/syllable.js +3 -144
  607. package/dist/syllable/syllable.js.map +1 -1
  608. package/dist/syllable/written-tones.d.ts +6 -0
  609. package/dist/syllable/written-tones.d.ts.map +1 -0
  610. package/dist/syllable/written-tones.js +453 -0
  611. package/dist/syllable/written-tones.js.map +1 -0
  612. package/dist/transcription/bopomofo-parse.d.ts +42 -0
  613. package/dist/transcription/bopomofo-parse.d.ts.map +1 -0
  614. package/dist/transcription/bopomofo-parse.js +92 -0
  615. package/dist/transcription/bopomofo-parse.js.map +1 -0
  616. package/dist/transcription/bopomofo-reverse.d.ts +31 -0
  617. package/dist/transcription/bopomofo-reverse.d.ts.map +1 -0
  618. package/dist/transcription/bopomofo-reverse.js +48 -0
  619. package/dist/transcription/bopomofo-reverse.js.map +1 -0
  620. package/dist/transcription/bopomofo-symbols.d.ts +36 -0
  621. package/dist/transcription/bopomofo-symbols.d.ts.map +1 -0
  622. package/dist/transcription/bopomofo-symbols.js +41 -0
  623. package/dist/transcription/bopomofo-symbols.js.map +1 -0
  624. package/dist/transcription/bopomofo-tables.d.ts +87 -0
  625. package/dist/transcription/bopomofo-tables.d.ts.map +1 -0
  626. package/dist/transcription/bopomofo-tables.js +180 -0
  627. package/dist/transcription/bopomofo-tables.js.map +1 -0
  628. package/dist/transcription/bopomofo.d.ts +14 -32
  629. package/dist/transcription/bopomofo.d.ts.map +1 -1
  630. package/dist/transcription/bopomofo.js +5 -343
  631. package/dist/transcription/bopomofo.js.map +1 -1
  632. package/dist/transcription/gwoyeu-first-second.d.ts +36 -0
  633. package/dist/transcription/gwoyeu-first-second.d.ts.map +1 -0
  634. package/dist/transcription/gwoyeu-first-second.js +75 -0
  635. package/dist/transcription/gwoyeu-first-second.js.map +1 -0
  636. package/dist/transcription/gwoyeu-spelling.d.ts +38 -0
  637. package/dist/transcription/gwoyeu-spelling.d.ts.map +1 -0
  638. package/dist/transcription/gwoyeu-spelling.js +124 -0
  639. package/dist/transcription/gwoyeu-spelling.js.map +1 -0
  640. package/dist/transcription/gwoyeu-tables.d.ts +93 -0
  641. package/dist/transcription/gwoyeu-tables.d.ts.map +1 -0
  642. package/dist/transcription/gwoyeu-tables.js +205 -0
  643. package/dist/transcription/gwoyeu-tables.js.map +1 -0
  644. package/dist/transcription/gwoyeu-tonal-forms.d.ts +49 -0
  645. package/dist/transcription/gwoyeu-tonal-forms.d.ts.map +1 -0
  646. package/dist/transcription/gwoyeu-tonal-forms.js +89 -0
  647. package/dist/transcription/gwoyeu-tonal-forms.js.map +1 -0
  648. package/dist/transcription/gwoyeu-vowels.d.ts +51 -0
  649. package/dist/transcription/gwoyeu-vowels.d.ts.map +1 -0
  650. package/dist/transcription/gwoyeu-vowels.js +58 -0
  651. package/dist/transcription/gwoyeu-vowels.js.map +1 -0
  652. package/dist/transcription/gwoyeu.d.ts +1 -26
  653. package/dist/transcription/gwoyeu.d.ts.map +1 -1
  654. package/dist/transcription/gwoyeu.js +2 -540
  655. package/dist/transcription/gwoyeu.js.map +1 -1
  656. package/dist/transcription/ipa-symbols.d.ts +67 -0
  657. package/dist/transcription/ipa-symbols.d.ts.map +1 -0
  658. package/dist/transcription/ipa-symbols.js +135 -0
  659. package/dist/transcription/ipa-symbols.js.map +1 -0
  660. package/dist/transcription/ipa.d.ts +2 -10
  661. package/dist/transcription/ipa.d.ts.map +1 -1
  662. package/dist/transcription/ipa.js +2 -134
  663. package/dist/transcription/ipa.js.map +1 -1
  664. package/dist/transcription/wade-giles-index.d.ts +35 -0
  665. package/dist/transcription/wade-giles-index.d.ts.map +1 -0
  666. package/dist/transcription/wade-giles-index.js +110 -0
  667. package/dist/transcription/wade-giles-index.js.map +1 -0
  668. package/dist/transcription/wade-giles-parse.d.ts +36 -0
  669. package/dist/transcription/wade-giles-parse.d.ts.map +1 -0
  670. package/dist/transcription/wade-giles-parse.js +84 -0
  671. package/dist/transcription/wade-giles-parse.js.map +1 -0
  672. package/dist/transcription/wade-giles-spelling.d.ts +61 -0
  673. package/dist/transcription/wade-giles-spelling.d.ts.map +1 -0
  674. package/dist/transcription/wade-giles-spelling.js +107 -0
  675. package/dist/transcription/wade-giles-spelling.js.map +1 -0
  676. package/dist/transcription/wade-giles-syllable.d.ts +29 -0
  677. package/dist/transcription/wade-giles-syllable.d.ts.map +1 -0
  678. package/dist/transcription/wade-giles-syllable.js +90 -0
  679. package/dist/transcription/wade-giles-syllable.js.map +1 -0
  680. package/dist/transcription/wade-giles-tables.d.ts +80 -0
  681. package/dist/transcription/wade-giles-tables.d.ts.map +1 -0
  682. package/dist/transcription/wade-giles-tables.js +178 -0
  683. package/dist/transcription/wade-giles-tables.js.map +1 -0
  684. package/dist/transcription/wade-giles.d.ts +9 -60
  685. package/dist/transcription/wade-giles.d.ts.map +1 -1
  686. package/dist/transcription/wade-giles.js +6 -543
  687. package/dist/transcription/wade-giles.js.map +1 -1
  688. package/dist/transcription/yale-tables.d.ts +54 -0
  689. package/dist/transcription/yale-tables.d.ts.map +1 -0
  690. package/dist/transcription/yale-tables.js +125 -0
  691. package/dist/transcription/yale-tables.js.map +1 -0
  692. package/dist/transcription/yale.d.ts.map +1 -1
  693. package/dist/transcription/yale.js +1 -124
  694. package/dist/transcription/yale.js.map +1 -1
  695. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
- import { cutPoints, READING_CHARGE, } from "./lattice.js";
2
- import { isSettled, settledUnits, unitKey, unitsOf, } from "./locking.js";
3
- import { readingCost, shortestPath } from "./viterbi.js";
1
+ import { cutPoints, READING_CHARGE } from "./lattice.js";
2
+ import { isSettled, settledUnits, } from "./locking.js";
3
+ import { scoreStretch } from "./alternatives.js";
4
4
  /**
5
5
  * Whether a reading was settled by something weaker than dictionary evidence.
6
6
  *
@@ -19,121 +19,6 @@ import { readingCost, shortestPath } from "./viterbi.js";
19
19
  export function isUncertain(confidence) {
20
20
  return (confidence.alternatives[0]?.cost ?? Infinity) < READING_CHARGE;
21
21
  }
22
- /**
23
- * The edges leaving one position.
24
- */
25
- function edgesAt(lattice, at) {
26
- /* c8 ignore next -- at is always a position of the run */
27
- return lattice.edges[at] ?? [];
28
- }
29
- /**
30
- * Every edge lying wholly inside a stretch.
31
- */
32
- function edgesInside(lattice, from, to) {
33
- const inside = [];
34
- for (let at = from; at < to; at++) {
35
- inside.push(...edgesAt(lattice, at).filter((edge) => edge.to <= to));
36
- }
37
- return inside;
38
- }
39
- /**
40
- * Cheapest cost of reaching each position in a stretch from its start.
41
- */
42
- function forwardCosts(lattice, from, to, costOf) {
43
- const best = Array.from({ length: to - from + 1 }, () => Infinity);
44
- best[0] = 0;
45
- for (let at = from; at < to; at++) {
46
- /* c8 ignore next 2 -- every position of the stretch is reached and in range */
47
- const sofar = best[at - from] ?? Infinity;
48
- for (const edge of edgesAt(lattice, at)) {
49
- /* c8 ignore next -- the target of an edge inside the stretch is in range */
50
- const rival = best[edge.to - from] ?? Infinity;
51
- if (edge.to <= to && sofar + costOf(edge) < rival) {
52
- best[edge.to - from] = sofar + costOf(edge);
53
- }
54
- }
55
- }
56
- return best;
57
- }
58
- /**
59
- * Cheapest cost of reaching the end of a stretch from each position in it.
60
- */
61
- function backwardCosts(lattice, from, to, costOf) {
62
- const best = Array.from({ length: to - from + 1 }, () => Infinity);
63
- best[to - from] = 0;
64
- for (let at = to - 1; at >= from; at--) {
65
- let cheapest = Infinity;
66
- for (const edge of edgesAt(lattice, at)) {
67
- /* c8 ignore next -- the target of an edge inside the stretch is in range */
68
- const onwards = best[edge.to - from] ?? Infinity;
69
- if (edge.to <= to && costOf(edge) + onwards < cheapest) {
70
- cheapest = costOf(edge) + onwards;
71
- }
72
- }
73
- best[at - from] = cheapest;
74
- }
75
- return best;
76
- }
77
- /**
78
- * Price every distinct reading a stretch offers.
79
- *
80
- * A claim is priced by the cheapest path through the whole stretch that makes
81
- * it, which is what makes the figures comparable: a reading can be expensive
82
- * because it forces expensive readings around it as much as because it is
83
- * itself unlikely. One forward sweep and one backward sweep give that for every
84
- * edge at once, which is the same work the decode already does in one
85
- * direction.
86
- */
87
- function scoreClaims(lattice, from, to, costOf) {
88
- const forward = forwardCosts(lattice, from, to, costOf);
89
- const backward = backwardCosts(lattice, from, to, costOf);
90
- const claims = new Map();
91
- for (const edge of edgesInside(lattice, from, to)) {
92
- /* c8 ignore next 2 -- both ends of an edge in the stretch are in range */
93
- const through = (forward[edge.from - from] ?? Infinity) +
94
- costOf(edge) +
95
- (backward[edge.to - from] ?? Infinity);
96
- for (const unit of unitsOf(edge)) {
97
- const key = unitKey(unit);
98
- const held = claims.get(key);
99
- if (held === undefined || through < held.cost) {
100
- claims.set(key, { unit, cost: through });
101
- }
102
- }
103
- }
104
- /* c8 ignore next -- every position of a stretch is reachable from its start */
105
- return { claims, best: forward[to - from] ?? Infinity };
106
- }
107
- /**
108
- * What a unit beat: the claims overlapping its span, other than its own.
109
- */
110
- function alternativesTo(stretch, unit) {
111
- const key = unitKey(unit);
112
- return [...stretch.claims.values()]
113
- .filter((claim) => unitKey(claim.unit) !== key &&
114
- claim.unit.from < unit.to &&
115
- unit.from < claim.unit.to)
116
- .map((claim) => ({
117
- from: claim.unit.from,
118
- to: claim.unit.to,
119
- reading: claim.unit.reading,
120
- cost: claim.cost - stretch.best,
121
- }))
122
- .toSorted((left, right) => left.cost - right.cost);
123
- }
124
- /**
125
- * Decode one stretch's readings, keeping what the cheapest path rejected.
126
- */
127
- function scoreStretch(lattice, projection, from, to) {
128
- const stretch = scoreClaims(lattice, from, to, readingCost);
129
- return shortestPath(lattice, from, to, readingCost)
130
- .flatMap((edge) => unitsOf(edge))
131
- .map((unit) => ({
132
- ...unit,
133
- isLocked: projection.locked[unit.from] !== undefined,
134
- alternatives: alternativesTo(stretch, unit),
135
- }));
136
- }
137
22
  /**
138
23
  * Decode the run's readings, keeping what each choice rejected.
139
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/decode/confidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confidence.js","sourceRoot":"","sources":["../../src/decode/confidence.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAgB,cAAc,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EACL,SAAS,EAGT,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA4CjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,UAA6B;IACvD,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,QAAQ,CAAC,GAAG,cAAc,CAAC;AACzE,CAAC;AACD;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAC3B,OAAgB,EAChB,UAA6B;IAE7B,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,KAAK,GAAiB,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM;QACR,CAAC;QACD,IAAI,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CACR,GAAG,YAAY,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnD,GAAG,IAAI;gBACP,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC,CACJ,CAAC;YACF,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * What a conversion is asked for, and the shape of one piece of its output.
3
+ *
4
+ * Everything here describes the conversion rather than performing any of it.
5
+ */
6
+ import type { ApostropheStyle } from "../orthography/apostrophe.js";
7
+ import type { CapitalStyle } from "../orthography/capitals.js";
8
+ import type { PunctuationStyle } from "../orthography/punctuation.js";
9
+ import type { Locale } from "../script/script.js";
10
+ import type { Syllable, ToneNotation } from "../syllable/syllable.js";
11
+ import type { ReadingConfidence } from "./confidence.js";
12
+ import type { ReadingHints } from "./hints.js";
13
+ import type { SandhiOptions } from "./sandhi.js";
14
+ /**
15
+ * How a conversion should be carried out and written.
16
+ */
17
+ export interface ConvertOptions {
18
+ /** Which reading standard to use. Defaults to `zh-CN`. */
19
+ readonly locale?: Locale;
20
+ /** How tones are written. Defaults to diacritics. */
21
+ readonly notation?: ToneNotation;
22
+ /** Which tone sandhi to apply. */
23
+ readonly sandhi?: SandhiOptions;
24
+ /** When the 隔音符号 is written. Defaults to `always`. */
25
+ readonly apostrophe?: ApostropheStyle;
26
+ /** Which capitals are written. Defaults to `auto`. */
27
+ readonly capitals?: CapitalStyle;
28
+ /** Whether Chinese punctuation is rewritten. Defaults to `latin`. */
29
+ readonly punctuation?: PunctuationStyle;
30
+ /** Whether GB/T 16159 word grouping is applied. Defaults to true. */
31
+ readonly grouping?: boolean;
32
+ /**
33
+ * What to do with the digits in a text. Defaults to `read`.
34
+ *
35
+ * `read` says them: 我有3个 is `wǒ yǒu sān gè` and 1998年 is
36
+ * `yī jiǔ jiǔ bā nián`. `keep` leaves every digit exactly as it was written,
37
+ * which is what this did before there was anything to read them with.
38
+ */
39
+ readonly numbers?: NumberStyle;
40
+ /**
41
+ * Readings the caller asserts, over whatever the sources say.
42
+ *
43
+ * No rule can settle every polyphone, and some texts are genuinely ambiguous
44
+ * — 孩子越长越漂亮 grows where 头发越长越漂亮 lengthens — so an application
45
+ * that knows its own content can say what this one could only guess at.
46
+ *
47
+ * ```ts
48
+ * convert(dictionary, "这篇文章不太长。", { readings: { 太长: "tài cháng" } });
49
+ * ```
50
+ *
51
+ * A hint displaces whatever covered exactly the characters it names, and
52
+ * competes normally with everything else, so a bare `长` hint leaves 校长 as
53
+ * `xiàozhǎng` — the longer word is still the better reading of that stretch.
54
+ * See {@link ReadingHints}.
55
+ */
56
+ readonly readings?: ReadingHints;
57
+ }
58
+ /**
59
+ * What a conversion does with the digits it meets.
60
+ */
61
+ export type NumberStyle = "read" | "keep";
62
+ /**
63
+ * One piece of a conversion: a syllable, or the text between two of them.
64
+ *
65
+ * A conversion is assembled piece by piece and joined at the very end, so that
66
+ * a caller wanting to render each syllable separately — colouring its tone,
67
+ * marking it uncertain — is not left trying to find the syllables again in a
68
+ * finished string. {@link convert} is this, joined.
69
+ */
70
+ export interface ConvertedPiece {
71
+ readonly text: string;
72
+ /** The syllable this piece writes, or undefined where it writes none. */
73
+ readonly syllable: Syllable | undefined;
74
+ /**
75
+ * The characters this piece reads, where it names any of its own.
76
+ *
77
+ * What an annotation needs and a plain conversion throws away: to write 银行
78
+ * with `yín` over 银 and `háng` over 行, something has to say which characters
79
+ * each syllable is a reading *of*, and that is not the syllable's position.
80
+ * A reading is not one syllable per character — 玩儿 is two characters and
81
+ * the single syllable `wánr` — and a read number is not made of characters at
82
+ * all in the same way, 95% being `bǎifēnzhījiǔshíwǔ` over eight syllables and
83
+ * three written characters.
84
+ *
85
+ * So a piece either names the characters it reads or continues the ones the
86
+ * piece before it named, and the two are told apart by the syllable rather
87
+ * than by a second flag:
88
+ *
89
+ * | `syllable` | `source` | The piece |
90
+ * | --- | --- | --- |
91
+ * | undefined | undefined | writes no reading: a space, or a non-Han run |
92
+ * | set | set | reads exactly those characters |
93
+ * | set | undefined | reads on into the characters named before it |
94
+ *
95
+ * {@link import("../format/html.js").toAnnotatedHtml} is what consumes it.
96
+ */
97
+ readonly source: string | undefined;
98
+ /**
99
+ * How settled that syllable was, where the decode reported it.
100
+ *
101
+ * Only {@link convertPieces} fills this in, and only for a syllable the
102
+ * lattice decoded: the greedy baseline cannot say what it rejected, and a
103
+ * Taiwan reading that differs in length from its mainland form cannot be
104
+ * lined up with it.
105
+ */
106
+ readonly confidence: ReadingConfidence | undefined;
107
+ }
108
+ /**
109
+ * The orthographic choices a conversion has settled, rather than defaulted.
110
+ */
111
+ export interface Written {
112
+ readonly notation: ToneNotation;
113
+ readonly apostrophe: ApostropheStyle;
114
+ readonly capitals: CapitalStyle;
115
+ }
116
+ //# sourceMappingURL=convert-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-options.d.ts","sourceRoot":"","sources":["../../src/decode/convert-options.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,kCAAkC;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,sDAAsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,qEAAqE;IACrE,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACxC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAC/B;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAE1C;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,SAAS,CAAC;IACxC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=convert-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-options.js","sourceRoot":"","sources":["../../src/decode/convert-options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * The conversion pipeline: runs in, written pieces out.
3
+ *
4
+ * One function, because the phases depend on each other in a fixed order and
5
+ * each needs what the one before it produced — the numbers are read before
6
+ * anything is decoded, the Han runs are decoded before anything is written, and
7
+ * the capitals and punctuation are applied over the whole text rather than over
8
+ * a run. Which decoder does the middle of it is the caller's to choose, which is
9
+ * what makes the six entry points in `convert.ts` six lines each.
10
+ */
11
+ import type { Dictionary } from "../dictionary/dictionary.js";
12
+ import type { ConvertedPiece, ConvertOptions } from "./pieces.js";
13
+ import type { Decode } from "./decoders.js";
14
+ /**
15
+ * Run the pipeline over a text with a given decoder.
16
+ */
17
+ export declare function convertWith(decode: Decode, dictionary: Dictionary, text: string, options: ConvertOptions): readonly ConvertedPiece[];
18
+ //# sourceMappingURL=convert-pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-pipeline.d.ts","sourceRoot":"","sources":["../../src/decode/convert-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAU9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAW,MAAM,aAAa,CAAC;AAE3E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAG5C;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,GACtB,SAAS,cAAc,EAAE,CAiF3B"}
@@ -0,0 +1,66 @@
1
+ import { capitaliseSentenceParts, isSentence, } from "../orthography/capitals.js";
2
+ import { toLatinPunctuationParts } from "../orthography/punctuation.js";
3
+ import { readNumbersIn } from "../numerals/text.js";
4
+ import { toCharacters } from "../script/characters.js";
5
+ import { hintsWithin, resolveHints } from "./hints.js";
6
+ import { splitRuns, surroundingCharacters } from "./runs.js";
7
+ import { numeralBefore, surrounding, writeNumbers } from "./numbers.js";
8
+ import { writeRun, rewrite, wordsOf } from "./write-run.js";
9
+ /**
10
+ * Run the pipeline over a text with a given decoder.
11
+ */
12
+ export function convertWith(decode, dictionary, text, options) {
13
+ const { locale = "zh-CN", notation = "marks", apostrophe = "always", capitals = "auto", punctuation = "latin", grouping = true, numbers = "read", sandhi, readings, } = options;
14
+ const written = { notation, apostrophe, capitals };
15
+ const converted = [];
16
+ const runs = [...splitRuns(text)];
17
+ // Parsed once for the whole text rather than per run, so that a malformed
18
+ // hint is reported whether or not a run happens to reach it.
19
+ const hints = readings === undefined ? undefined : resolveHints(readings);
20
+ // Where each run starts, in code points, so a caller counting positions from
21
+ // the start of the text can be met where the run puts them.
22
+ const starts = [];
23
+ let start = 0;
24
+ for (const run of runs) {
25
+ starts.push(start);
26
+ start += toCharacters(run.text).length;
27
+ }
28
+ // Read before anything is decoded, because a number needs to know what
29
+ // follows it — 1998年 is a year and 3个 is a count — and the character that
30
+ // decides it is there for the reading without a decode of its own.
31
+ const read = runs.map((run, at) => run.isHan || numbers === "keep"
32
+ ? []
33
+ : readNumbersIn(run.text, surroundingCharacters(runs, at)));
34
+ // Decoded before anything is written, because a number's sandhi needs the
35
+ // syllable after it, and because a Han run needs the number in front of it:
36
+ // 2个人 is `liǎng gè rén` and 个人 on its own is the word `gèrén`.
37
+ const decoded = runs.map((run, at) => {
38
+ if (!run.isHan) {
39
+ return [];
40
+ }
41
+ const within = hints === undefined
42
+ ? undefined
43
+ : hintsWithin(hints, starts[at] ?? 0, toCharacters(run.text).length);
44
+ const said = numeralBefore(read[at - 1] ?? []);
45
+ return wordsOf(decode(dictionary, run.text, said, within), dictionary, grouping);
46
+ });
47
+ for (const [at, run] of runs.entries()) {
48
+ const words = decoded[at] ?? [];
49
+ if (run.isHan) {
50
+ converted.push(...writeRun(dictionary, words, locale, written, sandhi));
51
+ continue;
52
+ }
53
+ converted.push(...writeNumbers(run.text, read[at] ?? [], surrounding(runs, decoded, at), written, { sandhi }));
54
+ }
55
+ let pieces = converted;
56
+ // Both of these read the whole conversion rather than one run: a sentence
57
+ // capital belongs to whichever run happens to start the sentence, and a mark
58
+ // needs to know whether anything follows it before it takes a space.
59
+ if (capitals === "auto" && isSentence(text)) {
60
+ pieces = rewrite(pieces, capitaliseSentenceParts);
61
+ }
62
+ return punctuation === "latin"
63
+ ? rewrite(pieces, toLatinPunctuationParts)
64
+ : pieces;
65
+ }
66
+ //# sourceMappingURL=convert-pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert-pipeline.js","sourceRoot":"","sources":["../../src/decode/convert-pipeline.ts"],"names":[],"mappings":"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"}
@@ -1,122 +1,13 @@
1
- import type { Dictionary } from "../dictionary/dictionary.js";
2
- import { type ApostropheStyle } from "../orthography/apostrophe.js";
3
- import { type CapitalStyle } from "../orthography/capitals.js";
4
- import { type PunctuationStyle } from "../orthography/punctuation.js";
5
- import type { Locale } from "../script/script.js";
6
- import { type Syllable, type ToneNotation } from "../syllable/syllable.js";
7
- import type { ReadingConfidence } from "./confidence.js";
8
- import { type ReadingHints } from "./hints.js";
9
- import { type SandhiOptions } from "./sandhi.js";
10
- /**
11
- * How a conversion should be carried out and written.
12
- */
13
- export interface ConvertOptions {
14
- /** Which reading standard to use. Defaults to `zh-CN`. */
15
- readonly locale?: Locale;
16
- /** How tones are written. Defaults to diacritics. */
17
- readonly notation?: ToneNotation;
18
- /** Which tone sandhi to apply. */
19
- readonly sandhi?: SandhiOptions;
20
- /** When the 隔音符号 is written. Defaults to `always`. */
21
- readonly apostrophe?: ApostropheStyle;
22
- /** Which capitals are written. Defaults to `auto`. */
23
- readonly capitals?: CapitalStyle;
24
- /** Whether Chinese punctuation is rewritten. Defaults to `latin`. */
25
- readonly punctuation?: PunctuationStyle;
26
- /** Whether GB/T 16159 word grouping is applied. Defaults to true. */
27
- readonly grouping?: boolean;
28
- /**
29
- * What to do with the digits in a text. Defaults to `read`.
30
- *
31
- * `read` says them: 我有3个 is `wǒ yǒu sān gè` and 1998年 is
32
- * `yī jiǔ jiǔ bā nián`. `keep` leaves every digit exactly as it was written,
33
- * which is what this did before there was anything to read them with.
34
- */
35
- readonly numbers?: NumberStyle;
36
- /**
37
- * Readings the caller asserts, over whatever the sources say.
38
- *
39
- * No rule can settle every polyphone, and some texts are genuinely ambiguous
40
- * — 孩子越长越漂亮 grows where 头发越长越漂亮 lengthens — so an application
41
- * that knows its own content can say what this one could only guess at.
42
- *
43
- * ```ts
44
- * convert(dictionary, "这篇文章不太长。", { readings: { 太长: "tài cháng" } });
45
- * ```
46
- *
47
- * A hint displaces whatever covered exactly the characters it names, and
48
- * competes normally with everything else, so a bare `长` hint leaves 校长 as
49
- * `xiàozhǎng` — the longer word is still the better reading of that stretch.
50
- * See {@link ReadingHints}.
51
- */
52
- readonly readings?: ReadingHints;
53
- }
54
- /**
55
- * What a conversion does with the digits it meets.
56
- */
57
- export type NumberStyle = "read" | "keep";
58
1
  /**
59
- * One piece of a conversion: a syllable, or the text between two of them.
2
+ * Converting hanzi to pinyin, in every form a caller may want it.
60
3
  *
61
- * A conversion is assembled piece by piece and joined at the very end, so that
62
- * a caller wanting to render each syllable separately — colouring its tone,
63
- * marking it uncertain — is not left trying to find the syllables again in a
64
- * finished string. {@link convert} is this, joined.
4
+ * Six entry points over one pipeline, differing only in which decoder runs and
5
+ * whether the answer is joined back into a string. The pipeline itself is
6
+ * `convert-pipeline.ts`.
65
7
  */
66
- export interface ConvertedPiece {
67
- readonly text: string;
68
- /** The syllable this piece writes, or undefined where it writes none. */
69
- readonly syllable: Syllable | undefined;
70
- /**
71
- * The characters this piece reads, where it names any of its own.
72
- *
73
- * What an annotation needs and a plain conversion throws away: to write 银行
74
- * with `yín` over 银 and `háng` over 行, something has to say which characters
75
- * each syllable is a reading *of*, and that is not the syllable's position.
76
- * A reading is not one syllable per character — 玩儿 is two characters and
77
- * the single syllable `wánr` — and a read number is not made of characters at
78
- * all in the same way, 95% being `bǎifēnzhījiǔshíwǔ` over eight syllables and
79
- * three written characters.
80
- *
81
- * So a piece either names the characters it reads or continues the ones the
82
- * piece before it named, and the two are told apart by the syllable rather
83
- * than by a second flag:
84
- *
85
- * | `syllable` | `source` | The piece |
86
- * | --- | --- | --- |
87
- * | undefined | undefined | writes no reading: a space, or a non-Han run |
88
- * | set | set | reads exactly those characters |
89
- * | set | undefined | reads on into the characters named before it |
90
- *
91
- * {@link import("../format/html.js").toAnnotatedHtml} is what consumes it.
92
- */
93
- readonly source: string | undefined;
94
- /**
95
- * How settled that syllable was, where the decode reported it.
96
- *
97
- * Only {@link convertPieces} fills this in, and only for a syllable the
98
- * lattice decoded: the greedy baseline cannot say what it rejected, and a
99
- * Taiwan reading that differs in length from its mainland form cannot be
100
- * lined up with it.
101
- */
102
- readonly confidence: ReadingConfidence | undefined;
103
- }
104
- /**
105
- * Which characters of a word each of its syllables reads.
106
- *
107
- * One per syllable, in order, and undefined where a syllable reads on into the
108
- * characters the one before it took. Only 儿化 does that: measured over the
109
- * committed dictionary, 5,283 of 723,147 keys have fewer syllables than
110
- * characters, 4,024 of them because a final 儿 folds into the syllable before
111
- * it, and the remaining 1,259 because the word is written with punctuation —
112
- * which cannot reach here, since punctuation ends a Han run before the decode
113
- * ever sees it.
114
- *
115
- * The deficit is spent from the right, which is where 儿化 always is. 打哪儿指
116
- * 哪儿 is the case that needs it: two syllables short over six characters, and
117
- * both 儿 attach to the character in front of them rather than one taking two.
118
- */
119
- export declare function sourcesOf(word: string, reading: readonly Syllable[]): readonly (string | undefined)[];
8
+ import type { Dictionary } from "../dictionary/dictionary.js";
9
+ import type { ConvertedPiece, ConvertOptions } from "./pieces.js";
10
+ export { type ConvertedPiece, type ConvertOptions, type NumberStyle, sourcesOf, } from "./pieces.js";
120
11
  /**
121
12
  * Convert hanzi to pinyin with the lattice decoder.
122
13
  *
@@ -133,8 +24,8 @@ export declare function convert(dictionary: Dictionary, text: string, options?:
133
24
  * The same conversion {@link convert} performs and the same text once joined,
134
25
  * kept in pieces so that each syllable can be rendered on its own terms.
135
26
  * Everything the decode rejected is reported with it — see
136
- * {@link ReadingConfidence} — which is what an output format needs to show a
137
- * reader where it was guessing.
27
+ * {@link import("./confidence.js").ReadingConfidence} — which is what an
28
+ * output format needs to show a reader where it was guessing.
138
29
  *
139
30
  * Costs a second sweep of the lattice, which is why it is not what
140
31
  * {@link convert} runs.
@@ -1 +1 @@
1
- {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/decode/convert.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/decode/convert.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlE,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,SAAS,GACV,MAAM,aAAa,CAAC;AAErB;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,MAAM,CAER;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,SAAS,cAAc,EAAE,CAE3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,SAAS,cAAc,EAAE,CAE3B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,cAAmB,GAC3B,SAAS,cAAc,EAAE,CAE3B"}