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,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,72 +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 len: (v: bigint) => bigint;
14
- /**
15
- * Extract an unsigned integer of the given `uintLen` from the given vector.
16
- *
17
- * @type {(uintLen: bigint) => (v: Vec) => bigint}
18
- *
19
- * @example
20
- *
21
- * ```js
22
- * const vector = 0b110101n;
23
- * const extract3Bits = uint(3n);
24
- * const result = extract3Bits(vector); // result is 0b101n (5n)
25
- * ```
26
- */
27
- export const uint: (uintLen: bigint) => (v: Vec) => bigint;
28
- /**
29
- * Creates a vector of bits of the given `vecLen` from the given unsigned integer.
30
- *
31
- * @type {(vecLen: bigint) => (ui: bigint) => Vec}
32
- *
33
- * @example
34
- *
35
- * ```js
36
- * const createVector = vec(4n);
37
- * const vector = createVector(5n); // vector is 0b10101n
38
- * ```
39
- */
40
- export const vec: (vecLen: bigint) => (ui: bigint) => Vec;
41
- /**
42
- * Appends the vector `b` to the back of the vector `a`.
43
- *
44
- * @type {(a: Vec) => (b: Vec) => Vec}
45
- *
46
- * @example
47
- *
48
- * ```js
49
- * const vec8 = vec(8n)
50
- * const a = vec8(0x345n)
51
- * const b = vec8(0x789n)
52
- * const ab = appendBack(a)(b) // 0x18945n
53
- * ```
54
- */
55
- export const appendBack: (a: Vec) => (b: Vec) => Vec;
56
- /**
57
- * Removes the first `len` bits from the given vector.
58
- *
59
- * @type {(len: bigint) => (v: Vec) => Vec}
60
- *
61
- * @example
62
- *
63
- * ```js
64
- * const v = vec(17n)(0x12345n) // v = 0x32345n
65
- * const r = removeFront(9n)(v) // r = 0x191n
66
- * ```
67
- */
68
- export const removeFront: (len: bigint) => (v: Vec) => Vec;
69
- /**
70
- * A vector of bits represented as a `bigint`.
71
- */
72
- export type Vec = bigint;
@@ -1,83 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import { log2 } from '../bigint/module.f.mjs';
3
- /**
4
- * A vector of bits represented as a `bigint`.
5
- *
6
- * @typedef {bigint} Vec
7
- */
8
- /**
9
- * An empty vector of bits.
10
- */
11
- export const empty = 1n;
12
- /**
13
- * Calculates the length of the given vector of bits.
14
- */
15
- export const len = log2;
16
- /**
17
- * Extract an unsigned integer of the given `uintLen` from the given vector.
18
- *
19
- * @type {(uintLen: bigint) => (v: Vec) => bigint}
20
- *
21
- * @example
22
- *
23
- * ```js
24
- * const vector = 0b110101n;
25
- * const extract3Bits = uint(3n);
26
- * const result = extract3Bits(vector); // result is 0b101n (5n)
27
- * ```
28
- */
29
- export const uint = uintLen => {
30
- const mask = (1n << uintLen) - 1n;
31
- return data => data & mask;
32
- };
33
- /**
34
- * Creates a vector of bits of the given `vecLen` from the given unsigned integer.
35
- *
36
- * @type {(vecLen: bigint) => (ui: bigint) => Vec}
37
- *
38
- * @example
39
- *
40
- * ```js
41
- * const createVector = vec(4n);
42
- * const vector = createVector(5n); // vector is 0b10101n
43
- * ```
44
- */
45
- export const vec = vecLen => {
46
- const stop = 1n << vecLen;
47
- const mask = stop - 1n;
48
- return data => (data & mask) | stop;
49
- };
50
- /**
51
- * Appends the vector `b` to the back of the vector `a`.
52
- *
53
- * @type {(a: Vec) => (b: Vec) => Vec}
54
- *
55
- * @example
56
- *
57
- * ```js
58
- * const vec8 = vec(8n)
59
- * const a = vec8(0x345n)
60
- * const b = vec8(0x789n)
61
- * const ab = appendBack(a)(b) // 0x18945n
62
- * ```
63
- */
64
- export const appendBack = a => {
65
- const aLen = len(a);
66
- return b => a | (b << aLen);
67
- };
68
- /**
69
- * Removes the first `len` bits from the given vector.
70
- *
71
- * @type {(len: bigint) => (v: Vec) => Vec}
72
- *
73
- * @example
74
- *
75
- * ```js
76
- * const v = vec(17n)(0x12345n) // v = 0x32345n
77
- * const r = removeFront(9n)(v) // r = 0x191n
78
- * ```
79
- */
80
- export const removeFront = len => v => {
81
- const r = v >> len;
82
- return r === 0n ? empty : r;
83
- };
@@ -1,9 +0,0 @@
1
- declare namespace _default {
2
- function uintExample(): void;
3
- function vecExample(): void;
4
- function length(): void;
5
- function bitset(): void;
6
- function appendBack(): void;
7
- function removeBack(): void;
8
- }
9
- export default _default;
@@ -1,60 +0,0 @@
1
- import { empty, len, appendBack, vec, uint, removeFront } from './module.f.mjs';
2
- export default {
3
- uintExample: () => {
4
- const vector = 53n;
5
- const extract3Bits = uint(3n);
6
- const result = extract3Bits(vector); // result is 0b101n (5n)
7
- if (result !== 5n) {
8
- throw result;
9
- }
10
- },
11
- vecExample: () => {
12
- const createVector = vec(4n);
13
- const vector = createVector(5n); // vector is 0b10101n
14
- if (vector !== 21n) {
15
- throw vector;
16
- }
17
- },
18
- length: () => {
19
- const i = len(empty);
20
- if (i !== 0n) {
21
- throw i;
22
- }
23
- },
24
- bitset: () => {
25
- const v = vec(8n)(0x5fen);
26
- if (v !== 0x1fen) {
27
- throw v;
28
- }
29
- if (len(v) !== 8n) {
30
- throw 'len';
31
- }
32
- const u = uint(8n)(v);
33
- if (u !== 0xfen) {
34
- throw v;
35
- }
36
- },
37
- appendBack: () => {
38
- const vec8 = vec(8n);
39
- const a = vec8(0x345n);
40
- const b = vec8(0x789n);
41
- const ab = appendBack(a)(b);
42
- if (ab !== 0x18945n) {
43
- throw ab;
44
- }
45
- const s = len(ab);
46
- if (s !== 16n) {
47
- throw `appendBack: ${s}`;
48
- }
49
- },
50
- removeBack: () => {
51
- const v = vec(17n)(0x12345n);
52
- if (v !== 0x32345n) {
53
- throw v.toString(16);
54
- }
55
- const r = removeFront(9n)(v);
56
- if (r !== 0x191n) {
57
- throw r.toString(16);
58
- }
59
- }
60
- };
@@ -1,36 +0,0 @@
1
- /**
2
- * @template T
3
- * @typedef {List.List<PathItem<T>>} Path
4
- */
5
- /**
6
- * @template T
7
- * @typedef {{
8
- * readonly first: First<T>,
9
- * readonly tail: Path<T>
10
- * }} Result<T>
11
- */
12
- /** @type {<T>(c: cmp.Compare<T>) => (node: _.Node<T>) => Result<T>} */
13
- export const find: <T>(c: cmp.Compare<T>) => (node: _.Node<T>) => Result<T>;
14
- /** @type {<T>(first: First<T>) => boolean} */
15
- export const isFound: <T>(first: First<T>) => boolean;
16
- /** @type {<T>(first: First<T>) => T | null} */
17
- export const value: <T>(first: First<T>) => T | null;
18
- export type FirstLeaf1<T> = readonly [cmp.Index3, _.Leaf1<T>];
19
- export type FirstBranch3<T> = readonly [1, _.Branch3<T>];
20
- export type FirstLeaf2<T> = readonly [cmp.Index5, _.Leaf2<T>];
21
- export type FirstBranch5<T> = readonly [1 | 3, _.Branch5<T>];
22
- export type First<T> = FirstLeaf1<T> | FirstBranch3<T> | FirstLeaf2<T> | FirstBranch5<T>;
23
- export type PathItem3<T> = readonly [0 | 2, _.Branch3<T>];
24
- export type PathItem5<T> = readonly [0 | 2 | 4, _.Branch5<T>];
25
- export type PathItem<T> = PathItem3<T> | PathItem5<T>;
26
- export type Path<T> = List.List<PathItem<T>>;
27
- /**
28
- * <T>
29
- */
30
- export type Result<T> = {
31
- readonly first: First<T>;
32
- readonly tail: Path<T>;
33
- };
34
- import * as cmp from '../../function/compare/module.f.mjs';
35
- import * as _ from '../types/module.f.mjs';
36
- import * as List from '../../list/module.f.mjs';
@@ -1,137 +0,0 @@
1
- // @ts-self-types="./module.f.d.mts"
2
- import * as _ from '../types/module.f.mjs';
3
- import * as List from '../../list/module.f.mjs';
4
- import * as cmp from '../../function/compare/module.f.mjs';
5
- const { index3, index5 } = cmp;
6
- import * as Array from '../../array/module.f.mjs';
7
- /**
8
- * @template T
9
- * @typedef {readonly[cmp.Index3, _.Leaf1<T>]} FirstLeaf1
10
- */
11
- /**
12
- * @template T
13
- * @typedef {readonly[1, _.Branch3<T>]} FirstBranch3
14
- */
15
- /**
16
- * @template T
17
- * @typedef {readonly[cmp.Index5, _.Leaf2<T>]} FirstLeaf2
18
- */
19
- /**
20
- * @template T
21
- * @typedef {readonly[1|3, _.Branch5<T>]} FirstBranch5
22
- */
23
- /**
24
- * @template T
25
- * @typedef {FirstLeaf1<T> | FirstBranch3<T> | FirstLeaf2<T> | FirstBranch5<T>} First
26
- */
27
- /**
28
- * @template T
29
- * @typedef {readonly[0|2, _.Branch3<T>]} PathItem3
30
- */
31
- /**
32
- * @template T
33
- * @typedef {readonly[0|2|4, _.Branch5<T>]} PathItem5
34
- */
35
- /**
36
- * @template T
37
- * @typedef {PathItem3<T> | PathItem5<T>} PathItem
38
- */
39
- /** @type {<T>(item: PathItem<T>) => _.Node<T>} */
40
- const child = item =>
41
- /** @type {typeof item extends PathItem<infer T> ? _.Node<T> : never} */ (item[1][item[0]]);
42
- /**
43
- * @template T
44
- * @typedef {List.List<PathItem<T>>} Path
45
- */
46
- /**
47
- * @template T
48
- * @typedef {{
49
- * readonly first: First<T>,
50
- * readonly tail: Path<T>
51
- * }} Result<T>
52
- */
53
- /** @type {<T>(c: cmp.Compare<T>) => (node: _.Node<T>) => Result<T>} */
54
- export const find = c => {
55
- const i3 = index3(c);
56
- const i5 = index5(c);
57
- /** @typedef {typeof c extends cmp.Compare<infer T> ? T : never} T */
58
- /** @type {(prior: Path<T>) => (node: _.Node<T>) => Result<T>} */
59
- const f = tail => node => {
60
- /** @type {(index: Array.KeyOf<typeof node>) => Result<T>} */
61
- const append = index => {
62
- const first = /** @type {PathItem<T>} */ ([index, node]);
63
- return f({ first, tail })(child(first));
64
- };
65
- /** @type {(index: Array.KeyOf<typeof node>) => Result<T>} */
66
- const done = index => ({ first: /** @type {First<T>} */ ([index, node]), tail });
67
- switch (node.length) {
68
- case 1: {
69
- return done(i3(node[0]));
70
- }
71
- case 2: {
72
- return done(i5(node));
73
- }
74
- case 3: {
75
- const i = i3(node[1]);
76
- switch (i) {
77
- case 0:
78
- case 2: {
79
- return append(i);
80
- }
81
- case 1: {
82
- return done(i);
83
- }
84
- }
85
- }
86
- case 5: {
87
- const i = i5([node[1], node[3]]);
88
- switch (i) {
89
- case 0:
90
- case 2:
91
- case 4: {
92
- return append(i);
93
- }
94
- case 1:
95
- case 3: {
96
- return done(i);
97
- }
98
- }
99
- }
100
- }
101
- };
102
- return f(null);
103
- };
104
- /** @type {<T>(first: First<T>) => boolean} */
105
- export const isFound = ([i]) => {
106
- switch (i) {
107
- case 1:
108
- case 3: {
109
- return true;
110
- }
111
- default: {
112
- return false;
113
- }
114
- }
115
- };
116
- /** @type {<T>(first: First<T>) => T | null} */
117
- export const value = ([i, r]) => {
118
- switch (i) {
119
- case 1: {
120
- switch (r.length) {
121
- case 1:
122
- case 2: {
123
- return r[0];
124
- }
125
- default: {
126
- return r[1];
127
- }
128
- }
129
- }
130
- case 3: {
131
- return r.length === 2 ? r[1] : r[3];
132
- }
133
- default: {
134
- return null;
135
- }
136
- }
137
- };
@@ -1,2 +0,0 @@
1
- export default test;
2
- declare function test(): void;