functionalscript 0.1.609 → 0.2.1

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