functionalscript 0.3.4 → 0.3.6

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 (457) hide show
  1. package/com/cpp/module.f.d.ts +10 -0
  2. package/com/cpp/module.f.js +107 -0
  3. package/com/cpp/test.f.d.ts +2 -0
  4. package/com/cpp/{test.f.ts → test.f.js} +9 -11
  5. package/com/cpp/testlib.f.d.ts +2 -0
  6. package/com/cpp/testlib.f.js +5 -0
  7. package/com/cs/module.f.d.ts +12 -0
  8. package/com/cs/module.f.js +80 -0
  9. package/com/cs/test.f.d.ts +2 -0
  10. package/com/cs/{test.f.ts → test.f.js} +9 -11
  11. package/com/cs/testlib.f.d.ts +2 -0
  12. package/com/cs/testlib.f.js +5 -0
  13. package/com/rust/module.f.d.ts +15 -0
  14. package/com/rust/module.f.js +169 -0
  15. package/com/rust/test.f.d.ts +2 -0
  16. package/com/rust/{test.f.ts → test.f.js} +7 -7
  17. package/com/rust/testlib.f.d.ts +2 -0
  18. package/com/rust/testlib.f.js +5 -0
  19. package/com/test/build.f.d.ts +20 -0
  20. package/com/test/build.f.js +58 -0
  21. package/com/types/module.f.d.ts +28 -0
  22. package/com/types/module.f.js +8 -0
  23. package/com/types/testlib.f.d.ts +44 -0
  24. package/com/types/{testlib.f.ts → testlib.f.js} +2 -3
  25. package/commonjs/build/module.f.d.ts +6 -0
  26. package/commonjs/build/module.f.js +69 -0
  27. package/commonjs/build/test.f.d.ts +2 -0
  28. package/commonjs/build/test.f.js +96 -0
  29. package/commonjs/module/function/{module.f.ts → module.f.d.ts} +5 -10
  30. package/commonjs/module/function/module.f.js +4 -0
  31. package/commonjs/module/module.f.d.ts +18 -0
  32. package/commonjs/module/module.f.js +12 -0
  33. package/commonjs/module.f.d.ts +6 -0
  34. package/commonjs/module.f.js +1 -0
  35. package/commonjs/package/dependencies/module.f.d.ts +7 -0
  36. package/commonjs/package/dependencies/module.f.js +13 -0
  37. package/commonjs/package/dependencies/test.f.d.ts +2 -0
  38. package/commonjs/package/dependencies/test.f.js +15 -0
  39. package/commonjs/package/module.f.d.ts +17 -0
  40. package/commonjs/package/module.f.js +18 -0
  41. package/commonjs/package/test.f.d.ts +2 -0
  42. package/commonjs/package/test.f.js +27 -0
  43. package/commonjs/path/module.f.d.ts +24 -0
  44. package/commonjs/path/module.f.js +114 -0
  45. package/commonjs/path/test.f.d.ts +25 -0
  46. package/commonjs/path/{test.f.ts → test.f.js} +123 -89
  47. package/crypto/prime_field/module.f.d.ts +43 -0
  48. package/crypto/prime_field/module.f.js +78 -0
  49. package/crypto/prime_field/test.f.d.ts +13 -0
  50. package/crypto/prime_field/test.f.js +149 -0
  51. package/crypto/secp/module.f.d.ts +68 -0
  52. package/crypto/secp/module.f.js +127 -0
  53. package/crypto/secp/test.f.d.ts +5 -0
  54. package/crypto/secp/test.f.js +72 -0
  55. package/crypto/sha2/module.f.d.ts +13 -0
  56. package/crypto/sha2/module.f.js +145 -0
  57. package/crypto/sha2/test.f.d.ts +9 -0
  58. package/crypto/sha2/test.f.js +82 -0
  59. package/dev/module.f.d.ts +1 -0
  60. package/dev/module.f.js +1 -0
  61. package/dev/test/module.f.d.ts +20 -0
  62. package/dev/test/module.f.js +75 -0
  63. package/dev/test.f.d.ts +9 -0
  64. package/dev/{test.f.ts → test.f.js} +22 -24
  65. package/djs/module.f.d.ts +17 -0
  66. package/djs/module.f.js +63 -0
  67. package/djs/parser/module.f.d.ts +12 -0
  68. package/djs/parser/module.f.js +333 -0
  69. package/djs/parser/test.f.d.ts +12 -0
  70. package/djs/parser/test.f.js +717 -0
  71. package/djs/serializer/module.f.d.ts +9 -0
  72. package/djs/serializer/module.f.js +81 -0
  73. package/djs/test/input.f.d.ts +2 -0
  74. package/djs/test/input.f.js +4 -0
  75. package/djs/test/m.f.d.ts +2 -0
  76. package/djs/test/m.f.js +1 -0
  77. package/djs/test.f.d.ts +12 -0
  78. package/djs/test.f.js +84 -0
  79. package/djs/tokenizer/module.f.d.ts +8 -0
  80. package/djs/tokenizer/module.f.js +60 -0
  81. package/djs/tokenizer/test.f.d.ts +7 -0
  82. package/djs/tokenizer/test.f.js +529 -0
  83. package/fsc/module.f.d.ts +5 -0
  84. package/fsc/module.f.js +75 -0
  85. package/fsc/test.f.d.ts +4 -0
  86. package/fsc/test.f.js +19 -0
  87. package/fsm/module.f.d.ts +13 -0
  88. package/fsm/module.f.js +59 -0
  89. package/fsm/test.f.d.ts +5 -0
  90. package/fsm/test.f.js +137 -0
  91. package/html/module.f.d.ts +13 -0
  92. package/html/module.f.js +58 -0
  93. package/html/test.f.d.ts +9 -0
  94. package/html/test.f.js +42 -0
  95. package/issues/test.f.d.ts +16 -0
  96. package/issues/test.f.js +70 -0
  97. package/js/tokenizer/module.f.d.ts +86 -0
  98. package/js/tokenizer/module.f.js +503 -0
  99. package/js/tokenizer/test.f.d.ts +9 -0
  100. package/js/tokenizer/test.f.js +905 -0
  101. package/json/module.f.d.ts +20 -0
  102. package/json/module.f.js +68 -0
  103. package/json/parser/module.f.d.ts +5 -0
  104. package/json/parser/module.f.js +155 -0
  105. package/json/parser/test.f.d.ts +5 -0
  106. package/json/parser/test.f.js +328 -0
  107. package/json/serializer/module.f.d.ts +7 -0
  108. package/json/serializer/module.f.js +21 -0
  109. package/json/serializer/test.f.d.ts +8 -0
  110. package/json/serializer/test.f.js +87 -0
  111. package/json/test.f.d.ts +8 -0
  112. package/json/test.f.js +61 -0
  113. package/json/tokenizer/module.f.d.ts +8 -0
  114. package/json/tokenizer/module.f.js +52 -0
  115. package/json/tokenizer/test.f.d.ts +6 -0
  116. package/json/tokenizer/test.f.js +419 -0
  117. package/nanvm-lib/tests/test.f.d.ts +27 -0
  118. package/nanvm-lib/tests/test.f.js +84 -0
  119. package/nodejs/version/module.f.d.ts +11 -0
  120. package/nodejs/version/module.f.js +16 -0
  121. package/nodejs/version/test.f.d.ts +2 -0
  122. package/nodejs/version/{test.f.ts → test.f.js} +13 -22
  123. package/package.json +9 -5
  124. package/text/ascii/module.f.d.ts +129 -0
  125. package/text/ascii/module.f.js +148 -0
  126. package/text/ascii/test.f.d.ts +4 -0
  127. package/text/ascii/test.f.js +14 -0
  128. package/text/module.f.d.ts +8 -0
  129. package/text/module.f.js +10 -0
  130. package/text/sgr/module.f.d.ts +8 -0
  131. package/text/sgr/module.f.js +8 -0
  132. package/text/test.f.d.ts +2 -0
  133. package/text/test.f.js +18 -0
  134. package/text/utf16/module.f.d.ts +9 -0
  135. package/text/utf16/module.f.js +66 -0
  136. package/text/utf16/test.f.d.ts +6 -0
  137. package/text/utf16/test.f.js +144 -0
  138. package/text/utf8/module.f.d.ts +6 -0
  139. package/text/utf8/module.f.js +112 -0
  140. package/text/utf8/test.f.d.ts +6 -0
  141. package/text/utf8/test.f.js +175 -0
  142. package/types/array/module.f.d.ts +21 -0
  143. package/types/array/module.f.js +23 -0
  144. package/types/array/test.f.d.ts +10 -0
  145. package/types/array/test.f.js +116 -0
  146. package/types/bigfloat/module.f.d.ts +3 -0
  147. package/types/bigfloat/module.f.js +66 -0
  148. package/types/bigfloat/test.f.d.ts +6 -0
  149. package/types/bigfloat/test.f.js +349 -0
  150. package/types/bigint/module.f.d.ts +54 -0
  151. package/types/bigint/{module.f.ts → module.f.js} +42 -65
  152. package/types/bigint/test.f.d.ts +16 -0
  153. package/types/bigint/test.f.js +199 -0
  154. package/types/bit_vec/module.f.d.ts +134 -0
  155. package/types/bit_vec/{module.f.ts → module.f.js} +47 -65
  156. package/types/bit_vec/test.f.d.ts +22 -0
  157. package/types/bit_vec/test.f.js +210 -0
  158. package/types/btree/find/module.f.d.ts +20 -0
  159. package/types/btree/find/module.f.js +84 -0
  160. package/types/btree/find/test.f.d.ts +2 -0
  161. package/types/btree/find/test.f.js +152 -0
  162. package/types/btree/module.f.d.ts +4 -0
  163. package/types/btree/module.f.js +31 -0
  164. package/types/btree/remove/module.f.d.ts +4 -0
  165. package/types/btree/remove/module.f.js +174 -0
  166. package/types/btree/remove/test.f.d.ts +5 -0
  167. package/types/btree/remove/test.f.js +634 -0
  168. package/types/btree/set/module.f.d.ts +3 -0
  169. package/types/btree/set/module.f.js +103 -0
  170. package/types/btree/set/test.f.d.ts +2 -0
  171. package/types/btree/set/test.f.js +360 -0
  172. package/types/btree/test.f.d.ts +8 -0
  173. package/types/btree/test.f.js +75 -0
  174. package/types/btree/types/module.f.d.ts +11 -0
  175. package/types/btree/types/module.f.js +1 -0
  176. package/types/byte_set/module.f.d.ts +16 -0
  177. package/types/byte_set/module.f.js +28 -0
  178. package/types/byte_set/test.f.d.ts +12 -0
  179. package/types/byte_set/test.f.js +122 -0
  180. package/types/function/compare/module.f.d.ts +10 -0
  181. package/types/function/compare/module.f.js +7 -0
  182. package/types/function/compare/test.f.d.ts +2 -0
  183. package/types/function/compare/test.f.js +8 -0
  184. package/types/function/module.f.d.ts +28 -0
  185. package/types/function/module.f.js +19 -0
  186. package/types/function/operator/module.f.d.ts +20 -0
  187. package/types/function/operator/module.f.js +18 -0
  188. package/types/function/test.f.d.ts +2 -0
  189. package/types/function/test.f.js +12 -0
  190. package/types/list/module.f.d.ts +50 -0
  191. package/types/list/module.f.js +171 -0
  192. package/types/list/test.f.d.ts +22 -0
  193. package/types/list/test.f.js +395 -0
  194. package/types/map/module.f.d.ts +14 -0
  195. package/types/map/module.f.js +31 -0
  196. package/types/map/test.f.d.ts +5 -0
  197. package/types/map/test.f.js +114 -0
  198. package/types/nibble_set/module.f.d.ts +10 -0
  199. package/types/nibble_set/module.f.js +9 -0
  200. package/types/nibble_set/test.f.d.ts +12 -0
  201. package/types/nibble_set/test.f.js +90 -0
  202. package/types/nullable/module.f.d.ts +3 -0
  203. package/types/nullable/module.f.js +2 -0
  204. package/types/nullable/test.f.d.ts +2 -0
  205. package/types/nullable/test.f.js +12 -0
  206. package/types/number/module.f.d.ts +6 -0
  207. package/types/number/module.f.js +8 -0
  208. package/types/number/test.f.d.ts +11 -0
  209. package/types/number/test.f.js +124 -0
  210. package/types/object/module.f.d.ts +10 -0
  211. package/types/object/module.f.js +12 -0
  212. package/types/object/test.f.d.ts +5 -0
  213. package/types/object/test.f.js +17 -0
  214. package/types/range/module.f.d.ts +3 -0
  215. package/types/range/module.f.js +2 -0
  216. package/types/range/test.f.d.ts +2 -0
  217. package/types/range/test.f.js +18 -0
  218. package/types/range_map/module.f.d.ts +14 -0
  219. package/types/range_map/module.f.js +51 -0
  220. package/types/range_map/test.f.d.ts +6 -0
  221. package/types/range_map/test.f.js +176 -0
  222. package/types/result/module.f.d.ts +7 -0
  223. package/types/result/module.f.js +8 -0
  224. package/types/sorted_list/module.f.d.ts +16 -0
  225. package/types/sorted_list/module.f.js +56 -0
  226. package/types/sorted_list/test.f.d.ts +5 -0
  227. package/types/sorted_list/test.f.js +64 -0
  228. package/types/sorted_set/module.f.d.ts +7 -0
  229. package/types/sorted_set/module.f.js +14 -0
  230. package/types/sorted_set/test.f.d.ts +6 -0
  231. package/types/sorted_set/test.f.js +78 -0
  232. package/types/string/module.f.d.ts +6 -0
  233. package/types/string/module.f.js +11 -0
  234. package/types/string/test.f.d.ts +15 -0
  235. package/types/string/test.f.js +58 -0
  236. package/types/string_set/module.f.d.ts +9 -0
  237. package/types/string_set/module.f.js +22 -0
  238. package/types/string_set/test.f.d.ts +5 -0
  239. package/types/string_set/test.f.js +65 -0
  240. package/.github/FUNDING.yml +0 -12
  241. package/.github/dependabot.yml +0 -11
  242. package/.github/workflows/ci.yml +0 -88
  243. package/.github/workflows/npm-publish.yml +0 -53
  244. package/CHANGELOG.md +0 -29
  245. package/Cargo.lock +0 -18
  246. package/Cargo.toml +0 -7
  247. package/com/README.md +0 -3
  248. package/com/cpp/README.md +0 -80
  249. package/com/cpp/module.f.ts +0 -180
  250. package/com/cpp/nanocom.hpp +0 -195
  251. package/com/cpp/testlib.f.ts +0 -8
  252. package/com/cs/module.f.ts +0 -145
  253. package/com/cs/testlib.f.ts +0 -8
  254. package/com/proposals.md +0 -28
  255. package/com/rust/module.f.ts +0 -287
  256. package/com/rust/nanocom/Cargo.lock +0 -7
  257. package/com/rust/nanocom/Cargo.toml +0 -15
  258. package/com/rust/nanocom/README.md +0 -56
  259. package/com/rust/nanocom/src/class.rs +0 -6
  260. package/com/rust/nanocom/src/cobject.rs +0 -90
  261. package/com/rust/nanocom/src/guid.rs +0 -15
  262. package/com/rust/nanocom/src/hresult.rs +0 -7
  263. package/com/rust/nanocom/src/interface.rs +0 -9
  264. package/com/rust/nanocom/src/iunknown.rs +0 -13
  265. package/com/rust/nanocom/src/lib.rs +0 -20
  266. package/com/rust/nanocom/src/object.rs +0 -34
  267. package/com/rust/nanocom/src/ref.rs +0 -57
  268. package/com/rust/nanocom/src/vmt.rs +0 -7
  269. package/com/rust/nanocom/tests/it.rs +0 -186
  270. package/com/rust/nanocom/tests/itmod.rs +0 -195
  271. package/com/rust/testlib.f.ts +0 -8
  272. package/com/test/build.f.ts +0 -111
  273. package/com/test/build.ts +0 -45
  274. package/com/test/cpp/main.cpp +0 -74
  275. package/com/test/cs/Program.cs +0 -31
  276. package/com/test/cs/cs.csproj +0 -16
  277. package/com/test/rust/Cargo.toml +0 -12
  278. package/com/test/rust/src/lib.rs +0 -56
  279. package/com/types/module.f.ts +0 -62
  280. package/commonjs/README.md +0 -94
  281. package/commonjs/build/module.f.ts +0 -100
  282. package/commonjs/build/test.f.ts +0 -107
  283. package/commonjs/module/module.f.ts +0 -41
  284. package/commonjs/module.f.ts +0 -7
  285. package/commonjs/module.ts +0 -31
  286. package/commonjs/package/dependencies/module.f.ts +0 -22
  287. package/commonjs/package/dependencies/test.f.ts +0 -8
  288. package/commonjs/package/module.f.ts +0 -31
  289. package/commonjs/package/test.f.ts +0 -12
  290. package/commonjs/path/README.md +0 -17
  291. package/commonjs/path/module.f.ts +0 -171
  292. package/commonjs/test.ts +0 -64
  293. package/crypto/README.md +0 -3
  294. package/crypto/prime_field/module.f.ts +0 -114
  295. package/crypto/prime_field/test.f.ts +0 -95
  296. package/crypto/secp/module.f.ts +0 -182
  297. package/crypto/secp/test.f.ts +0 -68
  298. package/crypto/sha2/module.f.ts +0 -215
  299. package/crypto/sha2/test.f.ts +0 -83
  300. package/deno.json +0 -71
  301. package/dev/README.md +0 -8
  302. package/dev/index.ts +0 -3
  303. package/dev/module.f.ts +0 -1
  304. package/dev/module.ts +0 -195
  305. package/dev/test/module.f.ts +0 -135
  306. package/dev/test.ts +0 -53
  307. package/djs/README.md +0 -54
  308. package/djs/module.f.ts +0 -76
  309. package/djs/parser/module.f.ts +0 -509
  310. package/djs/parser/test.f.ts +0 -461
  311. package/djs/serializer/module.f.ts +0 -90
  312. package/djs/test.f.ts +0 -67
  313. package/djs/tokenizer/module.f.ts +0 -99
  314. package/djs/tokenizer/test.f.ts +0 -364
  315. package/doc/LANGUAGE.md +0 -255
  316. package/doc/README.md +0 -61
  317. package/doc/byte-code.md +0 -59
  318. package/doc/fa.md +0 -174
  319. package/doc/predefined.md +0 -143
  320. package/doc/proposals.md +0 -21
  321. package/doc/vm/README.md +0 -24
  322. package/doc/vm-rearchitecture.md +0 -129
  323. package/doc/vm.md +0 -150
  324. package/fsc/README.md +0 -111
  325. package/fsc/module.f.ts +0 -122
  326. package/fsc/test.f.ts +0 -21
  327. package/fsm/README.md +0 -113
  328. package/fsm/module.f.ts +0 -107
  329. package/fsm/test.f.ts +0 -139
  330. package/funding.json +0 -61
  331. package/html/README.md +0 -32
  332. package/html/module.f.ts +0 -109
  333. package/html/test.f.ts +0 -37
  334. package/issues/01-test-debug.md +0 -3
  335. package/issues/02-esm.md +0 -8
  336. package/issues/03-djs.md +0 -57
  337. package/issues/05-publish.md +0 -40
  338. package/issues/11-fs-load.md +0 -13
  339. package/issues/17-djs-extension.md +0 -6
  340. package/issues/README.md +0 -42
  341. package/issues/lang/1000-json.md +0 -50
  342. package/issues/lang/2110-default-export.md +0 -11
  343. package/issues/lang/2120-const.md +0 -14
  344. package/issues/lang/2130-default-import.md +0 -10
  345. package/issues/lang/2210-block-comment.md +0 -12
  346. package/issues/lang/2220-namespace-import.md +0 -25
  347. package/issues/lang/2310-undefined.md +0 -7
  348. package/issues/lang/2320-bigint.md +0 -7
  349. package/issues/lang/2330-property-accessor.md +0 -225
  350. package/issues/lang/2340-operators.md +0 -41
  351. package/issues/lang/2350-grouping.md +0 -11
  352. package/issues/lang/2360-built-in.md +0 -81
  353. package/issues/lang/2410-identifier-property.md +0 -9
  354. package/issues/lang/2420-line-comment.md +0 -10
  355. package/issues/lang/2430-trailing-comma.md +0 -13
  356. package/issues/lang/2440-shorthand.md +0 -8
  357. package/issues/lang/2450-destructuring.md +0 -12
  358. package/issues/lang/3110-function.md +0 -35
  359. package/issues/lang/3120-parameters.md +0 -9
  360. package/issues/lang/3130-body-const.md +0 -12
  361. package/issues/lang/3220-let.md +0 -11
  362. package/issues/lang/3240-export.md +0 -44
  363. package/issues/lang/3370-type-inference.md +0 -69
  364. package/issues/lang/3380-promise.md +0 -22
  365. package/issues/lang/3390-class.md +0 -3
  366. package/issues/lang/3410-expression.md +0 -12
  367. package/issues/lang/3420-one-parameter.md +0 -10
  368. package/issues/lang/3430-assignments.md +0 -23
  369. package/issues/lang/README.md +0 -193
  370. package/issues/test.f.ts +0 -58
  371. package/js/tokenizer/module.f.ts +0 -882
  372. package/js/tokenizer/test.f.ts +0 -617
  373. package/json/html/README.md +0 -49
  374. package/json/module.f.ts +0 -94
  375. package/json/parser/module.f.ts +0 -221
  376. package/json/parser/test.f.ts +0 -255
  377. package/json/serializer/module.f.ts +0 -74
  378. package/json/serializer/test.f.ts +0 -64
  379. package/json/test.f.ts +0 -48
  380. package/json/tokenizer/module.f.ts +0 -85
  381. package/json/tokenizer/test.f.ts +0 -290
  382. package/nanvm-lib/Cargo.toml +0 -6
  383. package/nanvm-lib/src/extension.rs +0 -130
  384. package/nanvm-lib/src/interface.rs +0 -133
  385. package/nanvm-lib/src/lib.rs +0 -7
  386. package/nanvm-lib/src/naive.rs +0 -236
  387. package/nanvm-lib/src/nanenum.rs +0 -236
  388. package/nanvm-lib/src/nullish.rs +0 -7
  389. package/nanvm-lib/src/sign.rs +0 -5
  390. package/nanvm-lib/src/simple.rs +0 -32
  391. package/nanvm-lib/tests/test.f.ts +0 -80
  392. package/nanvm-lib/tests/test.rs +0 -108
  393. package/nodejs/version/main.ts +0 -4
  394. package/nodejs/version/module.f.ts +0 -42
  395. package/text/README.md +0 -110
  396. package/text/ascii/module.f.ts +0 -219
  397. package/text/ascii/test.f.ts +0 -14
  398. package/text/module.f.ts +0 -30
  399. package/text/sgr/README.md +0 -3
  400. package/text/sgr/module.f.ts +0 -11
  401. package/text/test.f.ts +0 -19
  402. package/text/utf16/module.f.ts +0 -120
  403. package/text/utf16/test.f.ts +0 -107
  404. package/text/utf8/module.f.ts +0 -116
  405. package/text/utf8/test.f.ts +0 -125
  406. package/tsconfig.json +0 -104
  407. package/types/array/module.f.ts +0 -89
  408. package/types/array/test.f.ts +0 -88
  409. package/types/bigfloat/module.f.ts +0 -93
  410. package/types/bigfloat/test.f.ts +0 -218
  411. package/types/bigint/README.md +0 -35
  412. package/types/bigint/test.f.ts +0 -144
  413. package/types/bit_vec/README.md +0 -18
  414. package/types/bit_vec/test.f.ts +0 -129
  415. package/types/btree/README.md +0 -160
  416. package/types/btree/find/module.f.ts +0 -92
  417. package/types/btree/find/test.f.ts +0 -122
  418. package/types/btree/module.f.ts +0 -35
  419. package/types/btree/remove/module.f.ts +0 -151
  420. package/types/btree/remove/test.f.ts +0 -498
  421. package/types/btree/set/module.f.ts +0 -89
  422. package/types/btree/set/test.f.ts +0 -415
  423. package/types/btree/test.f.ts +0 -92
  424. package/types/btree/types/module.f.ts +0 -27
  425. package/types/byte_set/module.f.ts +0 -73
  426. package/types/byte_set/test.f.ts +0 -84
  427. package/types/function/compare/module.f.ts +0 -26
  428. package/types/function/compare/test.f.ts +0 -7
  429. package/types/function/module.f.ts +0 -43
  430. package/types/function/operator/module.f.ts +0 -65
  431. package/types/function/test.f.ts +0 -20
  432. package/types/list/module.f.ts +0 -350
  433. package/types/list/test.f.ts +0 -327
  434. package/types/map/module.f.ts +0 -65
  435. package/types/map/test.f.ts +0 -76
  436. package/types/nibble_set/module.f.ts +0 -34
  437. package/types/nibble_set/test.f.ts +0 -57
  438. package/types/nullable/module.f.ts +0 -9
  439. package/types/nullable/test.f.ts +0 -9
  440. package/types/number/module.f.ts +0 -20
  441. package/types/number/test.f.ts +0 -194
  442. package/types/object/module.f.ts +0 -30
  443. package/types/object/test.f.ts +0 -14
  444. package/types/range/module.f.ts +0 -10
  445. package/types/range/test.f.ts +0 -9
  446. package/types/range_map/module.f.ts +0 -70
  447. package/types/range_map/test.f.ts +0 -189
  448. package/types/result/module.f.ts +0 -20
  449. package/types/result/module.ts +0 -18
  450. package/types/sorted_list/module.f.ts +0 -83
  451. package/types/sorted_list/test.f.ts +0 -57
  452. package/types/sorted_set/module.f.ts +0 -36
  453. package/types/sorted_set/test.f.ts +0 -67
  454. package/types/string/module.f.ts +0 -26
  455. package/types/string/test.f.ts +0 -43
  456. package/types/string_set/module.f.ts +0 -37
  457. package/types/string_set/test.f.ts +0 -34
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ decToBin: (() => void)[];
3
+ roundingPositive: (() => void)[];
4
+ roundingNegative: (() => void)[];
5
+ };
6
+ export default _default;
@@ -0,0 +1,349 @@
1
+ import * as _ from "./module.f.js";
2
+ const { decToBin } = _;
3
+ export default {
4
+ decToBin: [
5
+ () => {
6
+ const result = decToBin([0n, 0]);
7
+ if (result[0] !== 0n) {
8
+ throw result[0].toString(2);
9
+ }
10
+ if (result[1] !== 0) {
11
+ throw result[1];
12
+ }
13
+ },
14
+ () => {
15
+ const result = decToBin([0n, 10]);
16
+ if (result[0] !== 0n) {
17
+ throw result[0].toString(2);
18
+ }
19
+ if (result[1] !== 0) {
20
+ throw result[1];
21
+ }
22
+ },
23
+ () => {
24
+ const result = decToBin([0n, -10]);
25
+ if (result[0] !== 0n) {
26
+ throw result[0].toString(2);
27
+ }
28
+ if (result[1] !== 0) {
29
+ throw result[1];
30
+ }
31
+ },
32
+ () => {
33
+ const result = decToBin([1n, 0]);
34
+ if (result[0] !== 4503599627370496n) {
35
+ throw result[0].toString(2);
36
+ }
37
+ if (result[1] !== -52) {
38
+ throw result[1];
39
+ }
40
+ },
41
+ () => {
42
+ const result = decToBin([1n, 1]);
43
+ if (result[0] !== 5629499534213120n) {
44
+ throw result[0].toString(2);
45
+ }
46
+ if (result[1] !== -49) {
47
+ throw result[1];
48
+ }
49
+ },
50
+ () => {
51
+ const result = decToBin([1000n, -2]);
52
+ if (result[0] !== 5629499534213120n) {
53
+ throw result[0].toString(2);
54
+ }
55
+ if (result[1] !== -49) {
56
+ throw result[1];
57
+ }
58
+ },
59
+ () => {
60
+ const result = decToBin([1n, -1]);
61
+ if (result[0] !== 7205759403792794n) {
62
+ throw result[0].toString(2);
63
+ } //+1
64
+ if (result[1] !== -56) {
65
+ throw result[1];
66
+ }
67
+ },
68
+ () => {
69
+ const result = decToBin([-1n, 0]);
70
+ if (result[0] !== -4503599627370496n) {
71
+ throw result[0].toString(2);
72
+ }
73
+ if (result[1] !== -52) {
74
+ throw result[1];
75
+ }
76
+ },
77
+ () => {
78
+ const result = decToBin([-1n, 1]);
79
+ if (result[0] !== -5629499534213120n) {
80
+ throw result[0].toString(2);
81
+ }
82
+ if (result[1] !== -49) {
83
+ throw result[1];
84
+ }
85
+ },
86
+ () => {
87
+ const result = decToBin([-1000n, -2]);
88
+ if (result[0] !== -5629499534213120n) {
89
+ throw result[0].toString(2);
90
+ }
91
+ if (result[1] !== -49) {
92
+ throw result[1];
93
+ }
94
+ },
95
+ () => {
96
+ const result = decToBin([-1n, -1]);
97
+ if (result[0] !== -7205759403792794n) {
98
+ throw result[0].toString(2);
99
+ } //+1
100
+ if (result[1] !== -56) {
101
+ throw result[1];
102
+ }
103
+ },
104
+ () => {
105
+ const result = decToBin([9007199254740993n, 0]); //54bits (...0.1)
106
+ if (result[0] !== 4503599627370496n) {
107
+ throw result[0].toString(2);
108
+ }
109
+ if (result[1] !== 1) {
110
+ throw result[1];
111
+ }
112
+ },
113
+ () => {
114
+ const result = decToBin([-9007199254740995n, 0]); //54bits (...1.1)
115
+ if (result[0] !== -4503599627370498n) {
116
+ throw result[0].toString(2);
117
+ }
118
+ if (result[1] !== 1) {
119
+ throw result[1];
120
+ }
121
+ },
122
+ () => {
123
+ const result = decToBin([-9007199254740993n, 0]); //54bits (...0.1)
124
+ if (result[0] !== -4503599627370496n) {
125
+ throw result[0].toString(2);
126
+ }
127
+ if (result[1] !== 1) {
128
+ throw result[1];
129
+ }
130
+ },
131
+ () => {
132
+ const result = decToBin([-9007199254740995n, 0]); //54bits (...1.1)
133
+ if (result[0] !== -4503599627370498n) {
134
+ throw result[0].toString(2);
135
+ }
136
+ if (result[1] !== 1) {
137
+ throw result[1];
138
+ }
139
+ },
140
+ () => {
141
+ const result = decToBin([18014398509481985n, 0]); //55bits (...0.01)
142
+ if (result[0] !== 4503599627370496n) {
143
+ throw result[0].toString(2);
144
+ }
145
+ if (result[1] !== 2) {
146
+ throw result[1];
147
+ }
148
+ },
149
+ () => {
150
+ const result = decToBin([18014398509481986n, 0]); //55bits (...0.10)
151
+ if (result[0] !== 4503599627370496n) {
152
+ throw result[0].toString(2);
153
+ }
154
+ if (result[1] !== 2) {
155
+ throw result[1];
156
+ }
157
+ },
158
+ () => {
159
+ const result = decToBin([18014398509481990n, 0]); //55bits (...1.10)
160
+ if (result[0] !== 4503599627370498n) {
161
+ throw result[0].toString(2);
162
+ }
163
+ if (result[1] !== 2) {
164
+ throw result[1];
165
+ }
166
+ },
167
+ () => {
168
+ const result = decToBin([18014398509481987n, 0]); //55bits (0.11)
169
+ if (result[0] !== 4503599627370497n) {
170
+ throw result[0].toString(2);
171
+ }
172
+ if (result[1] !== 2) {
173
+ throw result[1];
174
+ }
175
+ },
176
+ ],
177
+ roundingPositive: [
178
+ () => {
179
+ const result = decToBin([288230376151711745n, -1]);
180
+ // reminder = 0
181
+ // m = 11001100110011001100110011001100110011001100110011001.101
182
+ // rounding up
183
+ if (result[0] !== 7205759403792794n) {
184
+ throw result[0].toString(2);
185
+ }
186
+ if (result[1] !== 2) {
187
+ throw result[1];
188
+ }
189
+ },
190
+ () => {
191
+ const result = decToBin([288230376151711760n, -1]);
192
+ // reminder = 0
193
+ // m = 11001100110011001100110011001100110011001100110011010.000
194
+ // rounding down
195
+ if (result[0] !== 7205759403792794n) {
196
+ throw result[0].toString(2);
197
+ }
198
+ if (result[1] !== 2) {
199
+ throw result[1];
200
+ }
201
+ },
202
+ () => {
203
+ const result = decToBin([288230376151711780n, -1]);
204
+ // reminder = 0
205
+ // m = 11001100110011001100110011001100110011001100110011010.100
206
+ // rounding down (to even)
207
+ if (result[0] !== 7205759403792794n) {
208
+ throw result[0].toString(2);
209
+ }
210
+ if (result[1] !== 2) {
211
+ throw result[1];
212
+ }
213
+ },
214
+ () => {
215
+ const result = decToBin([288230376151711781n, -1]);
216
+ // reminder = 1
217
+ // m = 11001100110011001100110011001100110011001100110011010.100
218
+ // rounding up
219
+ if (result[0] !== 7205759403792795n) {
220
+ throw result[0].toString(2);
221
+ }
222
+ if (result[1] !== 2) {
223
+ throw result[1];
224
+ }
225
+ },
226
+ () => {
227
+ const result = decToBin([288230376151711785n, -1]);
228
+ // reminder = 0
229
+ // m = 11001100110011001100110011001100110011001100110011010.101
230
+ // rounding up
231
+ if (result[0] !== 7205759403792795n) {
232
+ throw result[0].toString(2);
233
+ }
234
+ if (result[1] !== 2) {
235
+ throw result[1];
236
+ }
237
+ },
238
+ () => {
239
+ const result = decToBin([288230376151711805n, -1]);
240
+ // reminder = 0
241
+ // m = 11001100110011001100110011001100110011001100110011011.001
242
+ // rounding down
243
+ if (result[0] !== 7205759403792795n) {
244
+ throw result[0].toString(2);
245
+ }
246
+ if (result[1] !== 2) {
247
+ throw result[1];
248
+ }
249
+ },
250
+ () => {
251
+ const result = decToBin([288230376151711820n, -1]);
252
+ // reminder = 0
253
+ // m = 11001100110011001100110011001100110011001100110011011.100
254
+ // rounding up (to even)
255
+ if (result[0] !== 7205759403792796n) {
256
+ throw result[0].toString(2);
257
+ }
258
+ if (result[1] !== 2) {
259
+ throw result[1];
260
+ }
261
+ }
262
+ ],
263
+ roundingNegative: [
264
+ () => {
265
+ const result = decToBin([-288230376151711745n, -1]);
266
+ // reminder = 0
267
+ // m = -11001100110011001100110011001100110011001100110011001.101
268
+ // rounding down
269
+ if (result[0] !== -7205759403792794n) {
270
+ throw result[0].toString(2);
271
+ }
272
+ if (result[1] !== 2) {
273
+ throw result[1];
274
+ }
275
+ },
276
+ () => {
277
+ const result = decToBin([-288230376151711760n, -1]);
278
+ // reminder = 0
279
+ // m = -11001100110011001100110011001100110011001100110011010.000
280
+ // rounding up
281
+ if (result[0] !== -7205759403792794n) {
282
+ throw result[0].toString(2);
283
+ }
284
+ if (result[1] !== 2) {
285
+ throw result[1];
286
+ }
287
+ },
288
+ () => {
289
+ const result = decToBin([-288230376151711780n, -1]);
290
+ // reminder = 0
291
+ // m = -11001100110011001100110011001100110011001100110011010.100
292
+ // rounding up (to even)
293
+ if (result[0] !== -7205759403792794n) {
294
+ throw result[0].toString(2);
295
+ }
296
+ if (result[1] !== 2) {
297
+ throw result[1];
298
+ }
299
+ },
300
+ () => {
301
+ const result = decToBin([-288230376151711781n, -1]);
302
+ // reminder = 1
303
+ // m = -11001100110011001100110011001100110011001100110011010.100
304
+ // rounding down
305
+ if (result[0] !== -7205759403792795n) {
306
+ throw result[0].toString(2);
307
+ }
308
+ if (result[1] !== 2) {
309
+ throw result[1];
310
+ }
311
+ },
312
+ () => {
313
+ const result = decToBin([-288230376151711785n, -1]);
314
+ // reminder = 0
315
+ // m = -11001100110011001100110011001100110011001100110011010.101
316
+ // rounding down
317
+ if (result[0] !== -7205759403792795n) {
318
+ throw result[0].toString(2);
319
+ }
320
+ if (result[1] !== 2) {
321
+ throw result[1];
322
+ }
323
+ },
324
+ () => {
325
+ const result = decToBin([-288230376151711805n, -1]);
326
+ // reminder = 0
327
+ // m = -11001100110011001100110011001100110011001100110011011.001
328
+ // rounding up
329
+ if (result[0] !== -7205759403792795n) {
330
+ throw result[0].toString(2);
331
+ }
332
+ if (result[1] !== 2) {
333
+ throw result[1];
334
+ }
335
+ },
336
+ () => {
337
+ const result = decToBin([-288230376151711820n, -1]);
338
+ // reminder = 0
339
+ // m = -11001100110011001100110011001100110011001100110011011.100
340
+ // rounding down (to even)
341
+ if (result[0] !== -7205759403792796n) {
342
+ throw result[0].toString(2);
343
+ }
344
+ if (result[1] !== 2) {
345
+ throw result[1];
346
+ }
347
+ }
348
+ ]
349
+ };
@@ -0,0 +1,54 @@
1
+ import * as compare from '../function/compare/module.f.ts';
2
+ import * as Operator from '../function/operator/module.f.ts';
3
+ import { type List } from '../list/module.f.ts';
4
+ export declare const addition: (a: bigint) => (b: bigint) => bigint;
5
+ export declare const sum: (input: List<bigint>) => bigint;
6
+ export declare const abs: (a: bigint) => bigint;
7
+ export declare const sign: (a: bigint) => compare.Sign;
8
+ export declare const serialize: (a: bigint) => string;
9
+ type Additive<T> = {
10
+ readonly 0: T;
11
+ readonly add: Operator.Reduce<T>;
12
+ };
13
+ export declare const scalar_mul: <T>(a: Additive<T>) => (a: T) => (n: bigint) => T;
14
+ /**
15
+ * Calculates the base-2 logarithm (floor).
16
+ *
17
+ * This function returns the integer part of the logarithm. For example:
18
+ * - `log2(1n)` returns `0n`,
19
+ * - `log2(2n)` returns `1n`,
20
+ * - `log2(15n)` returns `3n`.
21
+ *
22
+ * @param v - The input BigInt.
23
+ * @returns The base-2 logarithm (floor) of the input BigInt, or `-1n` if the input is less than or equal to 0.
24
+ *
25
+ * @remarks
26
+ * The function operates in two phases:
27
+ * 1. **Fast Doubling Phase:** Uses exponential steps to quickly narrow down the range
28
+ * of the most significant bit.
29
+ * 2. **Binary Search Phase:** Refines the result by halving the step size and incrementally
30
+ * determining the exact value of the logarithm.
31
+ */
32
+ export declare const log2: (v: bigint) => bigint;
33
+ /**
34
+ * Calculates the bit length of a given BigInt.
35
+ *
36
+ * The bit length of a number is the number of bits required to represent its absolute value in binary,
37
+ * excluding leading zeros. For example:
38
+ * - `0n` has a bit length of 0 (it has no bits).
39
+ * - `1n` (binary `1`) has a bit length of 1.
40
+ * - `255n` (binary `11111111`) has a bit length of 8.
41
+ * - `-255n` (absolute value `255`, binary `11111111`) also has a bit length of 8.
42
+ *
43
+ * The function handles both positive and negative numbers. For negative inputs, the bit length is calculated
44
+ * based on the absolute value of the number. Zero has a bit length of 0.
45
+ *
46
+ * @param v - The input BigInt.
47
+ * @returns The bit length of the input BigInt.
48
+ *
49
+ * @remark
50
+ * The function uses the `log2` function to calculate the position of the most significant bit(MSB)
51
+ * and adds `1n` to account for the MSB itself.For negative numbers, the absolute value is used.
52
+ */
53
+ export declare const bitLength: (v: bigint) => bigint;
54
+ export {};
@@ -1,53 +1,27 @@
1
- import * as compare from '../function/compare/module.f.ts'
2
- import * as Operator from '../function/operator/module.f.ts'
3
- const { unsafeCmp } = compare
4
- import { reduce, type List } from '../list/module.f.ts'
5
-
6
- type Unary = Operator.Unary<bigint, bigint>
7
-
8
- export const addition
9
- : (a: bigint) => (b: bigint) => bigint
10
- = a => b => a + b
11
-
12
- export const sum
13
- : (input: List<bigint>) => bigint
14
- = reduce(addition)(0n)
15
-
16
- export const abs
17
- : (a: bigint) => bigint
18
- = a => a >= 0 ? a : -a
19
-
20
- export const sign
21
- : (a: bigint) => compare.Sign
22
- = a => unsafeCmp(a)(0n)
23
-
24
- export const serialize
25
- : (a: bigint) => string
26
- = a => `${a}n`
27
-
28
- type Additive<T> = {
29
- readonly 0: T
30
- readonly add: Operator.Reduce<T>
31
- }
32
-
33
- export const scalar_mul
34
- : <T>(a: Additive<T>) => (a: T) => (n: bigint) => T
35
- = ({ 0: _0, add }) => a => n => {
36
- let ai = a
37
- let ni = n
38
- let result = _0
1
+ import * as compare from "../function/compare/module.f.js";
2
+ import * as Operator from "../function/operator/module.f.js";
3
+ const { unsafeCmp } = compare;
4
+ import { reduce } from "../list/module.f.js";
5
+ export const addition = a => b => a + b;
6
+ export const sum = reduce(addition)(0n);
7
+ export const abs = a => a >= 0 ? a : -a;
8
+ export const sign = a => unsafeCmp(a)(0n);
9
+ export const serialize = a => `${a}n`;
10
+ export const scalar_mul = ({ 0: _0, add }) => a => n => {
11
+ let ai = a;
12
+ let ni = n;
13
+ let result = _0;
39
14
  while (true) {
40
15
  if ((ni & 1n) === 1n) {
41
- result = add(result)(ai)
16
+ result = add(result)(ai);
42
17
  }
43
- ni >>= 1n
18
+ ni >>= 1n;
44
19
  if (ni === 0n) {
45
- return result
20
+ return result;
46
21
  }
47
- ai = add(ai)(ai)
22
+ ai = add(ai)(ai);
48
23
  }
49
- }
50
-
24
+ };
51
25
  /**
52
26
  * Calculates the base-2 logarithm (floor).
53
27
  *
@@ -66,33 +40,34 @@ export const scalar_mul
66
40
  * 2. **Binary Search Phase:** Refines the result by halving the step size and incrementally
67
41
  * determining the exact value of the logarithm.
68
42
  */
69
- export const log2 = (v: bigint): bigint => {
70
- if (v <= 0n) { return -1n }
71
- let result = 0n
72
- let i = 1n
43
+ export const log2 = (v) => {
44
+ if (v <= 0n) {
45
+ return -1n;
46
+ }
47
+ let result = 0n;
48
+ let i = 1n;
73
49
  while (true) {
74
- const n = v >> i
50
+ const n = v >> i;
75
51
  if (n === 0n) {
76
52
  // overshot
77
- break
53
+ break;
78
54
  }
79
- v = n
80
- result += i
81
- i <<= 1n
55
+ v = n;
56
+ result += i;
57
+ i <<= 1n;
82
58
  }
83
59
  // We know that `v` is not 0 so it doesn't make sense to check `n` when `i` is 0.
84
60
  // Because of this, We check if `i` is greater than 1 before we divide it by 2.
85
61
  while (i !== 1n) {
86
- i >>= 1n
87
- const n = v >> i
62
+ i >>= 1n;
63
+ const n = v >> i;
88
64
  if (n !== 0n) {
89
- result += i
90
- v = n
65
+ result += i;
66
+ v = n;
91
67
  }
92
68
  }
93
- return result
94
- }
95
-
69
+ return result;
70
+ };
96
71
  /**
97
72
  * Calculates the bit length of a given BigInt.
98
73
  *
@@ -113,10 +88,12 @@ export const log2 = (v: bigint): bigint => {
113
88
  * The function uses the `log2` function to calculate the position of the most significant bit(MSB)
114
89
  * and adds `1n` to account for the MSB itself.For negative numbers, the absolute value is used.
115
90
  */
116
- export const bitLength = (v: bigint): bigint => {
91
+ export const bitLength = (v) => {
117
92
  if (v <= 0n) {
118
- if (v === 0n) { return 0n }
119
- v = -v
93
+ if (v === 0n) {
94
+ return 0n;
95
+ }
96
+ v = -v;
120
97
  }
121
- return log2(v) + 1n
122
- }
98
+ return log2(v) + 1n;
99
+ };
@@ -0,0 +1,16 @@
1
+ declare const _default: {
2
+ sum: () => void;
3
+ abs: (() => void)[];
4
+ serialize: (() => void)[];
5
+ log2: (() => void)[];
6
+ toString2: () => void;
7
+ minus: () => void;
8
+ not: () => void;
9
+ bitLen: {
10
+ 0: () => void;
11
+ m: () => void;
12
+ big: () => void;
13
+ neg: (() => void)[];
14
+ };
15
+ };
16
+ export default _default;