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,210 @@
1
+ import { empty, vec, length, concatLsb, uintLsb, uintMsb, removeLsb, concatMsb, removeMsb, uint, popUintLsb, popUintMsb } from "./module.f.js";
2
+ export default {
3
+ examples: {
4
+ vec: () => {
5
+ const vec4 = vec(4n);
6
+ const v0 = vec4(5n); // 0x15n
7
+ if (v0 !== 0x15n) {
8
+ throw v0;
9
+ }
10
+ const v1 = vec4(0x5fen); // 0x1En
11
+ if (v1 !== 0x1en) {
12
+ throw v1;
13
+ }
14
+ },
15
+ uint: () => {
16
+ const vector = vec(8n)(0x5n); // 0x105n
17
+ if (vector !== 0x105n) {
18
+ throw vector;
19
+ }
20
+ const result = uint(vector); // result is 0x5n
21
+ if (result !== 0x5n) {
22
+ throw result;
23
+ }
24
+ },
25
+ uintLsb: () => {
26
+ const vector = vec(8n)(0xf5n); // 0x1F5n
27
+ if (vector !== 0x1f5n) {
28
+ throw vector;
29
+ }
30
+ const result = uintLsb(4n)(vector); // result is 5n
31
+ if (result !== 5n) {
32
+ throw result;
33
+ }
34
+ const result2 = uintLsb(16n)(vector); // result2 is 0xF5n
35
+ if (result2 !== 0xf5n) {
36
+ throw result2;
37
+ }
38
+ },
39
+ uintMsb: () => {
40
+ const vector = vec(8n)(0xf5n); // 0x1F5n
41
+ if (vector !== 0x1f5n) {
42
+ throw vector;
43
+ }
44
+ const result = uintMsb(4n)(vector); // result is 0xFn
45
+ if (result !== 0xfn) {
46
+ throw result;
47
+ }
48
+ const result2 = uintMsb(16n)(vector); // result2 is 0xF500n
49
+ if (result2 !== 0xf500n) {
50
+ throw result2;
51
+ }
52
+ },
53
+ popUintLsb: () => {
54
+ const vector = vec(8n)(0xf5n); // 0x1F5n
55
+ const [result, rest] = popUintLsb(4n)(vector); // result is 5n, rest is 0x1Fn
56
+ if (result !== 5n) {
57
+ throw result;
58
+ }
59
+ if (rest !== 0x1fn) {
60
+ throw rest;
61
+ }
62
+ const [result2, rest2] = popUintLsb(16n)(vector); // result2 is 0xF5n, rest2 is 1n
63
+ if (result2 !== 0xf5n) {
64
+ throw result2;
65
+ }
66
+ if (rest2 !== 1n) {
67
+ throw rest2;
68
+ }
69
+ },
70
+ popUintMsb: () => {
71
+ const vector = vec(8n)(0xf5n); // 0x1F5n
72
+ const [result, rest] = popUintMsb(4n)(vector); // [0xFn, 0x15n]
73
+ if (result !== 0xfn) {
74
+ throw result;
75
+ }
76
+ if (rest !== 0x15n) {
77
+ throw rest;
78
+ }
79
+ const [result2, rest2] = popUintMsb(16n)(vector); // [0xF500n, 1n]
80
+ if (result2 !== 0xf500n) {
81
+ throw result2;
82
+ }
83
+ if (rest2 !== 1n) {
84
+ throw rest2;
85
+ }
86
+ },
87
+ concatLsb: () => {
88
+ const u8 = vec(8n);
89
+ const a = u8(0x45n); // 0x145n
90
+ if (a !== 0x145n) {
91
+ throw a;
92
+ }
93
+ const b = u8(0x89n); // 0x189n
94
+ if (b !== 0x189n) {
95
+ throw b;
96
+ }
97
+ const ab = concatLsb(a)(b); // 0x18945n
98
+ if (ab !== 0x18945n) {
99
+ throw ab;
100
+ }
101
+ },
102
+ concatMsb: () => {
103
+ const u8 = vec(8n);
104
+ const a = u8(0x45n); // 0x145n
105
+ if (a !== 0x145n) {
106
+ throw a;
107
+ }
108
+ const b = u8(0x89n); // 0x189n
109
+ if (b !== 0x189n) {
110
+ throw b;
111
+ }
112
+ const ab = concatMsb(a)(b); // 0x14589n
113
+ if (ab !== 0x14589n) {
114
+ throw ab;
115
+ }
116
+ },
117
+ removeLsb: () => {
118
+ const v = vec(16n)(0x3456n); // 0x13456n
119
+ if (v !== 0x13456n) {
120
+ throw v;
121
+ }
122
+ const r = removeLsb(4n)(v); // 0x1345n
123
+ if (r !== 0x1345n) {
124
+ throw r;
125
+ }
126
+ const r2 = removeLsb(24n)(v); // 0x1n
127
+ if (r2 !== 0x1n) {
128
+ throw r2;
129
+ }
130
+ },
131
+ removeMsb: () => {
132
+ const v = vec(16n)(0x3456n); // 0x13456n
133
+ if (v !== 0x13456n) {
134
+ throw v;
135
+ }
136
+ const r = removeMsb(4n)(v); // 0x1456n
137
+ if (r !== 0x1456n) {
138
+ throw r;
139
+ }
140
+ const r2 = removeMsb(24n)(v); // 0x1n
141
+ if (r2 !== 0x1n) {
142
+ throw r2;
143
+ }
144
+ }
145
+ },
146
+ uintLsb: () => {
147
+ const vector = 117n;
148
+ const extract3Bits = uintLsb(3n);
149
+ const result = extract3Bits(vector); // result is 0b101n (5n)
150
+ if (result !== 5n) {
151
+ throw result;
152
+ }
153
+ },
154
+ uintSmall: () => {
155
+ const vector = 3n;
156
+ const extract3Bits = uintLsb(3n)(vector);
157
+ if (extract3Bits !== 1n) {
158
+ throw extract3Bits;
159
+ }
160
+ },
161
+ vecExample: () => {
162
+ const createVector = vec(4n);
163
+ const vector = createVector(5n); // vector is 0b10101n
164
+ if (vector !== 21n) {
165
+ throw vector;
166
+ }
167
+ },
168
+ length: () => {
169
+ const i = length(empty);
170
+ if (i !== 0n) {
171
+ throw i;
172
+ }
173
+ },
174
+ bitset: () => {
175
+ const v = vec(8n)(0x5fen);
176
+ if (v !== 0x1fen) {
177
+ throw v;
178
+ }
179
+ if (length(v) !== 8n) {
180
+ throw 'len';
181
+ }
182
+ const u = uintLsb(8n)(v);
183
+ if (u !== 0xfen) {
184
+ throw v;
185
+ }
186
+ },
187
+ appendBack: () => {
188
+ const vec8 = vec(8n);
189
+ const a = vec8(0x345n);
190
+ const b = vec8(0x789n);
191
+ const ab = concatLsb(a)(b);
192
+ if (ab !== 0x18945n) {
193
+ throw ab;
194
+ }
195
+ const s = length(ab);
196
+ if (s !== 16n) {
197
+ throw `appendBack: ${s}`;
198
+ }
199
+ },
200
+ removeBack: () => {
201
+ const v = vec(17n)(0x12345n);
202
+ if (v !== 0x32345n) {
203
+ throw v.toString(16);
204
+ }
205
+ const r = removeLsb(9n)(v);
206
+ if (r !== 0x191n) {
207
+ throw r.toString(16);
208
+ }
209
+ }
210
+ };
@@ -0,0 +1,20 @@
1
+ import * as _ from '../types/module.f.ts';
2
+ import * as List from '../../list/module.f.ts';
3
+ import * as cmp from '../../function/compare/module.f.ts';
4
+ type FirstLeaf1<T> = readonly [cmp.Index3, _.Leaf1<T>];
5
+ type FirstBranch3<T> = readonly [1, _.Branch3<T>];
6
+ type FirstLeaf2<T> = readonly [cmp.Index5, _.Leaf2<T>];
7
+ type FirstBranch5<T> = readonly [1 | 3, _.Branch5<T>];
8
+ type First<T> = FirstLeaf1<T> | FirstBranch3<T> | FirstLeaf2<T> | FirstBranch5<T>;
9
+ type PathItem3<T> = readonly [0 | 2, _.Branch3<T>];
10
+ type PathItem5<T> = readonly [0 | 2 | 4, _.Branch5<T>];
11
+ export type PathItem<T> = PathItem3<T> | PathItem5<T>;
12
+ export type Path<T> = List.List<PathItem<T>>;
13
+ export type Result<T> = {
14
+ readonly first: First<T>;
15
+ readonly tail: Path<T>;
16
+ };
17
+ export declare const find: <T>(c: cmp.Compare<T>) => (node: _.TNode<T>) => Result<T>;
18
+ export declare const isFound: <T>([i]: First<T>) => boolean;
19
+ export declare const value: <T>([i, r]: First<T>) => T | null;
20
+ export {};
@@ -0,0 +1,84 @@
1
+ import * as _ from "../types/module.f.js";
2
+ import * as List from "../../list/module.f.js";
3
+ import * as cmp from "../../function/compare/module.f.js";
4
+ const { index3, index5 } = cmp;
5
+ import * as Array from "../../array/module.f.js";
6
+ const child = (item) => item[1][item[0]];
7
+ export const find = (c) => {
8
+ const i3 = index3(c);
9
+ const i5 = index5(c);
10
+ const f = (tail) => (node) => {
11
+ const append = index => {
12
+ const first = [index, node];
13
+ return f({ first, tail })(child(first));
14
+ };
15
+ const done = index => ({ first: [index, node], tail });
16
+ switch (node.length) {
17
+ case 1: {
18
+ return done(i3(node[0]));
19
+ }
20
+ case 2: {
21
+ return done(i5(node));
22
+ }
23
+ case 3: {
24
+ const i = i3(node[1]);
25
+ switch (i) {
26
+ case 0:
27
+ case 2: {
28
+ return append(i);
29
+ }
30
+ case 1: {
31
+ return done(i);
32
+ }
33
+ }
34
+ }
35
+ case 5: {
36
+ const i = i5([node[1], node[3]]);
37
+ switch (i) {
38
+ case 0:
39
+ case 2:
40
+ case 4: {
41
+ return append(i);
42
+ }
43
+ case 1:
44
+ case 3: {
45
+ return done(i);
46
+ }
47
+ }
48
+ }
49
+ }
50
+ };
51
+ return f(null);
52
+ };
53
+ export const isFound = ([i]) => {
54
+ switch (i) {
55
+ case 1:
56
+ case 3: {
57
+ return true;
58
+ }
59
+ default: {
60
+ return false;
61
+ }
62
+ }
63
+ };
64
+ export const value = ([i, r]) => {
65
+ switch (i) {
66
+ case 1: {
67
+ switch (r.length) {
68
+ case 1:
69
+ case 2: {
70
+ return r[0];
71
+ }
72
+ default: {
73
+ return r[1];
74
+ }
75
+ }
76
+ }
77
+ case 3: {
78
+ return r.length === 2 ? r[1] : r[3];
79
+ }
80
+ default: {
81
+ return null;
82
+ }
83
+ }
84
+ };
@@ -0,0 +1,2 @@
1
+ declare const test: () => void;
2
+ export default test;
@@ -0,0 +1,152 @@
1
+ import * as _ from "./module.f.js";
2
+ import * as list from "../../list/module.f.js";
3
+ import * as json from "../../../json/module.f.js";
4
+ import * as o from "../../object/module.f.js";
5
+ const { sort } = o;
6
+ import * as btree from "../types/module.f.js";
7
+ import * as string from "../../string/module.f.js";
8
+ const { cmp } = string;
9
+ import * as s from "../set/module.f.js";
10
+ const jsonStr = json.stringify(sort);
11
+ const set = node => value => s.set(cmp(value))(() => value)(node);
12
+ const str = r => jsonStr(list.toArray(list.map((x) => x[0])(r)));
13
+ const find = i => m => str(_.find(cmp(i))(m));
14
+ const test = () => {
15
+ let _map = ['1'];
16
+ for (let i = 2; i <= 10; i++)
17
+ _map = set(_map)((i * i).toString());
18
+ {
19
+ const s = jsonStr(_map);
20
+ if (s !== '[[["1","100"],"16",["25","36"]],"4",[["49"],"64",["81","9"]]]') {
21
+ throw s;
22
+ }
23
+ }
24
+ //
25
+ {
26
+ const r = find("0")(_map);
27
+ if (r !== '[0,0,0]') {
28
+ throw r;
29
+ }
30
+ }
31
+ {
32
+ const r = find("1")(_map);
33
+ if (r !== '[1,0,0]') {
34
+ throw r;
35
+ }
36
+ }
37
+ {
38
+ const r = find("10")(_map);
39
+ if (r !== '[2,0,0]') {
40
+ throw r;
41
+ }
42
+ }
43
+ {
44
+ const r = find("100")(_map);
45
+ if (r !== '[3,0,0]') {
46
+ throw r;
47
+ }
48
+ }
49
+ {
50
+ const r = find("12")(_map);
51
+ if (r !== '[4,0,0]') {
52
+ throw r;
53
+ }
54
+ }
55
+ {
56
+ const r = find("16")(_map);
57
+ if (r !== '[1,0]') {
58
+ throw r;
59
+ }
60
+ }
61
+ {
62
+ const r = find("17")(_map);
63
+ if (r !== '[0,2,0]') {
64
+ throw r;
65
+ }
66
+ }
67
+ {
68
+ const r = find("25")(_map);
69
+ if (r !== '[1,2,0]') {
70
+ throw r;
71
+ }
72
+ }
73
+ {
74
+ const r = find("26")(_map);
75
+ if (r !== '[2,2,0]') {
76
+ throw r;
77
+ }
78
+ }
79
+ {
80
+ const r = find("36")(_map);
81
+ if (r !== '[3,2,0]') {
82
+ throw r;
83
+ }
84
+ }
85
+ {
86
+ const r = find("37")(_map);
87
+ if (r !== '[4,2,0]') {
88
+ throw r;
89
+ }
90
+ }
91
+ {
92
+ const r = find("4")(_map);
93
+ if (r !== '[1]') {
94
+ throw r;
95
+ }
96
+ }
97
+ {
98
+ const r = find("41")(_map);
99
+ if (r !== '[0,0,2]') {
100
+ throw r;
101
+ }
102
+ }
103
+ {
104
+ const r = find("49")(_map);
105
+ if (r !== '[1,0,2]') {
106
+ throw r;
107
+ }
108
+ }
109
+ {
110
+ const r = find("5")(_map);
111
+ if (r !== '[2,0,2]') {
112
+ throw r;
113
+ }
114
+ }
115
+ {
116
+ const r = find("64")(_map);
117
+ if (r !== '[1,2]') {
118
+ throw r;
119
+ }
120
+ }
121
+ {
122
+ const r = find("65")(_map);
123
+ if (r !== '[0,2,2]') {
124
+ throw r;
125
+ }
126
+ }
127
+ {
128
+ const r = find("81")(_map);
129
+ if (r !== '[1,2,2]') {
130
+ throw r;
131
+ }
132
+ }
133
+ {
134
+ const r = find("85")(_map);
135
+ if (r !== '[2,2,2]') {
136
+ throw r;
137
+ }
138
+ }
139
+ {
140
+ const r = find("9")(_map);
141
+ if (r !== '[3,2,2]') {
142
+ throw r;
143
+ }
144
+ }
145
+ {
146
+ const r = find("91")(_map);
147
+ if (r !== '[4,2,2]') {
148
+ throw r;
149
+ }
150
+ }
151
+ };
152
+ export default test;
@@ -0,0 +1,4 @@
1
+ import * as list from '../list/module.f.ts';
2
+ import * as _ from './types/module.f.ts';
3
+ export declare const empty: null;
4
+ export declare const values: <T>(tree: _.Tree<T>) => list.List<T>;
@@ -0,0 +1,31 @@
1
+ import * as list from "../list/module.f.js";
2
+ const { flat } = list;
3
+ import * as n from "../nullable/module.f.js";
4
+ const { map } = n;
5
+ import * as _ from "./types/module.f.js";
6
+ const nodeValues = node => () => {
7
+ switch (node.length) {
8
+ case 1:
9
+ case 2: {
10
+ return node;
11
+ }
12
+ case 3: {
13
+ return flat([
14
+ nodeValues(node[0]),
15
+ [node[1]],
16
+ nodeValues(node[2])
17
+ ]);
18
+ }
19
+ default: {
20
+ return flat([
21
+ nodeValues(node[0]),
22
+ [node[1]],
23
+ nodeValues(node[2]),
24
+ [node[3]],
25
+ nodeValues(node[4])
26
+ ]);
27
+ }
28
+ }
29
+ };
30
+ export const empty = null;
31
+ export const values = map(nodeValues);
@@ -0,0 +1,4 @@
1
+ import * as _ from '../types/module.f.ts';
2
+ import * as Cmp from '../../function/compare/module.f.ts';
3
+ export declare const nodeRemove: <T>(c: Cmp.Compare<T>) => (node: _.TNode<T>) => _.Tree<T>;
4
+ export declare const remove: <T>(c: Cmp.Compare<T>) => (tree: _.Tree<T>) => _.Tree<T>;
@@ -0,0 +1,174 @@
1
+ import * as _ from "../types/module.f.js";
2
+ import * as Cmp from "../../function/compare/module.f.js";
3
+ import * as find from "../find/module.f.js";
4
+ import * as list from "../../list/module.f.js";
5
+ const { fold, concat, next } = list;
6
+ import * as Array from "../../array/module.f.js";
7
+ import * as n from "../../nullable/module.f.js";
8
+ const { map } = n;
9
+ const path = tail => n => {
10
+ switch (n.length) {
11
+ case 1: {
12
+ return [n[0], { first: null, tail }];
13
+ }
14
+ case 2: {
15
+ return [n[0], { first: [n[1]], tail }];
16
+ }
17
+ case 3: {
18
+ return path({ first: [0, n], tail })(n[0]);
19
+ }
20
+ case 5: {
21
+ return path({ first: [0, n], tail })(n[0]);
22
+ }
23
+ }
24
+ };
25
+ const reduceValue0 = a => n => {
26
+ const [, v1, n2] = n;
27
+ if (a.length === 1) {
28
+ switch (n2.length) {
29
+ case 3: {
30
+ return [[a[0], v1, ...n2]];
31
+ }
32
+ case 5: {
33
+ return [[a[0], v1, n2[0]], n2[1], [n2[2], n2[3], n2[4]]];
34
+ }
35
+ default: {
36
+ throw 'invalid node';
37
+ }
38
+ }
39
+ }
40
+ else {
41
+ return [a, v1, n2];
42
+ }
43
+ };
44
+ const reduceValue2 = a => n => {
45
+ const [n0, v1,] = n;
46
+ if (a.length === 1) {
47
+ switch (n0.length) {
48
+ case 3: {
49
+ return [[...n0, v1, a[0]]];
50
+ }
51
+ case 5: {
52
+ return [[n0[0], n0[1], n0[2]], n0[3], [n0[4], v1, a[0]]];
53
+ }
54
+ default: {
55
+ throw 'invalid node';
56
+ }
57
+ }
58
+ }
59
+ else {
60
+ return [n0, v1, a];
61
+ }
62
+ };
63
+ const initValue0 = a => n => {
64
+ const [, v1, n2] = n;
65
+ if (a === null) {
66
+ switch (n2.length) {
67
+ case 1: {
68
+ return [[v1, ...n2]];
69
+ }
70
+ case 2: {
71
+ return [[v1], n2[0], [n2[1]]];
72
+ }
73
+ default: {
74
+ throw 'invalid node';
75
+ }
76
+ }
77
+ }
78
+ else {
79
+ return [a, v1, n2];
80
+ }
81
+ };
82
+ const initValue1 = a => n => {
83
+ const [n0, v1] = n;
84
+ if (a === null) {
85
+ switch (n0.length) {
86
+ case 1: {
87
+ return [[...n0, v1]];
88
+ }
89
+ case 2: {
90
+ return [[n0[0]], n0[1], [v1]];
91
+ }
92
+ default: {
93
+ throw 'invalid node';
94
+ }
95
+ }
96
+ }
97
+ else {
98
+ return [n0, v1, a];
99
+ }
100
+ };
101
+ const reduceX = (ms) => ([i, n]) => (a) => {
102
+ const [m0, m2] = ms;
103
+ const f = m => {
104
+ const ra = m(a);
105
+ return n.length === 3 ? ra(n) : [...ra([n[0], n[1], n[2]]), n[3], n[4]];
106
+ };
107
+ switch (i) {
108
+ case 0: {
109
+ return f(m0);
110
+ }
111
+ case 2: {
112
+ return f(m2);
113
+ }
114
+ case 4: {
115
+ return [n[0], n[1], ...m2(a)([n[2], n[3], n[4]])];
116
+ }
117
+ }
118
+ };
119
+ const reduce = fold(reduceX([reduceValue0, reduceValue2]));
120
+ const initReduce = reduceX([initValue0, initValue1]);
121
+ export const nodeRemove = (c) => (node) => {
122
+ const f = () => {
123
+ const { first, tail } = find.find(c)(node);
124
+ const branch = n => f => {
125
+ const [v, p] = path(null)(n);
126
+ return { first: p.first, tail: concat(p.tail)({ first: f(v), tail }) };
127
+ };
128
+ const [i, n] = first;
129
+ switch (i) {
130
+ case 1: {
131
+ switch (n.length) {
132
+ case 1: {
133
+ return { first: null, tail };
134
+ }
135
+ case 2: {
136
+ return { first: [n[1]], tail };
137
+ }
138
+ case 3: {
139
+ return branch(n[2])(v => [2, [n[0], v, n[2]]]);
140
+ }
141
+ case 5: {
142
+ return branch(n[2])(v => [2, [n[0], v, n[2], n[3], n[4]]]);
143
+ }
144
+ }
145
+ }
146
+ case 3: {
147
+ switch (n.length) {
148
+ case 2: {
149
+ return { first: [n[0]], tail };
150
+ }
151
+ case 5: {
152
+ return branch(n[4])(v => [4, [n[0], n[1], n[2], v, n[4]]]);
153
+ }
154
+ }
155
+ }
156
+ default: {
157
+ return null;
158
+ }
159
+ }
160
+ };
161
+ const r = f();
162
+ if (r === null) {
163
+ return node;
164
+ }
165
+ const { first, tail } = r;
166
+ const tailR = next(tail);
167
+ if (tailR === null) {
168
+ return first;
169
+ }
170
+ const { first: tf, tail: tt } = tailR;
171
+ const result = reduce(initReduce(tf)(first))(tt);
172
+ return result.length === 1 ? result[0] : result;
173
+ };
174
+ export const remove = c => map(nodeRemove(c));
@@ -0,0 +1,5 @@
1
+ declare const _default: {
2
+ test: () => void;
3
+ test2: () => void;
4
+ };
5
+ export default _default;