functionalscript 0.36.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/README.md +1 -1
  2. package/{fs → fjs}/asn.1/module.f.js +1 -1
  3. package/{fs → fjs}/asn.1/proof.f.js +32 -94
  4. package/fjs/asserts/module.f.d.ts +36 -0
  5. package/fjs/asserts/module.f.js +39 -0
  6. package/fjs/asserts/proof.f.d.ts +11 -0
  7. package/fjs/asserts/proof.f.js +18 -0
  8. package/{fs → fjs}/base_n/module.f.js +3 -3
  9. package/{fs → fjs}/base_n/proof.f.js +15 -39
  10. package/{fs → fjs/basen}/base128/module.f.d.ts +1 -1
  11. package/{fs → fjs/basen}/base128/module.f.js +1 -1
  12. package/{fs → fjs/basen}/base128/proof.f.js +3 -3
  13. package/{fs → fjs/basen}/base64/module.f.d.ts +2 -2
  14. package/{fs → fjs/basen}/base64/module.f.js +25 -15
  15. package/{fs → fjs/basen}/base64/proof.f.d.ts +2 -0
  16. package/{fs → fjs/basen}/base64/proof.f.js +26 -6
  17. package/{fs → fjs/basen}/cbase32/module.f.d.ts +2 -2
  18. package/{fs → fjs/basen}/cbase32/module.f.js +2 -2
  19. package/{fs → fjs/basen}/cbase32/proof.f.js +16 -43
  20. package/fjs/bnf/data/module.f.d.ts +52 -0
  21. package/{fs → fjs}/bnf/data/module.f.js +56 -6
  22. package/{fs → fjs}/bnf/data/proof.f.d.ts +1 -0
  23. package/{fs → fjs}/bnf/data/proof.f.js +59 -24
  24. package/{fs → fjs}/bnf/descent/module.f.d.ts +4 -14
  25. package/fjs/bnf/descent/module.f.js +124 -0
  26. package/{fs → fjs}/bnf/descent/proof.f.d.ts +1 -0
  27. package/{fs → fjs}/bnf/descent/proof.f.js +59 -28
  28. package/{fs → fjs}/bnf/ll1/module.f.d.ts +4 -4
  29. package/{fs → fjs}/bnf/ll1/module.f.js +15 -13
  30. package/{fs → fjs}/bnf/ll1/proof.f.d.ts +1 -0
  31. package/{fs → fjs}/bnf/ll1/proof.f.js +33 -16
  32. package/{fs → fjs}/bnf/module.f.d.ts +19 -5
  33. package/{fs → fjs}/bnf/module.f.js +14 -15
  34. package/fjs/bnf/proof.f.js +69 -0
  35. package/{fs → fjs}/bnf/testlib.f.js +2 -2
  36. package/{fs → fjs}/cas/cli/module.f.js +7 -7
  37. package/{fs → fjs}/cas/cli/proof.f.d.ts +4 -1
  38. package/{fs → fjs}/cas/cli/proof.f.js +37 -74
  39. package/fjs/cas/evo/mcp/module.f.d.ts +19 -0
  40. package/fjs/cas/evo/mcp/module.f.js +56 -0
  41. package/fjs/cas/evo/mcp/proof.f.d.ts +9 -0
  42. package/fjs/cas/evo/mcp/proof.f.js +95 -0
  43. package/fjs/cas/evo/module.f.d.ts +138 -0
  44. package/fjs/cas/evo/module.f.js +309 -0
  45. package/fjs/cas/evo/proof.f.d.ts +32 -0
  46. package/fjs/cas/evo/proof.f.js +453 -0
  47. package/fjs/cas/mcp/module.f.d.ts +49 -0
  48. package/fjs/cas/mcp/module.f.js +267 -0
  49. package/{fs → fjs}/cas/mcp/proof.f.d.ts +7 -2
  50. package/{fs → fjs}/cas/mcp/proof.f.js +116 -60
  51. package/{fs → fjs}/cas/module.f.d.ts +10 -0
  52. package/{fs → fjs}/cas/module.f.js +36 -10
  53. package/{fs → fjs}/cas/proof.f.d.ts +8 -2
  54. package/{fs → fjs}/cas/proof.f.js +85 -94
  55. package/{fs → fjs}/ci/bun/module.f.js +2 -2
  56. package/{fs → fjs}/ci/common/module.f.d.ts +2 -2
  57. package/{fs → fjs}/ci/common/module.f.js +4 -4
  58. package/fjs/ci/config/module.f.d.ts +42 -0
  59. package/{fs → fjs}/ci/config/module.f.js +6 -8
  60. package/fjs/ci/deno/module.f.js +20 -0
  61. package/{fs → fjs}/ci/module.f.js +9 -9
  62. package/{fs → fjs}/ci/node/module.f.d.ts +1 -1
  63. package/{fs → fjs}/ci/node/module.f.js +3 -5
  64. package/{fs → fjs}/ci/playwright/module.f.js +3 -3
  65. package/{fs → fjs}/ci/proof.f.js +27 -22
  66. package/{fs → fjs}/ci/rust/module.f.js +11 -3
  67. package/{fs → fjs}/cli/module.f.js +3 -3
  68. package/{fs → fjs}/cli/proof.f.js +25 -66
  69. package/{fs/types → fjs/common}/monoid/module.f.d.ts +1 -1
  70. package/{fs/types → fjs/common}/monoid/proof.f.js +4 -9
  71. package/{fs → fjs}/crypto/hmac/module.f.js +2 -2
  72. package/{fs → fjs}/crypto/hmac/proof.f.js +9 -17
  73. package/{fs → fjs}/crypto/pow/module.f.js +3 -3
  74. package/fjs/crypto/pow/proof.f.js +111 -0
  75. package/{fs → fjs}/crypto/secp/module.f.js +2 -2
  76. package/{fs → fjs}/crypto/secp/proof.f.js +14 -35
  77. package/{fs → fjs}/crypto/sha2/module.f.js +2 -2
  78. package/{fs → fjs}/crypto/sha2/proof.f.js +23 -54
  79. package/{fs → fjs}/crypto/sign/module.f.d.ts +0 -5
  80. package/{fs → fjs}/crypto/sign/module.f.js +11 -8
  81. package/{fs → fjs}/crypto/sign/proof.f.js +36 -105
  82. package/{fs → fjs}/crypto/vdf/module.f.js +1 -1
  83. package/{fs → fjs}/crypto/vdf/proof.f.js +23 -64
  84. package/{fs → fjs}/dev/module.f.js +6 -6
  85. package/{fs → fjs}/dev/package_json/module.f.js +6 -6
  86. package/{fs → fjs}/dev/package_json/proof.f.js +9 -9
  87. package/{fs → fjs}/dev/proof.f.js +3 -5
  88. package/{fs → fjs}/djs/ast/module.f.js +2 -2
  89. package/{fs → fjs}/djs/ast/proof.f.js +8 -16
  90. package/fjs/djs/examples/m.f.d.ts +2 -0
  91. package/{fs → fjs}/djs/module.f.d.ts +1 -1
  92. package/{fs → fjs}/djs/module.f.js +5 -5
  93. package/{fs → fjs}/djs/parser/module.f.d.ts +5 -0
  94. package/{fs → fjs}/djs/parser/module.f.js +24 -4
  95. package/{fs → fjs}/djs/parser/proof.f.js +145 -407
  96. package/{fs → fjs}/djs/proof.f.js +16 -39
  97. package/{fs → fjs}/djs/serializer/module.f.js +6 -6
  98. package/{fs → fjs}/djs/serializer/proof.f.js +18 -43
  99. package/fjs/djs/tokenizer/module.f.d.ts +24 -0
  100. package/fjs/djs/tokenizer/module.f.js +472 -0
  101. package/{fs/djs/tokenizer-new → fjs/djs/tokenizer}/proof.f.d.ts +4 -3
  102. package/{fs/djs/tokenizer-new → fjs/djs/tokenizer}/proof.f.js +447 -446
  103. package/{fs → fjs}/djs/transpiler/module.f.d.ts +5 -0
  104. package/{fs → fjs}/djs/transpiler/module.f.js +21 -11
  105. package/{fs → fjs}/djs/transpiler/proof.f.d.ts +3 -0
  106. package/fjs/djs/transpiler/proof.f.js +67 -0
  107. package/{fs → fjs}/effects/memory/module.f.js +4 -4
  108. package/{fs → fjs}/effects/memory/proof.f.js +11 -24
  109. package/{fs → fjs}/effects/module.f.js +1 -1
  110. package/{fs → fjs}/effects/node/memory/module.js +2 -2
  111. package/{fs → fjs}/effects/node/memory/proof.js +8 -15
  112. package/{fs → fjs}/effects/node/module.d.ts +1 -1
  113. package/{fs → fjs}/effects/node/module.f.d.ts +1 -1
  114. package/{fs → fjs}/effects/node/module.f.js +7 -7
  115. package/{fs → fjs}/effects/node/module.js +13 -13
  116. package/{fs → fjs}/effects/node/proof.f.d.ts +1 -0
  117. package/{fs → fjs}/effects/node/proof.f.js +106 -292
  118. package/{fs → fjs}/effects/node/virtual/module.f.js +7 -7
  119. package/{fs → fjs}/effects/node/virtual/proof.f.d.ts +2 -0
  120. package/{fs → fjs}/effects/node/virtual/proof.f.js +44 -30
  121. package/{fs → fjs}/effects/proof.f.js +18 -47
  122. package/fjs/emergent_testing/all.test.js +4 -0
  123. package/{fs → fjs}/emergent_testing/example.f.d.ts +1 -1
  124. package/{fs → fjs}/emergent_testing/module.f.js +6 -6
  125. package/{fs → fjs}/emergent_testing/proof.f.d.ts +19 -17
  126. package/{fs → fjs}/emergent_testing/proof.f.js +14 -14
  127. package/fjs/emergent_testing/scenarios/all.js +1 -0
  128. package/{fs → fjs}/fsc/bnf.f.js +2 -2
  129. package/{fs → fjs}/fsc/json.f.js +1 -1
  130. package/{fs → fjs}/fsc/module.f.js +7 -7
  131. package/{fs → fjs}/fsc/proof.f.js +16 -38
  132. package/{fs → fjs}/fsm/module.f.js +9 -9
  133. package/{fs → fjs}/fsm/proof.f.js +12 -19
  134. package/{fs → fjs}/js/tokenizer/module.f.js +7 -7
  135. package/{fs → fjs}/js/tokenizer/proof.f.js +5 -5
  136. package/{fs → fjs}/mcp/module.f.d.ts +20 -13
  137. package/{fs → fjs}/mcp/module.f.js +16 -9
  138. package/{fs → fjs}/mcp/proof.f.js +17 -17
  139. package/{fs → fjs}/mcp/stdio/module.f.d.ts +4 -4
  140. package/{fs → fjs}/mcp/stdio/module.f.js +12 -12
  141. package/{fs → fjs}/mcp/stdio/proof.f.js +10 -10
  142. package/{fs → fjs/media}/html/module.f.d.ts +3 -3
  143. package/{fs → fjs/media}/html/module.f.js +9 -9
  144. package/{fs → fjs/media}/html/proof.f.js +12 -33
  145. package/fjs/media/json/module.f.d.ts +50 -0
  146. package/{fs → fjs/media}/json/module.f.js +7 -7
  147. package/{fs → fjs/media}/json/parser/module.f.d.ts +7 -2
  148. package/{fs → fjs/media}/json/parser/module.f.js +21 -7
  149. package/{fs → fjs/media}/json/parser/proof.f.js +45 -120
  150. package/{fs → fjs/media}/json/proof.f.js +4 -4
  151. package/fjs/media/json/rpc/module.f.d.ts +114 -0
  152. package/{fs → fjs/media}/json/rpc/module.f.js +4 -4
  153. package/{fs → fjs/media}/json/rpc/proof.f.js +4 -4
  154. package/fjs/media/json/schema/module.f.d.ts +78 -0
  155. package/{fs → fjs/media}/json/schema/module.f.js +25 -41
  156. package/{fs → fjs/media}/json/schema/proof.f.js +6 -9
  157. package/{fs → fjs/media}/json/serializer/module.f.d.ts +1 -1
  158. package/{fs → fjs/media}/json/serializer/module.f.js +2 -2
  159. package/{fs → fjs/media}/json/serializer/proof.f.js +12 -29
  160. package/{fs → fjs/media}/json/tokenizer/module.f.d.ts +2 -2
  161. package/{fs → fjs/media}/json/tokenizer/module.f.js +4 -4
  162. package/{fs → fjs/media}/json/tokenizer/proof.f.js +5 -5
  163. package/fjs/media/module.f.d.ts +37 -0
  164. package/fjs/media/module.f.js +23 -0
  165. package/fjs/media/proof.f.d.ts +9 -0
  166. package/fjs/media/proof.f.js +58 -0
  167. package/fjs/media/revision/module.f.d.ts +78 -0
  168. package/fjs/media/revision/module.f.js +122 -0
  169. package/fjs/media/revision/proof.f.d.ts +31 -0
  170. package/fjs/media/revision/proof.f.js +140 -0
  171. package/{fs/mime → fjs/media/type}/module.f.d.ts +6 -6
  172. package/{fs/mime → fjs/media/type}/module.f.js +6 -6
  173. package/{fs/mime → fjs/media/type}/proof.f.js +8 -12
  174. package/fjs/module.f.d.ts +2 -0
  175. package/{fs/fjs → fjs}/module.f.js +9 -9
  176. package/fjs/module.js +4 -0
  177. package/{fs → fjs}/path/module.f.js +2 -2
  178. package/{fs → fjs}/path/proof.f.js +27 -78
  179. package/{fs/fjs → fjs}/proof.f.js +6 -4
  180. package/{fs → fjs}/sul/id/module.f.js +9 -9
  181. package/{fs → fjs}/sul/id/proof.f.js +12 -26
  182. package/{fs → fjs}/sul/level/hash/module.f.js +3 -3
  183. package/{fs → fjs}/sul/level/hash/proof.f.js +8 -8
  184. package/{fs → fjs}/sul/level/literal/module.f.js +5 -5
  185. package/{fs → fjs}/sul/level/literal/proof.f.js +15 -29
  186. package/{fs → fjs}/sul/module.f.js +3 -3
  187. package/{fs → fjs}/sul/proof.f.js +3 -3
  188. package/fjs/text/ascii/proof.f.d.ts +6 -0
  189. package/fjs/text/ascii/proof.f.js +14 -0
  190. package/{fs → fjs}/text/code_point/module.f.js +12 -12
  191. package/{fs → fjs}/text/code_point/proof.f.js +1 -1
  192. package/{fs → fjs}/text/module.f.js +5 -5
  193. package/{fs → fjs}/text/proof.f.js +7 -12
  194. package/{fs → fjs}/text/sgr/module.f.js +2 -2
  195. package/{fs → fjs}/text/sgr/proof.f.js +8 -17
  196. package/{fs → fjs}/text/utf16/module.f.js +6 -6
  197. package/{fs → fjs}/text/utf16/proof.f.js +27 -70
  198. package/{fs → fjs}/text/utf8/module.f.js +22 -17
  199. package/{fs → fjs}/text/utf8/proof.f.js +59 -128
  200. package/{fs → fjs}/types/array/module.f.js +1 -1
  201. package/{fs → fjs}/types/array/proof.f.js +21 -55
  202. package/{fs → fjs}/types/bigfloat/module.f.js +1 -1
  203. package/fjs/types/bigfloat/proof.f.js +217 -0
  204. package/{fs → fjs}/types/bigint/module.f.js +2 -2
  205. package/{fs → fjs}/types/bigint/proof.f.js +51 -147
  206. package/{fs → fjs}/types/bit_vec/module.f.js +8 -8
  207. package/{fs → fjs}/types/bit_vec/proof.f.js +76 -218
  208. package/{fs → fjs}/types/btree/find/module.f.js +1 -1
  209. package/fjs/types/btree/find/proof.f.d.ts +3 -0
  210. package/fjs/types/btree/find/proof.f.js +108 -0
  211. package/{fs → fjs}/types/btree/module.f.js +2 -2
  212. package/fjs/types/btree/proof.f.d.ts +13 -0
  213. package/{fs → fjs}/types/btree/proof.f.js +12 -19
  214. package/{fs → fjs}/types/btree/remove/module.f.js +4 -4
  215. package/fjs/types/btree/remove/proof.f.d.ts +9 -0
  216. package/{fs → fjs}/types/btree/remove/proof.f.js +88 -235
  217. package/{fs → fjs}/types/btree/set/module.f.js +8 -5
  218. package/{fs → fjs}/types/btree/set/proof.f.js +39 -28
  219. package/{fs → fjs}/types/byte_set/module.f.js +2 -2
  220. package/fjs/types/byte_set/proof.f.js +79 -0
  221. package/{fs → fjs}/types/function/compare/proof.f.js +14 -37
  222. package/fjs/types/function/operator/proof.f.d.ts +23 -0
  223. package/{fs → fjs}/types/function/operator/proof.f.js +18 -49
  224. package/{fs → fjs}/types/function/proof.f.js +3 -4
  225. package/{fs → fjs}/types/list/module.f.js +2 -2
  226. package/fjs/types/list/proof.f.d.ts +30 -0
  227. package/{fs → fjs}/types/list/proof.f.js +59 -167
  228. package/{fs → fjs}/types/map/proof.f.js +6 -14
  229. package/fjs/types/nibble_set/proof.f.js +60 -0
  230. package/{fs → fjs}/types/nominal/proof.f.js +5 -10
  231. package/{fs → fjs}/types/nullable/module.f.js +2 -2
  232. package/fjs/types/nullable/proof.f.js +29 -0
  233. package/{fs → fjs}/types/number/module.f.js +5 -5
  234. package/{fs → fjs}/types/number/proof.f.js +10 -25
  235. package/{fs → fjs}/types/object/module.f.js +4 -4
  236. package/{fs → fjs}/types/object/proof.f.js +4 -7
  237. package/{fs → fjs}/types/ordered_map/module.f.js +6 -6
  238. package/{fs → fjs}/types/ordered_map/proof.f.js +3 -3
  239. package/fjs/types/patricia_trie/proof.f.d.ts +13 -0
  240. package/{fs → fjs}/types/patricia_trie/proof.f.js +22 -22
  241. package/{fs → fjs}/types/prime_field/module.f.js +3 -8
  242. package/{fs → fjs}/types/prime_field/proof.f.js +2 -2
  243. package/{fs → fjs}/types/range/module.f.d.ts +1 -1
  244. package/fjs/types/range/module.f.js +2 -0
  245. package/fjs/types/range/proof.f.js +9 -0
  246. package/{fs → fjs}/types/range_map/module.f.js +4 -4
  247. package/{fs → fjs}/types/range_map/proof.f.js +35 -88
  248. package/{fs → fjs}/types/result/module.js +1 -1
  249. package/fjs/types/result/proof.f.d.ts +12 -0
  250. package/fjs/types/result/proof.f.js +31 -0
  251. package/{fs → fjs}/types/rtti/common/module.f.d.ts +36 -1
  252. package/{fs → fjs}/types/rtti/common/module.f.js +48 -4
  253. package/fjs/types/rtti/common/proof.f.d.ts +8 -0
  254. package/fjs/types/rtti/common/proof.f.js +51 -0
  255. package/{fs → fjs}/types/rtti/module.f.d.ts +2 -2
  256. package/{fs → fjs}/types/rtti/module.f.js +1 -1
  257. package/{fs → fjs}/types/rtti/parse/module.f.js +16 -25
  258. package/{fs → fjs}/types/rtti/parse/proof.f.js +9 -20
  259. package/{fs → fjs}/types/rtti/ts/module.f.d.ts +10 -4
  260. package/{fs → fjs}/types/rtti/ts/module.f.js +1 -1
  261. package/{fs → fjs}/types/rtti/ts/proof.f.js +2 -2
  262. package/{fs → fjs}/types/rtti/validate/module.f.js +11 -32
  263. package/{fs → fjs}/types/rtti/validate/proof.f.js +6 -11
  264. package/{fs → fjs}/types/sorted_list/module.f.js +3 -3
  265. package/{fs → fjs}/types/sorted_list/proof.f.js +14 -27
  266. package/{fs → fjs}/types/sorted_set/module.f.js +1 -1
  267. package/{fs → fjs}/types/sorted_set/proof.f.js +20 -45
  268. package/{fs → fjs}/types/string/module.f.js +4 -4
  269. package/fjs/types/string/proof.f.js +77 -0
  270. package/{fs → fjs}/types/string_set/module.f.js +6 -6
  271. package/fjs/types/string_set/proof.f.js +43 -0
  272. package/{fs → fjs}/types/ts/proof.f.d.ts +18 -18
  273. package/{fs → fjs}/types/ts/proof.f.js +16 -43
  274. package/{fs → fjs}/types/uint8array/module.f.js +10 -10
  275. package/{fs → fjs}/types/uint8array/proof.f.d.ts +4 -1
  276. package/{fs → fjs}/types/uint8array/proof.f.js +11 -11
  277. package/{fs → fjs}/website/module.f.js +3 -3
  278. package/fjs/website/proof.f.js +13 -0
  279. package/package.json +8 -8
  280. package/fs/asserts/module.f.d.ts +0 -4
  281. package/fs/asserts/module.f.js +0 -9
  282. package/fs/asserts/proof.f.d.ts +0 -8
  283. package/fs/asserts/proof.f.js +0 -51
  284. package/fs/bnf/data/module.f.d.ts +0 -30
  285. package/fs/bnf/descent/module.f.js +0 -119
  286. package/fs/bnf/proof.f.js +0 -104
  287. package/fs/cas/mcp/module.f.d.ts +0 -36
  288. package/fs/cas/mcp/module.f.js +0 -249
  289. package/fs/ci/config/module.f.d.ts +0 -43
  290. package/fs/ci/deno/module.f.js +0 -16
  291. package/fs/crypto/pow/proof.f.js +0 -161
  292. package/fs/djs/examples/m.f.d.ts +0 -2
  293. package/fs/djs/tokenizer/module.f.d.ts +0 -12
  294. package/fs/djs/tokenizer/module.f.js +0 -62
  295. package/fs/djs/tokenizer/proof.f.d.ts +0 -7
  296. package/fs/djs/tokenizer/proof.f.js +0 -543
  297. package/fs/djs/tokenizer-new/module.f.d.ts +0 -3
  298. package/fs/djs/tokenizer-new/module.f.js +0 -155
  299. package/fs/djs/transpiler/proof.f.js +0 -68
  300. package/fs/emergent_testing/all.test.js +0 -4
  301. package/fs/emergent_testing/scenarios/all.js +0 -1
  302. package/fs/fjs/module.f.d.ts +0 -2
  303. package/fs/fjs/module.js +0 -4
  304. package/fs/json/module.f.d.ts +0 -50
  305. package/fs/json/rpc/module.f.d.ts +0 -114
  306. package/fs/json/schema/module.f.d.ts +0 -77
  307. package/fs/text/ascii/proof.f.d.ts +0 -4
  308. package/fs/text/ascii/proof.f.js +0 -24
  309. package/fs/types/bigfloat/proof.f.js +0 -348
  310. package/fs/types/btree/find/proof.f.js +0 -151
  311. package/fs/types/btree/proof.f.d.ts +0 -7
  312. package/fs/types/btree/remove/proof.f.d.ts +0 -4
  313. package/fs/types/byte_set/proof.f.js +0 -120
  314. package/fs/types/function/operator/proof.f.d.ts +0 -12
  315. package/fs/types/list/proof.f.d.ts +0 -22
  316. package/fs/types/nibble_set/proof.f.js +0 -89
  317. package/fs/types/nullable/proof.f.js +0 -50
  318. package/fs/types/patricia_trie/proof.f.d.ts +0 -7
  319. package/fs/types/range/module.f.js +0 -2
  320. package/fs/types/range/proof.f.d.ts +0 -1
  321. package/fs/types/range/proof.f.js +0 -18
  322. package/fs/types/result/proof.f.d.ts +0 -6
  323. package/fs/types/result/proof.f.js +0 -52
  324. package/fs/types/string/proof.f.js +0 -118
  325. package/fs/types/string_set/proof.f.js +0 -82
  326. package/fs/website/proof.f.js +0 -16
  327. /package/{fs → fjs}/asn.1/module.f.d.ts +0 -0
  328. /package/{fs → fjs}/asn.1/proof.f.d.ts +0 -0
  329. /package/{fs → fjs}/base_n/module.f.d.ts +0 -0
  330. /package/{fs → fjs}/base_n/proof.f.d.ts +0 -0
  331. /package/{fs → fjs/basen}/base128/proof.f.d.ts +0 -0
  332. /package/{fs → fjs/basen}/cbase32/proof.f.d.ts +0 -0
  333. /package/{fs → fjs}/bnf/proof.f.d.ts +0 -0
  334. /package/{fs → fjs}/bnf/testlib.f.d.ts +0 -0
  335. /package/{fs → fjs}/cas/cli/module.f.d.ts +0 -0
  336. /package/{fs → fjs}/ci/bun/module.f.d.ts +0 -0
  337. /package/{fs → fjs}/ci/deno/module.f.d.ts +0 -0
  338. /package/{fs → fjs}/ci/module.f.d.ts +0 -0
  339. /package/{fs → fjs}/ci/playwright/module.f.d.ts +0 -0
  340. /package/{fs → fjs}/ci/proof.f.d.ts +0 -0
  341. /package/{fs → fjs}/ci/rust/module.f.d.ts +0 -0
  342. /package/{fs → fjs}/cli/module.f.d.ts +0 -0
  343. /package/{fs → fjs}/cli/proof.f.d.ts +0 -0
  344. /package/{fs/types → fjs/common}/monoid/module.f.js +0 -0
  345. /package/{fs/types → fjs/common}/monoid/proof.f.d.ts +0 -0
  346. /package/{fs → fjs}/crypto/hmac/module.f.d.ts +0 -0
  347. /package/{fs → fjs}/crypto/hmac/proof.f.d.ts +0 -0
  348. /package/{fs → fjs}/crypto/pow/module.f.d.ts +0 -0
  349. /package/{fs → fjs}/crypto/pow/proof.f.d.ts +0 -0
  350. /package/{fs → fjs}/crypto/secp/module.f.d.ts +0 -0
  351. /package/{fs → fjs}/crypto/secp/proof.f.d.ts +0 -0
  352. /package/{fs → fjs}/crypto/sha2/module.f.d.ts +0 -0
  353. /package/{fs → fjs}/crypto/sha2/proof.f.d.ts +0 -0
  354. /package/{fs → fjs}/crypto/sign/proof.f.d.ts +0 -0
  355. /package/{fs → fjs}/crypto/vdf/module.f.d.ts +0 -0
  356. /package/{fs → fjs}/crypto/vdf/proof.f.d.ts +0 -0
  357. /package/{fs → fjs}/dev/module.f.d.ts +0 -0
  358. /package/{fs → fjs}/dev/package_json/module.f.d.ts +0 -0
  359. /package/{fs → fjs}/dev/package_json/proof.f.d.ts +0 -0
  360. /package/{fs → fjs}/dev/proof.f.d.ts +0 -0
  361. /package/{fs → fjs}/djs/ast/module.f.d.ts +0 -0
  362. /package/{fs → fjs}/djs/ast/proof.f.d.ts +0 -0
  363. /package/{fs → fjs}/djs/examples/input.f.d.ts +0 -0
  364. /package/{fs → fjs}/djs/examples/input.f.js +0 -0
  365. /package/{fs → fjs}/djs/examples/m.f.js +0 -0
  366. /package/{fs → fjs}/djs/parser/proof.f.d.ts +0 -0
  367. /package/{fs → fjs}/djs/proof.f.d.ts +0 -0
  368. /package/{fs → fjs}/djs/serializer/module.f.d.ts +0 -0
  369. /package/{fs → fjs}/djs/serializer/proof.f.d.ts +0 -0
  370. /package/{fs → fjs}/effects/list/module.f.d.ts +0 -0
  371. /package/{fs → fjs}/effects/list/module.f.js +0 -0
  372. /package/{fs → fjs}/effects/memory/module.f.d.ts +0 -0
  373. /package/{fs → fjs}/effects/memory/proof.f.d.ts +0 -0
  374. /package/{fs → fjs}/effects/mock/module.f.d.ts +0 -0
  375. /package/{fs → fjs}/effects/mock/module.f.js +0 -0
  376. /package/{fs → fjs}/effects/module.d.ts +0 -0
  377. /package/{fs → fjs}/effects/module.f.d.ts +0 -0
  378. /package/{fs → fjs}/effects/module.js +0 -0
  379. /package/{fs → fjs}/effects/node/memory/module.d.ts +0 -0
  380. /package/{fs → fjs}/effects/node/memory/proof.d.ts +0 -0
  381. /package/{fs → fjs}/effects/node/virtual/module.f.d.ts +0 -0
  382. /package/{fs → fjs}/effects/proof.f.d.ts +0 -0
  383. /package/{fs → fjs}/emergent_testing/all.test.d.ts +0 -0
  384. /package/{fs → fjs}/emergent_testing/example.f.js +0 -0
  385. /package/{fs → fjs}/emergent_testing/module.f.d.ts +0 -0
  386. /package/{fs → fjs}/emergent_testing/scenarios/all.d.ts +0 -0
  387. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.fail.d.ts +0 -0
  388. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.fail.js +0 -0
  389. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.pass.d.ts +0 -0
  390. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.pass.js +0 -0
  391. /package/{fs → fjs}/emergent_testing/scenarios/async.fail.d.ts +0 -0
  392. /package/{fs → fjs}/emergent_testing/scenarios/async.fail.js +0 -0
  393. /package/{fs → fjs}/emergent_testing/scenarios/async.pass.d.ts +0 -0
  394. /package/{fs → fjs}/emergent_testing/scenarios/async.pass.js +0 -0
  395. /package/{fs → fjs}/emergent_testing/scenarios/fail.fail.d.ts +0 -0
  396. /package/{fs → fjs}/emergent_testing/scenarios/fail.fail.js +0 -0
  397. /package/{fs → fjs}/emergent_testing/scenarios/return-value.pass.d.ts +0 -0
  398. /package/{fs → fjs}/emergent_testing/scenarios/return-value.pass.js +0 -0
  399. /package/{fs → fjs}/emergent_testing/scenarios/thenable.pass.d.ts +0 -0
  400. /package/{fs → fjs}/emergent_testing/scenarios/thenable.pass.js +0 -0
  401. /package/{fs → fjs}/emergent_testing/scenarios/thenable2.pass.d.ts +0 -0
  402. /package/{fs → fjs}/emergent_testing/scenarios/thenable2.pass.js +0 -0
  403. /package/{fs → fjs}/emergent_testing/scenarios/throw.pass.d.ts +0 -0
  404. /package/{fs → fjs}/emergent_testing/scenarios/throw.pass.js +0 -0
  405. /package/{fs → fjs}/fsc/bnf.f.d.ts +0 -0
  406. /package/{fs → fjs}/fsc/json.f.d.ts +0 -0
  407. /package/{fs → fjs}/fsc/module.f.d.ts +0 -0
  408. /package/{fs → fjs}/fsc/proof.f.d.ts +0 -0
  409. /package/{fs → fjs}/fsm/module.f.d.ts +0 -0
  410. /package/{fs → fjs}/fsm/proof.f.d.ts +0 -0
  411. /package/{fs → fjs}/js/tokenizer/module.f.d.ts +0 -0
  412. /package/{fs → fjs}/js/tokenizer/proof.f.d.ts +0 -0
  413. /package/{fs → fjs}/mcp/proof.f.d.ts +0 -0
  414. /package/{fs → fjs}/mcp/stdio/proof.f.d.ts +0 -0
  415. /package/{fs → fjs/media}/html/proof.f.d.ts +0 -0
  416. /package/{fs → fjs/media}/json/parser/proof.f.d.ts +0 -0
  417. /package/{fs → fjs/media}/json/proof.f.d.ts +0 -0
  418. /package/{fs → fjs/media}/json/rpc/proof.f.d.ts +0 -0
  419. /package/{fs → fjs/media}/json/schema/proof.f.d.ts +0 -0
  420. /package/{fs → fjs/media}/json/serializer/proof.f.d.ts +0 -0
  421. /package/{fs → fjs/media}/json/tokenizer/proof.f.d.ts +0 -0
  422. /package/{fs/mime → fjs/media/type}/proof.f.d.ts +0 -0
  423. /package/{fs/fjs → fjs}/module.d.ts +0 -0
  424. /package/{fs → fjs}/path/module.f.d.ts +0 -0
  425. /package/{fs → fjs}/path/proof.f.d.ts +0 -0
  426. /package/{fs/fjs → fjs}/proof.f.d.ts +0 -0
  427. /package/{fs → fjs}/sul/id/module.f.d.ts +0 -0
  428. /package/{fs → fjs}/sul/id/proof.f.d.ts +0 -0
  429. /package/{fs → fjs}/sul/level/hash/module.f.d.ts +0 -0
  430. /package/{fs → fjs}/sul/level/hash/proof.f.d.ts +0 -0
  431. /package/{fs → fjs}/sul/level/literal/module.f.d.ts +0 -0
  432. /package/{fs → fjs}/sul/level/literal/proof.f.d.ts +0 -0
  433. /package/{fs → fjs}/sul/module.f.d.ts +0 -0
  434. /package/{fs → fjs}/sul/proof.f.d.ts +0 -0
  435. /package/{fs → fjs}/text/ascii/module.f.d.ts +0 -0
  436. /package/{fs → fjs}/text/ascii/module.f.js +0 -0
  437. /package/{fs → fjs}/text/code_point/module.f.d.ts +0 -0
  438. /package/{fs → fjs}/text/code_point/proof.f.d.ts +0 -0
  439. /package/{fs → fjs}/text/module.f.d.ts +0 -0
  440. /package/{fs → fjs}/text/proof.f.d.ts +0 -0
  441. /package/{fs → fjs}/text/sgr/module.f.d.ts +0 -0
  442. /package/{fs → fjs}/text/sgr/proof.f.d.ts +0 -0
  443. /package/{fs → fjs}/text/utf16/module.f.d.ts +0 -0
  444. /package/{fs → fjs}/text/utf16/proof.f.d.ts +0 -0
  445. /package/{fs → fjs}/text/utf8/module.f.d.ts +0 -0
  446. /package/{fs → fjs}/text/utf8/proof.f.d.ts +0 -0
  447. /package/{fs → fjs}/types/array/module.f.d.ts +0 -0
  448. /package/{fs → fjs}/types/array/proof.f.d.ts +0 -0
  449. /package/{fs → fjs}/types/bigfloat/module.f.d.ts +0 -0
  450. /package/{fs → fjs}/types/bigfloat/proof.f.d.ts +0 -0
  451. /package/{fs → fjs}/types/bigint/module.f.d.ts +0 -0
  452. /package/{fs → fjs}/types/bigint/proof.f.d.ts +0 -0
  453. /package/{fs → fjs}/types/bit_vec/module.f.d.ts +0 -0
  454. /package/{fs → fjs}/types/bit_vec/proof.f.d.ts +0 -0
  455. /package/{fs → fjs}/types/btree/find/module.f.d.ts +0 -0
  456. /package/{fs → fjs}/types/btree/module.f.d.ts +0 -0
  457. /package/{fs → fjs}/types/btree/remove/module.f.d.ts +0 -0
  458. /package/{fs → fjs}/types/btree/set/module.f.d.ts +0 -0
  459. /package/{fs → fjs}/types/btree/set/proof.f.d.ts +0 -0
  460. /package/{fs → fjs}/types/btree/types/module.f.d.ts +0 -0
  461. /package/{fs → fjs}/types/btree/types/module.f.js +0 -0
  462. /package/{fs → fjs}/types/byte_set/module.f.d.ts +0 -0
  463. /package/{fs → fjs}/types/byte_set/proof.f.d.ts +0 -0
  464. /package/{fs → fjs}/types/function/compare/module.f.d.ts +0 -0
  465. /package/{fs → fjs}/types/function/compare/module.f.js +0 -0
  466. /package/{fs/types/btree/find → fjs/types/function/compare}/proof.f.d.ts +0 -0
  467. /package/{fs → fjs}/types/function/module.f.d.ts +0 -0
  468. /package/{fs → fjs}/types/function/module.f.js +0 -0
  469. /package/{fs → fjs}/types/function/operator/module.f.d.ts +0 -0
  470. /package/{fs → fjs}/types/function/operator/module.f.js +0 -0
  471. /package/{fs/types/function/compare → fjs/types/function}/proof.f.d.ts +0 -0
  472. /package/{fs → fjs}/types/list/module.f.d.ts +0 -0
  473. /package/{fs → fjs}/types/map/module.f.d.ts +0 -0
  474. /package/{fs → fjs}/types/map/module.f.js +0 -0
  475. /package/{fs → fjs}/types/map/proof.f.d.ts +0 -0
  476. /package/{fs → fjs}/types/nibble_set/module.f.d.ts +0 -0
  477. /package/{fs → fjs}/types/nibble_set/module.f.js +0 -0
  478. /package/{fs → fjs}/types/nibble_set/proof.f.d.ts +0 -0
  479. /package/{fs → fjs}/types/nominal/module.f.d.ts +0 -0
  480. /package/{fs → fjs}/types/nominal/module.f.js +0 -0
  481. /package/{fs → fjs}/types/nominal/proof.f.d.ts +0 -0
  482. /package/{fs → fjs}/types/nullable/module.f.d.ts +0 -0
  483. /package/{fs → fjs}/types/nullable/proof.f.d.ts +0 -0
  484. /package/{fs → fjs}/types/number/module.f.d.ts +0 -0
  485. /package/{fs → fjs}/types/number/proof.f.d.ts +0 -0
  486. /package/{fs → fjs}/types/object/module.f.d.ts +0 -0
  487. /package/{fs → fjs}/types/object/proof.f.d.ts +0 -0
  488. /package/{fs → fjs}/types/option/module.f.d.ts +0 -0
  489. /package/{fs → fjs}/types/option/module.f.js +0 -0
  490. /package/{fs → fjs}/types/ordered_map/module.f.d.ts +0 -0
  491. /package/{fs → fjs}/types/ordered_map/proof.f.d.ts +0 -0
  492. /package/{fs → fjs}/types/patricia_trie/module.f.d.ts +0 -0
  493. /package/{fs → fjs}/types/patricia_trie/module.f.js +0 -0
  494. /package/{fs → fjs}/types/phantom/module.f.d.ts +0 -0
  495. /package/{fs → fjs}/types/phantom/module.f.js +0 -0
  496. /package/{fs → fjs}/types/prime_field/module.f.d.ts +0 -0
  497. /package/{fs → fjs}/types/prime_field/proof.f.d.ts +0 -0
  498. /package/{fs/types/function → fjs/types/range}/proof.f.d.ts +0 -0
  499. /package/{fs → fjs}/types/range_map/module.f.d.ts +0 -0
  500. /package/{fs → fjs}/types/range_map/proof.f.d.ts +0 -0
  501. /package/{fs → fjs}/types/result/module.d.ts +0 -0
  502. /package/{fs → fjs}/types/result/module.f.d.ts +0 -0
  503. /package/{fs → fjs}/types/result/module.f.js +0 -0
  504. /package/{fs → fjs}/types/rtti/parse/module.f.d.ts +0 -0
  505. /package/{fs → fjs}/types/rtti/parse/proof.f.d.ts +0 -0
  506. /package/{fs → fjs}/types/rtti/proof.f.d.ts +0 -0
  507. /package/{fs → fjs}/types/rtti/proof.f.js +0 -0
  508. /package/{fs → fjs}/types/rtti/ts/proof.f.d.ts +0 -0
  509. /package/{fs → fjs}/types/rtti/validate/module.f.d.ts +0 -0
  510. /package/{fs → fjs}/types/rtti/validate/proof.f.d.ts +0 -0
  511. /package/{fs → fjs}/types/sorted_list/module.f.d.ts +0 -0
  512. /package/{fs → fjs}/types/sorted_list/proof.f.d.ts +0 -0
  513. /package/{fs → fjs}/types/sorted_set/module.f.d.ts +0 -0
  514. /package/{fs → fjs}/types/sorted_set/proof.f.d.ts +0 -0
  515. /package/{fs → fjs}/types/string/module.f.d.ts +0 -0
  516. /package/{fs → fjs}/types/string/proof.f.d.ts +0 -0
  517. /package/{fs → fjs}/types/string_set/module.f.d.ts +0 -0
  518. /package/{fs → fjs}/types/string_set/proof.f.d.ts +0 -0
  519. /package/{fs → fjs}/types/ts/module.f.d.ts +0 -0
  520. /package/{fs → fjs}/types/ts/module.f.js +0 -0
  521. /package/{fs → fjs}/types/uint8array/module.f.d.ts +0 -0
  522. /package/{fs → fjs}/website/module.f.d.ts +0 -0
  523. /package/{fs → fjs}/website/proof.f.d.ts +0 -0
@@ -1,8 +1,8 @@
1
- import { assertEq } from "../../asserts/module.f.js";
2
- import { mask } from "../bigint/module.f.js";
3
- import { asBase, asNominal } from "../nominal/module.f.js";
4
- import { length, empty, uint, vec, lsb, msb, repeat, vec8, maxLength, u8ListToVec, tryU8ListToVec, u8List, chunkList, fromSentinel } from "./module.f.js";
5
- import { repeat as listRepeat, toArray } from "../list/module.f.js";
1
+ import { assert, assertEq } from '../../asserts/module.f.js';
2
+ import { mask } from '../bigint/module.f.js';
3
+ import { asBase, asNominal } from '../nominal/module.f.js';
4
+ import { length, empty, uint, vec, lsb, msb, repeat, vec8, maxLength, u8ListToVec, tryU8ListToVec, u8List, chunkList, fromSentinel } from './module.f.js';
5
+ import { repeat as listRepeat, toArray } from '../list/module.f.js';
6
6
  const unsafeVec = (a) => asNominal(a);
7
7
  // 0x8 = 0b1000 = 0 + 8
8
8
  // 0x9 = 0b1001 = 1 + 8
@@ -18,63 +18,37 @@ const assertEq2 = ([a0, a1], [b0, b1]) => {
18
18
  };
19
19
  const frontTest = (e) => (r0) => (r1) => () => {
20
20
  const vector = vec(8n)(0xf5n); // 0xF5n
21
- if (vector !== unsafeVec(0xf5n)) {
22
- throw vector;
23
- }
21
+ assertEq(vector, unsafeVec(0xf5n));
24
22
  const result = e.front(4n)(vector);
25
- if (result !== r0) {
26
- throw result;
27
- }
23
+ assertEq(result, r0);
28
24
  const result2 = e.front(16n)(vector);
29
- if (result2 !== r1) {
30
- throw result2;
31
- }
25
+ assertEq(result2, r1);
32
26
  };
33
27
  const popFront = (e) => ([r00, r01]) => ([r10, r11]) => () => {
34
28
  const vector = vec(8n)(0xf5n); // 0xF5n
35
29
  const [result, rest] = e.popFront(4n)(vector);
36
- if (result !== r00) {
37
- throw result;
38
- }
39
- if (rest !== unsafeVec(r01)) {
40
- throw rest;
41
- }
30
+ assertEq(result, r00);
31
+ assertEq(rest, unsafeVec(r01));
42
32
  const [result2, rest2] = e.popFront(16n)(vector);
43
- if (result2 !== r10) {
44
- throw result2;
45
- }
46
- if (rest2 !== unsafeVec(r11)) {
47
- throw rest2;
48
- }
33
+ assertEq(result2, r10);
34
+ assertEq(rest2, unsafeVec(r11));
49
35
  };
50
36
  const removeFront = (e) => (r0) => (r1) => () => {
51
37
  const v = vec(16n)(0x3456n); // -0xB456n
52
- if (v !== unsafeVec(-0xb456n)) {
53
- throw v;
54
- }
38
+ assertEq(v, unsafeVec(-0xb456n));
55
39
  const r = e.removeFront(4n)(v);
56
- if (r !== r0) {
57
- throw r;
58
- }
40
+ assertEq(r, r0);
59
41
  const r2 = e.removeFront(24n)(v);
60
- if (r2 !== r1) {
61
- throw r2;
62
- }
42
+ assertEq(r2, r1);
63
43
  };
64
44
  const concat = (e) => (r) => () => {
65
45
  const u8 = vec(8n);
66
46
  const a = u8(0x45n); // -0xC5n
67
- if (a !== unsafeVec(-0xc5n)) {
68
- throw a;
69
- }
47
+ assertEq(a, unsafeVec(-0xc5n));
70
48
  const b = u8(0x89n); // 0x89n
71
- if (b !== unsafeVec(0x89n)) {
72
- throw b;
73
- }
49
+ assertEq(b, unsafeVec(0x89n));
74
50
  const ab = e.concat(a)(b); // 0x8945n
75
- if (ab !== r) {
76
- throw ab;
77
- }
51
+ assertEq(ab, r);
78
52
  };
79
53
  export const proof = {
80
54
  fromSentinel: () => {
@@ -93,23 +67,15 @@ export const proof = {
93
67
  vec: () => {
94
68
  const vec4 = vec(4n);
95
69
  const v0 = vec4(5n); // 0b0101 => -0b1101
96
- if (v0 !== unsafeVec(-0xdn)) {
97
- throw v0;
98
- }
70
+ assertEq(v0, unsafeVec(-0xdn));
99
71
  const v1 = vec4(0x5fen); // 0xEn
100
- if (v1 !== unsafeVec(0xen)) {
101
- throw v1;
102
- }
72
+ assertEq(v1, unsafeVec(0xen));
103
73
  },
104
74
  uint: () => {
105
75
  const vector = vec(8n)(0x5n); // -0x85n
106
- if (vector !== unsafeVec(-0x85n)) {
107
- throw vector;
108
- }
76
+ assertEq(vector, unsafeVec(-0x85n));
109
77
  const result = uint(vector); // result is 0x5n
110
- if (result !== 0x5n) {
111
- throw result;
112
- }
78
+ assertEq(result, 0x5n);
113
79
  },
114
80
  front: () => {
115
81
  const vector = vec(8n)(0xf5n); // 0xF5n
@@ -160,51 +126,35 @@ export const proof = {
160
126
  const vector = asNominal(53n);
161
127
  const extract3Bits = lsb.front(3n);
162
128
  const result = extract3Bits(vector); // result is 0b101n (5n)
163
- if (result !== 5n) {
164
- throw result;
165
- }
129
+ assertEq(result, 5n);
166
130
  },
167
131
  uintSmall: () => {
168
132
  const vector = asNominal(1n);
169
133
  const extract3Bits = lsb.front(3n)(vector);
170
- if (extract3Bits !== 1n) {
171
- throw extract3Bits;
172
- }
134
+ assertEq(extract3Bits, 1n);
173
135
  },
174
136
  vecExample: () => {
175
137
  const createVector = vec(4n);
176
138
  const vector = createVector(5n); // vector is -0b1101n
177
- if (vector !== unsafeVec(-13n)) {
178
- throw vector;
179
- }
139
+ assertEq(vector, unsafeVec(-13n));
180
140
  },
181
141
  length: () => {
182
142
  const len = length(empty);
183
- if (len !== 0n) {
184
- throw len;
185
- }
143
+ assertEq(len, 0n);
186
144
  },
187
145
  bitset: () => {
188
146
  const v = vec(8n)(0x5fen);
189
- if (v !== unsafeVec(0xfen)) {
190
- throw v;
191
- }
192
- if (length(v) !== 8n) {
193
- throw 'len';
194
- }
147
+ assertEq(v, unsafeVec(0xfen));
148
+ assertEq(length(v), 8n, 'len');
195
149
  const u = lsb.front(8n)(v);
196
- if (u !== 0xfen) {
197
- throw v;
198
- }
150
+ assertEq(u, 0xfen, v);
199
151
  },
200
152
  appendBack: () => {
201
153
  const vec8 = vec(8n);
202
154
  const a = vec8(0x345n);
203
155
  const b = vec8(0x789n);
204
156
  const ab = lsb.concat(a)(b);
205
- if (ab !== unsafeVec(0x8945n)) {
206
- throw ab;
207
- }
157
+ assertEq(ab, unsafeVec(0x8945n));
208
158
  const s = length(ab);
209
159
  if (s !== 16n) {
210
160
  throw `appendBack: ${s}`;
@@ -212,143 +162,97 @@ export const proof = {
212
162
  },
213
163
  removeBack: () => {
214
164
  const v = vec(17n)(0x12345n);
215
- if (v !== unsafeVec(0x12345n)) {
216
- throw asBase(v).toString(16);
217
- }
165
+ assertEq(v, unsafeVec(0x12345n), asBase(v).toString(16));
218
166
  const r = lsb.removeFront(9n)(v);
219
- if (r !== unsafeVec(0x91n)) {
220
- throw asBase(r).toString(16);
221
- }
167
+ assertEq(r, unsafeVec(0x91n), asBase(r).toString(16));
222
168
  },
223
169
  uint: [
224
170
  // 0
225
171
  () => {
226
172
  const x = uint(asNominal(0n));
227
- if (x !== 0n) {
228
- throw x;
229
- }
173
+ assertEq(x, 0n);
230
174
  },
231
175
  // 1
232
176
  () => {
233
177
  const v = asNominal(1n);
234
178
  const x = uint(v);
235
- if (x !== 1n) {
236
- throw x;
237
- }
179
+ assertEq(x, 1n);
238
180
  const len = length(v);
239
- if (len !== 1n) {
240
- throw len;
241
- }
181
+ assertEq(len, 1n);
242
182
  },
243
183
  // 2
244
184
  () => {
245
185
  const v = asNominal(2n);
246
186
  const x = uint(v);
247
- if (x !== 2n) {
248
- throw x;
249
- }
187
+ assertEq(x, 2n);
250
188
  const len = length(v);
251
- if (len !== 2n) {
252
- throw len;
253
- }
189
+ assertEq(len, 2n);
254
190
  },
255
191
  // 3
256
192
  () => {
257
193
  const v = asNominal(3n);
258
194
  const x = uint(v);
259
- if (x !== 3n) {
260
- throw x;
261
- }
195
+ assertEq(x, 3n);
262
196
  const len = length(v);
263
- if (len !== 2n) {
264
- throw len;
265
- }
197
+ assertEq(len, 2n);
266
198
  },
267
199
  // 4
268
200
  () => {
269
201
  const v = asNominal(-1n);
270
202
  const x = uint(v);
271
- if (x !== 0n) {
272
- throw x;
273
- }
203
+ assertEq(x, 0n);
274
204
  const len = length(v);
275
- if (len !== 1n) {
276
- throw len;
277
- }
205
+ assertEq(len, 1n);
278
206
  },
279
207
  () => {
280
208
  const v = asNominal(-2n);
281
209
  const x = uint(v);
282
- if (x !== 0n) {
283
- throw x;
284
- }
210
+ assertEq(x, 0n);
285
211
  const len = length(v);
286
- if (len !== 2n) {
287
- throw len;
288
- }
212
+ assertEq(len, 2n);
289
213
  },
290
214
  () => {
291
215
  const v = asNominal(-3n);
292
216
  const x = uint(v);
293
- if (x !== 1n) {
294
- throw x;
295
- }
217
+ assertEq(x, 1n);
296
218
  const len = length(v);
297
- if (len !== 2n) {
298
- throw len;
299
- }
219
+ assertEq(len, 2n);
300
220
  }
301
221
  ],
302
222
  vec: [
303
223
  // 0
304
224
  () => {
305
225
  const v = asBase(vec(0n)(0n));
306
- if (v !== 0n) {
307
- throw v;
308
- }
226
+ assertEq(v, 0n);
309
227
  },
310
228
  () => {
311
229
  const v = asBase(vec(0n)(1n));
312
- if (v !== 0n) {
313
- throw v;
314
- }
230
+ assertEq(v, 0n);
315
231
  },
316
232
  () => {
317
233
  const v = asBase(vec(0n)(-1n));
318
- if (v !== 0n) {
319
- throw v;
320
- }
234
+ assertEq(v, 0n);
321
235
  },
322
236
  // 1
323
237
  () => {
324
238
  const v = asBase(vec(1n)(0n));
325
- if (v !== -1n) {
326
- throw v;
327
- }
239
+ assertEq(v, -1n);
328
240
  },
329
241
  () => {
330
242
  const v = asBase(vec(1n)(1n));
331
- if (v !== 1n) {
332
- throw v;
333
- }
243
+ assertEq(v, 1n);
334
244
  },
335
245
  () => {
336
246
  const v = asBase(vec(1n)(-1n));
337
- if (v !== 1n) {
338
- throw v;
339
- }
247
+ assertEq(v, 1n);
340
248
  },
341
249
  () => {
342
250
  const v = asBase(vec(1n)(2n));
343
- if (v !== -1n) {
344
- throw v;
345
- }
251
+ assertEq(v, -1n);
346
252
  },
347
253
  () => {
348
254
  const v = asBase(vec(1n)(3n));
349
- if (v !== 1n) {
350
- throw v;
351
- }
255
+ assertEq(v, 1n);
352
256
  }
353
257
  ],
354
258
  both: () => {
@@ -359,14 +263,10 @@ export const proof = {
359
263
  throw `x: ${x}, raw: ${raw}`;
360
264
  }
361
265
  const len2 = length(v);
362
- if (len2 !== len) {
363
- throw len2;
364
- }
266
+ assertEq(len2, len);
365
267
  const u = uint(v);
366
268
  const mui = mask(len) & ui;
367
- if (u !== mui) {
368
- throw [u, mui];
369
- }
269
+ assertEq(u, mui, [u, mui]);
370
270
  };
371
271
  // 0n
372
272
  for (const i of [0n, 1n, -1n, 2n, -2n, 3n, -3n]) {
@@ -398,14 +298,10 @@ export const proof = {
398
298
  const ab = msb.concat(a)(b);
399
299
  const abLen = length(ab);
400
300
  const abxLen = length(abx);
401
- if (abLen !== abxLen) {
402
- throw abLen;
403
- }
301
+ assertEq(abLen, abxLen);
404
302
  const abU = uint(ab);
405
303
  const abxU = uint(abx);
406
- if (abU !== abxU) {
407
- throw abU;
408
- }
304
+ assertEq(abU, abxU);
409
305
  };
410
306
  c(vec(4n)(0xfn))(vec(8n)(0xa7n))(vec(12n)(0xfa7n));
411
307
  c(vec(4n)(0xfn))(vec(8n)(0x57n))(vec(12n)(0xf57n));
@@ -415,28 +311,20 @@ export const proof = {
415
311
  lsbXor: () => {
416
312
  const c = (a) => (b) => (e) => {
417
313
  const r = lsb.xor(a)(b);
418
- if (r !== e) {
419
- throw r;
420
- }
314
+ assertEq(r, e);
421
315
  };
422
316
  c(vec(4n)(0x7n))(vec(8n)(0x12n))(vec(8n)(0x7n ^ 0x12n));
423
317
  },
424
318
  msbXor: () => {
425
319
  const c = (a) => (b) => (e) => {
426
320
  const r = msb.xor(a)(b);
427
- if (r !== e) {
428
- throw r;
429
- }
321
+ assertEq(r, e);
430
322
  };
431
323
  c(vec(4n)(0x7n))(vec(8n)(0x12n))(vec(8n)(0x70n ^ 0x12n));
432
324
  },
433
325
  repeat: () => {
434
- if (repeat(4n)(vec8(0xa5n)) !== vec(32n)(0xa5a5a5a5n)) {
435
- throw 'repeat failed';
436
- }
437
- if (repeat(7n)(vec(5n)(0x13n)) !== vec(35n)(21059194483n)) {
438
- throw 'repeat failed';
439
- }
326
+ assertEq(repeat(4n)(vec8(0xa5n)), vec(32n)(0xa5a5a5a5n), 'repeat failed');
327
+ assertEq(repeat(7n)(vec(5n)(0x13n)), vec(35n)(21059194483n), 'repeat failed');
440
328
  },
441
329
  lsbCmp: () => {
442
330
  const c = (a) => (b) => (r) => {
@@ -539,69 +427,39 @@ export const proof = {
539
427
  chunkList: {
540
428
  empty: () => {
541
429
  const chunks = toArray(chunkList(lsb)(4n)(empty));
542
- if (chunks.length !== 0) {
543
- throw chunks.length;
544
- }
430
+ assertEq(chunks.length, 0);
545
431
  },
546
432
  // 8-bit vector 0xF5 = 0b1111_0101, aligned to 4-bit chunks
547
433
  lsb_aligned: () => {
548
434
  const chunks = toArray(chunkList(lsb)(4n)(vec(8n)(0xf5n)));
549
435
  // LSB: low nibble first — bits 0-3 = 0101 = 5, bits 4-7 = 1111 = 15
550
- if (chunks.length !== 2) {
551
- throw chunks.length;
552
- }
553
- if (length(chunks[0]) !== 4n || uint(chunks[0]) !== 5n) {
554
- throw chunks[0];
555
- }
556
- if (length(chunks[1]) !== 4n || uint(chunks[1]) !== 0xfn) {
557
- throw chunks[1];
558
- }
436
+ assertEq(chunks.length, 2);
437
+ assert(!(length(chunks[0]) !== 4n || uint(chunks[0]) !== 5n), chunks[0]);
438
+ assert(!(length(chunks[1]) !== 4n || uint(chunks[1]) !== 0xfn), chunks[1]);
559
439
  },
560
440
  msb_aligned: () => {
561
441
  const chunks = toArray(chunkList(msb)(4n)(vec(8n)(0xf5n)));
562
442
  // MSB: high nibble first — bits 0-3 = 1111 = 15, bits 4-7 = 0101 = 5
563
- if (chunks.length !== 2) {
564
- throw chunks.length;
565
- }
566
- if (length(chunks[0]) !== 4n || uint(chunks[0]) !== 0xfn) {
567
- throw chunks[0];
568
- }
569
- if (length(chunks[1]) !== 4n || uint(chunks[1]) !== 5n) {
570
- throw chunks[1];
571
- }
443
+ assertEq(chunks.length, 2);
444
+ assert(!(length(chunks[0]) !== 4n || uint(chunks[0]) !== 0xfn), chunks[0]);
445
+ assert(!(length(chunks[1]) !== 4n || uint(chunks[1]) !== 5n), chunks[1]);
572
446
  },
573
447
  // 10-bit vector 0x1B5 = 0b01_1011_0101, unaligned to 4-bit chunks (last chunk is 2 bits)
574
448
  lsb_unaligned: () => {
575
449
  const chunks = toArray(chunkList(lsb)(4n)(vec(10n)(0x1b5n)));
576
450
  // LSB: bits 0-3 = 0101 = 5, bits 4-7 = 1011 = 11, bits 8-9 = 01 = 1
577
- if (chunks.length !== 3) {
578
- throw chunks.length;
579
- }
580
- if (length(chunks[0]) !== 4n || uint(chunks[0]) !== 5n) {
581
- throw chunks[0];
582
- }
583
- if (length(chunks[1]) !== 4n || uint(chunks[1]) !== 0xbn) {
584
- throw chunks[1];
585
- }
586
- if (length(chunks[2]) !== 2n || uint(chunks[2]) !== 1n) {
587
- throw chunks[2];
588
- }
451
+ assertEq(chunks.length, 3);
452
+ assert(!(length(chunks[0]) !== 4n || uint(chunks[0]) !== 5n), chunks[0]);
453
+ assert(!(length(chunks[1]) !== 4n || uint(chunks[1]) !== 0xbn), chunks[1]);
454
+ assert(!(length(chunks[2]) !== 2n || uint(chunks[2]) !== 1n), chunks[2]);
589
455
  },
590
456
  msb_unaligned: () => {
591
457
  const chunks = toArray(chunkList(msb)(4n)(vec(10n)(0x1b5n)));
592
458
  // MSB: bits 0-3 = 0110 = 6, bits 4-7 = 1101 = 13, bits 8-9 = 01 = 1
593
- if (chunks.length !== 3) {
594
- throw chunks.length;
595
- }
596
- if (length(chunks[0]) !== 4n || uint(chunks[0]) !== 6n) {
597
- throw chunks[0];
598
- }
599
- if (length(chunks[1]) !== 4n || uint(chunks[1]) !== 0xdn) {
600
- throw chunks[1];
601
- }
602
- if (length(chunks[2]) !== 2n || uint(chunks[2]) !== 1n) {
603
- throw chunks[2];
604
- }
459
+ assertEq(chunks.length, 3);
460
+ assert(!(length(chunks[0]) !== 4n || uint(chunks[0]) !== 6n), chunks[0]);
461
+ assert(!(length(chunks[1]) !== 4n || uint(chunks[1]) !== 0xdn), chunks[1]);
462
+ assert(!(length(chunks[2]) !== 2n || uint(chunks[2]) !== 1n), chunks[2]);
605
463
  },
606
464
  },
607
465
  };
@@ -1,4 +1,4 @@
1
- import { index3, index5 } from "../../function/compare/module.f.js";
1
+ import { index3, index5 } from '../../function/compare/module.f.js';
2
2
  const child = (item) => item[1][item[0]];
3
3
  export const find = (c) => {
4
4
  const i3 = index3(c);
@@ -0,0 +1,3 @@
1
+ declare const test: () => void;
2
+ export declare const proof: typeof test;
3
+ export {};
@@ -0,0 +1,108 @@
1
+ import { find as btreeFind } from './module.f.js';
2
+ import { map, toArray } from '../../list/module.f.js';
3
+ import { stringify } from '../../../media/json/module.f.js';
4
+ import { sort } from '../../object/module.f.js';
5
+ import {} from '../types/module.f.js';
6
+ import { cmp } from '../../string/module.f.js';
7
+ import { set as setSet } from '../set/module.f.js';
8
+ import { assertEq } from '../../../asserts/module.f.js';
9
+ const jsonStr = stringify(sort);
10
+ const set = node => value => setSet(cmp(value))(() => value)(node);
11
+ const str = r => jsonStr(toArray(map((x) => x[0])(r)));
12
+ const find = i => m => str(btreeFind(cmp(i))(m));
13
+ const test = () => {
14
+ let _map = ['1'];
15
+ for (let i = 2; i <= 10; i++) {
16
+ _map = set(_map)((i * i).toString());
17
+ }
18
+ {
19
+ const s = jsonStr(_map);
20
+ assertEq(s, '[[["1","100"],"16",["25","36"]],"4",[["49"],"64",["81","9"]]]');
21
+ }
22
+ //
23
+ {
24
+ const r = find("0")(_map);
25
+ assertEq(r, '[0,0,0]');
26
+ }
27
+ {
28
+ const r = find("1")(_map);
29
+ assertEq(r, '[1,0,0]');
30
+ }
31
+ {
32
+ const r = find("10")(_map);
33
+ assertEq(r, '[2,0,0]');
34
+ }
35
+ {
36
+ const r = find("100")(_map);
37
+ assertEq(r, '[3,0,0]');
38
+ }
39
+ {
40
+ const r = find("12")(_map);
41
+ assertEq(r, '[4,0,0]');
42
+ }
43
+ {
44
+ const r = find("16")(_map);
45
+ assertEq(r, '[1,0]');
46
+ }
47
+ {
48
+ const r = find("17")(_map);
49
+ assertEq(r, '[0,2,0]');
50
+ }
51
+ {
52
+ const r = find("25")(_map);
53
+ assertEq(r, '[1,2,0]');
54
+ }
55
+ {
56
+ const r = find("26")(_map);
57
+ assertEq(r, '[2,2,0]');
58
+ }
59
+ {
60
+ const r = find("36")(_map);
61
+ assertEq(r, '[3,2,0]');
62
+ }
63
+ {
64
+ const r = find("37")(_map);
65
+ assertEq(r, '[4,2,0]');
66
+ }
67
+ {
68
+ const r = find("4")(_map);
69
+ assertEq(r, '[1]');
70
+ }
71
+ {
72
+ const r = find("41")(_map);
73
+ assertEq(r, '[0,0,2]');
74
+ }
75
+ {
76
+ const r = find("49")(_map);
77
+ assertEq(r, '[1,0,2]');
78
+ }
79
+ {
80
+ const r = find("5")(_map);
81
+ assertEq(r, '[2,0,2]');
82
+ }
83
+ {
84
+ const r = find("64")(_map);
85
+ assertEq(r, '[1,2]');
86
+ }
87
+ {
88
+ const r = find("65")(_map);
89
+ assertEq(r, '[0,2,2]');
90
+ }
91
+ {
92
+ const r = find("81")(_map);
93
+ assertEq(r, '[1,2,2]');
94
+ }
95
+ {
96
+ const r = find("85")(_map);
97
+ assertEq(r, '[2,2,2]');
98
+ }
99
+ {
100
+ const r = find("9")(_map);
101
+ assertEq(r, '[3,2,2]');
102
+ }
103
+ {
104
+ const r = find("91")(_map);
105
+ assertEq(r, '[4,2,2]');
106
+ }
107
+ };
108
+ export const proof = test;
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * @module
5
5
  */
6
- import { flat } from "../list/module.f.js";
7
- import { map } from "../nullable/module.f.js";
6
+ import { flat } from '../list/module.f.js';
7
+ import { map } from '../nullable/module.f.js';
8
8
  const nodeValues = node => () => {
9
9
  switch (node.length) {
10
10
  case 1:
@@ -0,0 +1,13 @@
1
+ declare const valueTest1: () => void;
2
+ declare const valuesTest2: () => void;
3
+ declare const findTrue: () => void;
4
+ declare const find: () => void;
5
+ declare const test: () => void;
6
+ export declare const proof: {
7
+ valueTest1: typeof valueTest1;
8
+ valuesTest2: typeof valuesTest2;
9
+ findTrue: typeof findTrue;
10
+ find: typeof find;
11
+ test: typeof test;
12
+ };
13
+ export {};