functionalscript 0.2.6 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (428) hide show
  1. package/.github/workflows/ci.yml +19 -4
  2. package/CHANGELOG.md +5 -0
  3. package/com/cpp/{module.f.mjs → module.f.ts} +65 -44
  4. package/com/cpp/{test.f.mjs → test.f.ts} +1 -1
  5. package/com/cpp/testlib.f.ts +8 -0
  6. package/com/cs/{module.f.mjs → module.f.ts} +47 -38
  7. package/com/cs/{test.f.mjs → test.f.ts} +2 -2
  8. package/com/cs/testlib.f.ts +8 -0
  9. package/com/rust/module.f.ts +287 -0
  10. package/com/rust/{test.f.mjs → test.f.ts} +1 -1
  11. package/com/rust/testlib.f.ts +8 -0
  12. package/com/test/{build.f.mjs → build.f.ts} +47 -45
  13. package/com/test/{build.mjs → build.ts} +7 -6
  14. package/com/types/module.f.ts +62 -0
  15. package/com/types/{testlib.f.mjs → testlib.f.ts} +2 -3
  16. package/commonjs/build/module.f.ts +100 -0
  17. package/commonjs/build/{test.f.mjs → test.f.ts} +21 -17
  18. package/commonjs/module/function/module.f.ts +13 -0
  19. package/commonjs/module/module.f.ts +41 -0
  20. package/commonjs/module.f.ts +7 -0
  21. package/commonjs/{module.mjs → module.ts} +12 -9
  22. package/commonjs/package/dependencies/module.f.ts +22 -0
  23. package/commonjs/package/dependencies/{test.f.mjs → test.f.ts} +1 -1
  24. package/commonjs/package/module.f.ts +31 -0
  25. package/commonjs/package/{test.f.mjs → test.f.ts} +1 -1
  26. package/commonjs/path/{module.f.mjs → module.f.ts} +72 -67
  27. package/commonjs/path/{test.f.mjs → test.f.ts} +25 -19
  28. package/commonjs/{test.mjs → test.ts} +5 -4
  29. package/crypto/prime_field/{module.f.mjs → module.f.ts} +40 -37
  30. package/crypto/prime_field/{test.f.mjs → test.f.ts} +7 -5
  31. package/crypto/secp/{module.f.mjs → module.f.ts} +44 -44
  32. package/crypto/secp/{test.f.mjs → test.f.ts} +16 -11
  33. package/crypto/sha2/{module.f.mjs → module.f.ts} +61 -46
  34. package/crypto/sha2/{test.f.mjs → test.f.ts} +12 -9
  35. package/deno.json +71 -0
  36. package/dev/README.md +8 -0
  37. package/dev/index.ts +3 -0
  38. package/dev/{module.f.mjs → module.f.ts} +0 -2
  39. package/dev/{module.mjs → module.ts} +65 -60
  40. package/dev/test/{module.f.mjs → module.f.ts} +57 -70
  41. package/dev/{test.f.mjs → test.f.ts} +7 -5
  42. package/dev/test.ts +53 -0
  43. package/djs/{module.f.mjs → module.f.ts} +31 -31
  44. package/djs/parser/{module.f.mjs → module.f.ts} +190 -182
  45. package/djs/parser/{test.f.mjs → test.f.ts} +173 -150
  46. package/djs/serializer/module.f.ts +90 -0
  47. package/djs/{test.f.mjs → test.f.ts} +4 -4
  48. package/djs/tokenizer/{module.f.mjs → module.f.ts} +35 -42
  49. package/djs/tokenizer/{test.f.mjs → test.f.ts} +9 -8
  50. package/fsc/{module.f.mjs → module.f.ts} +41 -44
  51. package/fsc/{test.f.mjs → test.f.ts} +8 -6
  52. package/fsm/module.f.ts +107 -0
  53. package/fsm/{test.f.mjs → test.f.ts} +10 -9
  54. package/html/module.f.ts +108 -0
  55. package/html/{test.f.mjs → test.f.ts} +10 -7
  56. package/issues/lang/3110-function.md +25 -1
  57. package/issues/{test.f.mjs → test.f.ts} +3 -2
  58. package/js/tokenizer/module.f.ts +882 -0
  59. package/js/tokenizer/{test.f.mjs → test.f.ts} +11 -10
  60. package/json/module.f.ts +94 -0
  61. package/json/parser/{module.f.mjs → module.f.ts} +113 -109
  62. package/json/parser/{test.f.mjs → test.f.ts} +10 -9
  63. package/json/serializer/module.f.ts +70 -0
  64. package/json/serializer/{test.f.mjs → test.f.ts} +3 -3
  65. package/json/{test.f.mjs → test.f.ts} +3 -3
  66. package/json/tokenizer/{module.f.mjs → module.f.ts} +29 -36
  67. package/json/tokenizer/{test.f.mjs → test.f.ts} +9 -8
  68. package/nanvm-lib/src/extension.rs +15 -4
  69. package/nanvm-lib/src/interface.rs +7 -10
  70. package/nanvm-lib/src/lib.rs +3 -3
  71. package/nanvm-lib/src/naive.rs +10 -3
  72. package/nanvm-lib/src/nanenum.rs +5 -1
  73. package/nanvm-lib/tests/{test.f.mjs → test.f.ts} +7 -6
  74. package/nodejs/version/{main.mjs → main.ts} +1 -1
  75. package/nodejs/version/module.f.ts +42 -0
  76. package/nodejs/version/{test.f.mjs → test.f.ts} +11 -12
  77. package/package.json +9 -9
  78. package/text/ascii/{module.f.mjs → module.f.ts} +10 -8
  79. package/text/ascii/{test.f.mjs → test.f.ts} +4 -4
  80. package/text/module.f.ts +30 -0
  81. package/text/sgr/{module.f.mjs → module.f.ts} +3 -5
  82. package/text/{test.f.mjs → test.f.ts} +5 -4
  83. package/text/utf16/module.f.ts +108 -0
  84. package/text/utf16/{test.f.mjs → test.f.ts} +7 -6
  85. package/text/utf8/{module.f.mjs → module.f.ts} +29 -23
  86. package/text/utf8/{test.f.mjs → test.f.ts} +4 -4
  87. package/tsconfig.json +4 -1
  88. package/types/array/module.f.ts +89 -0
  89. package/types/array/{test.f.mjs → test.f.ts} +3 -3
  90. package/types/bigfloat/{module.f.mjs → module.f.ts} +25 -20
  91. package/types/bigfloat/{test.f.mjs → test.f.ts} +1 -1
  92. package/types/bigint/{module.f.mjs → module.f.ts} +29 -28
  93. package/types/bigint/{test.f.mjs → test.f.ts} +2 -2
  94. package/types/bit_vec/{module.f.mjs → module.f.ts} +16 -37
  95. package/types/bit_vec/{test.f.mjs → test.f.ts} +1 -1
  96. package/types/btree/find/module.f.ts +92 -0
  97. package/types/btree/find/{test.f.mjs → test.f.ts} +20 -16
  98. package/types/btree/{module.f.mjs → module.f.ts} +9 -9
  99. package/types/btree/remove/{module.f.mjs → module.f.ts} +43 -53
  100. package/types/btree/remove/{test.f.mjs → test.f.ts} +19 -15
  101. package/types/btree/set/{module.f.mjs → module.f.ts} +17 -20
  102. package/types/btree/set/{test.f.mjs → test.f.ts} +96 -66
  103. package/types/btree/{test.f.mjs → test.f.ts} +34 -26
  104. package/types/btree/types/module.f.ts +27 -0
  105. package/types/byte_set/module.f.ts +70 -0
  106. package/types/byte_set/{test.f.mjs → test.f.ts} +8 -7
  107. package/types/function/compare/module.f.ts +26 -0
  108. package/types/function/compare/{test.f.mjs → test.f.ts} +1 -1
  109. package/types/function/module.f.ts +43 -0
  110. package/types/function/operator/module.f.ts +63 -0
  111. package/types/function/test.f.ts +20 -0
  112. package/types/list/module.f.ts +345 -0
  113. package/types/list/{test.f.mjs → test.f.ts} +30 -24
  114. package/types/map/module.f.ts +65 -0
  115. package/types/map/{test.f.mjs → test.f.ts} +6 -5
  116. package/types/nibble_set/module.f.ts +34 -0
  117. package/types/nibble_set/{test.f.mjs → test.f.ts} +3 -3
  118. package/types/nullable/module.f.ts +9 -0
  119. package/types/nullable/{test.f.mjs → test.f.ts} +2 -2
  120. package/types/number/module.f.ts +16 -0
  121. package/types/number/{test.f.mjs → test.f.ts} +7 -5
  122. package/types/object/module.f.ts +30 -0
  123. package/types/object/{test.f.mjs → test.f.ts} +2 -2
  124. package/types/range/module.f.ts +10 -0
  125. package/types/range/{test.f.mjs → test.f.ts} +1 -1
  126. package/types/range_map/module.f.ts +70 -0
  127. package/types/range_map/{test.f.mjs → test.f.ts} +82 -57
  128. package/types/result/module.f.ts +20 -0
  129. package/types/result/{module.mjs → module.ts} +4 -3
  130. package/types/sorted_list/module.f.ts +83 -0
  131. package/types/sorted_list/{test.f.mjs → test.f.ts} +14 -12
  132. package/types/sorted_set/module.f.ts +36 -0
  133. package/types/sorted_set/{test.f.mjs → test.f.ts} +14 -12
  134. package/types/string/module.f.ts +24 -0
  135. package/types/string/{test.f.mjs → test.f.ts} +2 -2
  136. package/types/string_set/module.f.ts +37 -0
  137. package/types/string_set/{test.f.mjs → test.f.ts} +2 -2
  138. package/com/cpp/testlib.f.mjs +0 -8
  139. package/com/cs/testlib.f.mjs +0 -8
  140. package/com/rust/module.f.mjs +0 -272
  141. package/com/rust/testlib.f.mjs +0 -8
  142. package/com/types/module.f.mjs +0 -67
  143. package/commonjs/build/module.f.mjs +0 -100
  144. package/commonjs/module/function/module.f.mjs +0 -21
  145. package/commonjs/module/module.f.mjs +0 -53
  146. package/commonjs/module.f.mjs +0 -11
  147. package/commonjs/package/dependencies/module.f.mjs +0 -22
  148. package/commonjs/package/module.f.mjs +0 -36
  149. package/dev/index.mjs +0 -3
  150. package/dev/test.mjs +0 -60
  151. package/fsm/module.f.mjs +0 -99
  152. package/html/module.f.mjs +0 -102
  153. package/js/tokenizer/module.f.mjs +0 -872
  154. package/json/module.f.mjs +0 -89
  155. package/json/serializer/module.f.mjs +0 -87
  156. package/jsr.json +0 -66
  157. package/nodejs/version/module.f.mjs +0 -47
  158. package/out/com/cpp/module.f.d.mts +0 -7
  159. package/out/com/cpp/module.f.mjs +0 -130
  160. package/out/com/cpp/test.f.d.mts +0 -2
  161. package/out/com/cpp/test.f.mjs +0 -40
  162. package/out/com/cpp/testlib.f.d.mts +0 -2
  163. package/out/com/cpp/testlib.f.mjs +0 -7
  164. package/out/com/cs/module.f.d.mts +0 -7
  165. package/out/com/cs/module.f.mjs +0 -104
  166. package/out/com/cs/test.f.d.mts +0 -2
  167. package/out/com/cs/test.f.mjs +0 -43
  168. package/out/com/cs/testlib.f.d.mts +0 -2
  169. package/out/com/cs/testlib.f.mjs +0 -7
  170. package/out/com/rust/module.f.d.mts +0 -23
  171. package/out/com/rust/module.f.mjs +0 -224
  172. package/out/com/rust/test.f.d.mts +0 -2
  173. package/out/com/rust/test.f.mjs +0 -123
  174. package/out/com/rust/testlib.f.d.mts +0 -2
  175. package/out/com/rust/testlib.f.mjs +0 -7
  176. package/out/com/test/build.d.mts +0 -1
  177. package/out/com/test/build.f.d.mts +0 -26
  178. package/out/com/test/build.f.mjs +0 -98
  179. package/out/com/test/build.mjs +0 -40
  180. package/out/com/types/module.f.d.mts +0 -23
  181. package/out/com/types/module.f.mjs +0 -51
  182. package/out/com/types/testlib.f.d.mts +0 -44
  183. package/out/com/types/testlib.f.mjs +0 -30
  184. package/out/commonjs/build/module.f.d.mts +0 -20
  185. package/out/commonjs/build/module.f.mjs +0 -107
  186. package/out/commonjs/build/test.f.d.mts +0 -3
  187. package/out/commonjs/build/test.f.mjs +0 -102
  188. package/out/commonjs/module/function/module.f.d.mts +0 -5
  189. package/out/commonjs/module/function/module.f.mjs +0 -15
  190. package/out/commonjs/module/module.f.d.mts +0 -52
  191. package/out/commonjs/module/module.f.mjs +0 -48
  192. package/out/commonjs/module.d.mts +0 -3
  193. package/out/commonjs/module.f.d.mts +0 -2
  194. package/out/commonjs/module.f.mjs +0 -10
  195. package/out/commonjs/module.mjs +0 -26
  196. package/out/commonjs/package/dependencies/module.f.d.mts +0 -6
  197. package/out/commonjs/package/dependencies/module.f.mjs +0 -21
  198. package/out/commonjs/package/dependencies/test.f.d.mts +0 -2
  199. package/out/commonjs/package/dependencies/test.f.mjs +0 -15
  200. package/out/commonjs/package/module.f.d.mts +0 -21
  201. package/out/commonjs/package/module.f.mjs +0 -40
  202. package/out/commonjs/package/test.f.d.mts +0 -2
  203. package/out/commonjs/package/test.f.mjs +0 -27
  204. package/out/commonjs/path/module.f.d.mts +0 -60
  205. package/out/commonjs/path/module.f.mjs +0 -171
  206. package/out/commonjs/path/test.f.d.mts +0 -25
  207. package/out/commonjs/path/test.f.mjs +0 -231
  208. package/out/commonjs/test.d.mts +0 -8
  209. package/out/commonjs/test.mjs +0 -87
  210. package/out/crypto/prime_field/module.f.d.mts +0 -67
  211. package/out/crypto/prime_field/module.f.mjs +0 -110
  212. package/out/crypto/prime_field/test.f.d.mts +0 -13
  213. package/out/crypto/prime_field/test.f.mjs +0 -152
  214. package/out/crypto/secp/module.f.d.mts +0 -110
  215. package/out/crypto/secp/module.f.mjs +0 -173
  216. package/out/crypto/secp/test.f.d.mts +0 -5
  217. package/out/crypto/secp/test.f.mjs +0 -78
  218. package/out/crypto/sha2/module.f.d.mts +0 -15
  219. package/out/crypto/sha2/module.f.mjs +0 -172
  220. package/out/crypto/sha2/test.f.d.mts +0 -10
  221. package/out/crypto/sha2/test.f.mjs +0 -86
  222. package/out/dev/index.d.mts +0 -1
  223. package/out/dev/index.mjs +0 -2
  224. package/out/dev/module.d.mts +0 -26
  225. package/out/dev/module.f.d.mts +0 -1
  226. package/out/dev/module.f.mjs +0 -2
  227. package/out/dev/module.mjs +0 -167
  228. package/out/dev/test/module.f.d.mts +0 -25
  229. package/out/dev/test/module.f.mjs +0 -134
  230. package/out/dev/test.d.mts +0 -3
  231. package/out/dev/test.f.d.mts +0 -9
  232. package/out/dev/test.f.mjs +0 -58
  233. package/out/dev/test.mjs +0 -52
  234. package/out/djs/module.f.d.mts +0 -20
  235. package/out/djs/module.f.mjs +0 -79
  236. package/out/djs/parser/module.f.d.mts +0 -56
  237. package/out/djs/parser/module.f.mjs +0 -448
  238. package/out/djs/parser/test.f.d.mts +0 -13
  239. package/out/djs/parser/test.f.mjs +0 -569
  240. package/out/djs/test.f.d.mts +0 -12
  241. package/out/djs/test.f.mjs +0 -84
  242. package/out/djs/tokenizer/module.f.d.mts +0 -13
  243. package/out/djs/tokenizer/module.f.mjs +0 -91
  244. package/out/djs/tokenizer/test.f.d.mts +0 -7
  245. package/out/djs/tokenizer/test.f.mjs +0 -530
  246. package/out/fsc/module.f.d.mts +0 -7
  247. package/out/fsc/module.f.mjs +0 -105
  248. package/out/fsc/test.f.d.mts +0 -4
  249. package/out/fsc/test.f.mjs +0 -19
  250. package/out/fsm/module.f.d.mts +0 -14
  251. package/out/fsm/module.f.mjs +0 -80
  252. package/out/fsm/test.f.d.mts +0 -5
  253. package/out/fsm/test.f.mjs +0 -138
  254. package/out/html/module.f.d.mts +0 -17
  255. package/out/html/module.f.mjs +0 -80
  256. package/out/html/test.f.d.mts +0 -10
  257. package/out/html/test.f.mjs +0 -45
  258. package/out/issues/test.f.d.mts +0 -16
  259. package/out/issues/test.f.mjs +0 -66
  260. package/out/js/tokenizer/module.f.d.mts +0 -163
  261. package/out/js/tokenizer/module.f.mjs +0 -729
  262. package/out/js/tokenizer/test.f.d.mts +0 -9
  263. package/out/js/tokenizer/test.f.mjs +0 -906
  264. package/out/json/module.f.d.mts +0 -33
  265. package/out/json/module.f.mjs +0 -89
  266. package/out/json/parser/module.f.d.mts +0 -32
  267. package/out/json/parser/module.f.mjs +0 -224
  268. package/out/json/parser/test.f.d.mts +0 -5
  269. package/out/json/parser/test.f.mjs +0 -329
  270. package/out/json/serializer/module.f.d.mts +0 -36
  271. package/out/json/serializer/module.f.mjs +0 -67
  272. package/out/json/serializer/test.f.d.mts +0 -8
  273. package/out/json/serializer/test.f.mjs +0 -87
  274. package/out/json/test.f.d.mts +0 -8
  275. package/out/json/test.f.mjs +0 -61
  276. package/out/json/tokenizer/module.f.d.mts +0 -13
  277. package/out/json/tokenizer/module.f.mjs +0 -78
  278. package/out/json/tokenizer/test.f.d.mts +0 -6
  279. package/out/json/tokenizer/test.f.mjs +0 -420
  280. package/out/nanvm-lib/tests/test.f.d.mts +0 -36
  281. package/out/nanvm-lib/tests/test.f.mjs +0 -87
  282. package/out/nodejs/version/main.d.mts +0 -1
  283. package/out/nodejs/version/main.mjs +0 -3
  284. package/out/nodejs/version/module.f.d.mts +0 -12
  285. package/out/nodejs/version/module.f.mjs +0 -34
  286. package/out/nodejs/version/test.f.d.mts +0 -2
  287. package/out/nodejs/version/test.f.mjs +0 -97
  288. package/out/text/ascii/module.f.d.mts +0 -70
  289. package/out/text/ascii/module.f.mjs +0 -154
  290. package/out/text/ascii/test.f.d.mts +0 -4
  291. package/out/text/ascii/test.f.mjs +0 -14
  292. package/out/text/module.f.d.mts +0 -13
  293. package/out/text/module.f.mjs +0 -19
  294. package/out/text/sgr/module.f.d.mts +0 -12
  295. package/out/text/sgr/module.f.mjs +0 -17
  296. package/out/text/test.f.d.mts +0 -2
  297. package/out/text/test.f.mjs +0 -19
  298. package/out/text/utf16/module.f.d.mts +0 -12
  299. package/out/text/utf16/module.f.mjs +0 -86
  300. package/out/text/utf16/test.f.d.mts +0 -6
  301. package/out/text/utf16/test.f.mjs +0 -145
  302. package/out/text/utf8/module.f.d.mts +0 -10
  303. package/out/text/utf8/module.f.mjs +0 -126
  304. package/out/text/utf8/test.f.d.mts +0 -6
  305. package/out/text/utf8/test.f.mjs +0 -175
  306. package/out/types/array/module.f.d.mts +0 -31
  307. package/out/types/array/module.f.mjs +0 -95
  308. package/out/types/array/test.f.d.mts +0 -10
  309. package/out/types/array/test.f.mjs +0 -116
  310. package/out/types/bigfloat/module.f.d.mts +0 -6
  311. package/out/types/bigfloat/module.f.mjs +0 -77
  312. package/out/types/bigfloat/test.f.d.mts +0 -6
  313. package/out/types/bigfloat/test.f.mjs +0 -349
  314. package/out/types/bigint/module.f.d.mts +0 -29
  315. package/out/types/bigint/module.f.mjs +0 -114
  316. package/out/types/bigint/test.f.d.mts +0 -16
  317. package/out/types/bigint/test.f.mjs +0 -199
  318. package/out/types/bit_vec/module.f.d.mts +0 -158
  319. package/out/types/bit_vec/module.f.mjs +0 -194
  320. package/out/types/bit_vec/test.f.d.mts +0 -23
  321. package/out/types/bit_vec/test.f.mjs +0 -210
  322. package/out/types/btree/find/module.f.d.mts +0 -36
  323. package/out/types/btree/find/module.f.mjs +0 -137
  324. package/out/types/btree/find/test.f.d.mts +0 -2
  325. package/out/types/btree/find/test.f.mjs +0 -156
  326. package/out/types/btree/module.f.d.mts +0 -5
  327. package/out/types/btree/module.f.mjs +0 -34
  328. package/out/types/btree/remove/module.f.d.mts +0 -14
  329. package/out/types/btree/remove/module.f.mjs +0 -209
  330. package/out/types/btree/remove/test.f.d.mts +0 -7
  331. package/out/types/btree/remove/test.f.mjs +0 -638
  332. package/out/types/btree/set/module.f.d.mts +0 -5
  333. package/out/types/btree/set/module.f.mjs +0 -114
  334. package/out/types/btree/set/test.f.d.mts +0 -2
  335. package/out/types/btree/set/test.f.mjs +0 -390
  336. package/out/types/btree/test.f.d.mts +0 -13
  337. package/out/types/btree/test.f.mjs +0 -83
  338. package/out/types/btree/types/module.f.d.mts +0 -14
  339. package/out/types/btree/types/module.f.mjs +0 -50
  340. package/out/types/byte_set/module.f.d.mts +0 -25
  341. package/out/types/byte_set/module.f.mjs +0 -42
  342. package/out/types/byte_set/test.f.d.mts +0 -13
  343. package/out/types/byte_set/test.f.mjs +0 -123
  344. package/out/types/function/compare/module.f.d.mts +0 -23
  345. package/out/types/function/compare/module.f.mjs +0 -22
  346. package/out/types/function/compare/test.f.d.mts +0 -2
  347. package/out/types/function/compare/test.f.mjs +0 -8
  348. package/out/types/function/module.f.d.mts +0 -51
  349. package/out/types/function/module.f.mjs +0 -44
  350. package/out/types/function/operator/module.f.d.mts +0 -60
  351. package/out/types/function/operator/module.f.mjs +0 -60
  352. package/out/types/function/test.f.d.mts +0 -2
  353. package/out/types/function/test.f.mjs +0 -15
  354. package/out/types/list/module.f.d.mts +0 -82
  355. package/out/types/list/module.f.mjs +0 -269
  356. package/out/types/list/test.f.d.mts +0 -38
  357. package/out/types/list/test.f.mjs +0 -401
  358. package/out/types/map/module.f.d.mts +0 -21
  359. package/out/types/map/module.f.mjs +0 -54
  360. package/out/types/map/test.f.d.mts +0 -5
  361. package/out/types/map/test.f.mjs +0 -115
  362. package/out/types/nibble_set/module.f.d.mts +0 -16
  363. package/out/types/nibble_set/module.f.mjs +0 -19
  364. package/out/types/nibble_set/test.f.d.mts +0 -13
  365. package/out/types/nibble_set/test.f.mjs +0 -90
  366. package/out/types/nullable/module.f.d.mts +0 -9
  367. package/out/types/nullable/module.f.mjs +0 -9
  368. package/out/types/nullable/test.f.d.mts +0 -2
  369. package/out/types/nullable/test.f.mjs +0 -12
  370. package/out/types/number/module.f.d.mts +0 -7
  371. package/out/types/number/module.f.mjs +0 -12
  372. package/out/types/number/test.f.d.mts +0 -11
  373. package/out/types/number/test.f.mjs +0 -126
  374. package/out/types/object/module.f.d.mts +0 -22
  375. package/out/types/object/module.f.mjs +0 -27
  376. package/out/types/object/test.f.d.mts +0 -5
  377. package/out/types/object/test.f.mjs +0 -17
  378. package/out/types/range/module.f.d.mts +0 -6
  379. package/out/types/range/module.f.mjs +0 -6
  380. package/out/types/range/test.f.d.mts +0 -2
  381. package/out/types/range/test.f.mjs +0 -18
  382. package/out/types/range_map/module.f.d.mts +0 -19
  383. package/out/types/range_map/module.f.mjs +0 -84
  384. package/out/types/range_map/test.f.d.mts +0 -6
  385. package/out/types/range_map/test.f.mjs +0 -201
  386. package/out/types/result/module.d.mts +0 -7
  387. package/out/types/result/module.f.d.mts +0 -22
  388. package/out/types/result/module.f.mjs +0 -25
  389. package/out/types/result/module.mjs +0 -16
  390. package/out/types/sorted_list/module.f.d.mts +0 -53
  391. package/out/types/sorted_list/module.f.mjs +0 -102
  392. package/out/types/sorted_list/test.f.d.mts +0 -5
  393. package/out/types/sorted_list/test.f.mjs +0 -66
  394. package/out/types/sorted_set/module.f.d.mts +0 -19
  395. package/out/types/sorted_set/module.f.mjs +0 -29
  396. package/out/types/sorted_set/test.f.d.mts +0 -6
  397. package/out/types/sorted_set/test.f.mjs +0 -80
  398. package/out/types/string/module.f.d.mts +0 -9
  399. package/out/types/string/module.f.mjs +0 -17
  400. package/out/types/string/test.f.d.mts +0 -15
  401. package/out/types/string/test.f.mjs +0 -58
  402. package/out/types/string_set/module.f.d.mts +0 -13
  403. package/out/types/string_set/module.f.mjs +0 -29
  404. package/out/types/string_set/test.f.d.mts +0 -5
  405. package/out/types/string_set/test.f.mjs +0 -65
  406. package/text/module.f.mjs +0 -27
  407. package/text/utf16/module.f.mjs +0 -96
  408. package/types/array/module.f.mjs +0 -119
  409. package/types/btree/find/module.f.mjs +0 -125
  410. package/types/btree/types/module.f.mjs +0 -64
  411. package/types/byte_set/module.f.mjs +0 -61
  412. package/types/function/compare/module.f.mjs +0 -29
  413. package/types/function/module.f.mjs +0 -50
  414. package/types/function/operator/module.f.mjs +0 -78
  415. package/types/function/test.f.mjs +0 -17
  416. package/types/list/module.f.mjs +0 -320
  417. package/types/map/module.f.mjs +0 -67
  418. package/types/nibble_set/module.f.mjs +0 -28
  419. package/types/nullable/module.f.mjs +0 -11
  420. package/types/number/module.f.mjs +0 -16
  421. package/types/object/module.f.mjs +0 -33
  422. package/types/range/module.f.mjs +0 -8
  423. package/types/range_map/module.f.mjs +0 -84
  424. package/types/result/module.f.mjs +0 -28
  425. package/types/sorted_list/module.f.mjs +0 -107
  426. package/types/sorted_set/module.f.mjs +0 -38
  427. package/types/string/module.f.mjs +0 -22
  428. package/types/string_set/module.f.mjs +0 -36
@@ -1,16 +0,0 @@
1
- declare namespace _default {
2
- function sum(): void;
3
- let abs: (() => void)[];
4
- let serialize: (() => void)[];
5
- let log2: (() => void)[];
6
- function toString2(): void;
7
- function minus(): void;
8
- function not(): void;
9
- let bitLen: {
10
- 0: () => void;
11
- m: () => void;
12
- big: () => void;
13
- neg: (() => void)[];
14
- };
15
- }
16
- export default _default;
@@ -1,199 +0,0 @@
1
- import * as _ from './module.f.mjs';
2
- const { sum, abs, serialize, log2, bitLength } = _;
3
- export default {
4
- sum: () => {
5
- const result = sum([2n, 3n, 4n, 5n]);
6
- if (result !== 14n) {
7
- throw result;
8
- }
9
- },
10
- abs: [
11
- () => {
12
- const result = abs(10n);
13
- if (result !== 10n) {
14
- throw result;
15
- }
16
- },
17
- () => {
18
- const result = abs(-10n);
19
- if (result !== 10n) {
20
- throw result;
21
- }
22
- }
23
- ],
24
- serialize: [
25
- () => {
26
- const result = serialize(0n);
27
- if (result !== '0n') {
28
- throw result;
29
- }
30
- },
31
- () => {
32
- const result = serialize(123456789012345678901234567890n);
33
- if (result !== '123456789012345678901234567890n') {
34
- throw result;
35
- }
36
- },
37
- () => {
38
- const result = serialize(-55555n);
39
- if (result !== '-55555n') {
40
- throw result;
41
- }
42
- },
43
- ],
44
- log2: [
45
- () => {
46
- const result = log2(-3n);
47
- if (result !== -1n) {
48
- throw result;
49
- }
50
- },
51
- () => {
52
- const result = log2(0n);
53
- if (result !== -1n) {
54
- throw result;
55
- }
56
- },
57
- () => {
58
- const result = log2(1n);
59
- if (result !== 0n) {
60
- throw result;
61
- }
62
- },
63
- () => {
64
- const result = log2(2n);
65
- if (result !== 1n) {
66
- throw result;
67
- }
68
- },
69
- () => {
70
- const result = log2(3n);
71
- if (result !== 1n) {
72
- throw result;
73
- }
74
- },
75
- () => {
76
- const result = log2(4n);
77
- if (result !== 2n) {
78
- throw result;
79
- }
80
- },
81
- () => {
82
- const result = log2(7n);
83
- if (result !== 2n) {
84
- throw result;
85
- }
86
- },
87
- () => {
88
- const result = log2(8n);
89
- if (result !== 3n) {
90
- throw result;
91
- }
92
- },
93
- () => {
94
- const result = log2(15n);
95
- if (result !== 3n) {
96
- throw result;
97
- }
98
- },
99
- () => {
100
- const result = log2(16n);
101
- if (result !== 4n) {
102
- throw result;
103
- }
104
- },
105
- () => {
106
- // max for Bun (131_072 Bytes)
107
- const v = 1048575n;
108
- const result = log2(1n << v);
109
- if (result !== v) {
110
- throw result;
111
- }
112
- },
113
- () => {
114
- const v = 0x18945n;
115
- const result = log2(v);
116
- if (result !== 16n) {
117
- throw result;
118
- }
119
- }
120
- ],
121
- toString2: () => {
122
- // max for Bun (131_072 Bytes)
123
- const v = 1048575n;
124
- const result = (1n << v).toString(2).length - 1;
125
- if (result !== 1_048_575) {
126
- throw result;
127
- }
128
- },
129
- minus: () => {
130
- let i = 0n;
131
- while (i < 1048575n) {
132
- const s = -i;
133
- if (i !== -s) {
134
- throw [i, s];
135
- }
136
- i += 1n;
137
- }
138
- },
139
- not: () => {
140
- let i = 0n;
141
- while (i < 1048575n) {
142
- const s = ~i;
143
- if (i !== ~s) {
144
- throw [i, s];
145
- }
146
- i += 1n;
147
- }
148
- },
149
- bitLen: {
150
- 0: () => {
151
- const s = bitLength(0n);
152
- if (s !== 0n) {
153
- throw s;
154
- }
155
- },
156
- m: () => {
157
- let i = 0n;
158
- while (i < 10000n) {
159
- const s = bitLength(1n << i);
160
- if (s !== i + 1n) {
161
- throw [s, i];
162
- }
163
- i += 1n;
164
- }
165
- },
166
- big: () => {
167
- const s = bitLength(1n << 1000000n);
168
- if (s !== 1000001n) {
169
- throw s;
170
- }
171
- },
172
- neg: [
173
- () => {
174
- const s = bitLength(-1n);
175
- if (s !== 1n) {
176
- throw s;
177
- }
178
- },
179
- () => {
180
- const s = bitLength(-2n);
181
- if (s !== 2n) {
182
- throw s;
183
- }
184
- },
185
- () => {
186
- const s = bitLength(-3n);
187
- if (s !== 2n) {
188
- throw s;
189
- }
190
- },
191
- () => {
192
- const s = bitLength(-4n);
193
- if (s !== 3n) {
194
- throw s;
195
- }
196
- },
197
- ]
198
- }
199
- };
@@ -1,158 +0,0 @@
1
- /**
2
- * A vector of bits represented as a `bigint`.
3
- *
4
- * @typedef {bigint} Vec
5
- */
6
- /**
7
- * An empty vector of bits.
8
- */
9
- export const empty: 1n;
10
- /**
11
- * Calculates the length of the given vector of bits.
12
- */
13
- export const length: (v: bigint) => bigint;
14
- /**
15
- * Creates a vector of bits of the given `len` and the given unsigned integer.
16
- *
17
- * @type {(len: bigint) => (ui: bigint) => Vec}
18
- *
19
- * @example
20
- *
21
- * ```js
22
- * const vec4 = vec(4n)
23
- * const v0 = vec4(5n) // 0x15n
24
- * const v1 = vec4(0x5FEn) // 0x1En
25
- * ```
26
- */
27
- export const vec: (len: bigint) => (ui: bigint) => Vec;
28
- /**
29
- * Returns the unsigned integer of the given vector by removing a stop bit.
30
- *
31
- * @type {(len: Vec) => bigint}
32
- *
33
- * @example
34
- *
35
- * ```js
36
- * const vector = vec(8n)(0x5n) // 0x105n
37
- * const result = uint(vector); // result is 0x5n
38
- * ```
39
- */
40
- export const uint: (len: Vec) => bigint;
41
- /**
42
- * Extract the least significant unsigned integer from the given vector.
43
- *
44
- * @type {(uintLen: bigint) => (v: Vec) => bigint}
45
- *
46
- * @example
47
- *
48
- * ```js
49
- * const vector = vec(8n)(0xF5n) // 0x1F5n
50
- * const result = uintLsb(4n)(vector); // result is 5n
51
- * const result2 = uintLsb(16n)(vector); // result2 is 0xF5n
52
- * ```
53
- */
54
- export const uintLsb: (uintLen: bigint) => (v: Vec) => bigint;
55
- /**
56
- * Removes the first `len` least significant bits from the given vector.
57
- *
58
- * @type {(len: bigint) => (v: Vec) => Vec}
59
- *
60
- * @example
61
- *
62
- * ```js
63
- * const v = vec(16n)(0x3456n) // 0x13456n
64
- * const r = removeLsb(4n)(v) // 0x1345n
65
- * const r2 = removeLsb(24n)(v) // 0x1n
66
- * ```
67
- */
68
- export const removeLsb: (len: bigint) => (v: Vec) => Vec;
69
- /**
70
- * Extracts the least significant unsigned integer and removes it from the vector.
71
- *
72
- * @type {(len: bigint) => (v: Vec) => [bigint, Vec]}
73
- *
74
- * @example
75
- *
76
- * ```js
77
- * const vector = vec(8n)(0xF5n) // 0x1F5n
78
- * const [result, rest] = popUintLsb(4n)(vector); // result is 5n, rest is 0x1Fn
79
- * const [result2, rest2] = popUintLsb(16n)(vector); // result2 is 0xF5n, rest2 is 1n
80
- * ```
81
- */
82
- export const popUintLsb: (len: bigint) => (v: Vec) => [bigint, Vec];
83
- /**
84
- * Extract the most significant unsigned integer of the given `len` from the given vector.
85
- *
86
- * @type {(len: bigint) => (v: Vec) => bigint}
87
- *
88
- * @example
89
- *
90
- * ```js
91
- * const vector = vec(8n)(0xF5n) // 0x1F5n
92
- * const result = uintMsb(4n)(vector); // result is 0xFn
93
- * const result2 = uintMsb(16n)(vector); // result2 is 0xF500n
94
- * ```
95
- */
96
- export const uintMsb: (len: bigint) => (v: Vec) => bigint;
97
- /**
98
- * Removes the first `len` most significant bits from the given vector.
99
- *
100
- * @type {(len: bigint) => (v: Vec) => Vec}
101
- *
102
- * @example
103
- *
104
- * ```js
105
- * const v = vec(16n)(0x3456n) // 0x13456n
106
- * const r = removeMsb(4n)(v) // 0x1456n
107
- * const r2 = removeMsb(24n)(v) // 0x1n
108
- * ```
109
- */
110
- export const removeMsb: (len: bigint) => (v: Vec) => Vec;
111
- /**
112
- * Extracts the most significant unsigned integer and removes it from the vector.
113
- *
114
- * @type {(len: bigint) => (v: Vec) => [bigint, Vec]}
115
- *
116
- * @example
117
- *
118
- * ```js
119
- * const vector = vec(8n)(0xF5n) // 0x1F5n
120
- * const [result, rest] = popUintMsb(4n)(vector); // [0xFn, 0x15n]
121
- * const [result2, rest2] = popUintMsb(16n)(vector); // [0xF500n, 1n]
122
- * ```
123
- */
124
- export const popUintMsb: (len: bigint) => (v: Vec) => [bigint, Vec];
125
- /**
126
- * Concat the given vectors of bits. The first vector is the least significant.
127
- *
128
- * @type {(a: Vec) => (b: Vec) => Vec}
129
- *
130
- * @example
131
- *
132
- * ```js
133
- * const u8 = vec(8n)
134
- * const a = u8(0x45n) // 0x145n
135
- * const b = u8(0x89n) // 0x189n
136
- * const ab = concatLsb(a)(b) // 0x18945n
137
- * ```
138
- */
139
- export const concatLsb: (a: Vec) => (b: Vec) => Vec;
140
- /**
141
- * Concat the given vectors of bits. The first vector is the most significant.
142
- *
143
- * @type {(b: Vec) => (a: Vec) => Vec}
144
- *
145
- * @example
146
- *
147
- * ```js
148
- * const u8 = vec(8n)
149
- * const a = u8(0x45n) // 0x145n
150
- * const b = u8(0x89n) // 0x189n
151
- * const ab = concatMsb(a)(b) // 0x14589n
152
- * ```
153
- */
154
- export const concatMsb: (b: Vec) => (a: Vec) => Vec;
155
- /**
156
- * A vector of bits represented as a `bigint`.
157
- */
158
- export type Vec = bigint;
@@ -1,194 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import { log2 } from '../bigint/module.f.mjs';
3
- import { flip } from '../function/module.f.mjs';
4
- /**
5
- * A vector of bits represented as a `bigint`.
6
- *
7
- * @typedef {bigint} Vec
8
- */
9
- /**
10
- * An empty vector of bits.
11
- */
12
- export const empty = 1n;
13
- /**
14
- * Calculates the length of the given vector of bits.
15
- */
16
- export const length = log2;
17
- /**
18
- * Creates a vector of bits of the given `len` and the given unsigned integer.
19
- *
20
- * @type {(len: bigint) => (ui: bigint) => Vec}
21
- *
22
- * @example
23
- *
24
- * ```js
25
- * const vec4 = vec(4n)
26
- * const v0 = vec4(5n) // 0x15n
27
- * const v1 = vec4(0x5FEn) // 0x1En
28
- * ```
29
- */
30
- export const vec = len => {
31
- if (len <= 0n) {
32
- return () => empty;
33
- }
34
- const stop = 1n << len;
35
- const mask = stop - 1n;
36
- return data => stop | (data & mask);
37
- };
38
- /** @type {(len: bigint) => bigint} */
39
- const mask = len => (1n << len) - 1n;
40
- /**
41
- * Returns the unsigned integer of the given vector by removing a stop bit.
42
- *
43
- * @type {(len: Vec) => bigint}
44
- *
45
- * @example
46
- *
47
- * ```js
48
- * const vector = vec(8n)(0x5n) // 0x105n
49
- * const result = uint(vector); // result is 0x5n
50
- * ```
51
- */
52
- export const uint = v => v ^ (1n << length(v));
53
- /**
54
- * Extract the least significant unsigned integer from the given vector.
55
- *
56
- * @type {(uintLen: bigint) => (v: Vec) => bigint}
57
- *
58
- * @example
59
- *
60
- * ```js
61
- * const vector = vec(8n)(0xF5n) // 0x1F5n
62
- * const result = uintLsb(4n)(vector); // result is 5n
63
- * const result2 = uintLsb(16n)(vector); // result2 is 0xF5n
64
- * ```
65
- */
66
- export const uintLsb = len => {
67
- const m = mask(len);
68
- return v => {
69
- const result = v & m;
70
- return result === v ? uint(v) : result;
71
- };
72
- };
73
- /**
74
- * Removes the first `len` least significant bits from the given vector.
75
- *
76
- * @type {(len: bigint) => (v: Vec) => Vec}
77
- *
78
- * @example
79
- *
80
- * ```js
81
- * const v = vec(16n)(0x3456n) // 0x13456n
82
- * const r = removeLsb(4n)(v) // 0x1345n
83
- * const r2 = removeLsb(24n)(v) // 0x1n
84
- * ```
85
- */
86
- export const removeLsb = len => v => {
87
- const r = v >> len;
88
- return r === 0n ? empty : r;
89
- };
90
- /**
91
- * Extracts the least significant unsigned integer and removes it from the vector.
92
- *
93
- * @type {(len: bigint) => (v: Vec) => [bigint, Vec]}
94
- *
95
- * @example
96
- *
97
- * ```js
98
- * const vector = vec(8n)(0xF5n) // 0x1F5n
99
- * const [result, rest] = popUintLsb(4n)(vector); // result is 5n, rest is 0x1Fn
100
- * const [result2, rest2] = popUintLsb(16n)(vector); // result2 is 0xF5n, rest2 is 1n
101
- * ```
102
- */
103
- export const popUintLsb = len => {
104
- const m = mask(len);
105
- return v => {
106
- const result = v & m;
107
- return result === v ? [uint(v), empty] : [result, v >> len];
108
- };
109
- };
110
- /**
111
- * Extract the most significant unsigned integer of the given `len` from the given vector.
112
- *
113
- * @type {(len: bigint) => (v: Vec) => bigint}
114
- *
115
- * @example
116
- *
117
- * ```js
118
- * const vector = vec(8n)(0xF5n) // 0x1F5n
119
- * const result = uintMsb(4n)(vector); // result is 0xFn
120
- * const result2 = uintMsb(16n)(vector); // result2 is 0xF500n
121
- * ```
122
- */
123
- export const uintMsb = len => {
124
- const m = mask(len);
125
- return v => (v >> (length(v) - len)) & m;
126
- };
127
- /**
128
- * Removes the first `len` most significant bits from the given vector.
129
- *
130
- * @type {(len: bigint) => (v: Vec) => Vec}
131
- *
132
- * @example
133
- *
134
- * ```js
135
- * const v = vec(16n)(0x3456n) // 0x13456n
136
- * const r = removeMsb(4n)(v) // 0x1456n
137
- * const r2 = removeMsb(24n)(v) // 0x1n
138
- * ```
139
- */
140
- export const removeMsb = len => v => vec(length(v) - len)(v);
141
- /**
142
- * Extracts the most significant unsigned integer and removes it from the vector.
143
- *
144
- * @type {(len: bigint) => (v: Vec) => [bigint, Vec]}
145
- *
146
- * @example
147
- *
148
- * ```js
149
- * const vector = vec(8n)(0xF5n) // 0x1F5n
150
- * const [result, rest] = popUintMsb(4n)(vector); // [0xFn, 0x15n]
151
- * const [result2, rest2] = popUintMsb(16n)(vector); // [0xF500n, 1n]
152
- * ```
153
- */
154
- export const popUintMsb = len => {
155
- const m = mask(len);
156
- return v => {
157
- const d = length(v) - len;
158
- return [(v >> d) & m, vec(d)(v)];
159
- };
160
- };
161
- /**
162
- * Concat the given vectors of bits. The first vector is the least significant.
163
- *
164
- * @type {(a: Vec) => (b: Vec) => Vec}
165
- *
166
- * @example
167
- *
168
- * ```js
169
- * const u8 = vec(8n)
170
- * const a = u8(0x45n) // 0x145n
171
- * const b = u8(0x89n) // 0x189n
172
- * const ab = concatLsb(a)(b) // 0x18945n
173
- * ```
174
- */
175
- export const concatLsb = a => {
176
- const aLen = length(a);
177
- const m = mask(aLen);
178
- return b => (b << aLen) | (a & m);
179
- };
180
- /**
181
- * Concat the given vectors of bits. The first vector is the most significant.
182
- *
183
- * @type {(b: Vec) => (a: Vec) => Vec}
184
- *
185
- * @example
186
- *
187
- * ```js
188
- * const u8 = vec(8n)
189
- * const a = u8(0x45n) // 0x145n
190
- * const b = u8(0x89n) // 0x189n
191
- * const ab = concatMsb(a)(b) // 0x14589n
192
- * ```
193
- */
194
- export const concatMsb = flip(concatLsb);
@@ -1,23 +0,0 @@
1
- declare namespace _default {
2
- export namespace examples {
3
- function vec(): void;
4
- function uint(): void;
5
- function uintLsb(): void;
6
- function uintMsb(): void;
7
- function popUintLsb(): void;
8
- function popUintMsb(): void;
9
- function concatLsb(): void;
10
- function concatMsb(): void;
11
- function removeLsb(): void;
12
- function removeMsb(): void;
13
- }
14
- export function uintLsb_1(): void;
15
- export { uintLsb_1 as uintLsb };
16
- export function uintSmall(): void;
17
- export function vecExample(): void;
18
- export function length(): void;
19
- export function bitset(): void;
20
- export function appendBack(): void;
21
- export function removeBack(): void;
22
- }
23
- export default _default;