functionalscript 0.3.3 → 0.3.5

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 -196
  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 -222
  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 -13
  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,199 @@
1
+ import * as _ from "./module.f.js";
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
+ };
@@ -0,0 +1,134 @@
1
+ /**
2
+ * A vector of bits represented as a `bigint`.
3
+ */
4
+ type Vec = bigint;
5
+ /**
6
+ * An empty vector of bits.
7
+ */
8
+ export declare const empty = 1n;
9
+ /**
10
+ * Calculates the length of the given vector of bits.
11
+ */
12
+ export declare const length: (v: bigint) => bigint;
13
+ /**
14
+ * Creates a vector of bits of the given `len` and the given unsigned integer.
15
+ *
16
+ * @example
17
+ *
18
+ * ```js
19
+ * const vec4 = vec(4n)
20
+ * const v0 = vec4(5n) // 0x15n
21
+ * const v1 = vec4(0x5FEn) // 0x1En
22
+ * ```
23
+ */
24
+ export declare const vec: (len: bigint) => (ui: bigint) => Vec;
25
+ /**
26
+ * Returns the unsigned integer of the given vector by removing a stop bit.
27
+ *
28
+ * @example
29
+ *
30
+ * ```js
31
+ * const vector = vec(8n)(0x5n) // 0x105n
32
+ * const result = uint(vector); // result is 0x5n
33
+ * ```
34
+ */
35
+ export declare const uint: (v: Vec) => bigint;
36
+ /**
37
+ * Extract the least significant unsigned integer from the given vector.
38
+ *
39
+ * @example
40
+ *
41
+ * ```js
42
+ * const vector = vec(8n)(0xF5n) // 0x1F5n
43
+ * const result = uintLsb(4n)(vector); // result is 5n
44
+ * const result2 = uintLsb(16n)(vector); // result2 is 0xF5n
45
+ * ```
46
+ */
47
+ export declare const uintLsb: (len: bigint) => (v: Vec) => bigint;
48
+ /**
49
+ * Removes the first `len` least significant bits from the given vector.
50
+ *
51
+ * @example
52
+ *
53
+ * ```js
54
+ * const v = vec(16n)(0x3456n) // 0x13456n
55
+ * const r = removeLsb(4n)(v) // 0x1345n
56
+ * const r2 = removeLsb(24n)(v) // 0x1n
57
+ * ```
58
+ */
59
+ export declare const removeLsb: (len: bigint) => (v: Vec) => Vec;
60
+ /**
61
+ * Extracts the least significant unsigned integer and removes it from the vector.
62
+ *
63
+ * @example
64
+ *
65
+ * ```js
66
+ * const vector = vec(8n)(0xF5n) // 0x1F5n
67
+ * const [result, rest] = popUintLsb(4n)(vector); // result is 5n, rest is 0x1Fn
68
+ * const [result2, rest2] = popUintLsb(16n)(vector); // result2 is 0xF5n, rest2 is 1n
69
+ * ```
70
+ */
71
+ export declare const popUintLsb: (len: bigint) => (v: Vec) => readonly [bigint, Vec];
72
+ /**
73
+ * Extract the most significant unsigned integer of the given `len` from the given vector.
74
+ *
75
+ * @example
76
+ *
77
+ * ```js
78
+ * const vector = vec(8n)(0xF5n) // 0x1F5n
79
+ * const result = uintMsb(4n)(vector); // result is 0xFn
80
+ * const result2 = uintMsb(16n)(vector); // result2 is 0xF500n
81
+ * ```
82
+ */
83
+ export declare const uintMsb: (len: bigint) => (v: Vec) => bigint;
84
+ /**
85
+ * Removes the first `len` most significant bits from the given vector.
86
+ *
87
+ * @example
88
+ *
89
+ * ```js
90
+ * const v = vec(16n)(0x3456n) // 0x13456n
91
+ * const r = removeMsb(4n)(v) // 0x1456n
92
+ * const r2 = removeMsb(24n)(v) // 0x1n
93
+ * ```
94
+ */
95
+ export declare const removeMsb: (len: bigint) => (v: Vec) => Vec;
96
+ /**
97
+ * Extracts the most significant unsigned integer and removes it from the vector.
98
+ *
99
+ * @example
100
+ *
101
+ * ```js
102
+ * const vector = vec(8n)(0xF5n) // 0x1F5n
103
+ * const [result, rest] = popUintMsb(4n)(vector); // [0xFn, 0x15n]
104
+ * const [result2, rest2] = popUintMsb(16n)(vector); // [0xF500n, 1n]
105
+ * ```
106
+ */
107
+ export declare const popUintMsb: (len: bigint) => (v: Vec) => readonly [bigint, Vec];
108
+ /**
109
+ * Concat the given vectors of bits. The first vector is the least significant.
110
+ *
111
+ * @example
112
+ *
113
+ * ```js
114
+ * const u8 = vec(8n)
115
+ * const a = u8(0x45n) // 0x145n
116
+ * const b = u8(0x89n) // 0x189n
117
+ * const ab = concatLsb(a)(b) // 0x18945n
118
+ * ```
119
+ */
120
+ export declare const concatLsb: (a: Vec) => (b: Vec) => Vec;
121
+ /**
122
+ * Concat the given vectors of bits. The first vector is the most significant.
123
+ *
124
+ * @example
125
+ *
126
+ * ```js
127
+ * const u8 = vec(8n)
128
+ * const a = u8(0x45n) // 0x145n
129
+ * const b = u8(0x89n) // 0x189n
130
+ * const ab = concatMsb(a)(b) // 0x14589n
131
+ * ```
132
+ */
133
+ export declare const concatMsb: (b: Vec) => (a: Vec) => Vec;
134
+ export {};
@@ -1,21 +1,13 @@
1
- import { log2 } from '../bigint/module.f.ts'
2
- import { flip } from '../function/module.f.ts'
3
-
4
- /**
5
- * A vector of bits represented as a `bigint`.
6
- */
7
- type Vec = bigint
8
-
1
+ import { log2 } from "../bigint/module.f.js";
2
+ import { flip } from "../function/module.f.js";
9
3
  /**
10
4
  * An empty vector of bits.
11
5
  */
12
- export const empty = 1n
13
-
6
+ export const empty = 1n;
14
7
  /**
15
8
  * Calculates the length of the given vector of bits.
16
9
  */
17
- export const length = log2
18
-
10
+ export const length = log2;
19
11
  /**
20
12
  * Creates a vector of bits of the given `len` and the given unsigned integer.
21
13
  *
@@ -27,15 +19,15 @@ export const length = log2
27
19
  * const v1 = vec4(0x5FEn) // 0x1En
28
20
  * ```
29
21
  */
30
- export const vec = (len: bigint): (ui: bigint) => Vec => {
31
- if (len <= 0n) { return () => empty }
32
- const stop = 1n << len
33
- const mask = stop - 1n
34
- return data => stop | (data & mask)
35
- }
36
-
37
- const mask = (len: bigint) => (1n << len) - 1n
38
-
22
+ export const vec = (len) => {
23
+ if (len <= 0n) {
24
+ return () => empty;
25
+ }
26
+ const stop = 1n << len;
27
+ const mask = stop - 1n;
28
+ return data => stop | (data & mask);
29
+ };
30
+ const mask = (len) => (1n << len) - 1n;
39
31
  /**
40
32
  * Returns the unsigned integer of the given vector by removing a stop bit.
41
33
  *
@@ -46,8 +38,7 @@ const mask = (len: bigint) => (1n << len) - 1n
46
38
  * const result = uint(vector); // result is 0x5n
47
39
  * ```
48
40
  */
49
- export const uint = (v: Vec): bigint => v ^ (1n << length(v))
50
-
41
+ export const uint = (v) => v ^ (1n << length(v));
51
42
  /**
52
43
  * Extract the least significant unsigned integer from the given vector.
53
44
  *
@@ -59,14 +50,13 @@ export const uint = (v: Vec): bigint => v ^ (1n << length(v))
59
50
  * const result2 = uintLsb(16n)(vector); // result2 is 0xF5n
60
51
  * ```
61
52
  */
62
- export const uintLsb = (len: bigint): (v: Vec) => bigint => {
63
- const m = mask(len)
53
+ export const uintLsb = (len) => {
54
+ const m = mask(len);
64
55
  return v => {
65
- const result = v & m
66
- return result === v ? uint(v) : result
67
- }
68
- }
69
-
56
+ const result = v & m;
57
+ return result === v ? uint(v) : result;
58
+ };
59
+ };
70
60
  /**
71
61
  * Removes the first `len` least significant bits from the given vector.
72
62
  *
@@ -78,11 +68,10 @@ export const uintLsb = (len: bigint): (v: Vec) => bigint => {
78
68
  * const r2 = removeLsb(24n)(v) // 0x1n
79
69
  * ```
80
70
  */
81
- export const removeLsb = (len: bigint) => (v: Vec): Vec => {
82
- const r = v >> len
83
- return r === 0n ? empty : r
84
- }
85
-
71
+ export const removeLsb = (len) => (v) => {
72
+ const r = v >> len;
73
+ return r === 0n ? empty : r;
74
+ };
86
75
  /**
87
76
  * Extracts the least significant unsigned integer and removes it from the vector.
88
77
  *
@@ -94,14 +83,13 @@ export const removeLsb = (len: bigint) => (v: Vec): Vec => {
94
83
  * const [result2, rest2] = popUintLsb(16n)(vector); // result2 is 0xF5n, rest2 is 1n
95
84
  * ```
96
85
  */
97
- export const popUintLsb = (len: bigint): (v: Vec) => readonly[bigint, Vec] => {
98
- const m = mask(len)
86
+ export const popUintLsb = (len) => {
87
+ const m = mask(len);
99
88
  return v => {
100
- const result = v & m
101
- return result === v ? [uint(v), empty] : [result, v >> len]
102
- }
103
- }
104
-
89
+ const result = v & m;
90
+ return result === v ? [uint(v), empty] : [result, v >> len];
91
+ };
92
+ };
105
93
  /**
106
94
  * Extract the most significant unsigned integer of the given `len` from the given vector.
107
95
  *
@@ -113,11 +101,10 @@ export const popUintLsb = (len: bigint): (v: Vec) => readonly[bigint, Vec] => {
113
101
  * const result2 = uintMsb(16n)(vector); // result2 is 0xF500n
114
102
  * ```
115
103
  */
116
- export const uintMsb = (len: bigint): (v: Vec) => bigint => {
117
- const m = mask(len)
118
- return v => (v >> (length(v) - len)) & m
119
- }
120
-
104
+ export const uintMsb = (len) => {
105
+ const m = mask(len);
106
+ return v => (v >> (length(v) - len)) & m;
107
+ };
121
108
  /**
122
109
  * Removes the first `len` most significant bits from the given vector.
123
110
  *
@@ -129,8 +116,7 @@ export const uintMsb = (len: bigint): (v: Vec) => bigint => {
129
116
  * const r2 = removeMsb(24n)(v) // 0x1n
130
117
  * ```
131
118
  */
132
- export const removeMsb = (len: bigint) => (v: Vec): Vec => vec(length(v) - len)(v)
133
-
119
+ export const removeMsb = (len) => (v) => vec(length(v) - len)(v);
134
120
  /**
135
121
  * Extracts the most significant unsigned integer and removes it from the vector.
136
122
  *
@@ -142,14 +128,13 @@ export const removeMsb = (len: bigint) => (v: Vec): Vec => vec(length(v) - len)(
142
128
  * const [result2, rest2] = popUintMsb(16n)(vector); // [0xF500n, 1n]
143
129
  * ```
144
130
  */
145
- export const popUintMsb = (len: bigint): (v: Vec) => readonly[bigint, Vec] => {
146
- const m = mask(len)
131
+ export const popUintMsb = (len) => {
132
+ const m = mask(len);
147
133
  return v => {
148
- const d = length(v) - len
149
- return [(v >> d) & m, vec(d)(v)]
150
- }
151
- }
152
-
134
+ const d = length(v) - len;
135
+ return [(v >> d) & m, vec(d)(v)];
136
+ };
137
+ };
153
138
  /**
154
139
  * Concat the given vectors of bits. The first vector is the least significant.
155
140
  *
@@ -162,12 +147,11 @@ export const popUintMsb = (len: bigint): (v: Vec) => readonly[bigint, Vec] => {
162
147
  * const ab = concatLsb(a)(b) // 0x18945n
163
148
  * ```
164
149
  */
165
- export const concatLsb = (a: Vec): (b: Vec) => Vec => {
166
- const aLen = length(a)
167
- const m = mask(aLen)
168
- return b => (b << aLen) | (a & m)
169
- }
170
-
150
+ export const concatLsb = (a) => {
151
+ const aLen = length(a);
152
+ const m = mask(aLen);
153
+ return b => (b << aLen) | (a & m);
154
+ };
171
155
  /**
172
156
  * Concat the given vectors of bits. The first vector is the most significant.
173
157
  *
@@ -180,6 +164,4 @@ export const concatLsb = (a: Vec): (b: Vec) => Vec => {
180
164
  * const ab = concatMsb(a)(b) // 0x14589n
181
165
  * ```
182
166
  */
183
- export const concatMsb
184
- : (b: Vec) => (a: Vec) => Vec
185
- = flip(concatLsb)
167
+ export const concatMsb = flip(concatLsb);
@@ -0,0 +1,22 @@
1
+ declare const _default: {
2
+ examples: {
3
+ vec: () => void;
4
+ uint: () => void;
5
+ uintLsb: () => void;
6
+ uintMsb: () => void;
7
+ popUintLsb: () => void;
8
+ popUintMsb: () => void;
9
+ concatLsb: () => void;
10
+ concatMsb: () => void;
11
+ removeLsb: () => void;
12
+ removeMsb: () => void;
13
+ };
14
+ uintLsb: () => void;
15
+ uintSmall: () => void;
16
+ vecExample: () => void;
17
+ length: () => void;
18
+ bitset: () => void;
19
+ appendBack: () => void;
20
+ removeBack: () => void;
21
+ };
22
+ export default _default;