functionalscript 0.2.6 → 0.3.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 (428) hide show
  1. package/.github/workflows/ci.yml +19 -4
  2. package/CHANGELOG.md +5 -0
  3. package/com/cpp/{module.f.mjs → module.f.ts} +65 -44
  4. package/com/cpp/{test.f.mjs → test.f.ts} +1 -1
  5. package/com/cpp/testlib.f.ts +8 -0
  6. package/com/cs/{module.f.mjs → module.f.ts} +47 -38
  7. package/com/cs/{test.f.mjs → test.f.ts} +2 -2
  8. package/com/cs/testlib.f.ts +8 -0
  9. package/com/rust/module.f.ts +287 -0
  10. package/com/rust/{test.f.mjs → test.f.ts} +1 -1
  11. package/com/rust/testlib.f.ts +8 -0
  12. package/com/test/{build.f.mjs → build.f.ts} +47 -45
  13. package/com/test/{build.mjs → build.ts} +7 -6
  14. package/com/types/module.f.ts +62 -0
  15. package/com/types/{testlib.f.mjs → testlib.f.ts} +2 -3
  16. package/commonjs/build/module.f.ts +100 -0
  17. package/commonjs/build/{test.f.mjs → test.f.ts} +21 -17
  18. package/commonjs/module/function/module.f.ts +13 -0
  19. package/commonjs/module/module.f.ts +41 -0
  20. package/commonjs/module.f.ts +7 -0
  21. package/commonjs/{module.mjs → module.ts} +12 -9
  22. package/commonjs/package/dependencies/module.f.ts +22 -0
  23. package/commonjs/package/dependencies/{test.f.mjs → test.f.ts} +1 -1
  24. package/commonjs/package/module.f.ts +31 -0
  25. package/commonjs/package/{test.f.mjs → test.f.ts} +1 -1
  26. package/commonjs/path/{module.f.mjs → module.f.ts} +72 -67
  27. package/commonjs/path/{test.f.mjs → test.f.ts} +25 -19
  28. package/commonjs/{test.mjs → test.ts} +5 -4
  29. package/crypto/prime_field/{module.f.mjs → module.f.ts} +40 -37
  30. package/crypto/prime_field/{test.f.mjs → test.f.ts} +7 -5
  31. package/crypto/secp/{module.f.mjs → module.f.ts} +44 -44
  32. package/crypto/secp/{test.f.mjs → test.f.ts} +16 -11
  33. package/crypto/sha2/{module.f.mjs → module.f.ts} +61 -46
  34. package/crypto/sha2/{test.f.mjs → test.f.ts} +12 -9
  35. package/deno.json +71 -0
  36. package/dev/README.md +8 -0
  37. package/dev/index.ts +3 -0
  38. package/dev/{module.f.mjs → module.f.ts} +0 -2
  39. package/dev/{module.mjs → module.ts} +65 -60
  40. package/dev/test/{module.f.mjs → module.f.ts} +57 -70
  41. package/dev/{test.f.mjs → test.f.ts} +7 -5
  42. package/dev/test.ts +53 -0
  43. package/djs/{module.f.mjs → module.f.ts} +31 -31
  44. package/djs/parser/{module.f.mjs → module.f.ts} +190 -182
  45. package/djs/parser/{test.f.mjs → test.f.ts} +173 -150
  46. package/djs/serializer/module.f.ts +90 -0
  47. package/djs/{test.f.mjs → test.f.ts} +4 -4
  48. package/djs/tokenizer/{module.f.mjs → module.f.ts} +35 -42
  49. package/djs/tokenizer/{test.f.mjs → test.f.ts} +9 -8
  50. package/fsc/{module.f.mjs → module.f.ts} +41 -44
  51. package/fsc/{test.f.mjs → test.f.ts} +8 -6
  52. package/fsm/module.f.ts +107 -0
  53. package/fsm/{test.f.mjs → test.f.ts} +10 -9
  54. package/html/module.f.ts +108 -0
  55. package/html/{test.f.mjs → test.f.ts} +10 -7
  56. package/issues/lang/3110-function.md +25 -1
  57. package/issues/{test.f.mjs → test.f.ts} +3 -2
  58. package/js/tokenizer/module.f.ts +882 -0
  59. package/js/tokenizer/{test.f.mjs → test.f.ts} +11 -10
  60. package/json/module.f.ts +94 -0
  61. package/json/parser/{module.f.mjs → module.f.ts} +113 -109
  62. package/json/parser/{test.f.mjs → test.f.ts} +10 -9
  63. package/json/serializer/module.f.ts +70 -0
  64. package/json/serializer/{test.f.mjs → test.f.ts} +3 -3
  65. package/json/{test.f.mjs → test.f.ts} +3 -3
  66. package/json/tokenizer/{module.f.mjs → module.f.ts} +29 -36
  67. package/json/tokenizer/{test.f.mjs → test.f.ts} +9 -8
  68. package/nanvm-lib/src/extension.rs +15 -4
  69. package/nanvm-lib/src/interface.rs +7 -10
  70. package/nanvm-lib/src/lib.rs +3 -3
  71. package/nanvm-lib/src/naive.rs +10 -3
  72. package/nanvm-lib/src/nanenum.rs +5 -1
  73. package/nanvm-lib/tests/{test.f.mjs → test.f.ts} +7 -6
  74. package/nodejs/version/{main.mjs → main.ts} +1 -1
  75. package/nodejs/version/module.f.ts +42 -0
  76. package/nodejs/version/{test.f.mjs → test.f.ts} +11 -12
  77. package/package.json +9 -9
  78. package/text/ascii/{module.f.mjs → module.f.ts} +10 -8
  79. package/text/ascii/{test.f.mjs → test.f.ts} +4 -4
  80. package/text/module.f.ts +30 -0
  81. package/text/sgr/{module.f.mjs → module.f.ts} +3 -5
  82. package/text/{test.f.mjs → test.f.ts} +5 -4
  83. package/text/utf16/module.f.ts +108 -0
  84. package/text/utf16/{test.f.mjs → test.f.ts} +7 -6
  85. package/text/utf8/{module.f.mjs → module.f.ts} +29 -23
  86. package/text/utf8/{test.f.mjs → test.f.ts} +4 -4
  87. package/tsconfig.json +4 -1
  88. package/types/array/module.f.ts +89 -0
  89. package/types/array/{test.f.mjs → test.f.ts} +3 -3
  90. package/types/bigfloat/{module.f.mjs → module.f.ts} +25 -20
  91. package/types/bigfloat/{test.f.mjs → test.f.ts} +1 -1
  92. package/types/bigint/{module.f.mjs → module.f.ts} +29 -28
  93. package/types/bigint/{test.f.mjs → test.f.ts} +2 -2
  94. package/types/bit_vec/{module.f.mjs → module.f.ts} +16 -37
  95. package/types/bit_vec/{test.f.mjs → test.f.ts} +1 -1
  96. package/types/btree/find/module.f.ts +92 -0
  97. package/types/btree/find/{test.f.mjs → test.f.ts} +20 -16
  98. package/types/btree/{module.f.mjs → module.f.ts} +9 -9
  99. package/types/btree/remove/{module.f.mjs → module.f.ts} +43 -53
  100. package/types/btree/remove/{test.f.mjs → test.f.ts} +19 -15
  101. package/types/btree/set/{module.f.mjs → module.f.ts} +17 -20
  102. package/types/btree/set/{test.f.mjs → test.f.ts} +96 -66
  103. package/types/btree/{test.f.mjs → test.f.ts} +34 -26
  104. package/types/btree/types/module.f.ts +27 -0
  105. package/types/byte_set/module.f.ts +70 -0
  106. package/types/byte_set/{test.f.mjs → test.f.ts} +8 -7
  107. package/types/function/compare/module.f.ts +26 -0
  108. package/types/function/compare/{test.f.mjs → test.f.ts} +1 -1
  109. package/types/function/module.f.ts +43 -0
  110. package/types/function/operator/module.f.ts +63 -0
  111. package/types/function/test.f.ts +20 -0
  112. package/types/list/module.f.ts +345 -0
  113. package/types/list/{test.f.mjs → test.f.ts} +30 -24
  114. package/types/map/module.f.ts +65 -0
  115. package/types/map/{test.f.mjs → test.f.ts} +6 -5
  116. package/types/nibble_set/module.f.ts +34 -0
  117. package/types/nibble_set/{test.f.mjs → test.f.ts} +3 -3
  118. package/types/nullable/module.f.ts +9 -0
  119. package/types/nullable/{test.f.mjs → test.f.ts} +2 -2
  120. package/types/number/module.f.ts +16 -0
  121. package/types/number/{test.f.mjs → test.f.ts} +7 -5
  122. package/types/object/module.f.ts +30 -0
  123. package/types/object/{test.f.mjs → test.f.ts} +2 -2
  124. package/types/range/module.f.ts +10 -0
  125. package/types/range/{test.f.mjs → test.f.ts} +1 -1
  126. package/types/range_map/module.f.ts +70 -0
  127. package/types/range_map/{test.f.mjs → test.f.ts} +82 -57
  128. package/types/result/module.f.ts +20 -0
  129. package/types/result/{module.mjs → module.ts} +4 -3
  130. package/types/sorted_list/module.f.ts +83 -0
  131. package/types/sorted_list/{test.f.mjs → test.f.ts} +14 -12
  132. package/types/sorted_set/module.f.ts +36 -0
  133. package/types/sorted_set/{test.f.mjs → test.f.ts} +14 -12
  134. package/types/string/module.f.ts +24 -0
  135. package/types/string/{test.f.mjs → test.f.ts} +2 -2
  136. package/types/string_set/module.f.ts +37 -0
  137. package/types/string_set/{test.f.mjs → test.f.ts} +2 -2
  138. package/com/cpp/testlib.f.mjs +0 -8
  139. package/com/cs/testlib.f.mjs +0 -8
  140. package/com/rust/module.f.mjs +0 -272
  141. package/com/rust/testlib.f.mjs +0 -8
  142. package/com/types/module.f.mjs +0 -67
  143. package/commonjs/build/module.f.mjs +0 -100
  144. package/commonjs/module/function/module.f.mjs +0 -21
  145. package/commonjs/module/module.f.mjs +0 -53
  146. package/commonjs/module.f.mjs +0 -11
  147. package/commonjs/package/dependencies/module.f.mjs +0 -22
  148. package/commonjs/package/module.f.mjs +0 -36
  149. package/dev/index.mjs +0 -3
  150. package/dev/test.mjs +0 -60
  151. package/fsm/module.f.mjs +0 -99
  152. package/html/module.f.mjs +0 -102
  153. package/js/tokenizer/module.f.mjs +0 -872
  154. package/json/module.f.mjs +0 -89
  155. package/json/serializer/module.f.mjs +0 -87
  156. package/jsr.json +0 -66
  157. package/nodejs/version/module.f.mjs +0 -47
  158. package/out/com/cpp/module.f.d.mts +0 -7
  159. package/out/com/cpp/module.f.mjs +0 -130
  160. package/out/com/cpp/test.f.d.mts +0 -2
  161. package/out/com/cpp/test.f.mjs +0 -40
  162. package/out/com/cpp/testlib.f.d.mts +0 -2
  163. package/out/com/cpp/testlib.f.mjs +0 -7
  164. package/out/com/cs/module.f.d.mts +0 -7
  165. package/out/com/cs/module.f.mjs +0 -104
  166. package/out/com/cs/test.f.d.mts +0 -2
  167. package/out/com/cs/test.f.mjs +0 -43
  168. package/out/com/cs/testlib.f.d.mts +0 -2
  169. package/out/com/cs/testlib.f.mjs +0 -7
  170. package/out/com/rust/module.f.d.mts +0 -23
  171. package/out/com/rust/module.f.mjs +0 -224
  172. package/out/com/rust/test.f.d.mts +0 -2
  173. package/out/com/rust/test.f.mjs +0 -123
  174. package/out/com/rust/testlib.f.d.mts +0 -2
  175. package/out/com/rust/testlib.f.mjs +0 -7
  176. package/out/com/test/build.d.mts +0 -1
  177. package/out/com/test/build.f.d.mts +0 -26
  178. package/out/com/test/build.f.mjs +0 -98
  179. package/out/com/test/build.mjs +0 -40
  180. package/out/com/types/module.f.d.mts +0 -23
  181. package/out/com/types/module.f.mjs +0 -51
  182. package/out/com/types/testlib.f.d.mts +0 -44
  183. package/out/com/types/testlib.f.mjs +0 -30
  184. package/out/commonjs/build/module.f.d.mts +0 -20
  185. package/out/commonjs/build/module.f.mjs +0 -107
  186. package/out/commonjs/build/test.f.d.mts +0 -3
  187. package/out/commonjs/build/test.f.mjs +0 -102
  188. package/out/commonjs/module/function/module.f.d.mts +0 -5
  189. package/out/commonjs/module/function/module.f.mjs +0 -15
  190. package/out/commonjs/module/module.f.d.mts +0 -52
  191. package/out/commonjs/module/module.f.mjs +0 -48
  192. package/out/commonjs/module.d.mts +0 -3
  193. package/out/commonjs/module.f.d.mts +0 -2
  194. package/out/commonjs/module.f.mjs +0 -10
  195. package/out/commonjs/module.mjs +0 -26
  196. package/out/commonjs/package/dependencies/module.f.d.mts +0 -6
  197. package/out/commonjs/package/dependencies/module.f.mjs +0 -21
  198. package/out/commonjs/package/dependencies/test.f.d.mts +0 -2
  199. package/out/commonjs/package/dependencies/test.f.mjs +0 -15
  200. package/out/commonjs/package/module.f.d.mts +0 -21
  201. package/out/commonjs/package/module.f.mjs +0 -40
  202. package/out/commonjs/package/test.f.d.mts +0 -2
  203. package/out/commonjs/package/test.f.mjs +0 -27
  204. package/out/commonjs/path/module.f.d.mts +0 -60
  205. package/out/commonjs/path/module.f.mjs +0 -171
  206. package/out/commonjs/path/test.f.d.mts +0 -25
  207. package/out/commonjs/path/test.f.mjs +0 -231
  208. package/out/commonjs/test.d.mts +0 -8
  209. package/out/commonjs/test.mjs +0 -87
  210. package/out/crypto/prime_field/module.f.d.mts +0 -67
  211. package/out/crypto/prime_field/module.f.mjs +0 -110
  212. package/out/crypto/prime_field/test.f.d.mts +0 -13
  213. package/out/crypto/prime_field/test.f.mjs +0 -152
  214. package/out/crypto/secp/module.f.d.mts +0 -110
  215. package/out/crypto/secp/module.f.mjs +0 -173
  216. package/out/crypto/secp/test.f.d.mts +0 -5
  217. package/out/crypto/secp/test.f.mjs +0 -78
  218. package/out/crypto/sha2/module.f.d.mts +0 -15
  219. package/out/crypto/sha2/module.f.mjs +0 -172
  220. package/out/crypto/sha2/test.f.d.mts +0 -10
  221. package/out/crypto/sha2/test.f.mjs +0 -86
  222. package/out/dev/index.d.mts +0 -1
  223. package/out/dev/index.mjs +0 -2
  224. package/out/dev/module.d.mts +0 -26
  225. package/out/dev/module.f.d.mts +0 -1
  226. package/out/dev/module.f.mjs +0 -2
  227. package/out/dev/module.mjs +0 -167
  228. package/out/dev/test/module.f.d.mts +0 -25
  229. package/out/dev/test/module.f.mjs +0 -134
  230. package/out/dev/test.d.mts +0 -3
  231. package/out/dev/test.f.d.mts +0 -9
  232. package/out/dev/test.f.mjs +0 -58
  233. package/out/dev/test.mjs +0 -52
  234. package/out/djs/module.f.d.mts +0 -20
  235. package/out/djs/module.f.mjs +0 -79
  236. package/out/djs/parser/module.f.d.mts +0 -56
  237. package/out/djs/parser/module.f.mjs +0 -448
  238. package/out/djs/parser/test.f.d.mts +0 -13
  239. package/out/djs/parser/test.f.mjs +0 -569
  240. package/out/djs/test.f.d.mts +0 -12
  241. package/out/djs/test.f.mjs +0 -84
  242. package/out/djs/tokenizer/module.f.d.mts +0 -13
  243. package/out/djs/tokenizer/module.f.mjs +0 -91
  244. package/out/djs/tokenizer/test.f.d.mts +0 -7
  245. package/out/djs/tokenizer/test.f.mjs +0 -530
  246. package/out/fsc/module.f.d.mts +0 -7
  247. package/out/fsc/module.f.mjs +0 -105
  248. package/out/fsc/test.f.d.mts +0 -4
  249. package/out/fsc/test.f.mjs +0 -19
  250. package/out/fsm/module.f.d.mts +0 -14
  251. package/out/fsm/module.f.mjs +0 -80
  252. package/out/fsm/test.f.d.mts +0 -5
  253. package/out/fsm/test.f.mjs +0 -138
  254. package/out/html/module.f.d.mts +0 -17
  255. package/out/html/module.f.mjs +0 -80
  256. package/out/html/test.f.d.mts +0 -10
  257. package/out/html/test.f.mjs +0 -45
  258. package/out/issues/test.f.d.mts +0 -16
  259. package/out/issues/test.f.mjs +0 -66
  260. package/out/js/tokenizer/module.f.d.mts +0 -163
  261. package/out/js/tokenizer/module.f.mjs +0 -729
  262. package/out/js/tokenizer/test.f.d.mts +0 -9
  263. package/out/js/tokenizer/test.f.mjs +0 -906
  264. package/out/json/module.f.d.mts +0 -33
  265. package/out/json/module.f.mjs +0 -89
  266. package/out/json/parser/module.f.d.mts +0 -32
  267. package/out/json/parser/module.f.mjs +0 -224
  268. package/out/json/parser/test.f.d.mts +0 -5
  269. package/out/json/parser/test.f.mjs +0 -329
  270. package/out/json/serializer/module.f.d.mts +0 -36
  271. package/out/json/serializer/module.f.mjs +0 -67
  272. package/out/json/serializer/test.f.d.mts +0 -8
  273. package/out/json/serializer/test.f.mjs +0 -87
  274. package/out/json/test.f.d.mts +0 -8
  275. package/out/json/test.f.mjs +0 -61
  276. package/out/json/tokenizer/module.f.d.mts +0 -13
  277. package/out/json/tokenizer/module.f.mjs +0 -78
  278. package/out/json/tokenizer/test.f.d.mts +0 -6
  279. package/out/json/tokenizer/test.f.mjs +0 -420
  280. package/out/nanvm-lib/tests/test.f.d.mts +0 -36
  281. package/out/nanvm-lib/tests/test.f.mjs +0 -87
  282. package/out/nodejs/version/main.d.mts +0 -1
  283. package/out/nodejs/version/main.mjs +0 -3
  284. package/out/nodejs/version/module.f.d.mts +0 -12
  285. package/out/nodejs/version/module.f.mjs +0 -34
  286. package/out/nodejs/version/test.f.d.mts +0 -2
  287. package/out/nodejs/version/test.f.mjs +0 -97
  288. package/out/text/ascii/module.f.d.mts +0 -70
  289. package/out/text/ascii/module.f.mjs +0 -154
  290. package/out/text/ascii/test.f.d.mts +0 -4
  291. package/out/text/ascii/test.f.mjs +0 -14
  292. package/out/text/module.f.d.mts +0 -13
  293. package/out/text/module.f.mjs +0 -19
  294. package/out/text/sgr/module.f.d.mts +0 -12
  295. package/out/text/sgr/module.f.mjs +0 -17
  296. package/out/text/test.f.d.mts +0 -2
  297. package/out/text/test.f.mjs +0 -19
  298. package/out/text/utf16/module.f.d.mts +0 -12
  299. package/out/text/utf16/module.f.mjs +0 -86
  300. package/out/text/utf16/test.f.d.mts +0 -6
  301. package/out/text/utf16/test.f.mjs +0 -145
  302. package/out/text/utf8/module.f.d.mts +0 -10
  303. package/out/text/utf8/module.f.mjs +0 -126
  304. package/out/text/utf8/test.f.d.mts +0 -6
  305. package/out/text/utf8/test.f.mjs +0 -175
  306. package/out/types/array/module.f.d.mts +0 -31
  307. package/out/types/array/module.f.mjs +0 -95
  308. package/out/types/array/test.f.d.mts +0 -10
  309. package/out/types/array/test.f.mjs +0 -116
  310. package/out/types/bigfloat/module.f.d.mts +0 -6
  311. package/out/types/bigfloat/module.f.mjs +0 -77
  312. package/out/types/bigfloat/test.f.d.mts +0 -6
  313. package/out/types/bigfloat/test.f.mjs +0 -349
  314. package/out/types/bigint/module.f.d.mts +0 -29
  315. package/out/types/bigint/module.f.mjs +0 -114
  316. package/out/types/bigint/test.f.d.mts +0 -16
  317. package/out/types/bigint/test.f.mjs +0 -199
  318. package/out/types/bit_vec/module.f.d.mts +0 -158
  319. package/out/types/bit_vec/module.f.mjs +0 -194
  320. package/out/types/bit_vec/test.f.d.mts +0 -23
  321. package/out/types/bit_vec/test.f.mjs +0 -210
  322. package/out/types/btree/find/module.f.d.mts +0 -36
  323. package/out/types/btree/find/module.f.mjs +0 -137
  324. package/out/types/btree/find/test.f.d.mts +0 -2
  325. package/out/types/btree/find/test.f.mjs +0 -156
  326. package/out/types/btree/module.f.d.mts +0 -5
  327. package/out/types/btree/module.f.mjs +0 -34
  328. package/out/types/btree/remove/module.f.d.mts +0 -14
  329. package/out/types/btree/remove/module.f.mjs +0 -209
  330. package/out/types/btree/remove/test.f.d.mts +0 -7
  331. package/out/types/btree/remove/test.f.mjs +0 -638
  332. package/out/types/btree/set/module.f.d.mts +0 -5
  333. package/out/types/btree/set/module.f.mjs +0 -114
  334. package/out/types/btree/set/test.f.d.mts +0 -2
  335. package/out/types/btree/set/test.f.mjs +0 -390
  336. package/out/types/btree/test.f.d.mts +0 -13
  337. package/out/types/btree/test.f.mjs +0 -83
  338. package/out/types/btree/types/module.f.d.mts +0 -14
  339. package/out/types/btree/types/module.f.mjs +0 -50
  340. package/out/types/byte_set/module.f.d.mts +0 -25
  341. package/out/types/byte_set/module.f.mjs +0 -42
  342. package/out/types/byte_set/test.f.d.mts +0 -13
  343. package/out/types/byte_set/test.f.mjs +0 -123
  344. package/out/types/function/compare/module.f.d.mts +0 -23
  345. package/out/types/function/compare/module.f.mjs +0 -22
  346. package/out/types/function/compare/test.f.d.mts +0 -2
  347. package/out/types/function/compare/test.f.mjs +0 -8
  348. package/out/types/function/module.f.d.mts +0 -51
  349. package/out/types/function/module.f.mjs +0 -44
  350. package/out/types/function/operator/module.f.d.mts +0 -60
  351. package/out/types/function/operator/module.f.mjs +0 -60
  352. package/out/types/function/test.f.d.mts +0 -2
  353. package/out/types/function/test.f.mjs +0 -15
  354. package/out/types/list/module.f.d.mts +0 -82
  355. package/out/types/list/module.f.mjs +0 -269
  356. package/out/types/list/test.f.d.mts +0 -38
  357. package/out/types/list/test.f.mjs +0 -401
  358. package/out/types/map/module.f.d.mts +0 -21
  359. package/out/types/map/module.f.mjs +0 -54
  360. package/out/types/map/test.f.d.mts +0 -5
  361. package/out/types/map/test.f.mjs +0 -115
  362. package/out/types/nibble_set/module.f.d.mts +0 -16
  363. package/out/types/nibble_set/module.f.mjs +0 -19
  364. package/out/types/nibble_set/test.f.d.mts +0 -13
  365. package/out/types/nibble_set/test.f.mjs +0 -90
  366. package/out/types/nullable/module.f.d.mts +0 -9
  367. package/out/types/nullable/module.f.mjs +0 -9
  368. package/out/types/nullable/test.f.d.mts +0 -2
  369. package/out/types/nullable/test.f.mjs +0 -12
  370. package/out/types/number/module.f.d.mts +0 -7
  371. package/out/types/number/module.f.mjs +0 -12
  372. package/out/types/number/test.f.d.mts +0 -11
  373. package/out/types/number/test.f.mjs +0 -126
  374. package/out/types/object/module.f.d.mts +0 -22
  375. package/out/types/object/module.f.mjs +0 -27
  376. package/out/types/object/test.f.d.mts +0 -5
  377. package/out/types/object/test.f.mjs +0 -17
  378. package/out/types/range/module.f.d.mts +0 -6
  379. package/out/types/range/module.f.mjs +0 -6
  380. package/out/types/range/test.f.d.mts +0 -2
  381. package/out/types/range/test.f.mjs +0 -18
  382. package/out/types/range_map/module.f.d.mts +0 -19
  383. package/out/types/range_map/module.f.mjs +0 -84
  384. package/out/types/range_map/test.f.d.mts +0 -6
  385. package/out/types/range_map/test.f.mjs +0 -201
  386. package/out/types/result/module.d.mts +0 -7
  387. package/out/types/result/module.f.d.mts +0 -22
  388. package/out/types/result/module.f.mjs +0 -25
  389. package/out/types/result/module.mjs +0 -16
  390. package/out/types/sorted_list/module.f.d.mts +0 -53
  391. package/out/types/sorted_list/module.f.mjs +0 -102
  392. package/out/types/sorted_list/test.f.d.mts +0 -5
  393. package/out/types/sorted_list/test.f.mjs +0 -66
  394. package/out/types/sorted_set/module.f.d.mts +0 -19
  395. package/out/types/sorted_set/module.f.mjs +0 -29
  396. package/out/types/sorted_set/test.f.d.mts +0 -6
  397. package/out/types/sorted_set/test.f.mjs +0 -80
  398. package/out/types/string/module.f.d.mts +0 -9
  399. package/out/types/string/module.f.mjs +0 -17
  400. package/out/types/string/test.f.d.mts +0 -15
  401. package/out/types/string/test.f.mjs +0 -58
  402. package/out/types/string_set/module.f.d.mts +0 -13
  403. package/out/types/string_set/module.f.mjs +0 -29
  404. package/out/types/string_set/test.f.d.mts +0 -5
  405. package/out/types/string_set/test.f.mjs +0 -65
  406. package/text/module.f.mjs +0 -27
  407. package/text/utf16/module.f.mjs +0 -96
  408. package/types/array/module.f.mjs +0 -119
  409. package/types/btree/find/module.f.mjs +0 -125
  410. package/types/btree/types/module.f.mjs +0 -64
  411. package/types/byte_set/module.f.mjs +0 -61
  412. package/types/function/compare/module.f.mjs +0 -29
  413. package/types/function/module.f.mjs +0 -50
  414. package/types/function/operator/module.f.mjs +0 -78
  415. package/types/function/test.f.mjs +0 -17
  416. package/types/list/module.f.mjs +0 -320
  417. package/types/map/module.f.mjs +0 -67
  418. package/types/nibble_set/module.f.mjs +0 -28
  419. package/types/nullable/module.f.mjs +0 -11
  420. package/types/number/module.f.mjs +0 -16
  421. package/types/object/module.f.mjs +0 -33
  422. package/types/range/module.f.mjs +0 -8
  423. package/types/range_map/module.f.mjs +0 -84
  424. package/types/result/module.f.mjs +0 -28
  425. package/types/sorted_list/module.f.mjs +0 -107
  426. package/types/sorted_set/module.f.mjs +0 -38
  427. package/types/string/module.f.mjs +0 -22
  428. package/types/string_set/module.f.mjs +0 -36
@@ -1,91 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as Operator from '../../types/function/operator/module.f.mjs';
3
- import * as list from '../../types/list/module.f.mjs';
4
- const { empty, flat, stateScan } = list;
5
- import * as bf from '../../types/bigfloat/module.f.mjs';
6
- const { multiply } = bf;
7
- import * as jsTokenizer from '../../js/tokenizer/module.f.mjs';
8
- /**
9
- * @typedef {|
10
- * {readonly kind: 'true' | 'false' | 'null' | 'undefined'} |
11
- * {readonly kind: '{' | '}' | ':' | ',' | '[' | ']' | '.' | '=' } |
12
- * jsTokenizer.StringToken |
13
- * jsTokenizer.NumberToken |
14
- * jsTokenizer.ErrorToken |
15
- * jsTokenizer.IdToken |
16
- * jsTokenizer.BigIntToken |
17
- * jsTokenizer.WhitespaceToken |
18
- * jsTokenizer.NewLineToken |
19
- * jsTokenizer.CommentToken
20
- * } DjsToken
21
- */
22
- /**
23
- * @typedef {|
24
- * {readonly kind: 'def' | '-' }
25
- * } ScanState
26
- */
27
- /**
28
- * @typedef {|
29
- * jsTokenizer.JsToken | null
30
- * } ScanInput
31
- */
32
- /** @type {(input: jsTokenizer.JsToken) => list.List<DjsToken>} */
33
- const mapToken = input => {
34
- switch (input.kind) {
35
- case 'id':
36
- case 'bigint':
37
- case '{':
38
- case '}':
39
- case ':':
40
- case ',':
41
- case '[':
42
- case ']':
43
- case '.':
44
- case '=':
45
- case 'true':
46
- case 'false':
47
- case 'null':
48
- case 'string':
49
- case 'number':
50
- case 'ws':
51
- case 'nl':
52
- case 'undefined':
53
- case '//':
54
- case '/*':
55
- case 'error': return [input];
56
- default: return jsTokenizer.isKeywordToken(input) ? [{ kind: 'id', value: input.kind }] : [{ kind: 'error', message: 'invalid token' }];
57
- }
58
- };
59
- /** @type {(input: ScanInput) => readonly [list.List<DjsToken>, ScanState]} */
60
- const parseDefaultState = input => {
61
- if (input === null)
62
- return [empty, { kind: 'def' }];
63
- switch (input.kind) {
64
- case '-': return [empty, { kind: '-' }];
65
- default: return [mapToken(input), { kind: 'def' }];
66
- }
67
- };
68
- /** @type {(input: ScanInput) => readonly [list.List<DjsToken>, ScanState]} */
69
- const parseMinusState = input => {
70
- if (input === null)
71
- return [[{ kind: 'error', message: 'invalid token' }], { kind: 'def' }];
72
- switch (input.kind) {
73
- case '-': return [[{ kind: 'error', message: 'invalid token' }], { kind: '-' }];
74
- case 'bigint': return [[{ kind: 'bigint', value: -1n * input.value }], { kind: 'def' }];
75
- case 'number': return [[{ kind: 'number', bf: multiply(input.bf)(-1n), value: `-${input.value}` }], { kind: 'def' }];
76
- default: return [{ first: { kind: 'error', message: 'invalid token' }, tail: mapToken(input) }, { kind: 'def' }];
77
- }
78
- };
79
- /** @type {Operator.StateScan<ScanInput, ScanState, list.List<DjsToken>>} */
80
- const scanToken = state => input => {
81
- switch (state.kind) {
82
- case '-': return parseMinusState(input);
83
- default: return parseDefaultState(input);
84
- }
85
- };
86
- /** @type {(input: list.List<number>) => list.List<DjsToken>} */
87
- export const tokenize = input => {
88
- /** @type {list.List<ScanInput>} */
89
- const jsTokens = jsTokenizer.tokenize(input);
90
- return flat(stateScan(scanToken)({ kind: 'def' })(list.concat(jsTokens)([null])));
91
- };
@@ -1,7 +0,0 @@
1
- declare namespace _default {
2
- let djs: (() => void)[];
3
- let id: (() => void)[];
4
- let keywords: (() => void)[];
5
- let comments: (() => void)[];
6
- }
7
- export default _default;
@@ -1,530 +0,0 @@
1
- import * as tokenizer from './module.f.mjs';
2
- import * as list from '../../types/list/module.f.mjs';
3
- const { toArray } = list;
4
- import * as djs from '../module.f.mjs';
5
- import * as o from '../../types/object/module.f.mjs';
6
- const { sort } = o;
7
- import * as encoding from '../../text/utf16/module.f.mjs';
8
- /** @type {(s: string) => readonly tokenizer.DjsToken[]} */
9
- const tokenizeString = s => toArray(tokenizer.tokenize(encoding.stringToList(s)));
10
- const stringify = djs.stringify(sort);
11
- export default {
12
- djs: [
13
- () => {
14
- const result = tokenizeString('');
15
- if (result.length !== 0) {
16
- throw result;
17
- }
18
- },
19
- () => {
20
- const result = stringify(tokenizeString('{'));
21
- if (result !== '[{"kind":"{"}]') {
22
- throw result;
23
- }
24
- },
25
- () => {
26
- const result = stringify(tokenizeString('}'));
27
- if (result !== '[{"kind":"}"}]') {
28
- throw result;
29
- }
30
- },
31
- () => {
32
- const result = stringify(tokenizeString(':'));
33
- if (result !== '[{"kind":":"}]') {
34
- throw result;
35
- }
36
- },
37
- () => {
38
- const result = stringify(tokenizeString(','));
39
- if (result !== '[{"kind":","}]') {
40
- throw result;
41
- }
42
- },
43
- () => {
44
- const result = stringify(tokenizeString('['));
45
- if (result !== '[{"kind":"["}]') {
46
- throw result;
47
- }
48
- },
49
- () => {
50
- const result = stringify(tokenizeString(']'));
51
- if (result !== '[{"kind":"]"}]') {
52
- throw result;
53
- }
54
- },
55
- () => {
56
- const result = stringify(tokenizeString('ᄑ'));
57
- if (result !== '[{"kind":"error","message":"unexpected character"}]') {
58
- throw result;
59
- }
60
- },
61
- () => {
62
- const result = stringify(tokenizeString('{ \t\n\r}'));
63
- if (result !== '[{"kind":"{"},{"kind":"nl"},{"kind":"}"}]') {
64
- throw result;
65
- }
66
- },
67
- () => {
68
- const result = stringify(tokenizeString('""'));
69
- if (result !== '[{"kind":"string","value":""}]') {
70
- throw result;
71
- }
72
- },
73
- () => {
74
- const result = stringify(tokenizeString('"value"'));
75
- if (result !== '[{"kind":"string","value":"value"}]') {
76
- throw result;
77
- }
78
- },
79
- () => {
80
- const result = stringify(tokenizeString('"value'));
81
- if (result !== '[{"kind":"error","message":"\\" are missing"}]') {
82
- throw result;
83
- }
84
- },
85
- () => {
86
- const result = stringify(tokenizeString('"value1" "value2"'));
87
- if (result !== '[{"kind":"string","value":"value1"},{"kind":"ws"},{"kind":"string","value":"value2"}]') {
88
- throw result;
89
- }
90
- },
91
- () => {
92
- const result = stringify(tokenizeString('"'));
93
- if (result !== '[{"kind":"error","message":"\\" are missing"}]') {
94
- throw result;
95
- }
96
- },
97
- () => {
98
- const result = stringify(tokenizeString('"\\\\"'));
99
- if (result !== '[{"kind":"string","value":"\\\\"}]') {
100
- throw result;
101
- }
102
- },
103
- () => {
104
- const result = stringify(tokenizeString('"\\""'));
105
- if (result !== '[{"kind":"string","value":"\\""}]') {
106
- throw result;
107
- }
108
- },
109
- () => {
110
- const result = stringify(tokenizeString('"\\/"'));
111
- if (result !== '[{"kind":"string","value":"/"}]') {
112
- throw result;
113
- }
114
- },
115
- () => {
116
- const result = stringify(tokenizeString('"\\x"'));
117
- if (result !== '[{"kind":"error","message":"unescaped character"},{"kind":"string","value":"x"}]') {
118
- throw result;
119
- }
120
- },
121
- () => {
122
- const result = stringify(tokenizeString('"\\'));
123
- if (result !== '[{"kind":"error","message":"\\" are missing"}]') {
124
- throw result;
125
- }
126
- },
127
- () => {
128
- const result = stringify(tokenizeString('"\\b\\f\\n\\r\\t"'));
129
- if (result !== '[{"kind":"string","value":"\\b\\f\\n\\r\\t"}]') {
130
- throw result;
131
- }
132
- },
133
- () => {
134
- const result = stringify(tokenizeString('"\\u1234"'));
135
- if (result !== '[{"kind":"string","value":"ሴ"}]') {
136
- throw result;
137
- }
138
- },
139
- () => {
140
- const result = stringify(tokenizeString('"\\uaBcDEeFf"'));
141
- if (result !== '[{"kind":"string","value":"ꯍEeFf"}]') {
142
- throw result;
143
- }
144
- },
145
- () => {
146
- const result = stringify(tokenizeString('"\\uEeFg"'));
147
- if (result !== '[{"kind":"error","message":"invalid hex value"},{"kind":"string","value":"g"}]') {
148
- throw result;
149
- }
150
- },
151
- () => {
152
- const result = stringify(tokenizeString('0'));
153
- if (result !== '[{"bf":[0n,0],"kind":"number","value":"0"}]') {
154
- throw result;
155
- }
156
- },
157
- () => {
158
- const result = stringify(tokenizeString('[0]'));
159
- if (result !== '[{"kind":"["},{"bf":[0n,0],"kind":"number","value":"0"},{"kind":"]"}]') {
160
- throw result;
161
- }
162
- },
163
- () => {
164
- const result = stringify(tokenizeString('00'));
165
- if (result !== '[{"kind":"error","message":"invalid number"}]') {
166
- throw result;
167
- }
168
- },
169
- () => {
170
- const result = stringify(tokenizeString('0abc,'));
171
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"abc"},{"kind":","}]') {
172
- throw result;
173
- }
174
- },
175
- () => {
176
- const result = stringify(tokenizeString('123456789012345678901234567890'));
177
- if (result !== '[{"bf":[123456789012345678901234567890n,0],"kind":"number","value":"123456789012345678901234567890"}]') {
178
- throw result;
179
- }
180
- },
181
- () => {
182
- const result = stringify(tokenizeString('{90}'));
183
- if (result !== '[{"kind":"{"},{"bf":[90n,0],"kind":"number","value":"90"},{"kind":"}"}]') {
184
- throw result;
185
- }
186
- },
187
- () => {
188
- const result = stringify(tokenizeString('1 2'));
189
- if (result !== '[{"bf":[1n,0],"kind":"number","value":"1"},{"kind":"ws"},{"bf":[2n,0],"kind":"number","value":"2"}]') {
190
- throw result;
191
- }
192
- },
193
- () => {
194
- const result = stringify(tokenizeString('0. 2'));
195
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"ws"},{"bf":[2n,0],"kind":"number","value":"2"}]') {
196
- throw result;
197
- }
198
- },
199
- () => {
200
- const result = stringify(tokenizeString('10-0'));
201
- if (result !== '[{"bf":[10n,0],"kind":"number","value":"10"},{"bf":[0n,0],"kind":"number","value":"-0"}]') {
202
- throw result;
203
- }
204
- },
205
- () => {
206
- const result = stringify(tokenizeString('9a:'));
207
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"a"},{"kind":":"}]') {
208
- throw result;
209
- }
210
- },
211
- () => {
212
- const result = stringify(tokenizeString('-10'));
213
- if (result !== '[{"bf":[-10n,0],"kind":"number","value":"-10"}]') {
214
- throw result;
215
- }
216
- },
217
- () => {
218
- const result = stringify(tokenizeString('-'));
219
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
220
- throw result;
221
- }
222
- },
223
- () => {
224
- const result = stringify(tokenizeString('--'));
225
- if (result !== '[{"kind":"error","message":"invalid token"}]') {
226
- throw result;
227
- }
228
- },
229
- () => {
230
- const result = stringify(tokenizeString('---'));
231
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid token"}]') {
232
- throw result;
233
- }
234
- },
235
- () => {
236
- const result = stringify(tokenizeString('-0'));
237
- if (result !== '[{"bf":[0n,0],"kind":"number","value":"-0"}]') {
238
- throw result;
239
- }
240
- },
241
- () => {
242
- const result = stringify(tokenizeString('-00'));
243
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid number"}]') {
244
- throw result;
245
- }
246
- },
247
- () => {
248
- const result = stringify(tokenizeString('-.123'));
249
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"."},{"bf":[123n,0],"kind":"number","value":"123"}]') {
250
- throw result;
251
- }
252
- },
253
- () => {
254
- const result = stringify(tokenizeString('0.01'));
255
- if (result !== '[{"bf":[1n,-2],"kind":"number","value":"0.01"}]') {
256
- throw result;
257
- }
258
- },
259
- () => {
260
- const result = stringify(tokenizeString('-0.9'));
261
- if (result !== '[{"bf":[-9n,-1],"kind":"number","value":"-0.9"}]') {
262
- throw result;
263
- }
264
- },
265
- () => {
266
- const result = stringify(tokenizeString('-0.'));
267
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid number"}]') {
268
- throw result;
269
- }
270
- },
271
- () => {
272
- const result = stringify(tokenizeString('-0.]'));
273
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid number"},{"kind":"]"}]') {
274
- throw result;
275
- }
276
- },
277
- () => {
278
- const result = stringify(tokenizeString('12.34'));
279
- if (result !== '[{"bf":[1234n,-2],"kind":"number","value":"12.34"}]') {
280
- throw result;
281
- }
282
- },
283
- () => {
284
- const result = stringify(tokenizeString('-12.00'));
285
- if (result !== '[{"bf":[-1200n,-2],"kind":"number","value":"-12.00"}]') {
286
- throw result;
287
- }
288
- },
289
- () => {
290
- const result = stringify(tokenizeString('-12.'));
291
- if (result !== '[{"kind":"error","message":"invalid token"},{"kind":"error","message":"invalid number"}]') {
292
- throw result;
293
- }
294
- },
295
- () => {
296
- const result = stringify(tokenizeString('12.]'));
297
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"]"}]') {
298
- throw result;
299
- }
300
- },
301
- () => {
302
- const result = stringify(tokenizeString('0e1'));
303
- if (result !== '[{"bf":[0n,1],"kind":"number","value":"0e1"}]') {
304
- throw result;
305
- }
306
- },
307
- () => {
308
- const result = stringify(tokenizeString('0e+2'));
309
- if (result !== '[{"bf":[0n,2],"kind":"number","value":"0e+2"}]') {
310
- throw result;
311
- }
312
- },
313
- () => {
314
- const result = stringify(tokenizeString('0e-0'));
315
- if (result !== '[{"bf":[0n,0],"kind":"number","value":"0e-0"}]') {
316
- throw result;
317
- }
318
- },
319
- () => {
320
- const result = stringify(tokenizeString('12e0000'));
321
- if (result !== '[{"bf":[12n,0],"kind":"number","value":"12e0000"}]') {
322
- throw result;
323
- }
324
- },
325
- () => {
326
- const result = stringify(tokenizeString('-12e-0001'));
327
- if (result !== '[{"bf":[-12n,-1],"kind":"number","value":"-12e-0001"}]') {
328
- throw result;
329
- }
330
- },
331
- () => {
332
- const result = stringify(tokenizeString('-12.34e1234'));
333
- if (result !== '[{"bf":[-1234n,1232],"kind":"number","value":"-12.34e1234"}]') {
334
- throw result;
335
- }
336
- },
337
- () => {
338
- const result = stringify(tokenizeString('0e'));
339
- if (result !== '[{"kind":"error","message":"invalid number"}]') {
340
- throw result;
341
- }
342
- },
343
- () => {
344
- const result = stringify(tokenizeString('0e-'));
345
- if (result !== '[{"kind":"error","message":"invalid number"}]') {
346
- throw result;
347
- }
348
- },
349
- () => {
350
- const result = stringify(tokenizeString('ABCdef1234567890$_'));
351
- if (result !== '[{"kind":"id","value":"ABCdef1234567890$_"}]') {
352
- throw result;
353
- }
354
- },
355
- () => {
356
- const result = stringify(tokenizeString('{ABCdef1234567890$_}'));
357
- if (result !== '[{"kind":"{"},{"kind":"id","value":"ABCdef1234567890$_"},{"kind":"}"}]') {
358
- throw result;
359
- }
360
- },
361
- () => {
362
- const result = stringify(tokenizeString('123 _123'));
363
- if (result !== '[{"bf":[123n,0],"kind":"number","value":"123"},{"kind":"ws"},{"kind":"id","value":"_123"}]') {
364
- throw result;
365
- }
366
- },
367
- () => {
368
- const result = stringify(tokenizeString('123 $123'));
369
- if (result !== '[{"bf":[123n,0],"kind":"number","value":"123"},{"kind":"ws"},{"kind":"id","value":"$123"}]') {
370
- throw result;
371
- }
372
- },
373
- () => {
374
- const result = stringify(tokenizeString('123_123'));
375
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"_123"}]') {
376
- throw result;
377
- }
378
- },
379
- () => {
380
- const result = stringify(tokenizeString('123$123'));
381
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"$123"}]') {
382
- throw result;
383
- }
384
- },
385
- () => {
386
- const result = stringify(tokenizeString('1234567890n'));
387
- if (result !== '[{"kind":"bigint","value":1234567890n}]') {
388
- throw result;
389
- }
390
- },
391
- () => {
392
- const result = stringify(tokenizeString('0n'));
393
- if (result !== '[{"kind":"bigint","value":0n}]') {
394
- throw result;
395
- }
396
- },
397
- () => {
398
- const result = stringify(tokenizeString('[-1234567890n]'));
399
- if (result !== '[{"kind":"["},{"kind":"bigint","value":-1234567890n},{"kind":"]"}]') {
400
- throw result;
401
- }
402
- },
403
- () => {
404
- const result = stringify(tokenizeString('123.456n'));
405
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"n"}]') {
406
- throw result;
407
- }
408
- },
409
- () => {
410
- const result = stringify(tokenizeString('123e456n'));
411
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"n"}]') {
412
- throw result;
413
- }
414
- },
415
- () => {
416
- const result = stringify(tokenizeString('1234567890na'));
417
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"a"}]') {
418
- throw result;
419
- }
420
- },
421
- () => {
422
- const result = stringify(tokenizeString('1234567890nn'));
423
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"n"}]') {
424
- throw result;
425
- }
426
- },
427
- ],
428
- id: [
429
- () => {
430
- const result = stringify(tokenizeString('err'));
431
- if (result !== '[{"kind":"id","value":"err"}]') {
432
- throw result;
433
- }
434
- },
435
- () => {
436
- const result = stringify(tokenizeString('{e}'));
437
- if (result !== '[{"kind":"{"},{"kind":"id","value":"e"},{"kind":"}"}]') {
438
- throw result;
439
- }
440
- },
441
- () => {
442
- const result = stringify(tokenizeString('tru'));
443
- if (result !== '[{"kind":"id","value":"tru"}]') {
444
- throw result;
445
- }
446
- },
447
- () => {
448
- const result = stringify(tokenizeString('break'));
449
- if (result !== '[{"kind":"id","value":"break"}]') {
450
- throw result;
451
- }
452
- },
453
- ],
454
- keywords: [
455
- () => {
456
- const result = stringify(tokenizeString('true'));
457
- if (result !== '[{"kind":"true"}]') {
458
- throw result;
459
- }
460
- },
461
- () => {
462
- const result = stringify(tokenizeString('false'));
463
- if (result !== '[{"kind":"false"}]') {
464
- throw result;
465
- }
466
- },
467
- () => {
468
- const result = stringify(tokenizeString('null'));
469
- if (result !== '[{"kind":"null"}]') {
470
- throw result;
471
- }
472
- },
473
- () => {
474
- const result = stringify(tokenizeString('undefined'));
475
- if (result !== '[{"kind":"undefined"}]') {
476
- throw result;
477
- }
478
- },
479
- () => {
480
- const result = stringify(tokenizeString('[null]'));
481
- if (result !== '[{"kind":"["},{"kind":"null"},{"kind":"]"}]') {
482
- throw result;
483
- }
484
- },
485
- ],
486
- comments: [
487
- () => {
488
- const result = stringify(tokenizeString('//singleline comment'));
489
- if (result !== '[{"kind":"//","value":"singleline comment"}]') {
490
- throw result;
491
- }
492
- },
493
- () => {
494
- const result = stringify(tokenizeString('true//singleline comment\nfalse'));
495
- if (result !== '[{"kind":"true"},{"kind":"//","value":"singleline comment"},{"kind":"nl"},{"kind":"false"}]') {
496
- throw result;
497
- }
498
- },
499
- () => {
500
- const result = stringify(tokenizeString('/* multiline comment */'));
501
- if (result !== '[{"kind":"/*","value":" multiline comment "}]') {
502
- throw result;
503
- }
504
- },
505
- () => {
506
- const result = stringify(tokenizeString('/* multiline comment *'));
507
- if (result !== '[{"kind":"error","message":"*/ expected"}]') {
508
- throw result;
509
- }
510
- },
511
- () => {
512
- const result = stringify(tokenizeString('/* multiline comment '));
513
- if (result !== '[{"kind":"error","message":"*/ expected"}]') {
514
- throw result;
515
- }
516
- },
517
- () => {
518
- const result = stringify(tokenizeString('/* multiline comment \n * **/'));
519
- if (result !== '[{"kind":"/*","value":" multiline comment \\n * *"},{"kind":"nl"}]') {
520
- throw result;
521
- }
522
- },
523
- () => {
524
- const result = stringify(tokenizeString('/* multiline comment *\n * **/'));
525
- if (result !== '[{"kind":"/*","value":" multiline comment *\\n * *"},{"kind":"nl"}]') {
526
- throw result;
527
- }
528
- },
529
- ]
530
- };
@@ -1,7 +0,0 @@
1
- export const terminal: -1;
2
- export const init: ToResult;
3
- export type Result = readonly [readonly string[], ToResult];
4
- export type ToResult = (codePoint: number) => Result;
5
- export type CreateToResult<T> = (state: T) => ToResult;
6
- export type State<T> = rangeMap.RangeMapArray<CreateToResult<T>>;
7
- import * as rangeMap from '../types/range_map/module.f.mjs';