functionalscript 0.2.5 → 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 (433) hide show
  1. package/.github/workflows/ci.yml +19 -4
  2. package/CHANGELOG.md +9 -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/README.md +10 -9
  55. package/html/module.f.ts +108 -0
  56. package/html/{test.f.mjs → test.f.ts} +10 -7
  57. package/issues/README.md +3 -0
  58. package/issues/lang/3110-function.md +25 -1
  59. package/issues/{test.f.mjs → test.f.ts} +3 -2
  60. package/js/tokenizer/module.f.ts +882 -0
  61. package/js/tokenizer/{test.f.mjs → test.f.ts} +11 -10
  62. package/json/module.f.ts +94 -0
  63. package/json/parser/{module.f.mjs → module.f.ts} +113 -109
  64. package/json/parser/{test.f.mjs → test.f.ts} +10 -9
  65. package/json/serializer/module.f.ts +70 -0
  66. package/json/serializer/{test.f.mjs → test.f.ts} +3 -3
  67. package/json/{test.f.mjs → test.f.ts} +3 -3
  68. package/json/tokenizer/{module.f.mjs → module.f.ts} +29 -36
  69. package/json/tokenizer/{test.f.mjs → test.f.ts} +9 -8
  70. package/nanvm-lib/src/extension.rs +15 -4
  71. package/nanvm-lib/src/interface.rs +7 -10
  72. package/nanvm-lib/src/lib.rs +3 -3
  73. package/nanvm-lib/src/naive.rs +10 -3
  74. package/nanvm-lib/src/nanenum.rs +5 -1
  75. package/nanvm-lib/tests/{test.f.mjs → test.f.ts} +7 -6
  76. package/nodejs/version/{main.mjs → main.ts} +1 -1
  77. package/nodejs/version/module.f.ts +42 -0
  78. package/nodejs/version/{test.f.mjs → test.f.ts} +11 -12
  79. package/package.json +9 -9
  80. package/text/ascii/{module.f.mjs → module.f.ts} +10 -8
  81. package/text/ascii/{test.f.mjs → test.f.ts} +4 -4
  82. package/text/module.f.ts +30 -0
  83. package/text/sgr/{module.f.mjs → module.f.ts} +3 -5
  84. package/text/{test.f.mjs → test.f.ts} +5 -4
  85. package/text/utf16/module.f.ts +108 -0
  86. package/text/utf16/{test.f.mjs → test.f.ts} +7 -6
  87. package/text/utf8/{module.f.mjs → module.f.ts} +29 -23
  88. package/text/utf8/{test.f.mjs → test.f.ts} +4 -4
  89. package/tsconfig.json +4 -1
  90. package/types/array/module.f.ts +89 -0
  91. package/types/array/{test.f.mjs → test.f.ts} +3 -3
  92. package/types/bigfloat/{module.f.mjs → module.f.ts} +25 -20
  93. package/types/bigfloat/{test.f.mjs → test.f.ts} +1 -1
  94. package/types/bigint/{module.f.mjs → module.f.ts} +29 -28
  95. package/types/bigint/{test.f.mjs → test.f.ts} +2 -2
  96. package/types/bit_vec/README.md +18 -0
  97. package/types/bit_vec/module.f.ts +185 -0
  98. package/types/bit_vec/test.f.ts +129 -0
  99. package/types/btree/find/module.f.ts +92 -0
  100. package/types/btree/find/{test.f.mjs → test.f.ts} +20 -16
  101. package/types/btree/{module.f.mjs → module.f.ts} +9 -9
  102. package/types/btree/remove/{module.f.mjs → module.f.ts} +43 -53
  103. package/types/btree/remove/{test.f.mjs → test.f.ts} +19 -15
  104. package/types/btree/set/{module.f.mjs → module.f.ts} +17 -20
  105. package/types/btree/set/{test.f.mjs → test.f.ts} +96 -66
  106. package/types/btree/{test.f.mjs → test.f.ts} +34 -26
  107. package/types/btree/types/module.f.ts +27 -0
  108. package/types/byte_set/module.f.ts +70 -0
  109. package/types/byte_set/{test.f.mjs → test.f.ts} +8 -7
  110. package/types/function/compare/module.f.ts +26 -0
  111. package/types/function/compare/{test.f.mjs → test.f.ts} +1 -1
  112. package/types/function/module.f.ts +43 -0
  113. package/types/function/operator/module.f.ts +63 -0
  114. package/types/function/test.f.ts +20 -0
  115. package/types/list/module.f.ts +345 -0
  116. package/types/list/{test.f.mjs → test.f.ts} +30 -24
  117. package/types/map/module.f.ts +65 -0
  118. package/types/map/{test.f.mjs → test.f.ts} +6 -5
  119. package/types/nibble_set/module.f.ts +34 -0
  120. package/types/nibble_set/{test.f.mjs → test.f.ts} +3 -3
  121. package/types/nullable/module.f.ts +9 -0
  122. package/types/nullable/{test.f.mjs → test.f.ts} +2 -2
  123. package/types/number/module.f.ts +16 -0
  124. package/types/number/{test.f.mjs → test.f.ts} +7 -5
  125. package/types/object/module.f.ts +30 -0
  126. package/types/object/{test.f.mjs → test.f.ts} +2 -2
  127. package/types/range/module.f.ts +10 -0
  128. package/types/range/{test.f.mjs → test.f.ts} +1 -1
  129. package/types/range_map/module.f.ts +70 -0
  130. package/types/range_map/{test.f.mjs → test.f.ts} +82 -57
  131. package/types/result/module.f.ts +20 -0
  132. package/types/result/{module.mjs → module.ts} +4 -3
  133. package/types/sorted_list/module.f.ts +83 -0
  134. package/types/sorted_list/{test.f.mjs → test.f.ts} +14 -12
  135. package/types/sorted_set/module.f.ts +36 -0
  136. package/types/sorted_set/{test.f.mjs → test.f.ts} +14 -12
  137. package/types/string/module.f.ts +24 -0
  138. package/types/string/{test.f.mjs → test.f.ts} +2 -2
  139. package/types/string_set/module.f.ts +37 -0
  140. package/types/string_set/{test.f.mjs → test.f.ts} +2 -2
  141. package/com/cpp/testlib.f.mjs +0 -8
  142. package/com/cs/testlib.f.mjs +0 -8
  143. package/com/rust/module.f.mjs +0 -272
  144. package/com/rust/testlib.f.mjs +0 -8
  145. package/com/types/module.f.mjs +0 -67
  146. package/commonjs/build/module.f.mjs +0 -100
  147. package/commonjs/module/function/module.f.mjs +0 -21
  148. package/commonjs/module/module.f.mjs +0 -53
  149. package/commonjs/module.f.mjs +0 -11
  150. package/commonjs/package/dependencies/module.f.mjs +0 -22
  151. package/commonjs/package/module.f.mjs +0 -36
  152. package/dev/index.mjs +0 -3
  153. package/dev/test.mjs +0 -60
  154. package/fsm/module.f.mjs +0 -99
  155. package/html/module.f.mjs +0 -102
  156. package/js/tokenizer/module.f.mjs +0 -872
  157. package/json/module.f.mjs +0 -89
  158. package/json/serializer/module.f.mjs +0 -87
  159. package/jsr.json +0 -66
  160. package/nodejs/version/module.f.mjs +0 -47
  161. package/out/com/cpp/module.f.d.mts +0 -7
  162. package/out/com/cpp/module.f.mjs +0 -130
  163. package/out/com/cpp/test.f.d.mts +0 -2
  164. package/out/com/cpp/test.f.mjs +0 -40
  165. package/out/com/cpp/testlib.f.d.mts +0 -2
  166. package/out/com/cpp/testlib.f.mjs +0 -7
  167. package/out/com/cs/module.f.d.mts +0 -7
  168. package/out/com/cs/module.f.mjs +0 -104
  169. package/out/com/cs/test.f.d.mts +0 -2
  170. package/out/com/cs/test.f.mjs +0 -43
  171. package/out/com/cs/testlib.f.d.mts +0 -2
  172. package/out/com/cs/testlib.f.mjs +0 -7
  173. package/out/com/rust/module.f.d.mts +0 -23
  174. package/out/com/rust/module.f.mjs +0 -224
  175. package/out/com/rust/test.f.d.mts +0 -2
  176. package/out/com/rust/test.f.mjs +0 -123
  177. package/out/com/rust/testlib.f.d.mts +0 -2
  178. package/out/com/rust/testlib.f.mjs +0 -7
  179. package/out/com/test/build.d.mts +0 -1
  180. package/out/com/test/build.f.d.mts +0 -26
  181. package/out/com/test/build.f.mjs +0 -98
  182. package/out/com/test/build.mjs +0 -40
  183. package/out/com/types/module.f.d.mts +0 -23
  184. package/out/com/types/module.f.mjs +0 -51
  185. package/out/com/types/testlib.f.d.mts +0 -44
  186. package/out/com/types/testlib.f.mjs +0 -30
  187. package/out/commonjs/build/module.f.d.mts +0 -20
  188. package/out/commonjs/build/module.f.mjs +0 -107
  189. package/out/commonjs/build/test.f.d.mts +0 -3
  190. package/out/commonjs/build/test.f.mjs +0 -102
  191. package/out/commonjs/module/function/module.f.d.mts +0 -5
  192. package/out/commonjs/module/function/module.f.mjs +0 -15
  193. package/out/commonjs/module/module.f.d.mts +0 -52
  194. package/out/commonjs/module/module.f.mjs +0 -48
  195. package/out/commonjs/module.d.mts +0 -3
  196. package/out/commonjs/module.f.d.mts +0 -2
  197. package/out/commonjs/module.f.mjs +0 -10
  198. package/out/commonjs/module.mjs +0 -26
  199. package/out/commonjs/package/dependencies/module.f.d.mts +0 -6
  200. package/out/commonjs/package/dependencies/module.f.mjs +0 -21
  201. package/out/commonjs/package/dependencies/test.f.d.mts +0 -2
  202. package/out/commonjs/package/dependencies/test.f.mjs +0 -15
  203. package/out/commonjs/package/module.f.d.mts +0 -21
  204. package/out/commonjs/package/module.f.mjs +0 -40
  205. package/out/commonjs/package/test.f.d.mts +0 -2
  206. package/out/commonjs/package/test.f.mjs +0 -27
  207. package/out/commonjs/path/module.f.d.mts +0 -60
  208. package/out/commonjs/path/module.f.mjs +0 -171
  209. package/out/commonjs/path/test.f.d.mts +0 -25
  210. package/out/commonjs/path/test.f.mjs +0 -231
  211. package/out/commonjs/test.d.mts +0 -8
  212. package/out/commonjs/test.mjs +0 -87
  213. package/out/crypto/prime_field/module.f.d.mts +0 -67
  214. package/out/crypto/prime_field/module.f.mjs +0 -110
  215. package/out/crypto/prime_field/test.f.d.mts +0 -13
  216. package/out/crypto/prime_field/test.f.mjs +0 -152
  217. package/out/crypto/secp/module.f.d.mts +0 -110
  218. package/out/crypto/secp/module.f.mjs +0 -173
  219. package/out/crypto/secp/test.f.d.mts +0 -5
  220. package/out/crypto/secp/test.f.mjs +0 -78
  221. package/out/crypto/sha2/module.f.d.mts +0 -15
  222. package/out/crypto/sha2/module.f.mjs +0 -172
  223. package/out/crypto/sha2/test.f.d.mts +0 -10
  224. package/out/crypto/sha2/test.f.mjs +0 -86
  225. package/out/dev/index.d.mts +0 -1
  226. package/out/dev/index.mjs +0 -2
  227. package/out/dev/module.d.mts +0 -26
  228. package/out/dev/module.f.d.mts +0 -1
  229. package/out/dev/module.f.mjs +0 -2
  230. package/out/dev/module.mjs +0 -167
  231. package/out/dev/test/module.f.d.mts +0 -25
  232. package/out/dev/test/module.f.mjs +0 -134
  233. package/out/dev/test.d.mts +0 -3
  234. package/out/dev/test.f.d.mts +0 -9
  235. package/out/dev/test.f.mjs +0 -58
  236. package/out/dev/test.mjs +0 -52
  237. package/out/djs/module.f.d.mts +0 -20
  238. package/out/djs/module.f.mjs +0 -79
  239. package/out/djs/parser/module.f.d.mts +0 -56
  240. package/out/djs/parser/module.f.mjs +0 -448
  241. package/out/djs/parser/test.f.d.mts +0 -13
  242. package/out/djs/parser/test.f.mjs +0 -569
  243. package/out/djs/test.f.d.mts +0 -12
  244. package/out/djs/test.f.mjs +0 -84
  245. package/out/djs/tokenizer/module.f.d.mts +0 -13
  246. package/out/djs/tokenizer/module.f.mjs +0 -91
  247. package/out/djs/tokenizer/test.f.d.mts +0 -7
  248. package/out/djs/tokenizer/test.f.mjs +0 -530
  249. package/out/fsc/module.f.d.mts +0 -7
  250. package/out/fsc/module.f.mjs +0 -105
  251. package/out/fsc/test.f.d.mts +0 -4
  252. package/out/fsc/test.f.mjs +0 -19
  253. package/out/fsm/module.f.d.mts +0 -14
  254. package/out/fsm/module.f.mjs +0 -80
  255. package/out/fsm/test.f.d.mts +0 -5
  256. package/out/fsm/test.f.mjs +0 -138
  257. package/out/html/module.f.d.mts +0 -17
  258. package/out/html/module.f.mjs +0 -80
  259. package/out/html/test.f.d.mts +0 -10
  260. package/out/html/test.f.mjs +0 -45
  261. package/out/issues/test.f.d.mts +0 -16
  262. package/out/issues/test.f.mjs +0 -66
  263. package/out/js/tokenizer/module.f.d.mts +0 -163
  264. package/out/js/tokenizer/module.f.mjs +0 -729
  265. package/out/js/tokenizer/test.f.d.mts +0 -9
  266. package/out/js/tokenizer/test.f.mjs +0 -906
  267. package/out/json/module.f.d.mts +0 -33
  268. package/out/json/module.f.mjs +0 -89
  269. package/out/json/parser/module.f.d.mts +0 -32
  270. package/out/json/parser/module.f.mjs +0 -224
  271. package/out/json/parser/test.f.d.mts +0 -5
  272. package/out/json/parser/test.f.mjs +0 -329
  273. package/out/json/serializer/module.f.d.mts +0 -36
  274. package/out/json/serializer/module.f.mjs +0 -67
  275. package/out/json/serializer/test.f.d.mts +0 -8
  276. package/out/json/serializer/test.f.mjs +0 -87
  277. package/out/json/test.f.d.mts +0 -8
  278. package/out/json/test.f.mjs +0 -61
  279. package/out/json/tokenizer/module.f.d.mts +0 -13
  280. package/out/json/tokenizer/module.f.mjs +0 -78
  281. package/out/json/tokenizer/test.f.d.mts +0 -6
  282. package/out/json/tokenizer/test.f.mjs +0 -420
  283. package/out/nanvm-lib/tests/test.f.d.mts +0 -36
  284. package/out/nanvm-lib/tests/test.f.mjs +0 -87
  285. package/out/nodejs/version/main.d.mts +0 -1
  286. package/out/nodejs/version/main.mjs +0 -3
  287. package/out/nodejs/version/module.f.d.mts +0 -12
  288. package/out/nodejs/version/module.f.mjs +0 -34
  289. package/out/nodejs/version/test.f.d.mts +0 -2
  290. package/out/nodejs/version/test.f.mjs +0 -97
  291. package/out/text/ascii/module.f.d.mts +0 -70
  292. package/out/text/ascii/module.f.mjs +0 -154
  293. package/out/text/ascii/test.f.d.mts +0 -4
  294. package/out/text/ascii/test.f.mjs +0 -14
  295. package/out/text/module.f.d.mts +0 -13
  296. package/out/text/module.f.mjs +0 -19
  297. package/out/text/sgr/module.f.d.mts +0 -12
  298. package/out/text/sgr/module.f.mjs +0 -17
  299. package/out/text/test.f.d.mts +0 -2
  300. package/out/text/test.f.mjs +0 -19
  301. package/out/text/utf16/module.f.d.mts +0 -12
  302. package/out/text/utf16/module.f.mjs +0 -86
  303. package/out/text/utf16/test.f.d.mts +0 -6
  304. package/out/text/utf16/test.f.mjs +0 -145
  305. package/out/text/utf8/module.f.d.mts +0 -10
  306. package/out/text/utf8/module.f.mjs +0 -126
  307. package/out/text/utf8/test.f.d.mts +0 -6
  308. package/out/text/utf8/test.f.mjs +0 -175
  309. package/out/types/array/module.f.d.mts +0 -31
  310. package/out/types/array/module.f.mjs +0 -95
  311. package/out/types/array/test.f.d.mts +0 -10
  312. package/out/types/array/test.f.mjs +0 -116
  313. package/out/types/bigfloat/module.f.d.mts +0 -6
  314. package/out/types/bigfloat/module.f.mjs +0 -77
  315. package/out/types/bigfloat/test.f.d.mts +0 -6
  316. package/out/types/bigfloat/test.f.mjs +0 -349
  317. package/out/types/bigint/module.f.d.mts +0 -29
  318. package/out/types/bigint/module.f.mjs +0 -114
  319. package/out/types/bigint/test.f.d.mts +0 -16
  320. package/out/types/bigint/test.f.mjs +0 -199
  321. package/out/types/bit_vec/module.f.d.mts +0 -72
  322. package/out/types/bit_vec/module.f.mjs +0 -83
  323. package/out/types/bit_vec/test.f.d.mts +0 -9
  324. package/out/types/bit_vec/test.f.mjs +0 -60
  325. package/out/types/btree/find/module.f.d.mts +0 -36
  326. package/out/types/btree/find/module.f.mjs +0 -137
  327. package/out/types/btree/find/test.f.d.mts +0 -2
  328. package/out/types/btree/find/test.f.mjs +0 -156
  329. package/out/types/btree/module.f.d.mts +0 -5
  330. package/out/types/btree/module.f.mjs +0 -34
  331. package/out/types/btree/remove/module.f.d.mts +0 -14
  332. package/out/types/btree/remove/module.f.mjs +0 -209
  333. package/out/types/btree/remove/test.f.d.mts +0 -7
  334. package/out/types/btree/remove/test.f.mjs +0 -638
  335. package/out/types/btree/set/module.f.d.mts +0 -5
  336. package/out/types/btree/set/module.f.mjs +0 -114
  337. package/out/types/btree/set/test.f.d.mts +0 -2
  338. package/out/types/btree/set/test.f.mjs +0 -390
  339. package/out/types/btree/test.f.d.mts +0 -13
  340. package/out/types/btree/test.f.mjs +0 -83
  341. package/out/types/btree/types/module.f.d.mts +0 -14
  342. package/out/types/btree/types/module.f.mjs +0 -50
  343. package/out/types/byte_set/module.f.d.mts +0 -25
  344. package/out/types/byte_set/module.f.mjs +0 -42
  345. package/out/types/byte_set/test.f.d.mts +0 -13
  346. package/out/types/byte_set/test.f.mjs +0 -123
  347. package/out/types/function/compare/module.f.d.mts +0 -23
  348. package/out/types/function/compare/module.f.mjs +0 -22
  349. package/out/types/function/compare/test.f.d.mts +0 -2
  350. package/out/types/function/compare/test.f.mjs +0 -8
  351. package/out/types/function/module.f.d.mts +0 -51
  352. package/out/types/function/module.f.mjs +0 -44
  353. package/out/types/function/operator/module.f.d.mts +0 -60
  354. package/out/types/function/operator/module.f.mjs +0 -60
  355. package/out/types/function/test.f.d.mts +0 -2
  356. package/out/types/function/test.f.mjs +0 -15
  357. package/out/types/list/module.f.d.mts +0 -82
  358. package/out/types/list/module.f.mjs +0 -269
  359. package/out/types/list/test.f.d.mts +0 -38
  360. package/out/types/list/test.f.mjs +0 -401
  361. package/out/types/map/module.f.d.mts +0 -21
  362. package/out/types/map/module.f.mjs +0 -54
  363. package/out/types/map/test.f.d.mts +0 -5
  364. package/out/types/map/test.f.mjs +0 -115
  365. package/out/types/nibble_set/module.f.d.mts +0 -16
  366. package/out/types/nibble_set/module.f.mjs +0 -19
  367. package/out/types/nibble_set/test.f.d.mts +0 -13
  368. package/out/types/nibble_set/test.f.mjs +0 -90
  369. package/out/types/nullable/module.f.d.mts +0 -9
  370. package/out/types/nullable/module.f.mjs +0 -9
  371. package/out/types/nullable/test.f.d.mts +0 -2
  372. package/out/types/nullable/test.f.mjs +0 -12
  373. package/out/types/number/module.f.d.mts +0 -7
  374. package/out/types/number/module.f.mjs +0 -12
  375. package/out/types/number/test.f.d.mts +0 -11
  376. package/out/types/number/test.f.mjs +0 -126
  377. package/out/types/object/module.f.d.mts +0 -22
  378. package/out/types/object/module.f.mjs +0 -27
  379. package/out/types/object/test.f.d.mts +0 -5
  380. package/out/types/object/test.f.mjs +0 -17
  381. package/out/types/range/module.f.d.mts +0 -6
  382. package/out/types/range/module.f.mjs +0 -6
  383. package/out/types/range/test.f.d.mts +0 -2
  384. package/out/types/range/test.f.mjs +0 -18
  385. package/out/types/range_map/module.f.d.mts +0 -19
  386. package/out/types/range_map/module.f.mjs +0 -84
  387. package/out/types/range_map/test.f.d.mts +0 -6
  388. package/out/types/range_map/test.f.mjs +0 -201
  389. package/out/types/result/module.d.mts +0 -7
  390. package/out/types/result/module.f.d.mts +0 -22
  391. package/out/types/result/module.f.mjs +0 -25
  392. package/out/types/result/module.mjs +0 -16
  393. package/out/types/sorted_list/module.f.d.mts +0 -53
  394. package/out/types/sorted_list/module.f.mjs +0 -102
  395. package/out/types/sorted_list/test.f.d.mts +0 -5
  396. package/out/types/sorted_list/test.f.mjs +0 -66
  397. package/out/types/sorted_set/module.f.d.mts +0 -19
  398. package/out/types/sorted_set/module.f.mjs +0 -29
  399. package/out/types/sorted_set/test.f.d.mts +0 -6
  400. package/out/types/sorted_set/test.f.mjs +0 -80
  401. package/out/types/string/module.f.d.mts +0 -9
  402. package/out/types/string/module.f.mjs +0 -17
  403. package/out/types/string/test.f.d.mts +0 -15
  404. package/out/types/string/test.f.mjs +0 -58
  405. package/out/types/string_set/module.f.d.mts +0 -13
  406. package/out/types/string_set/module.f.mjs +0 -29
  407. package/out/types/string_set/test.f.d.mts +0 -5
  408. package/out/types/string_set/test.f.mjs +0 -65
  409. package/text/module.f.mjs +0 -27
  410. package/text/utf16/module.f.mjs +0 -96
  411. package/types/array/module.f.mjs +0 -119
  412. package/types/bit_vec/module.f.mjs +0 -90
  413. package/types/bit_vec/test.f.mjs +0 -41
  414. package/types/btree/find/module.f.mjs +0 -125
  415. package/types/btree/types/module.f.mjs +0 -64
  416. package/types/byte_set/module.f.mjs +0 -61
  417. package/types/function/compare/module.f.mjs +0 -29
  418. package/types/function/module.f.mjs +0 -50
  419. package/types/function/operator/module.f.mjs +0 -78
  420. package/types/function/test.f.mjs +0 -17
  421. package/types/list/module.f.mjs +0 -320
  422. package/types/map/module.f.mjs +0 -67
  423. package/types/nibble_set/module.f.mjs +0 -28
  424. package/types/nullable/module.f.mjs +0 -11
  425. package/types/number/module.f.mjs +0 -16
  426. package/types/object/module.f.mjs +0 -33
  427. package/types/range/module.f.mjs +0 -8
  428. package/types/range_map/module.f.mjs +0 -84
  429. package/types/result/module.f.mjs +0 -28
  430. package/types/sorted_list/module.f.mjs +0 -107
  431. package/types/sorted_set/module.f.mjs +0 -38
  432. package/types/string/module.f.mjs +0 -22
  433. package/types/string_set/module.f.mjs +0 -36
@@ -1,906 +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 '../../djs/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.JsToken[]} */
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('"\r"'));
129
- if (result !== '[{"kind":"error","message":"unterminated string literal"},{"kind":"nl"},{"kind":"error","message":"\\" are missing"}]') {
130
- throw result;
131
- }
132
- },
133
- () => {
134
- const result = stringify(tokenizeString('"\n null'));
135
- if (result !== '[{"kind":"error","message":"unterminated string literal"},{"kind":"nl"},{"kind":"null"}]') {
136
- throw result;
137
- }
138
- },
139
- () => {
140
- const result = stringify(tokenizeString('"\\b\\f\\n\\r\\t"'));
141
- if (result !== '[{"kind":"string","value":"\\b\\f\\n\\r\\t"}]') {
142
- throw result;
143
- }
144
- },
145
- () => {
146
- const result = stringify(tokenizeString('"\\u1234"'));
147
- if (result !== '[{"kind":"string","value":"ሴ"}]') {
148
- throw result;
149
- }
150
- },
151
- () => {
152
- const result = stringify(tokenizeString('"\\uaBcDEeFf"'));
153
- if (result !== '[{"kind":"string","value":"ꯍEeFf"}]') {
154
- throw result;
155
- }
156
- },
157
- () => {
158
- const result = stringify(tokenizeString('"\\uEeFg"'));
159
- if (result !== '[{"kind":"error","message":"invalid hex value"},{"kind":"string","value":"g"}]') {
160
- throw result;
161
- }
162
- },
163
- () => {
164
- const result = stringify(tokenizeString('0'));
165
- if (result !== '[{"bf":[0n,0],"kind":"number","value":"0"}]') {
166
- throw result;
167
- }
168
- },
169
- () => {
170
- const result = stringify(tokenizeString('[0]'));
171
- if (result !== '[{"kind":"["},{"bf":[0n,0],"kind":"number","value":"0"},{"kind":"]"}]') {
172
- throw result;
173
- }
174
- },
175
- () => {
176
- const result = stringify(tokenizeString('00'));
177
- if (result !== '[{"kind":"error","message":"invalid number"}]') {
178
- throw result;
179
- }
180
- },
181
- () => {
182
- const result = stringify(tokenizeString('0abc,'));
183
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"abc"},{"kind":","}]') {
184
- throw result;
185
- }
186
- },
187
- () => {
188
- const result = stringify(tokenizeString('123456789012345678901234567890'));
189
- if (result !== '[{"bf":[123456789012345678901234567890n,0],"kind":"number","value":"123456789012345678901234567890"}]') {
190
- throw result;
191
- }
192
- },
193
- () => {
194
- const result = stringify(tokenizeString('{90}'));
195
- if (result !== '[{"kind":"{"},{"bf":[90n,0],"kind":"number","value":"90"},{"kind":"}"}]') {
196
- throw result;
197
- }
198
- },
199
- () => {
200
- const result = stringify(tokenizeString('1 2'));
201
- if (result !== '[{"bf":[1n,0],"kind":"number","value":"1"},{"kind":"ws"},{"bf":[2n,0],"kind":"number","value":"2"}]') {
202
- throw result;
203
- }
204
- },
205
- () => {
206
- const result = stringify(tokenizeString('0. 2'));
207
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"ws"},{"bf":[2n,0],"kind":"number","value":"2"}]') {
208
- throw result;
209
- }
210
- },
211
- () => {
212
- const result = stringify(tokenizeString('10-0'));
213
- if (result !== '[{"bf":[10n,0],"kind":"number","value":"10"},{"kind":"-"},{"bf":[0n,0],"kind":"number","value":"0"}]') {
214
- throw result;
215
- }
216
- },
217
- () => {
218
- const result = stringify(tokenizeString('9a:'));
219
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"a"},{"kind":":"}]') {
220
- throw result;
221
- }
222
- },
223
- () => {
224
- const result = stringify(tokenizeString('-10'));
225
- if (result !== '[{"kind":"-"},{"bf":[10n,0],"kind":"number","value":"10"}]') {
226
- throw result;
227
- }
228
- },
229
- () => {
230
- const result = stringify(tokenizeString('-0'));
231
- if (result !== '[{"kind":"-"},{"bf":[0n,0],"kind":"number","value":"0"}]') {
232
- throw result;
233
- }
234
- },
235
- () => {
236
- const result = stringify(tokenizeString('-00'));
237
- if (result !== '[{"kind":"-"},{"kind":"error","message":"invalid number"}]') {
238
- throw result;
239
- }
240
- },
241
- () => {
242
- const result = stringify(tokenizeString('-.123'));
243
- if (result !== '[{"kind":"-"},{"kind":"."},{"bf":[123n,0],"kind":"number","value":"123"}]') {
244
- throw result;
245
- }
246
- },
247
- () => {
248
- const result = stringify(tokenizeString('0.01'));
249
- if (result !== '[{"bf":[1n,-2],"kind":"number","value":"0.01"}]') {
250
- throw result;
251
- }
252
- },
253
- () => {
254
- const result = stringify(tokenizeString('-0.9'));
255
- if (result !== '[{"kind":"-"},{"bf":[9n,-1],"kind":"number","value":"0.9"}]') {
256
- throw result;
257
- }
258
- },
259
- () => {
260
- const result = stringify(tokenizeString('-0.'));
261
- if (result !== '[{"kind":"-"},{"kind":"error","message":"invalid number"}]') {
262
- throw result;
263
- }
264
- },
265
- () => {
266
- const result = stringify(tokenizeString('-0.]'));
267
- if (result !== '[{"kind":"-"},{"kind":"error","message":"invalid number"},{"kind":"]"}]') {
268
- throw result;
269
- }
270
- },
271
- () => {
272
- const result = stringify(tokenizeString('12.34'));
273
- if (result !== '[{"bf":[1234n,-2],"kind":"number","value":"12.34"}]') {
274
- throw result;
275
- }
276
- },
277
- () => {
278
- const result = stringify(tokenizeString('-12.00'));
279
- if (result !== '[{"kind":"-"},{"bf":[1200n,-2],"kind":"number","value":"12.00"}]') {
280
- throw result;
281
- }
282
- },
283
- () => {
284
- const result = stringify(tokenizeString('-12.'));
285
- if (result !== '[{"kind":"-"},{"kind":"error","message":"invalid number"}]') {
286
- throw result;
287
- }
288
- },
289
- () => {
290
- const result = stringify(tokenizeString('12.]'));
291
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"]"}]') {
292
- throw result;
293
- }
294
- },
295
- () => {
296
- const result = stringify(tokenizeString('0e1'));
297
- if (result !== '[{"bf":[0n,1],"kind":"number","value":"0e1"}]') {
298
- throw result;
299
- }
300
- },
301
- () => {
302
- const result = stringify(tokenizeString('0e+2'));
303
- if (result !== '[{"bf":[0n,2],"kind":"number","value":"0e+2"}]') {
304
- throw result;
305
- }
306
- },
307
- () => {
308
- const result = stringify(tokenizeString('0e-0'));
309
- if (result !== '[{"bf":[0n,0],"kind":"number","value":"0e-0"}]') {
310
- throw result;
311
- }
312
- },
313
- () => {
314
- const result = stringify(tokenizeString('12e0000'));
315
- if (result !== '[{"bf":[12n,0],"kind":"number","value":"12e0000"}]') {
316
- throw result;
317
- }
318
- },
319
- () => {
320
- const result = stringify(tokenizeString('-12e-0001'));
321
- if (result !== '[{"kind":"-"},{"bf":[12n,-1],"kind":"number","value":"12e-0001"}]') {
322
- throw result;
323
- }
324
- },
325
- () => {
326
- const result = stringify(tokenizeString('-12.34e1234'));
327
- if (result !== '[{"kind":"-"},{"bf":[1234n,1232],"kind":"number","value":"12.34e1234"}]') {
328
- throw result;
329
- }
330
- },
331
- () => {
332
- const result = stringify(tokenizeString('0e'));
333
- if (result !== '[{"kind":"error","message":"invalid number"}]') {
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('ABCdef1234567890$_'));
345
- if (result !== '[{"kind":"id","value":"ABCdef1234567890$_"}]') {
346
- throw result;
347
- }
348
- },
349
- () => {
350
- const result = stringify(tokenizeString('{ABCdef1234567890$_}'));
351
- if (result !== '[{"kind":"{"},{"kind":"id","value":"ABCdef1234567890$_"},{"kind":"}"}]') {
352
- throw result;
353
- }
354
- },
355
- () => {
356
- const result = stringify(tokenizeString('123 _123'));
357
- if (result !== '[{"bf":[123n,0],"kind":"number","value":"123"},{"kind":"ws"},{"kind":"id","value":"_123"}]') {
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 !== '[{"kind":"error","message":"invalid number"},{"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('1234567890n'));
381
- if (result !== '[{"kind":"bigint","value":1234567890n}]') {
382
- throw result;
383
- }
384
- },
385
- () => {
386
- const result = stringify(tokenizeString('0n'));
387
- if (result !== '[{"kind":"bigint","value":0n}]') {
388
- throw result;
389
- }
390
- },
391
- () => {
392
- const result = stringify(tokenizeString('[-1234567890n]'));
393
- if (result !== '[{"kind":"["},{"kind":"-"},{"kind":"bigint","value":1234567890n},{"kind":"]"}]') {
394
- throw result;
395
- }
396
- },
397
- () => {
398
- const result = stringify(tokenizeString('123.456n'));
399
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"n"}]') {
400
- throw result;
401
- }
402
- },
403
- () => {
404
- const result = stringify(tokenizeString('123e456n'));
405
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"n"}]') {
406
- throw result;
407
- }
408
- },
409
- () => {
410
- const result = stringify(tokenizeString('1234567890na'));
411
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"a"}]') {
412
- throw result;
413
- }
414
- },
415
- () => {
416
- const result = stringify(tokenizeString('1234567890nn'));
417
- if (result !== '[{"kind":"error","message":"invalid number"},{"kind":"id","value":"n"}]') {
418
- throw result;
419
- }
420
- },
421
- ],
422
- operators: [
423
- () => {
424
- const result = stringify(tokenizeString('='));
425
- if (result !== '[{"kind":"="}]') {
426
- throw result;
427
- }
428
- },
429
- () => {
430
- const result = stringify(tokenizeString('=a'));
431
- if (result !== '[{"kind":"="},{"kind":"id","value":"a"}]') {
432
- throw result;
433
- }
434
- },
435
- () => {
436
- const result = stringify(tokenizeString('-'));
437
- if (result !== '[{"kind":"-"}]') {
438
- throw result;
439
- }
440
- },
441
- () => {
442
- const result = stringify(tokenizeString('1*2'));
443
- if (result !== '[{"bf":[1n,0],"kind":"number","value":"1"},{"kind":"*"},{"bf":[2n,0],"kind":"number","value":"2"}]') {
444
- throw result;
445
- }
446
- },
447
- () => {
448
- const result = stringify(tokenizeString('( )'));
449
- if (result !== '[{"kind":"("},{"kind":"ws"},{"kind":")"}]') {
450
- throw result;
451
- }
452
- },
453
- () => {
454
- const result = stringify(tokenizeString('== != === !== > >= < <='));
455
- if (result !== '[{"kind":"=="},{"kind":"ws"},{"kind":"!="},{"kind":"ws"},{"kind":"==="},{"kind":"ws"},{"kind":"!=="},{"kind":"ws"},{"kind":">"},{"kind":"ws"},{"kind":">="},{"kind":"ws"},{"kind":"<"},{"kind":"ws"},{"kind":"<="}]') {
456
- throw result;
457
- }
458
- },
459
- () => {
460
- const result = stringify(tokenizeString('+ - * / % ++ -- **'));
461
- if (result !== '[{"kind":"+"},{"kind":"ws"},{"kind":"-"},{"kind":"ws"},{"kind":"*"},{"kind":"ws"},{"kind":"/"},{"kind":"ws"},{"kind":"%"},{"kind":"ws"},{"kind":"++"},{"kind":"ws"},{"kind":"--"},{"kind":"ws"},{"kind":"**"}]') {
462
- throw result;
463
- }
464
- },
465
- () => {
466
- const result = stringify(tokenizeString('= += -= *= /= %= **='));
467
- if (result !== '[{"kind":"="},{"kind":"ws"},{"kind":"+="},{"kind":"ws"},{"kind":"-="},{"kind":"ws"},{"kind":"*="},{"kind":"ws"},{"kind":"/="},{"kind":"ws"},{"kind":"%="},{"kind":"ws"},{"kind":"**="}]') {
468
- throw result;
469
- }
470
- },
471
- () => {
472
- const result = stringify(tokenizeString('& | ^ ~ << >> >>>'));
473
- if (result !== '[{"kind":"&"},{"kind":"ws"},{"kind":"|"},{"kind":"ws"},{"kind":"^"},{"kind":"ws"},{"kind":"~"},{"kind":"ws"},{"kind":"<<"},{"kind":"ws"},{"kind":">>"},{"kind":"ws"},{"kind":">>>"}]') {
474
- throw result;
475
- }
476
- },
477
- () => {
478
- const result = stringify(tokenizeString('&= |= ^= <<= >>= >>>='));
479
- if (result !== '[{"kind":"&="},{"kind":"ws"},{"kind":"|="},{"kind":"ws"},{"kind":"^="},{"kind":"ws"},{"kind":"<<="},{"kind":"ws"},{"kind":">>="},{"kind":"ws"},{"kind":">>>="}]') {
480
- throw result;
481
- }
482
- },
483
- () => {
484
- const result = stringify(tokenizeString('&& || ! ??'));
485
- if (result !== '[{"kind":"&&"},{"kind":"ws"},{"kind":"||"},{"kind":"ws"},{"kind":"!"},{"kind":"ws"},{"kind":"??"}]') {
486
- throw result;
487
- }
488
- },
489
- () => {
490
- const result = stringify(tokenizeString('&&= ||= ??='));
491
- if (result !== '[{"kind":"&&="},{"kind":"ws"},{"kind":"||="},{"kind":"ws"},{"kind":"??="}]') {
492
- throw result;
493
- }
494
- },
495
- () => {
496
- const result = stringify(tokenizeString('? ?. . =>'));
497
- if (result !== '[{"kind":"?"},{"kind":"ws"},{"kind":"?."},{"kind":"ws"},{"kind":"."},{"kind":"ws"},{"kind":"=>"}]') {
498
- throw result;
499
- }
500
- },
501
- ],
502
- ws: [
503
- () => {
504
- const result = stringify(tokenizeString(' '));
505
- if (result !== '[{"kind":"ws"}]') {
506
- throw result;
507
- }
508
- },
509
- () => {
510
- const result = stringify(tokenizeString('\t'));
511
- if (result !== '[{"kind":"ws"}]') {
512
- throw result;
513
- }
514
- },
515
- () => {
516
- const result = stringify(tokenizeString(' \t'));
517
- if (result !== '[{"kind":"ws"}]') {
518
- throw result;
519
- }
520
- },
521
- () => {
522
- const result = stringify(tokenizeString('\n'));
523
- if (result !== '[{"kind":"nl"}]') {
524
- throw result;
525
- }
526
- },
527
- () => {
528
- const result = stringify(tokenizeString('\r'));
529
- if (result !== '[{"kind":"nl"}]') {
530
- throw result;
531
- }
532
- },
533
- () => {
534
- const result = stringify(tokenizeString(' \t\n\r '));
535
- if (result !== '[{"kind":"nl"}]') {
536
- throw result;
537
- }
538
- },
539
- ],
540
- id: [
541
- () => {
542
- const result = stringify(tokenizeString('err'));
543
- if (result !== '[{"kind":"id","value":"err"}]') {
544
- throw result;
545
- }
546
- },
547
- () => {
548
- const result = stringify(tokenizeString('{e}'));
549
- if (result !== '[{"kind":"{"},{"kind":"id","value":"e"},{"kind":"}"}]') {
550
- throw result;
551
- }
552
- },
553
- () => {
554
- const result = stringify(tokenizeString('tru'));
555
- if (result !== '[{"kind":"id","value":"tru"}]') {
556
- throw result;
557
- }
558
- },
559
- ],
560
- keywords: [
561
- () => {
562
- const result = stringify(tokenizeString('true'));
563
- if (result !== '[{"kind":"true"}]') {
564
- throw result;
565
- }
566
- },
567
- () => {
568
- const result = stringify(tokenizeString('false'));
569
- if (result !== '[{"kind":"false"}]') {
570
- throw result;
571
- }
572
- },
573
- () => {
574
- const result = stringify(tokenizeString('null'));
575
- if (result !== '[{"kind":"null"}]') {
576
- throw result;
577
- }
578
- },
579
- () => {
580
- const result = stringify(tokenizeString('undefined'));
581
- if (result !== '[{"kind":"undefined"}]') {
582
- throw result;
583
- }
584
- },
585
- () => {
586
- const result = stringify(tokenizeString('[null]'));
587
- if (result !== '[{"kind":"["},{"kind":"null"},{"kind":"]"}]') {
588
- throw result;
589
- }
590
- },
591
- () => {
592
- const result = stringify(tokenizeString('arguments'));
593
- if (result !== '[{"kind":"arguments"}]') {
594
- throw result;
595
- }
596
- },
597
- () => {
598
- const result = stringify(tokenizeString('await'));
599
- if (result !== '[{"kind":"await"}]') {
600
- throw result;
601
- }
602
- },
603
- () => {
604
- const result = stringify(tokenizeString('break'));
605
- if (result !== '[{"kind":"break"}]') {
606
- throw result;
607
- }
608
- },
609
- () => {
610
- const result = stringify(tokenizeString('case'));
611
- if (result !== '[{"kind":"case"}]') {
612
- throw result;
613
- }
614
- },
615
- () => {
616
- const result = stringify(tokenizeString('catch'));
617
- if (result !== '[{"kind":"catch"}]') {
618
- throw result;
619
- }
620
- },
621
- () => {
622
- const result = stringify(tokenizeString('class'));
623
- if (result !== '[{"kind":"class"}]') {
624
- throw result;
625
- }
626
- },
627
- () => {
628
- const result = stringify(tokenizeString('const'));
629
- if (result !== '[{"kind":"const"}]') {
630
- throw result;
631
- }
632
- },
633
- () => {
634
- const result = stringify(tokenizeString('continue'));
635
- if (result !== '[{"kind":"continue"}]') {
636
- throw result;
637
- }
638
- },
639
- () => {
640
- const result = stringify(tokenizeString('debugger'));
641
- if (result !== '[{"kind":"debugger"}]') {
642
- throw result;
643
- }
644
- },
645
- () => {
646
- const result = stringify(tokenizeString('default'));
647
- if (result !== '[{"kind":"default"}]') {
648
- throw result;
649
- }
650
- },
651
- () => {
652
- const result = stringify(tokenizeString('delete'));
653
- if (result !== '[{"kind":"delete"}]') {
654
- throw result;
655
- }
656
- },
657
- () => {
658
- const result = stringify(tokenizeString('do'));
659
- if (result !== '[{"kind":"do"}]') {
660
- throw result;
661
- }
662
- },
663
- () => {
664
- const result = stringify(tokenizeString('else'));
665
- if (result !== '[{"kind":"else"}]') {
666
- throw result;
667
- }
668
- },
669
- () => {
670
- const result = stringify(tokenizeString('enum'));
671
- if (result !== '[{"kind":"enum"}]') {
672
- throw result;
673
- }
674
- },
675
- () => {
676
- const result = stringify(tokenizeString('eval'));
677
- if (result !== '[{"kind":"eval"}]') {
678
- throw result;
679
- }
680
- },
681
- () => {
682
- const result = stringify(tokenizeString('export'));
683
- if (result !== '[{"kind":"export"}]') {
684
- throw result;
685
- }
686
- },
687
- () => {
688
- const result = stringify(tokenizeString('extends'));
689
- if (result !== '[{"kind":"extends"}]') {
690
- throw result;
691
- }
692
- },
693
- () => {
694
- const result = stringify(tokenizeString('finally'));
695
- if (result !== '[{"kind":"finally"}]') {
696
- throw result;
697
- }
698
- },
699
- () => {
700
- const result = stringify(tokenizeString('for'));
701
- if (result !== '[{"kind":"for"}]') {
702
- throw result;
703
- }
704
- },
705
- () => {
706
- const result = stringify(tokenizeString('function'));
707
- if (result !== '[{"kind":"function"}]') {
708
- throw result;
709
- }
710
- },
711
- () => {
712
- const result = stringify(tokenizeString('if'));
713
- if (result !== '[{"kind":"if"}]') {
714
- throw result;
715
- }
716
- },
717
- () => {
718
- const result = stringify(tokenizeString('implements'));
719
- if (result !== '[{"kind":"implements"}]') {
720
- throw result;
721
- }
722
- },
723
- () => {
724
- const result = stringify(tokenizeString('import'));
725
- if (result !== '[{"kind":"import"}]') {
726
- throw result;
727
- }
728
- },
729
- () => {
730
- const result = stringify(tokenizeString('in'));
731
- if (result !== '[{"kind":"in"}]') {
732
- throw result;
733
- }
734
- },
735
- () => {
736
- const result = stringify(tokenizeString('instanceof'));
737
- if (result !== '[{"kind":"instanceof"}]') {
738
- throw result;
739
- }
740
- },
741
- () => {
742
- const result = stringify(tokenizeString('interface'));
743
- if (result !== '[{"kind":"interface"}]') {
744
- throw result;
745
- }
746
- },
747
- () => {
748
- const result = stringify(tokenizeString('let'));
749
- if (result !== '[{"kind":"let"}]') {
750
- throw result;
751
- }
752
- },
753
- () => {
754
- const result = stringify(tokenizeString('new'));
755
- if (result !== '[{"kind":"new"}]') {
756
- throw result;
757
- }
758
- },
759
- () => {
760
- const result = stringify(tokenizeString('package'));
761
- if (result !== '[{"kind":"package"}]') {
762
- throw result;
763
- }
764
- },
765
- () => {
766
- const result = stringify(tokenizeString('private'));
767
- if (result !== '[{"kind":"private"}]') {
768
- throw result;
769
- }
770
- },
771
- () => {
772
- const result = stringify(tokenizeString('protected'));
773
- if (result !== '[{"kind":"protected"}]') {
774
- throw result;
775
- }
776
- },
777
- () => {
778
- const result = stringify(tokenizeString('public'));
779
- if (result !== '[{"kind":"public"}]') {
780
- throw result;
781
- }
782
- },
783
- () => {
784
- const result = stringify(tokenizeString('return'));
785
- if (result !== '[{"kind":"return"}]') {
786
- throw result;
787
- }
788
- },
789
- () => {
790
- const result = stringify(tokenizeString('static'));
791
- if (result !== '[{"kind":"static"}]') {
792
- throw result;
793
- }
794
- },
795
- () => {
796
- const result = stringify(tokenizeString('super'));
797
- if (result !== '[{"kind":"super"}]') {
798
- throw result;
799
- }
800
- },
801
- () => {
802
- const result = stringify(tokenizeString('switch'));
803
- if (result !== '[{"kind":"switch"}]') {
804
- throw result;
805
- }
806
- },
807
- () => {
808
- const result = stringify(tokenizeString('this'));
809
- if (result !== '[{"kind":"this"}]') {
810
- throw result;
811
- }
812
- },
813
- () => {
814
- const result = stringify(tokenizeString('throw'));
815
- if (result !== '[{"kind":"throw"}]') {
816
- throw result;
817
- }
818
- },
819
- () => {
820
- const result = stringify(tokenizeString('try'));
821
- if (result !== '[{"kind":"try"}]') {
822
- throw result;
823
- }
824
- },
825
- () => {
826
- const result = stringify(tokenizeString('typeof'));
827
- if (result !== '[{"kind":"typeof"}]') {
828
- throw result;
829
- }
830
- },
831
- () => {
832
- const result = stringify(tokenizeString('var'));
833
- if (result !== '[{"kind":"var"}]') {
834
- throw result;
835
- }
836
- },
837
- () => {
838
- const result = stringify(tokenizeString('void'));
839
- if (result !== '[{"kind":"void"}]') {
840
- throw result;
841
- }
842
- },
843
- () => {
844
- const result = stringify(tokenizeString('while'));
845
- if (result !== '[{"kind":"while"}]') {
846
- throw result;
847
- }
848
- },
849
- () => {
850
- const result = stringify(tokenizeString('with'));
851
- if (result !== '[{"kind":"with"}]') {
852
- throw result;
853
- }
854
- },
855
- () => {
856
- const result = stringify(tokenizeString('yield'));
857
- if (result !== '[{"kind":"yield"}]') {
858
- throw result;
859
- }
860
- },
861
- ],
862
- comments: [
863
- () => {
864
- const result = stringify(tokenizeString('//singleline comment'));
865
- if (result !== '[{"kind":"//","value":"singleline comment"}]') {
866
- throw result;
867
- }
868
- },
869
- () => {
870
- const result = stringify(tokenizeString('true//singleline comment\nfalse'));
871
- if (result !== '[{"kind":"true"},{"kind":"//","value":"singleline comment"},{"kind":"nl"},{"kind":"false"}]') {
872
- throw result;
873
- }
874
- },
875
- () => {
876
- const result = stringify(tokenizeString('/* multiline comment */'));
877
- if (result !== '[{"kind":"/*","value":" multiline comment "}]') {
878
- throw result;
879
- }
880
- },
881
- () => {
882
- const result = stringify(tokenizeString('/* multiline comment *'));
883
- if (result !== '[{"kind":"error","message":"*/ expected"}]') {
884
- throw result;
885
- }
886
- },
887
- () => {
888
- const result = stringify(tokenizeString('/* multiline comment '));
889
- if (result !== '[{"kind":"error","message":"*/ expected"}]') {
890
- throw result;
891
- }
892
- },
893
- () => {
894
- const result = stringify(tokenizeString('/* multiline comment \n * **/'));
895
- if (result !== '[{"kind":"/*","value":" multiline comment \\n * *"},{"kind":"nl"}]') {
896
- throw result;
897
- }
898
- },
899
- () => {
900
- const result = stringify(tokenizeString('/* multiline comment *\n * **/'));
901
- if (result !== '[{"kind":"/*","value":" multiline comment *\\n * *"},{"kind":"nl"}]') {
902
- throw result;
903
- }
904
- },
905
- ]
906
- };