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,329 +0,0 @@
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 json 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.JsonToken[]} */
10
- const tokenizeString = s => toArray(tokenizer.tokenize(encoding.stringToList(s)));
11
- const stringify = json.stringify(sort);
12
- export default {
13
- valid: [
14
- () => {
15
- const tokenList = tokenizeString('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('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('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('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('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('"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('[]');
64
- const obj = parser.parse(tokenList);
65
- const result = stringify(obj);
66
- if (result !== '["ok",[]]') {
67
- throw result;
68
- }
69
- },
70
- () => {
71
- const tokenList = tokenizeString('[1]');
72
- const obj = parser.parse(tokenList);
73
- const result = stringify(obj);
74
- if (result !== '["ok",[1]]') {
75
- throw result;
76
- }
77
- },
78
- () => {
79
- const tokenList = tokenizeString('[[]]');
80
- const obj = parser.parse(tokenList);
81
- const result = stringify(obj);
82
- if (result !== '["ok",[[]]]') {
83
- throw result;
84
- }
85
- },
86
- () => {
87
- const tokenList = tokenizeString('[0,[1,[2,[]]],3]');
88
- const obj = parser.parse(tokenList);
89
- const result = stringify(obj);
90
- if (result !== '["ok",[0,[1,[2,[]]],3]]') {
91
- throw result;
92
- }
93
- },
94
- () => {
95
- const tokenList = tokenizeString('{}');
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('[{}]');
104
- const obj = parser.parse(tokenList);
105
- const result = stringify(obj);
106
- if (result !== '["ok",[{}]]') {
107
- throw result;
108
- }
109
- },
110
- () => {
111
- const tokenList = tokenizeString('{"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('{"a":{"b":{"c":["d"]}}}');
120
- const obj = parser.parse(tokenList);
121
- const result = stringify(obj);
122
- if (result !== '["ok",{"a":{"b":{"c":["d"]}}}]') {
123
- throw result;
124
- }
125
- }
126
- ],
127
- invalid: [
128
- () => {
129
- const tokenList = tokenizeString('');
130
- const obj = parser.parse(tokenList);
131
- const result = stringify(obj);
132
- if (result !== '["error","unexpected end"]') {
133
- throw result;
134
- }
135
- },
136
- () => {
137
- const tokenList = tokenizeString('"123');
138
- const obj = parser.parse(tokenList);
139
- const result = stringify(obj);
140
- if (result !== '["error","unexpected token"]') {
141
- throw result;
142
- }
143
- },
144
- () => {
145
- const tokenList = tokenizeString('[,]');
146
- const obj = parser.parse(tokenList);
147
- const result = stringify(obj);
148
- if (result !== '["error","unexpected token"]') {
149
- throw result;
150
- }
151
- },
152
- () => {
153
- const tokenList = tokenizeString('[1 2]');
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('[1,,2]');
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('[]]');
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('["a"');
178
- const obj = parser.parse(tokenList);
179
- const result = stringify(obj);
180
- if (result !== '["error","unexpected end"]') {
181
- throw result;
182
- }
183
- },
184
- () => {
185
- const tokenList = tokenizeString('[1,]');
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('[,1]');
194
- const obj = parser.parse(tokenList);
195
- const result = stringify(obj);
196
- if (result !== '["error","unexpected token"]') {
197
- throw result;
198
- }
199
- },
200
- () => {
201
- const tokenList = tokenizeString('[:]');
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(']');
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('{,}');
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('{1:2}');
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('{"1"2}');
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('{"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('{"1":2,,"3":4');
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('{}}');
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('{"1":2');
266
- const obj = parser.parse(tokenList);
267
- const result = stringify(obj);
268
- if (result !== '["error","unexpected end"]') {
269
- throw result;
270
- }
271
- },
272
- () => {
273
- const tokenList = tokenizeString('{"1":2,}');
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('{,"1":2}');
282
- const obj = parser.parse(tokenList);
283
- const result = stringify(obj);
284
- if (result !== '["error","unexpected token"]') {
285
- throw result;
286
- }
287
- },
288
- () => {
289
- const tokenList = tokenizeString('}');
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('[{]}');
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('{[}]');
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('10-5');
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('undefined');
322
- const obj = parser.parse(tokenList);
323
- const result = stringify(obj);
324
- if (result !== '["error","unexpected token"]') {
325
- throw result;
326
- }
327
- },
328
- ]
329
- };
@@ -1,36 +0,0 @@
1
- /** @type {(_: string) => list.List<string>} */
2
- export const stringSerialize: (_: string) => list.List<string>;
3
- /** @type {(_: number) => list.List<string>} */
4
- export const numberSerialize: (_: number) => list.List<string>;
5
- export const nullSerialize: string[];
6
- /** @type {(_: boolean) => list.List<string>} */
7
- export const boolSerialize: (_: boolean) => list.List<string>;
8
- export const objectWrap: (input: list.List<list.List<string>>) => list.List<string>;
9
- export const arrayWrap: (input: list.List<list.List<string>>) => list.List<string>;
10
- /**
11
- * <T>
12
- */
13
- export type Obj<T> = { readonly [k in string]: Unknown<T>; };
14
- /**
15
- * <T>
16
- */
17
- export type Arr<T> = readonly Unknown<T>[];
18
- export type Primitive = boolean | string | number | null;
19
- /**
20
- * <T>
21
- */
22
- export type Unknown<T> = Arr<T> | Obj<T> | null | T;
23
- /**
24
- * <T>
25
- */
26
- export type Entry<T> = O.Entry<Unknown<T>>;
27
- /**
28
- * <T>
29
- */
30
- export type Entries<T> = (list.List<Entry<T>>);
31
- /**
32
- * <T>
33
- */
34
- export type MapEntries<T> = (entries: Entries<T>) => Entries<T>;
35
- import * as list from '../../types/list/module.f.mjs';
36
- import * as O from '../../types/object/module.f.mjs';
@@ -1,67 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as list from '../../types/list/module.f.mjs';
3
- const { flat, reduce, empty } = list;
4
- import * as O from '../../types/object/module.f.mjs';
5
- import * as Operator from '../../types/function/operator/module.f.mjs';
6
- /**
7
- * @template T
8
- * @typedef {{
9
- * readonly [k in string]: Unknown<T>
10
- * }} Obj<T>
11
- */
12
- /**
13
- * @template T
14
- * @typedef {readonly Unknown<T>[]} Arr<T>
15
- */
16
- /**
17
- * @typedef {|
18
- * boolean |
19
- * string |
20
- * number |
21
- * null
22
- * } Primitive
23
- */
24
- /**
25
- * @template T
26
- * @typedef {|
27
- * Arr<T>|
28
- * Obj<T>|
29
- * null|
30
- * T
31
- * } Unknown<T>
32
- */
33
- const jsonStringify = JSON.stringify;
34
- /** @type {(_: string) => list.List<string>} */
35
- export const stringSerialize = input => [jsonStringify(input)];
36
- /** @type {(_: number) => list.List<string>} */
37
- export const numberSerialize = input => [jsonStringify(input)];
38
- export const nullSerialize = ['null'];
39
- const trueSerialize = ['true'];
40
- const falseSerialize = ['false'];
41
- /** @type {(_: boolean) => list.List<string>} */
42
- export const boolSerialize = value => value ? trueSerialize : falseSerialize;
43
- const comma = [','];
44
- /** @type {Operator.Reduce<list.List<string>>} */
45
- const joinOp = b => prior => flat([prior, comma, b]);
46
- /** @type {(input: list.List<list.List<string>>) => list.List<string>} */
47
- const join = reduce(joinOp)(empty);
48
- /** @type {(open: string) => (close: string) => (input: list.List<list.List<string>>) => list.List<string>} */
49
- const wrap = open => close => {
50
- const seqOpen = [open];
51
- const seqClose = [close];
52
- return input => flat([seqOpen, join(input), seqClose]);
53
- };
54
- export const objectWrap = wrap('{')('}');
55
- export const arrayWrap = wrap('[')(']');
56
- /**
57
- * @template T
58
- * @typedef {O.Entry<Unknown<T>>} Entry<T>
59
- */
60
- /**
61
- * @template T
62
- * @typedef {(list.List<Entry<T>>)} Entries<T>
63
- */
64
- /**
65
- * @template T
66
- * @typedef {(entries: Entries<T>) => Entries<T>} MapEntries<T>
67
- */
@@ -1,8 +0,0 @@
1
- declare namespace _default {
2
- let arrayWrap: (() => void)[];
3
- let objectWrap: (() => void)[];
4
- let stringSerialize: (() => void)[];
5
- let numberSerialize: (() => void)[];
6
- let boolSerialize: (() => void)[];
7
- }
8
- export default _default;
@@ -1,87 +0,0 @@
1
- import * as _ from './module.f.mjs';
2
- import * as list from '../../types/list/module.f.mjs';
3
- const { toArray } = list;
4
- export default {
5
- arrayWrap: [
6
- () => {
7
- const result = JSON.stringify(toArray(_.arrayWrap(null)));
8
- if (result !== '["[","]"]') {
9
- throw result;
10
- }
11
- },
12
- () => {
13
- const result = JSON.stringify(toArray(_.arrayWrap([['a', 'b']])));
14
- if (result !== '["[","a","b","]"]') {
15
- throw result;
16
- }
17
- },
18
- () => {
19
- const result = JSON.stringify(toArray(_.arrayWrap([['a'], ['b']])));
20
- if (result !== '["[","a",",","b","]"]') {
21
- throw result;
22
- }
23
- }
24
- ],
25
- objectWrap: [
26
- () => {
27
- const result = JSON.stringify(toArray(_.objectWrap(null)));
28
- if (result !== '["{","}"]') {
29
- throw result;
30
- }
31
- },
32
- () => {
33
- const result = JSON.stringify(toArray(_.objectWrap([['a', 'b']])));
34
- if (result !== '["{","a","b","}"]') {
35
- throw result;
36
- }
37
- },
38
- () => {
39
- const result = JSON.stringify(toArray(_.objectWrap([['a'], ['b']])));
40
- if (result !== '["{","a",",","b","}"]') {
41
- throw result;
42
- }
43
- }
44
- ],
45
- stringSerialize: [
46
- () => {
47
- const result = JSON.stringify(toArray(_.stringSerialize('abc')));
48
- if (result !== '["\\"abc\\""]') {
49
- throw result;
50
- }
51
- },
52
- () => {
53
- const result = JSON.stringify(toArray(_.stringSerialize('123')));
54
- if (result !== '["\\"123\\""]') {
55
- throw result;
56
- }
57
- }
58
- ],
59
- numberSerialize: [
60
- () => {
61
- const result = JSON.stringify(toArray(_.numberSerialize(123)));
62
- if (result !== '["123"]') {
63
- throw result;
64
- }
65
- },
66
- () => {
67
- const result = JSON.stringify(toArray(_.numberSerialize(10e20)));
68
- if (result !== '["1e+21"]') {
69
- throw result;
70
- }
71
- }
72
- ],
73
- boolSerialize: [
74
- () => {
75
- const result = JSON.stringify(toArray(_.boolSerialize(false)));
76
- if (result !== '["false"]') {
77
- throw result;
78
- }
79
- },
80
- () => {
81
- const result = JSON.stringify(toArray(_.boolSerialize(true)));
82
- if (result !== '["true"]') {
83
- throw result;
84
- }
85
- }
86
- ]
87
- };
@@ -1,8 +0,0 @@
1
- declare namespace _default {
2
- function setProperty(): void;
3
- let stringify: {
4
- sort: () => void;
5
- identity: () => void;
6
- }[];
7
- }
8
- export default _default;
@@ -1,61 +0,0 @@
1
- import * as json from './module.f.mjs';
2
- import * as o from '../types/object/module.f.mjs';
3
- const { sort } = o;
4
- import * as f from '../types/function/module.f.mjs';
5
- const { identity } = f;
6
- export default {
7
- setProperty: () => {
8
- if (json.setProperty("Hello")([])({}) !== "Hello") {
9
- throw 'error';
10
- }
11
- },
12
- stringify: [
13
- {
14
- sort: () => {
15
- const r = json.setProperty("Hello")(['a'])({});
16
- const x = json.stringify(sort)(r);
17
- if (x !== '{"a":"Hello"}') {
18
- throw x;
19
- }
20
- },
21
- identity: () => {
22
- const x = json.stringify(identity)(json.setProperty("Hello")(['a'])({}));
23
- if (x !== '{"a":"Hello"}') {
24
- throw x;
25
- }
26
- },
27
- },
28
- {
29
- sort: () => {
30
- const x = json.stringify(sort)(json.setProperty("Hello")(['a'])({ c: [], b: 12 }));
31
- if (x !== '{"a":"Hello","b":12,"c":[]}') {
32
- throw x;
33
- }
34
- },
35
- identity: () => {
36
- const x = json.stringify(identity)(json.setProperty("Hello")(['a'])({ c: [], b: 12 }));
37
- if (x !== '{"c":[],"b":12,"a":"Hello"}') {
38
- throw x;
39
- }
40
- },
41
- },
42
- {
43
- sort: () => {
44
- const _0 = { a: { y: [24] }, c: [], b: 12 };
45
- const _1 = json.setProperty("Hello")(['a', 'x'])(_0);
46
- const _2 = json.stringify(sort)(_1);
47
- if (_2 !== '{"a":{"x":"Hello","y":[24]},"b":12,"c":[]}') {
48
- throw _2;
49
- }
50
- },
51
- identity: () => {
52
- const _0 = { a: { y: [24] }, c: [], b: 12 };
53
- const _1 = json.setProperty("Hello")(['a', 'x'])(_0);
54
- const _2 = json.stringify(identity)(_1);
55
- if (_2 !== '{"a":{"y":[24],"x":"Hello"},"c":[],"b":12}') {
56
- throw _2;
57
- }
58
- }
59
- }
60
- ]
61
- };
@@ -1,13 +0,0 @@
1
- /** @type {(input: list.List<number>) => list.List<JsonToken>} */
2
- export const tokenize: (input: list.List<number>) => list.List<JsonToken>;
3
- export type JsonToken = {
4
- readonly kind: "true" | "false" | "null";
5
- } | {
6
- readonly kind: "{" | "}" | ":" | "," | "[" | "]";
7
- } | jsTokenizer.StringToken | jsTokenizer.NumberToken | jsTokenizer.ErrorToken;
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';