@elaraai/east 0.0.1-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/LICENSE.md +15 -666
  2. package/README.md +113 -88
  3. package/dist/src/analyze.d.ts +3 -0
  4. package/dist/src/analyze.d.ts.map +1 -1
  5. package/dist/src/analyze.js +223 -111
  6. package/dist/src/analyze.js.map +1 -1
  7. package/dist/src/analyze.spec.d.ts +2 -0
  8. package/dist/src/analyze.spec.d.ts.map +1 -0
  9. package/dist/src/analyze.spec.js +445 -0
  10. package/dist/src/analyze.spec.js.map +1 -0
  11. package/dist/src/ast.d.ts +54 -35
  12. package/dist/src/ast.d.ts.map +1 -1
  13. package/dist/src/ast_to_ir.coerce_to.spec.d.ts +15 -0
  14. package/dist/src/ast_to_ir.coerce_to.spec.d.ts.map +1 -0
  15. package/dist/src/ast_to_ir.coerce_to.spec.js +420 -0
  16. package/dist/src/ast_to_ir.coerce_to.spec.js.map +1 -0
  17. package/dist/src/ast_to_ir.d.ts +18 -4
  18. package/dist/src/ast_to_ir.d.ts.map +1 -1
  19. package/dist/src/ast_to_ir.js +233 -178
  20. package/dist/src/ast_to_ir.js.map +1 -1
  21. package/dist/src/builtins.d.ts +1 -1
  22. package/dist/src/builtins.d.ts.map +1 -1
  23. package/dist/src/builtins.js +194 -2
  24. package/dist/src/builtins.js.map +1 -1
  25. package/dist/src/comparison.d.ts +2 -2
  26. package/dist/src/comparison.d.ts.map +1 -1
  27. package/dist/src/comparison.js +115 -40
  28. package/dist/src/comparison.js.map +1 -1
  29. package/dist/src/comparison.spec.d.ts +2 -0
  30. package/dist/src/comparison.spec.d.ts.map +1 -0
  31. package/dist/src/comparison.spec.js +1200 -0
  32. package/dist/src/comparison.spec.js.map +1 -0
  33. package/dist/src/compile.d.ts +31 -9
  34. package/dist/src/compile.d.ts.map +1 -1
  35. package/dist/src/compile.js +1048 -548
  36. package/dist/src/compile.js.map +1 -1
  37. package/dist/src/containers/matrix.d.ts +15 -0
  38. package/dist/src/containers/matrix.d.ts.map +1 -0
  39. package/dist/src/containers/matrix.js +15 -0
  40. package/dist/src/containers/matrix.js.map +1 -0
  41. package/dist/src/containers/ref.d.ts.map +1 -1
  42. package/dist/src/containers/ref.js +1 -1
  43. package/dist/src/containers/ref.js.map +1 -1
  44. package/dist/src/containers/sortedmap.spec.d.ts +2 -0
  45. package/dist/src/containers/sortedmap.spec.d.ts.map +1 -0
  46. package/dist/src/containers/sortedmap.spec.js +180 -0
  47. package/dist/src/containers/sortedmap.spec.js.map +1 -0
  48. package/dist/src/containers/sortedset.spec.d.ts +2 -0
  49. package/dist/src/containers/sortedset.spec.d.ts.map +1 -0
  50. package/dist/src/containers/sortedset.spec.js +228 -0
  51. package/dist/src/containers/sortedset.spec.js.map +1 -0
  52. package/dist/src/containers/variant.d.ts.map +1 -1
  53. package/dist/src/containers/variant.js +1 -1
  54. package/dist/src/containers/variant.js.map +1 -1
  55. package/dist/src/containers/variant.spec.d.ts +2 -0
  56. package/dist/src/containers/variant.spec.d.ts.map +1 -0
  57. package/dist/src/containers/variant.spec.js +217 -0
  58. package/dist/src/containers/variant.spec.js.map +1 -0
  59. package/dist/src/datetime_format/parse.spec.d.ts +6 -0
  60. package/dist/src/datetime_format/parse.spec.d.ts.map +1 -0
  61. package/dist/src/datetime_format/parse.spec.js +379 -0
  62. package/dist/src/datetime_format/parse.spec.js.map +1 -0
  63. package/dist/src/datetime_format/print.spec.d.ts +6 -0
  64. package/dist/src/datetime_format/print.spec.d.ts.map +1 -0
  65. package/dist/src/datetime_format/print.spec.js +257 -0
  66. package/dist/src/datetime_format/print.spec.js.map +1 -0
  67. package/dist/src/datetime_format/tokenize.spec.d.ts +2 -0
  68. package/dist/src/datetime_format/tokenize.spec.d.ts.map +1 -0
  69. package/dist/src/datetime_format/tokenize.spec.js +508 -0
  70. package/dist/src/datetime_format/tokenize.spec.js.map +1 -0
  71. package/dist/src/datetime_format/types.d.ts +23 -23
  72. package/dist/src/default.d.ts.map +1 -1
  73. package/dist/src/default.js +33 -0
  74. package/dist/src/default.js.map +1 -1
  75. package/dist/src/default.spec.d.ts +2 -0
  76. package/dist/src/default.spec.d.ts.map +1 -0
  77. package/dist/src/default.spec.js +178 -0
  78. package/dist/src/default.spec.js.map +1 -0
  79. package/dist/src/eastir.d.ts +7 -0
  80. package/dist/src/eastir.d.ts.map +1 -1
  81. package/dist/src/eastir.js +55 -7
  82. package/dist/src/eastir.js.map +1 -1
  83. package/dist/src/error.d.ts +14 -4
  84. package/dist/src/error.d.ts.map +1 -1
  85. package/dist/src/error.js +28 -3
  86. package/dist/src/error.js.map +1 -1
  87. package/dist/src/example.d.ts +87 -0
  88. package/dist/src/example.d.ts.map +1 -0
  89. package/dist/src/example.js +18 -0
  90. package/dist/src/example.js.map +1 -0
  91. package/dist/src/expr/array.d.ts +43 -1
  92. package/dist/src/expr/array.d.ts.map +1 -1
  93. package/dist/src/expr/array.js +103 -53
  94. package/dist/src/expr/array.js.map +1 -1
  95. package/dist/src/expr/ast.d.ts +1 -1
  96. package/dist/src/expr/ast.d.ts.map +1 -1
  97. package/dist/src/expr/ast.js +112 -54
  98. package/dist/src/expr/ast.js.map +1 -1
  99. package/dist/src/expr/asyncfunction.d.ts.map +1 -1
  100. package/dist/src/expr/asyncfunction.js +6 -4
  101. package/dist/src/expr/asyncfunction.js.map +1 -1
  102. package/dist/src/expr/blob.d.ts +48 -0
  103. package/dist/src/expr/blob.d.ts.map +1 -1
  104. package/dist/src/expr/blob.js +63 -8
  105. package/dist/src/expr/blob.js.map +1 -1
  106. package/dist/src/expr/block.d.ts +213 -12
  107. package/dist/src/expr/block.d.ts.map +1 -1
  108. package/dist/src/expr/block.js +796 -293
  109. package/dist/src/expr/block.js.map +1 -1
  110. package/dist/src/expr/boolean.d.ts +44 -0
  111. package/dist/src/expr/boolean.d.ts.map +1 -1
  112. package/dist/src/expr/boolean.js +58 -6
  113. package/dist/src/expr/boolean.js.map +1 -1
  114. package/dist/src/expr/datetime.d.ts +135 -0
  115. package/dist/src/expr/datetime.d.ts.map +1 -1
  116. package/dist/src/expr/datetime.js +184 -34
  117. package/dist/src/expr/datetime.js.map +1 -1
  118. package/dist/src/expr/dict.d.ts +47 -2
  119. package/dist/src/expr/dict.d.ts.map +1 -1
  120. package/dist/src/expr/dict.js +122 -61
  121. package/dist/src/expr/dict.js.map +1 -1
  122. package/dist/src/expr/expr.d.ts +3 -1
  123. package/dist/src/expr/expr.d.ts.map +1 -1
  124. package/dist/src/expr/expr.js +4 -3
  125. package/dist/src/expr/expr.js.map +1 -1
  126. package/dist/src/expr/float.d.ts +153 -0
  127. package/dist/src/expr/float.d.ts.map +1 -1
  128. package/dist/src/expr/float.js +191 -17
  129. package/dist/src/expr/float.js.map +1 -1
  130. package/dist/src/expr/function.d.ts +7 -2
  131. package/dist/src/expr/function.d.ts.map +1 -1
  132. package/dist/src/expr/function.js +6 -4
  133. package/dist/src/expr/function.js.map +1 -1
  134. package/dist/src/expr/index.d.ts +186 -2
  135. package/dist/src/expr/index.d.ts.map +1 -1
  136. package/dist/src/expr/index.js +183 -2
  137. package/dist/src/expr/index.js.map +1 -1
  138. package/dist/src/expr/integer.d.ts +180 -0
  139. package/dist/src/expr/integer.d.ts.map +1 -1
  140. package/dist/src/expr/integer.js +189 -18
  141. package/dist/src/expr/integer.js.map +1 -1
  142. package/dist/src/expr/libs/array.js +3 -3
  143. package/dist/src/expr/libs/array.js.map +1 -1
  144. package/dist/src/expr/libs/blob.js +3 -3
  145. package/dist/src/expr/libs/blob.js.map +1 -1
  146. package/dist/src/expr/libs/dict.js +1 -1
  147. package/dist/src/expr/libs/dict.js.map +1 -1
  148. package/dist/src/expr/libs/matrix.d.ts +17 -0
  149. package/dist/src/expr/libs/matrix.d.ts.map +1 -0
  150. package/dist/src/expr/libs/matrix.js +60 -0
  151. package/dist/src/expr/libs/matrix.js.map +1 -0
  152. package/dist/src/expr/libs/set.js +1 -1
  153. package/dist/src/expr/libs/set.js.map +1 -1
  154. package/dist/src/expr/libs/string.d.ts.map +1 -1
  155. package/dist/src/expr/libs/string.js +2 -1
  156. package/dist/src/expr/libs/string.js.map +1 -1
  157. package/dist/src/expr/libs/vector.d.ts +16 -0
  158. package/dist/src/expr/libs/vector.d.ts.map +1 -0
  159. package/dist/src/expr/libs/vector.js +44 -0
  160. package/dist/src/expr/libs/vector.js.map +1 -0
  161. package/dist/src/expr/matrix.d.ts +109 -0
  162. package/dist/src/expr/matrix.d.ts.map +1 -0
  163. package/dist/src/expr/matrix.js +224 -0
  164. package/dist/src/expr/matrix.js.map +1 -0
  165. package/dist/src/expr/recursive.d.ts +83 -0
  166. package/dist/src/expr/recursive.d.ts.map +1 -0
  167. package/dist/src/expr/recursive.js +99 -0
  168. package/dist/src/expr/recursive.js.map +1 -0
  169. package/dist/src/expr/ref.js +5 -5
  170. package/dist/src/expr/ref.js.map +1 -1
  171. package/dist/src/expr/set.d.ts +44 -2
  172. package/dist/src/expr/set.d.ts.map +1 -1
  173. package/dist/src/expr/set.js +102 -52
  174. package/dist/src/expr/set.js.map +1 -1
  175. package/dist/src/expr/string.d.ts +134 -0
  176. package/dist/src/expr/string.d.ts.map +1 -1
  177. package/dist/src/expr/string.js +173 -23
  178. package/dist/src/expr/string.js.map +1 -1
  179. package/dist/src/expr/struct.d.ts +1 -1
  180. package/dist/src/expr/struct.d.ts.map +1 -1
  181. package/dist/src/expr/struct.js +2 -2
  182. package/dist/src/expr/struct.js.map +1 -1
  183. package/dist/src/expr/types.d.ts +12 -9
  184. package/dist/src/expr/types.d.ts.map +1 -1
  185. package/dist/src/expr/variant.d.ts +108 -11
  186. package/dist/src/expr/variant.d.ts.map +1 -1
  187. package/dist/src/expr/variant.js +76 -38
  188. package/dist/src/expr/variant.js.map +1 -1
  189. package/dist/src/expr/vector.d.ts +102 -0
  190. package/dist/src/expr/vector.d.ts.map +1 -0
  191. package/dist/src/expr/vector.js +202 -0
  192. package/dist/src/expr/vector.js.map +1 -0
  193. package/dist/src/fuzz.d.ts +36 -2
  194. package/dist/src/fuzz.d.ts.map +1 -1
  195. package/dist/src/fuzz.js +409 -77
  196. package/dist/src/fuzz.js.map +1 -1
  197. package/dist/src/index.d.ts +4 -0
  198. package/dist/src/index.d.ts.map +1 -1
  199. package/dist/src/index.js +4 -0
  200. package/dist/src/index.js.map +1 -1
  201. package/dist/src/internal.d.ts +12 -2
  202. package/dist/src/internal.d.ts.map +1 -1
  203. package/dist/src/internal.js +13 -2
  204. package/dist/src/internal.js.map +1 -1
  205. package/dist/src/ir.d.ts +1754 -1484
  206. package/dist/src/ir.d.ts.map +1 -1
  207. package/dist/src/ir.js +51 -34
  208. package/dist/src/ir.js.map +1 -1
  209. package/dist/src/ir.spec.d.ts +2 -0
  210. package/dist/src/ir.spec.d.ts.map +1 -0
  211. package/dist/src/ir.spec.js +35 -0
  212. package/dist/src/ir.spec.js.map +1 -0
  213. package/dist/src/location.d.ts +56 -17
  214. package/dist/src/location.d.ts.map +1 -1
  215. package/dist/src/location.js +226 -29
  216. package/dist/src/location.js.map +1 -1
  217. package/dist/src/location.spec.d.ts +2 -0
  218. package/dist/src/location.spec.d.ts.map +1 -0
  219. package/dist/src/location.spec.js +102 -0
  220. package/dist/src/location.spec.js.map +1 -0
  221. package/dist/src/patch/apply.d.ts +15 -0
  222. package/dist/src/patch/apply.d.ts.map +1 -0
  223. package/dist/src/patch/apply.js +352 -0
  224. package/dist/src/patch/apply.js.map +1 -0
  225. package/dist/src/patch/compose.d.ts +15 -0
  226. package/dist/src/patch/compose.d.ts.map +1 -0
  227. package/dist/src/patch/compose.js +448 -0
  228. package/dist/src/patch/compose.js.map +1 -0
  229. package/dist/src/patch/diff.d.ts +15 -0
  230. package/dist/src/patch/diff.d.ts.map +1 -0
  231. package/dist/src/patch/diff.js +347 -0
  232. package/dist/src/patch/diff.js.map +1 -0
  233. package/dist/src/patch/fuzz.d.ts +73 -0
  234. package/dist/src/patch/fuzz.d.ts.map +1 -0
  235. package/dist/src/patch/fuzz.js +159 -0
  236. package/dist/src/patch/fuzz.js.map +1 -0
  237. package/dist/src/patch/index.d.ts +32 -0
  238. package/dist/src/patch/index.d.ts.map +1 -0
  239. package/dist/src/patch/index.js +48 -0
  240. package/dist/src/patch/index.js.map +1 -0
  241. package/dist/src/patch/invert.d.ts +15 -0
  242. package/dist/src/patch/invert.d.ts.map +1 -0
  243. package/dist/src/patch/invert.js +284 -0
  244. package/dist/src/patch/invert.js.map +1 -0
  245. package/dist/src/patch/merge.d.ts +56 -0
  246. package/dist/src/patch/merge.d.ts.map +1 -0
  247. package/dist/src/patch/merge.js +586 -0
  248. package/dist/src/patch/merge.js.map +1 -0
  249. package/dist/src/patch/merge.spec.d.ts +2 -0
  250. package/dist/src/patch/merge.spec.d.ts.map +1 -0
  251. package/dist/src/patch/merge.spec.js +1139 -0
  252. package/dist/src/patch/merge.spec.js.map +1 -0
  253. package/dist/src/patch/patch.spec.d.ts +2 -0
  254. package/dist/src/patch/patch.spec.d.ts.map +1 -0
  255. package/dist/src/patch/patch.spec.js +452 -0
  256. package/dist/src/patch/patch.spec.js.map +1 -0
  257. package/dist/src/patch/path.d.ts +115 -0
  258. package/dist/src/patch/path.d.ts.map +1 -0
  259. package/dist/src/patch/path.js +192 -0
  260. package/dist/src/patch/path.js.map +1 -0
  261. package/dist/src/patch/path.spec.d.ts +6 -0
  262. package/dist/src/patch/path.spec.d.ts.map +1 -0
  263. package/dist/src/patch/path.spec.js +322 -0
  264. package/dist/src/patch/path.spec.js.map +1 -0
  265. package/dist/src/patch/prune.d.ts +77 -0
  266. package/dist/src/patch/prune.d.ts.map +1 -0
  267. package/dist/src/patch/prune.js +115 -0
  268. package/dist/src/patch/prune.js.map +1 -0
  269. package/dist/src/patch/prune.spec.d.ts +6 -0
  270. package/dist/src/patch/prune.spec.d.ts.map +1 -0
  271. package/dist/src/patch/prune.spec.js +473 -0
  272. package/dist/src/patch/prune.spec.js.map +1 -0
  273. package/dist/src/patch/type_of_patch.d.ts +25 -0
  274. package/dist/src/patch/type_of_patch.d.ts.map +1 -0
  275. package/dist/src/patch/type_of_patch.js +144 -0
  276. package/dist/src/patch/type_of_patch.js.map +1 -0
  277. package/dist/src/patch/types.d.ts +220 -0
  278. package/dist/src/patch/types.d.ts.map +1 -0
  279. package/dist/src/patch/types.js +62 -0
  280. package/dist/src/patch/types.js.map +1 -0
  281. package/dist/src/patch/validate.d.ts +44 -0
  282. package/dist/src/patch/validate.d.ts.map +1 -0
  283. package/dist/src/patch/validate.js +190 -0
  284. package/dist/src/patch/validate.js.map +1 -0
  285. package/dist/src/patch/validate.spec.d.ts +6 -0
  286. package/dist/src/patch/validate.spec.d.ts.map +1 -0
  287. package/dist/src/patch/validate.spec.js +225 -0
  288. package/dist/src/patch/validate.spec.js.map +1 -0
  289. package/dist/src/patch/walk.d.ts +121 -0
  290. package/dist/src/patch/walk.d.ts.map +1 -0
  291. package/dist/src/patch/walk.js +385 -0
  292. package/dist/src/patch/walk.js.map +1 -0
  293. package/dist/src/patch/walk.spec.d.ts +6 -0
  294. package/dist/src/patch/walk.spec.d.ts.map +1 -0
  295. package/dist/src/patch/walk.spec.js +621 -0
  296. package/dist/src/patch/walk.spec.js.map +1 -0
  297. package/dist/src/platform.d.ts +6 -0
  298. package/dist/src/platform.d.ts.map +1 -1
  299. package/dist/src/platform.spec.d.ts +2 -0
  300. package/dist/src/platform.spec.d.ts.map +1 -0
  301. package/dist/src/platform.spec.js +330 -0
  302. package/dist/src/platform.spec.js.map +1 -0
  303. package/dist/src/serialization/beast.d.ts.map +1 -1
  304. package/dist/src/serialization/beast.js +12 -0
  305. package/dist/src/serialization/beast.js.map +1 -1
  306. package/dist/src/serialization/beast.spec.d.ts +6 -0
  307. package/dist/src/serialization/beast.spec.d.ts.map +1 -0
  308. package/dist/src/serialization/beast.spec.js +406 -0
  309. package/dist/src/serialization/beast.spec.js.map +1 -0
  310. package/dist/src/serialization/beast2/index.d.ts +50 -0
  311. package/dist/src/serialization/beast2/index.d.ts.map +1 -0
  312. package/dist/src/serialization/beast2/index.js +756 -0
  313. package/dist/src/serialization/beast2/index.js.map +1 -0
  314. package/dist/src/serialization/beast2/index.spec.d.ts +6 -0
  315. package/dist/src/serialization/beast2/index.spec.d.ts.map +1 -0
  316. package/dist/src/serialization/beast2/index.spec.js +528 -0
  317. package/dist/src/serialization/beast2/index.spec.js.map +1 -0
  318. package/dist/src/serialization/beast2/sourcemap-table.d.ts +29 -0
  319. package/dist/src/serialization/beast2/sourcemap-table.d.ts.map +1 -0
  320. package/dist/src/serialization/beast2/sourcemap-table.js +82 -0
  321. package/dist/src/serialization/beast2/sourcemap-table.js.map +1 -0
  322. package/dist/src/serialization/beast2/string-table.d.ts +16 -0
  323. package/dist/src/serialization/beast2/string-table.d.ts.map +1 -0
  324. package/dist/src/serialization/beast2/string-table.js +38 -0
  325. package/dist/src/serialization/beast2/string-table.js.map +1 -0
  326. package/dist/src/serialization/beast2/type-table.d.ts +86 -0
  327. package/dist/src/serialization/beast2/type-table.d.ts.map +1 -0
  328. package/dist/src/serialization/beast2/type-table.js +618 -0
  329. package/dist/src/serialization/beast2/type-table.js.map +1 -0
  330. package/dist/src/serialization/beast2/value-table.d.ts +40 -0
  331. package/dist/src/serialization/beast2/value-table.d.ts.map +1 -0
  332. package/dist/src/serialization/beast2/value-table.js +157 -0
  333. package/dist/src/serialization/beast2/value-table.js.map +1 -0
  334. package/dist/src/serialization/binary-utils.d.ts +33 -0
  335. package/dist/src/serialization/binary-utils.d.ts.map +1 -1
  336. package/dist/src/serialization/binary-utils.js +157 -0
  337. package/dist/src/serialization/binary-utils.js.map +1 -1
  338. package/dist/src/serialization/csv.d.ts +17 -17
  339. package/dist/src/serialization/csv.d.ts.map +1 -1
  340. package/dist/src/serialization/csv.js +10 -8
  341. package/dist/src/serialization/csv.js.map +1 -1
  342. package/dist/src/serialization/csv.spec.d.ts +2 -0
  343. package/dist/src/serialization/csv.spec.d.ts.map +1 -0
  344. package/dist/src/serialization/csv.spec.js +556 -0
  345. package/dist/src/serialization/csv.spec.js.map +1 -0
  346. package/dist/src/serialization/east-inferred.spec.d.ts +2 -0
  347. package/dist/src/serialization/east-inferred.spec.d.ts.map +1 -0
  348. package/dist/src/serialization/east-inferred.spec.js +322 -0
  349. package/dist/src/serialization/east-inferred.spec.js.map +1 -0
  350. package/dist/src/serialization/east.d.ts +1 -1
  351. package/dist/src/serialization/east.d.ts.map +1 -1
  352. package/dist/src/serialization/east.js +178 -26
  353. package/dist/src/serialization/east.js.map +1 -1
  354. package/dist/src/serialization/east.spec.d.ts +2 -0
  355. package/dist/src/serialization/east.spec.d.ts.map +1 -0
  356. package/dist/src/serialization/east.spec.js +1548 -0
  357. package/dist/src/serialization/east.spec.js.map +1 -0
  358. package/dist/src/serialization/index.d.ts +1 -2
  359. package/dist/src/serialization/index.d.ts.map +1 -1
  360. package/dist/src/serialization/index.js +1 -2
  361. package/dist/src/serialization/index.js.map +1 -1
  362. package/dist/src/serialization/json.d.ts +1 -1
  363. package/dist/src/serialization/json.d.ts.map +1 -1
  364. package/dist/src/serialization/json.js +123 -24
  365. package/dist/src/serialization/json.js.map +1 -1
  366. package/dist/src/serialization/json.spec.d.ts +2 -0
  367. package/dist/src/serialization/json.spec.d.ts.map +1 -0
  368. package/dist/src/serialization/json.spec.js +1297 -0
  369. package/dist/src/serialization/json.spec.js.map +1 -0
  370. package/dist/src/type_of_type.d.ts +72 -35
  371. package/dist/src/type_of_type.d.ts.map +1 -1
  372. package/dist/src/type_of_type.is_data.spec.d.ts +6 -0
  373. package/dist/src/type_of_type.is_data.spec.d.ts.map +1 -0
  374. package/dist/src/type_of_type.is_data.spec.js +221 -0
  375. package/dist/src/type_of_type.is_data.spec.js.map +1 -0
  376. package/dist/src/type_of_type.js +355 -80
  377. package/dist/src/type_of_type.js.map +1 -1
  378. package/dist/src/type_of_type.to_etv.spec.d.ts +6 -0
  379. package/dist/src/type_of_type.to_etv.spec.d.ts.map +1 -0
  380. package/dist/src/type_of_type.to_etv.spec.js +263 -0
  381. package/dist/src/type_of_type.to_etv.spec.js.map +1 -0
  382. package/dist/src/types.d.ts +82 -12
  383. package/dist/src/types.d.ts.map +1 -1
  384. package/dist/src/types.error.spec.d.ts +2 -0
  385. package/dist/src/types.error.spec.d.ts.map +1 -0
  386. package/dist/src/types.error.spec.js +665 -0
  387. package/dist/src/types.error.spec.js.map +1 -0
  388. package/dist/src/types.js +663 -156
  389. package/dist/src/types.js.map +1 -1
  390. package/dist/src/types.spec.d.ts +2 -0
  391. package/dist/src/types.spec.d.ts.map +1 -0
  392. package/dist/src/types.spec.js +946 -0
  393. package/dist/src/types.spec.js.map +1 -0
  394. package/dist/src/walker.d.ts +65 -0
  395. package/dist/src/walker.d.ts.map +1 -0
  396. package/dist/src/walker.js +165 -0
  397. package/dist/src/walker.js.map +1 -0
  398. package/dist/src/walker.spec.d.ts +6 -0
  399. package/dist/src/walker.spec.d.ts.map +1 -0
  400. package/dist/src/walker.spec.js +109 -0
  401. package/dist/src/walker.spec.js.map +1 -0
  402. package/package.json +16 -38
  403. package/dist/src/serialization/beast2-stream.d.ts +0 -38
  404. package/dist/src/serialization/beast2-stream.d.ts.map +0 -1
  405. package/dist/src/serialization/beast2-stream.js +0 -670
  406. package/dist/src/serialization/beast2-stream.js.map +0 -1
  407. package/dist/src/serialization/beast2.d.ts +0 -41
  408. package/dist/src/serialization/beast2.d.ts.map +0 -1
  409. package/dist/src/serialization/beast2.js +0 -495
  410. package/dist/src/serialization/beast2.js.map +0 -1
@@ -0,0 +1,508 @@
1
+ /**
2
+ * Copyright (c) 2025 Elara AI Pty Ltd
3
+ * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
+ */
5
+ import { describe, test } from "node:test";
6
+ import * as assert from "node:assert/strict";
7
+ import { tokenizeDateTimeFormat, formatTokensToString } from "./tokenize.js";
8
+ import { variant } from "../containers/variant.js";
9
+ describe("parseDateTimeFormat", () => {
10
+ test("empty string", () => {
11
+ const result = tokenizeDateTimeFormat("");
12
+ assert.deepEqual(result, []);
13
+ });
14
+ test("year tokens", () => {
15
+ assert.deepEqual(tokenizeDateTimeFormat("YYYY"), [variant("year4", null)]);
16
+ assert.deepEqual(tokenizeDateTimeFormat("YY"), [variant("year2", null)]);
17
+ });
18
+ test("month tokens", () => {
19
+ assert.deepEqual(tokenizeDateTimeFormat("M"), [variant("month1", null)]);
20
+ assert.deepEqual(tokenizeDateTimeFormat("MM"), [variant("month2", null)]);
21
+ assert.deepEqual(tokenizeDateTimeFormat("MMM"), [variant("monthNameShort", null)]);
22
+ assert.deepEqual(tokenizeDateTimeFormat("MMMM"), [variant("monthNameFull", null)]);
23
+ });
24
+ test("day tokens", () => {
25
+ assert.deepEqual(tokenizeDateTimeFormat("D"), [variant("day1", null)]);
26
+ assert.deepEqual(tokenizeDateTimeFormat("DD"), [variant("day2", null)]);
27
+ });
28
+ test("weekday tokens", () => {
29
+ assert.deepEqual(tokenizeDateTimeFormat("dd"), [variant("weekdayNameMin", null)]);
30
+ assert.deepEqual(tokenizeDateTimeFormat("ddd"), [variant("weekdayNameShort", null)]);
31
+ assert.deepEqual(tokenizeDateTimeFormat("dddd"), [variant("weekdayNameFull", null)]);
32
+ });
33
+ test("hour tokens - 24h", () => {
34
+ assert.deepEqual(tokenizeDateTimeFormat("H"), [variant("hour24_1", null)]);
35
+ assert.deepEqual(tokenizeDateTimeFormat("HH"), [variant("hour24_2", null)]);
36
+ });
37
+ test("hour tokens - 12h", () => {
38
+ assert.deepEqual(tokenizeDateTimeFormat("h"), [variant("hour12_1", null)]);
39
+ assert.deepEqual(tokenizeDateTimeFormat("hh"), [variant("hour12_2", null)]);
40
+ });
41
+ test("minute tokens", () => {
42
+ assert.deepEqual(tokenizeDateTimeFormat("m"), [variant("minute1", null)]);
43
+ assert.deepEqual(tokenizeDateTimeFormat("mm"), [variant("minute2", null)]);
44
+ });
45
+ test("second tokens", () => {
46
+ assert.deepEqual(tokenizeDateTimeFormat("s"), [variant("second1", null)]);
47
+ assert.deepEqual(tokenizeDateTimeFormat("ss"), [variant("second2", null)]);
48
+ });
49
+ test("millisecond token", () => {
50
+ assert.deepEqual(tokenizeDateTimeFormat("SSS"), [variant("millisecond3", null)]);
51
+ });
52
+ test("AM/PM tokens", () => {
53
+ assert.deepEqual(tokenizeDateTimeFormat("A"), [variant("ampmUpper", null)]);
54
+ assert.deepEqual(tokenizeDateTimeFormat("a"), [variant("ampmLower", null)]);
55
+ });
56
+ test("ISO 8601 date format", () => {
57
+ const result = tokenizeDateTimeFormat("YYYY-MM-DD");
58
+ assert.deepEqual(result, [
59
+ variant("year4", null),
60
+ variant("literal", "-"),
61
+ variant("month2", null),
62
+ variant("literal", "-"),
63
+ variant("day2", null),
64
+ ]);
65
+ });
66
+ test("ISO 8601 datetime format", () => {
67
+ const result = tokenizeDateTimeFormat("YYYY-MM-DD HH:mm:ss");
68
+ assert.deepEqual(result, [
69
+ variant("year4", null),
70
+ variant("literal", "-"),
71
+ variant("month2", null),
72
+ variant("literal", "-"),
73
+ variant("day2", null),
74
+ variant("literal", " "),
75
+ variant("hour24_2", null),
76
+ variant("literal", ":"),
77
+ variant("minute2", null),
78
+ variant("literal", ":"),
79
+ variant("second2", null),
80
+ ]);
81
+ });
82
+ test("datetime with milliseconds", () => {
83
+ const result = tokenizeDateTimeFormat("YYYY-MM-DD HH:mm:ss.SSS");
84
+ assert.deepEqual(result, [
85
+ variant("year4", null),
86
+ variant("literal", "-"),
87
+ variant("month2", null),
88
+ variant("literal", "-"),
89
+ variant("day2", null),
90
+ variant("literal", " "),
91
+ variant("hour24_2", null),
92
+ variant("literal", ":"),
93
+ variant("minute2", null),
94
+ variant("literal", ":"),
95
+ variant("second2", null),
96
+ variant("literal", "."),
97
+ variant("millisecond3", null),
98
+ ]);
99
+ });
100
+ test("12-hour format with AM/PM", () => {
101
+ const result = tokenizeDateTimeFormat("h:mm A");
102
+ assert.deepEqual(result, [
103
+ variant("hour12_1", null),
104
+ variant("literal", ":"),
105
+ variant("minute2", null),
106
+ variant("literal", " "),
107
+ variant("ampmUpper", null),
108
+ ]);
109
+ });
110
+ test("long date format with month name", () => {
111
+ const result = tokenizeDateTimeFormat("MMMM D, YYYY");
112
+ assert.deepEqual(result, [
113
+ variant("monthNameFull", null),
114
+ variant("literal", " "),
115
+ variant("day1", null),
116
+ variant("literal", ", "),
117
+ variant("year4", null),
118
+ ]);
119
+ });
120
+ test("weekday format", () => {
121
+ const result = tokenizeDateTimeFormat("dddd, MMMM D, YYYY");
122
+ assert.deepEqual(result, [
123
+ variant("weekdayNameFull", null),
124
+ variant("literal", ", "),
125
+ variant("monthNameFull", null),
126
+ variant("literal", " "),
127
+ variant("day1", null),
128
+ variant("literal", ", "),
129
+ variant("year4", null),
130
+ ]);
131
+ });
132
+ test("pure literal string - must escape", () => {
133
+ // Unescaped format codes are parsed as tokens
134
+ const result = tokenizeDateTimeFormat("\\H\\e\\l\\l\\o\\ \\W\\o\\r\\l\\d");
135
+ assert.deepEqual(result, [variant("literal", "Hello World")]);
136
+ });
137
+ test("literal grouping - escape letters that are format codes", () => {
138
+ // 'a' and 's' are format codes, so they must be escaped
139
+ const result = tokenizeDateTimeFormat("Tod\\ay i\\s YYYY");
140
+ assert.deepEqual(result, [
141
+ variant("literal", "Today is "),
142
+ variant("year4", null),
143
+ ]);
144
+ });
145
+ test("escape single character", () => {
146
+ const result = tokenizeDateTimeFormat("\\Y\\Y\\Y\\Y");
147
+ assert.deepEqual(result, [variant("literal", "YYYY")]);
148
+ });
149
+ test("escape within tokens", () => {
150
+ const result = tokenizeDateTimeFormat("YYYY\\-MM\\-DD");
151
+ assert.deepEqual(result, [
152
+ variant("year4", null),
153
+ variant("literal", "-"),
154
+ variant("month2", null),
155
+ variant("literal", "-"),
156
+ variant("day2", null),
157
+ ]);
158
+ });
159
+ test("escape backslash", () => {
160
+ const result = tokenizeDateTimeFormat("YYYY\\\\MM");
161
+ assert.deepEqual(result, [
162
+ variant("year4", null),
163
+ variant("literal", "\\"),
164
+ variant("month2", null),
165
+ ]);
166
+ });
167
+ test("multiple escaped backslashes", () => {
168
+ const result = tokenizeDateTimeFormat("\\\\\\\\");
169
+ assert.deepEqual(result, [variant("literal", "\\\\")]);
170
+ });
171
+ test("escape non-token characters", () => {
172
+ const result = tokenizeDateTimeFormat("\\a\\b\\c");
173
+ assert.deepEqual(result, [variant("literal", "abc")]);
174
+ });
175
+ test("terminating backslash", () => {
176
+ const result = tokenizeDateTimeFormat("YYYY\\");
177
+ assert.deepEqual(result, [variant("year4", null), variant("literal", "\\")]);
178
+ });
179
+ test("unicode - CJK characters", () => {
180
+ const result = tokenizeDateTimeFormat("YYYY年MM月DD日");
181
+ assert.deepEqual(result, [
182
+ variant("year4", null),
183
+ variant("literal", "年"),
184
+ variant("month2", null),
185
+ variant("literal", "月"),
186
+ variant("day2", null),
187
+ variant("literal", "日"),
188
+ ]);
189
+ });
190
+ test("unicode - emoji", () => {
191
+ const result = tokenizeDateTimeFormat("📅 YYYY-MM-DD");
192
+ assert.deepEqual(result, [
193
+ variant("literal", "📅 "),
194
+ variant("year4", null),
195
+ variant("literal", "-"),
196
+ variant("month2", null),
197
+ variant("literal", "-"),
198
+ variant("day2", null),
199
+ ]);
200
+ });
201
+ test("unicode - emoji in escape", () => {
202
+ const result = tokenizeDateTimeFormat("\\📅");
203
+ assert.deepEqual(result, [variant("literal", "📅")]);
204
+ });
205
+ test("mixed padding - unpadded time", () => {
206
+ const result = tokenizeDateTimeFormat("H:m:s");
207
+ assert.deepEqual(result, [
208
+ variant("hour24_1", null),
209
+ variant("literal", ":"),
210
+ variant("minute1", null),
211
+ variant("literal", ":"),
212
+ variant("second1", null),
213
+ ]);
214
+ });
215
+ test("ambiguous MM vs M - longer pattern wins", () => {
216
+ const result = tokenizeDateTimeFormat("MM");
217
+ assert.deepEqual(result, [variant("month2", null)]);
218
+ });
219
+ test("ambiguous MMMM vs MMM - longer pattern wins", () => {
220
+ const result = tokenizeDateTimeFormat("MMMM");
221
+ assert.deepEqual(result, [variant("monthNameFull", null)]);
222
+ });
223
+ test("adjacent tokens without separators", () => {
224
+ const result = tokenizeDateTimeFormat("YYYYMMDD");
225
+ assert.deepEqual(result, [
226
+ variant("year4", null),
227
+ variant("month2", null),
228
+ variant("day2", null),
229
+ ]);
230
+ });
231
+ test("adjacent different token types", () => {
232
+ const result = tokenizeDateTimeFormat("YYYYMMDDHHmmss");
233
+ assert.deepEqual(result, [
234
+ variant("year4", null),
235
+ variant("month2", null),
236
+ variant("day2", null),
237
+ variant("hour24_2", null),
238
+ variant("minute2", null),
239
+ variant("second2", null),
240
+ ]);
241
+ });
242
+ test("partial token followed by literal", () => {
243
+ const result = tokenizeDateTimeFormat("Mx");
244
+ assert.deepEqual(result, [variant("month1", null), variant("literal", "x")]);
245
+ });
246
+ test("token at end", () => {
247
+ // 'D' is a format code, must escape
248
+ const result = tokenizeDateTimeFormat("\\D\\ate: YYYY");
249
+ assert.deepEqual(result, [variant("literal", "Date: "), variant("year4", null)]);
250
+ });
251
+ test("complex real-world format 1", () => {
252
+ // Must escape 'a' in "at" since it's a format code
253
+ const result = tokenizeDateTimeFormat("dddd, MMMM D, YYYY [\\at] h:mm A");
254
+ assert.deepEqual(result, [
255
+ variant("weekdayNameFull", null),
256
+ variant("literal", ", "),
257
+ variant("monthNameFull", null),
258
+ variant("literal", " "),
259
+ variant("day1", null),
260
+ variant("literal", ", "),
261
+ variant("year4", null),
262
+ variant("literal", " [at] "),
263
+ variant("hour12_1", null),
264
+ variant("literal", ":"),
265
+ variant("minute2", null),
266
+ variant("literal", " "),
267
+ variant("ampmUpper", null),
268
+ ]);
269
+ });
270
+ test("complex real-world format 2", () => {
271
+ const result = tokenizeDateTimeFormat("MM/DD/YYYY hh:mm:ss A");
272
+ assert.deepEqual(result, [
273
+ variant("month2", null),
274
+ variant("literal", "/"),
275
+ variant("day2", null),
276
+ variant("literal", "/"),
277
+ variant("year4", null),
278
+ variant("literal", " "),
279
+ variant("hour12_2", null),
280
+ variant("literal", ":"),
281
+ variant("minute2", null),
282
+ variant("literal", ":"),
283
+ variant("second2", null),
284
+ variant("literal", " "),
285
+ variant("ampmUpper", null),
286
+ ]);
287
+ });
288
+ test("format with newlines", () => {
289
+ const result = tokenizeDateTimeFormat("YYYY-MM-DD\nHH:mm:ss");
290
+ assert.deepEqual(result, [
291
+ variant("year4", null),
292
+ variant("literal", "-"),
293
+ variant("month2", null),
294
+ variant("literal", "-"),
295
+ variant("day2", null),
296
+ variant("literal", "\n"),
297
+ variant("hour24_2", null),
298
+ variant("literal", ":"),
299
+ variant("minute2", null),
300
+ variant("literal", ":"),
301
+ variant("second2", null),
302
+ ]);
303
+ });
304
+ test("format with tabs", () => {
305
+ const result = tokenizeDateTimeFormat("YYYY\tMM\tDD");
306
+ assert.deepEqual(result, [
307
+ variant("year4", null),
308
+ variant("literal", "\t"),
309
+ variant("month2", null),
310
+ variant("literal", "\t"),
311
+ variant("day2", null),
312
+ ]);
313
+ });
314
+ test("escape n as literal n (not newline)", () => {
315
+ const result = tokenizeDateTimeFormat("\\n");
316
+ assert.deepEqual(result, [variant("literal", "n")]);
317
+ });
318
+ test("escape t as literal t (not tab)", () => {
319
+ const result = tokenizeDateTimeFormat("\\t");
320
+ assert.deepEqual(result, [variant("literal", "t")]);
321
+ });
322
+ });
323
+ describe("formatTokensToString", () => {
324
+ test("empty token array", () => {
325
+ assert.equal(formatTokensToString([]), "");
326
+ });
327
+ test("single format token", () => {
328
+ assert.equal(formatTokensToString([variant("year4", null)]), "YYYY");
329
+ assert.equal(formatTokensToString([variant("month2", null)]), "MM");
330
+ });
331
+ test("ISO 8601 format", () => {
332
+ const tokens = tokenizeDateTimeFormat("YYYY-MM-DD");
333
+ assert.equal(formatTokensToString(tokens), "YYYY-MM-DD");
334
+ });
335
+ test("minimal escaping - only escapes when necessary", () => {
336
+ // "Hello" - 'H' and 'h' patterns need escaping ('HH', 'H')
337
+ const tokens1 = [variant("literal", "Hello")];
338
+ assert.equal(formatTokensToString(tokens1), "\\Hello");
339
+ // "World" - 'd' at end could form pattern, but single 'd' alone isn't a pattern
340
+ const tokens2 = [variant("literal", "World")];
341
+ assert.equal(formatTokensToString(tokens2), "World");
342
+ // "Date" - 'D' at position 0 could start 'DD' or 'D' pattern, 'a' is pattern
343
+ const tokens3 = [variant("literal", "Date")];
344
+ assert.equal(formatTokensToString(tokens3), "\\D\\ate");
345
+ });
346
+ test("minimal escaping - format tokens separate literals", () => {
347
+ // When tokens are properly separated, literals stringify cleanly
348
+ const tokens = [
349
+ variant("literal", "Tod"),
350
+ variant("ampmLower", null),
351
+ variant("literal", "y i"),
352
+ variant("second1", null),
353
+ variant("literal", " "),
354
+ variant("year4", null),
355
+ ];
356
+ // "Tod" safe (no D or other patterns at start), "a" token, "y i" safe, "s" token, " " safe, "YYYY" token
357
+ assert.equal(formatTokensToString(tokens), "Today is YYYY");
358
+ });
359
+ test("escapes backslashes", () => {
360
+ const tokens = [variant("literal", "\\")];
361
+ assert.equal(formatTokensToString(tokens), "\\\\");
362
+ });
363
+ test("escapes multiple backslashes", () => {
364
+ const tokens = [variant("literal", "\\\\")];
365
+ assert.equal(formatTokensToString(tokens), "\\\\\\\\");
366
+ });
367
+ test("unicode - CJK characters need no escaping", () => {
368
+ const tokens = [
369
+ variant("year4", null),
370
+ variant("literal", "年"),
371
+ variant("month2", null),
372
+ variant("literal", "月"),
373
+ ];
374
+ assert.equal(formatTokensToString(tokens), "YYYY年MM月");
375
+ });
376
+ test("unicode - emoji need no escaping", () => {
377
+ const tokens = [variant("literal", "📅 ")];
378
+ assert.equal(formatTokensToString(tokens), "📅 ");
379
+ });
380
+ test("round-trip property - ISO format", () => {
381
+ const original = "YYYY-MM-DD HH:mm:ss";
382
+ const tokens = tokenizeDateTimeFormat(original);
383
+ const canonical = formatTokensToString(tokens);
384
+ const tokens2 = tokenizeDateTimeFormat(canonical);
385
+ assert.deepEqual(tokens, tokens2);
386
+ });
387
+ test("round-trip property - escaped format", () => {
388
+ const original = "\\Y\\Y\\Y\\Y-\\M\\M";
389
+ const tokens = tokenizeDateTimeFormat(original);
390
+ const canonical = formatTokensToString(tokens);
391
+ const tokens2 = tokenizeDateTimeFormat(canonical);
392
+ assert.deepEqual(tokens, tokens2);
393
+ });
394
+ test("round-trip property - mixed", () => {
395
+ const original = "Tod\\ay i\\s YYYY";
396
+ const tokens = tokenizeDateTimeFormat(original);
397
+ const canonical = formatTokensToString(tokens);
398
+ const tokens2 = tokenizeDateTimeFormat(canonical);
399
+ assert.deepEqual(tokens, tokens2);
400
+ });
401
+ test("round-trip property - complex format", () => {
402
+ const original = "dddd, MMMM D, YYYY [\\at] h:mm A";
403
+ const tokens = tokenizeDateTimeFormat(original);
404
+ const canonical = formatTokensToString(tokens);
405
+ const tokens2 = tokenizeDateTimeFormat(canonical);
406
+ assert.deepEqual(tokens, tokens2);
407
+ });
408
+ test("YYYY as literal requires multiple escapes", () => {
409
+ // "YYYY" - Each Y can start "YY" or "YYYY" pattern, need multiple escapes
410
+ const tokens = [variant("literal", "YYYY")];
411
+ // Y at 0: starts "YYYY", escape. Y at 1: starts "YY", escape. Y at 2: starts "YY", escape. Y at 3: safe.
412
+ assert.equal(formatTokensToString(tokens), "\\Y\\Y\\YY");
413
+ });
414
+ test("pattern at end of literal with format codes in middle", () => {
415
+ const tokens = [variant("literal", "Year: YYYY")];
416
+ // "Year: YYYY" -> Y-e-a-r-:-space-Y-Y-Y-Y
417
+ // Position 0: "Y" starts "YY"? No, "Ye" doesn't match. But "YYYY" at position 6!
418
+ // Actually: Y at 0 doesn't start pattern (would need YY), e-a-r safe, then "a" matches!
419
+ assert.equal(formatTokensToString(tokens), "Ye\\ar: \\Y\\Y\\YY");
420
+ });
421
+ test("adjacent literals and tokens", () => {
422
+ const tokens = [
423
+ variant("literal", "Date is "),
424
+ variant("year4", null),
425
+ variant("literal", ", time is "),
426
+ variant("hour24_2", null),
427
+ ];
428
+ // "Date is " -> D-a-t-e-space-i-s-space
429
+ // D at 0 starts "D" or "DD", escape. a at 1 starts "a", escape. Others safe.
430
+ // ", time is " -> comma safe, space safe, t safe, i safe, m starts "m" or "mm", escape. Others safe.
431
+ assert.equal(formatTokensToString(tokens), "\\D\\ate i\\s YYYY, ti\\me i\\s HH");
432
+ });
433
+ test("all token types round-trip with separators", () => {
434
+ // Note: Format tokens need separators to avoid ambiguity
435
+ // "MMMMM" could be MMMM+M or MM+MMM, etc.
436
+ const allTokens = [
437
+ variant("year4", null),
438
+ variant("literal", " "),
439
+ variant("year2", null),
440
+ variant("literal", " "),
441
+ variant("month1", null),
442
+ variant("literal", " "),
443
+ variant("month2", null),
444
+ variant("literal", " "),
445
+ variant("monthNameShort", null),
446
+ variant("literal", " "),
447
+ variant("monthNameFull", null),
448
+ variant("literal", " "),
449
+ variant("day1", null),
450
+ variant("literal", " "),
451
+ variant("day2", null),
452
+ variant("literal", " "),
453
+ variant("weekdayNameMin", null),
454
+ variant("literal", " "),
455
+ variant("weekdayNameShort", null),
456
+ variant("literal", " "),
457
+ variant("weekdayNameFull", null),
458
+ variant("literal", " "),
459
+ variant("hour24_1", null),
460
+ variant("literal", " "),
461
+ variant("hour24_2", null),
462
+ variant("literal", " "),
463
+ variant("hour12_1", null),
464
+ variant("literal", " "),
465
+ variant("hour12_2", null),
466
+ variant("literal", " "),
467
+ variant("minute1", null),
468
+ variant("literal", " "),
469
+ variant("minute2", null),
470
+ variant("literal", " "),
471
+ variant("second1", null),
472
+ variant("literal", " "),
473
+ variant("second2", null),
474
+ variant("literal", " "),
475
+ variant("millisecond3", null),
476
+ variant("literal", " "),
477
+ variant("ampmUpper", null),
478
+ variant("literal", " "),
479
+ variant("ampmLower", null),
480
+ ];
481
+ const str = formatTokensToString(allTokens);
482
+ const parsed = tokenizeDateTimeFormat(str);
483
+ assert.deepEqual(parsed, allTokens);
484
+ });
485
+ test("debugging use case - show interpretation", () => {
486
+ // User writes something with accidental format codes
487
+ const userInput = "Today is YYYY-MM-DD at HH:MM";
488
+ const tokens = tokenizeDateTimeFormat(userInput);
489
+ const canonical = formatTokensToString(tokens);
490
+ // The parser breaks "Today" at 'a' and "is" at 's', producing tokens that
491
+ // stringify back to the same string (format tokens act as separators)
492
+ assert.equal(canonical, "Today is YYYY-MM-DD at HH:MM");
493
+ // And it round-trips correctly
494
+ const tokens_again = tokenizeDateTimeFormat(canonical);
495
+ assert.deepEqual(tokens, tokens_again);
496
+ // User remembers to escape format codes
497
+ const userInput2 = "Tod\\ay i\\s YYYY-MM-DD \\at HH:MM";
498
+ const tokens2 = tokenizeDateTimeFormat(userInput2);
499
+ const canonical2 = formatTokensToString(tokens2);
500
+ // The parser breaks "Today" at 'a' and "is" at 's', producing tokens that
501
+ // stringify back to the same string (format tokens act as separators)
502
+ assert.equal(canonical2, "Tod\\ay i\\s YYYY-MM-DD \\at HH:MM");
503
+ // And it round-trips correctly
504
+ const tokens_again2 = tokenizeDateTimeFormat(canonical2);
505
+ assert.deepEqual(tokens2, tokens_again2);
506
+ });
507
+ });
508
+ //# sourceMappingURL=tokenize.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenize.spec.js","sourceRoot":"","sources":["../../../src/datetime_format/tokenize.spec.ts"],"names":[],"mappings":"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"}
@@ -44,51 +44,51 @@ export declare const DateTimeFormatTokenType: VariantType<{
44
44
  * Any characters in the format string that are not recognized as format
45
45
  * codes are treated as literals.
46
46
  */
47
- literal: StringType;
47
+ readonly literal: StringType;
48
48
  /** Four-digit year (e.g., "2025") - Format: YYYY */
49
- year4: NullType;
49
+ readonly year4: NullType;
50
50
  /** Two-digit year (e.g., "25") - Format: YY */
51
- year2: NullType;
51
+ readonly year2: NullType;
52
52
  /** Month as 1-12 without zero-padding (e.g., "1", "12") - Format: M */
53
- month1: NullType;
53
+ readonly month1: NullType;
54
54
  /** Month as 01-12 with zero-padding (e.g., "01", "12") - Format: MM */
55
- month2: NullType;
55
+ readonly month2: NullType;
56
56
  /** Short month name (e.g., "Jan", "Feb") - Format: MMM */
57
- monthNameShort: NullType;
57
+ readonly monthNameShort: NullType;
58
58
  /** Full month name (e.g., "January", "February") - Format: MMMM */
59
- monthNameFull: NullType;
59
+ readonly monthNameFull: NullType;
60
60
  /** Day of month as 1-31 without zero-padding (e.g., "1", "31") - Format: D */
61
- day1: NullType;
61
+ readonly day1: NullType;
62
62
  /** Day of month as 01-31 with zero-padding (e.g., "01", "31") - Format: DD */
63
- day2: NullType;
63
+ readonly day2: NullType;
64
64
  /** Minimal weekday name (e.g., "Su", "Mo") - Format: dd */
65
- weekdayNameMin: NullType;
65
+ readonly weekdayNameMin: NullType;
66
66
  /** Short weekday name (e.g., "Sun", "Mon") - Format: ddd */
67
- weekdayNameShort: NullType;
67
+ readonly weekdayNameShort: NullType;
68
68
  /** Full weekday name (e.g., "Sunday", "Monday") - Format: dddd */
69
- weekdayNameFull: NullType;
69
+ readonly weekdayNameFull: NullType;
70
70
  /** Hour 0-23 without zero-padding (e.g., "0", "23") - Format: H */
71
- hour24_1: NullType;
71
+ readonly hour24_1: NullType;
72
72
  /** Hour 00-23 with zero-padding (e.g., "00", "23") - Format: HH */
73
- hour24_2: NullType;
73
+ readonly hour24_2: NullType;
74
74
  /** Hour 1-12 without zero-padding (e.g., "1", "12") - Format: h */
75
- hour12_1: NullType;
75
+ readonly hour12_1: NullType;
76
76
  /** Hour 01-12 with zero-padding (e.g., "01", "12") - Format: hh */
77
- hour12_2: NullType;
77
+ readonly hour12_2: NullType;
78
78
  /** Minute 0-59 without zero-padding (e.g., "0", "59") - Format: m */
79
- minute1: NullType;
79
+ readonly minute1: NullType;
80
80
  /** Minute 00-59 with zero-padding (e.g., "00", "59") - Format: mm */
81
- minute2: NullType;
81
+ readonly minute2: NullType;
82
82
  /** Second 0-59 without zero-padding (e.g., "0", "59") - Format: s */
83
- second1: NullType;
83
+ readonly second1: NullType;
84
84
  /** Second 00-59 with zero-padding (e.g., "00", "59") - Format: ss */
85
- second2: NullType;
85
+ readonly second2: NullType;
86
86
  /** Millisecond 000-999 with zero-padding (e.g., "000", "999") - Format: SSS */
87
- millisecond3: NullType;
87
+ readonly millisecond3: NullType;
88
88
  /** Uppercase AM/PM (e.g., "AM", "PM") - Format: A */
89
- ampmUpper: NullType;
89
+ readonly ampmUpper: NullType;
90
90
  /** Lowercase am/pm (e.g., "am", "pm") - Format: a */
91
- ampmLower: NullType;
91
+ readonly ampmLower: NullType;
92
92
  }>;
93
93
  /**
94
94
  * TypeScript type for datetime format tokens.
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/default.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIxD;;;EAGE;AACF,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAAA;AACtD,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAyChF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAAA;AACtD,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/default.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKxD;;;EAGE;AACF,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAAA;AACtD,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;AAqDhF;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,GAAG,CAAA;AACtD,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA"}