functionalscript 0.37.0 → 0.39.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 (517) hide show
  1. package/README.md +1 -1
  2. package/{fs → fjs}/asn.1/proof.f.js +32 -94
  3. package/fjs/asserts/module.f.d.ts +36 -0
  4. package/fjs/asserts/module.f.js +39 -0
  5. package/fjs/asserts/proof.f.d.ts +11 -0
  6. package/fjs/asserts/proof.f.js +18 -0
  7. package/{fs → fjs}/base_n/proof.f.js +12 -36
  8. package/{fs → fjs}/basen/base64/proof.f.d.ts +1 -0
  9. package/{fs → fjs}/basen/base64/proof.f.js +15 -1
  10. package/{fs → fjs}/basen/cbase32/proof.f.js +15 -42
  11. package/fjs/bnf/data/module.f.d.ts +52 -0
  12. package/{fs → fjs}/bnf/data/module.f.js +53 -3
  13. package/{fs → fjs}/bnf/data/proof.f.d.ts +1 -0
  14. package/{fs → fjs}/bnf/data/proof.f.js +54 -19
  15. package/{fs → fjs}/bnf/descent/module.f.d.ts +4 -14
  16. package/fjs/bnf/descent/module.f.js +124 -0
  17. package/{fs → fjs}/bnf/descent/proof.f.d.ts +1 -0
  18. package/{fs → fjs}/bnf/descent/proof.f.js +55 -24
  19. package/{fs → fjs}/bnf/ll1/module.f.d.ts +4 -4
  20. package/{fs → fjs}/bnf/ll1/module.f.js +7 -5
  21. package/{fs → fjs}/bnf/ll1/proof.f.d.ts +1 -0
  22. package/{fs → fjs}/bnf/ll1/proof.f.js +27 -10
  23. package/{fs → fjs}/bnf/module.f.d.ts +19 -5
  24. package/{fs → fjs}/bnf/module.f.js +10 -11
  25. package/fjs/bnf/proof.f.js +69 -0
  26. package/{fs → fjs}/bnf/testlib.f.js +2 -2
  27. package/fjs/bnf/token_symbol/module.f.d.ts +38 -0
  28. package/fjs/bnf/token_symbol/module.f.js +48 -0
  29. package/fjs/bnf/token_symbol/proof.f.d.ts +10 -0
  30. package/fjs/bnf/token_symbol/proof.f.js +37 -0
  31. package/{fs → fjs}/cas/cli/module.f.js +6 -9
  32. package/{fs → fjs}/cas/cli/proof.f.d.ts +4 -1
  33. package/{fs → fjs}/cas/cli/proof.f.js +29 -66
  34. package/fjs/cas/evo/mcp/module.f.d.ts +27 -0
  35. package/fjs/cas/evo/mcp/module.f.js +94 -0
  36. package/fjs/cas/evo/mcp/proof.f.d.ts +11 -0
  37. package/fjs/cas/evo/mcp/proof.f.js +126 -0
  38. package/fjs/cas/evo/module.f.d.ts +202 -0
  39. package/fjs/cas/evo/module.f.js +421 -0
  40. package/fjs/cas/evo/proof.f.d.ts +39 -0
  41. package/fjs/cas/evo/proof.f.js +572 -0
  42. package/fjs/cas/mcp/module.f.d.ts +49 -0
  43. package/{fs → fjs}/cas/mcp/module.f.js +61 -81
  44. package/{fs → fjs}/cas/mcp/proof.f.d.ts +4 -1
  45. package/{fs → fjs}/cas/mcp/proof.f.js +45 -17
  46. package/{fs → fjs}/cas/module.f.d.ts +10 -0
  47. package/{fs → fjs}/cas/module.f.js +89 -36
  48. package/fjs/cas/proof.f.d.ts +18 -0
  49. package/fjs/cas/proof.f.js +305 -0
  50. package/{fs → fjs}/ci/bun/module.f.js +3 -3
  51. package/{fs → fjs}/ci/common/module.f.d.ts +1 -2
  52. package/{fs → fjs}/ci/common/module.f.js +1 -5
  53. package/{fs → fjs}/ci/config/module.f.d.ts +8 -8
  54. package/{fs → fjs}/ci/config/module.f.js +8 -8
  55. package/{fs → fjs}/ci/deno/module.f.js +3 -3
  56. package/{fs → fjs}/ci/module.f.js +3 -4
  57. package/{fs → fjs}/ci/node/module.f.js +11 -9
  58. package/{fs → fjs}/ci/proof.f.js +16 -9
  59. package/{fs → fjs}/ci/rust/module.f.js +9 -1
  60. package/{fs → fjs}/cli/module.f.js +2 -2
  61. package/{fs → fjs}/cli/proof.f.js +22 -63
  62. package/{fs → fjs}/common/monoid/module.f.d.ts +46 -2
  63. package/fjs/common/monoid/module.f.js +88 -0
  64. package/fjs/common/monoid/proof.f.d.ts +9 -0
  65. package/fjs/common/monoid/proof.f.js +48 -0
  66. package/{fs → fjs}/crypto/hmac/proof.f.js +4 -12
  67. package/fjs/crypto/pow/proof.f.js +111 -0
  68. package/{fs → fjs}/crypto/secp/proof.f.js +12 -33
  69. package/{fs → fjs}/crypto/sha2/proof.f.js +18 -49
  70. package/{fs → fjs}/crypto/sign/module.f.d.ts +0 -5
  71. package/{fs → fjs}/crypto/sign/module.f.js +7 -4
  72. package/{fs → fjs}/crypto/sign/proof.f.js +36 -105
  73. package/{fs → fjs}/crypto/vdf/proof.f.js +22 -63
  74. package/{fs → fjs}/dev/module.f.js +25 -25
  75. package/{fs → fjs}/dev/package_json/proof.f.js +7 -7
  76. package/{fs → fjs}/dev/proof.f.js +2 -4
  77. package/{fs → fjs}/djs/ast/proof.f.js +4 -12
  78. package/{fs → fjs}/djs/module.f.js +5 -8
  79. package/{fs → fjs}/djs/parser/module.f.d.ts +8 -0
  80. package/{fs → fjs}/djs/parser/module.f.js +37 -0
  81. package/{fs → fjs}/djs/parser/proof.f.js +138 -400
  82. package/{fs → fjs}/djs/proof.f.js +13 -36
  83. package/{fs → fjs}/djs/serializer/proof.f.js +14 -39
  84. package/fjs/djs/tokenizer/module.f.d.ts +24 -0
  85. package/fjs/djs/tokenizer/module.f.js +472 -0
  86. package/{fs/djs/tokenizer-new → fjs/djs/tokenizer}/proof.f.d.ts +4 -3
  87. package/{fs/djs/tokenizer-new → fjs/djs/tokenizer}/proof.f.js +446 -445
  88. package/{fs → fjs}/djs/transpiler/module.f.js +6 -6
  89. package/{fs → fjs}/djs/transpiler/proof.f.d.ts +3 -0
  90. package/{fs → fjs}/djs/transpiler/proof.f.js +29 -30
  91. package/fjs/effects/eff/module.f.d.ts +72 -0
  92. package/fjs/effects/eff/module.f.js +46 -0
  93. package/fjs/effects/eff/proof.f.d.ts +11 -0
  94. package/fjs/effects/eff/proof.f.js +58 -0
  95. package/{fs → fjs}/effects/list/module.f.d.ts +11 -5
  96. package/{fs → fjs}/effects/list/module.f.js +2 -1
  97. package/{fs → fjs}/effects/memory/proof.f.js +15 -29
  98. package/fjs/effects/module.f.d.ts +388 -0
  99. package/fjs/effects/module.f.js +288 -0
  100. package/{fs → fjs}/effects/node/memory/proof.js +7 -13
  101. package/{fs → fjs}/effects/node/module.d.ts +1 -1
  102. package/{fs → fjs}/effects/node/module.f.d.ts +2 -2
  103. package/{fs → fjs}/effects/node/module.f.js +9 -11
  104. package/{fs → fjs}/effects/node/module.js +3 -3
  105. package/{fs → fjs}/effects/node/proof.f.d.ts +1 -0
  106. package/{fs → fjs}/effects/node/proof.f.js +121 -299
  107. package/{fs → fjs}/effects/node/virtual/proof.f.d.ts +1 -0
  108. package/{fs → fjs}/effects/node/virtual/proof.f.js +36 -29
  109. package/fjs/effects/proof.f.d.ts +51 -0
  110. package/fjs/effects/proof.f.js +178 -0
  111. package/{fs → fjs}/emergent_testing/module.f.js +55 -39
  112. package/{fs → fjs}/emergent_testing/proof.f.d.ts +4 -0
  113. package/{fs → fjs}/emergent_testing/proof.f.js +60 -27
  114. package/{fs → fjs}/fsc/proof.f.js +12 -34
  115. package/{fs → fjs}/fsm/proof.f.js +5 -12
  116. package/{fs → fjs}/mcp/module.f.d.ts +7 -0
  117. package/{fs → fjs}/mcp/module.f.js +17 -10
  118. package/{fs → fjs}/mcp/proof.f.js +17 -16
  119. package/{fs → fjs}/mcp/stdio/module.f.d.ts +4 -4
  120. package/{fs → fjs}/mcp/stdio/module.f.js +14 -14
  121. package/{fs → fjs}/media/html/proof.f.js +12 -33
  122. package/{fs → fjs}/media/json/parser/module.f.d.ts +5 -0
  123. package/{fs → fjs}/media/json/parser/module.f.js +14 -0
  124. package/{fs → fjs}/media/json/parser/proof.f.js +39 -114
  125. package/{fs → fjs}/media/json/rpc/module.f.js +1 -1
  126. package/{fs → fjs}/media/json/schema/module.f.d.ts +2 -2
  127. package/{fs → fjs}/media/json/schema/module.f.js +23 -39
  128. package/{fs → fjs}/media/json/schema/proof.f.js +3 -6
  129. package/{fs → fjs}/media/json/serializer/proof.f.js +10 -27
  130. package/{fs → fjs}/media/module.f.d.ts +6 -6
  131. package/{fs → fjs}/media/module.f.js +3 -4
  132. package/{fs → fjs}/media/proof.f.js +5 -4
  133. package/{fs → fjs}/media/revision/module.f.d.ts +31 -4
  134. package/{fs → fjs}/media/revision/module.f.js +35 -23
  135. package/{fs → fjs}/media/revision/proof.f.d.ts +10 -8
  136. package/fjs/media/revision/proof.f.js +140 -0
  137. package/{fs → fjs}/media/type/module.f.js +2 -2
  138. package/{fs → fjs}/media/type/proof.f.js +8 -15
  139. package/{fs → fjs}/module.f.js +5 -9
  140. package/{fs → fjs}/path/proof.f.js +27 -78
  141. package/{fs → fjs}/proof.f.js +2 -0
  142. package/{fs → fjs}/sul/id/proof.f.js +7 -21
  143. package/{fs → fjs}/sul/level/hash/proof.f.js +5 -5
  144. package/{fs → fjs}/sul/level/literal/proof.f.js +12 -26
  145. package/fjs/text/ascii/proof.f.d.ts +6 -0
  146. package/{fs → fjs}/text/ascii/proof.f.js +4 -14
  147. package/{fs → fjs}/text/code_point/module.f.js +10 -10
  148. package/{fs → fjs}/text/proof.f.js +4 -9
  149. package/{fs → fjs}/text/sgr/proof.f.js +6 -15
  150. package/{fs → fjs}/text/utf16/module.f.js +1 -1
  151. package/{fs → fjs}/text/utf16/proof.f.js +23 -66
  152. package/{fs → fjs}/text/utf8/proof.f.js +56 -125
  153. package/{fs → fjs}/types/array/proof.f.js +18 -52
  154. package/fjs/types/bigfloat/proof.f.js +217 -0
  155. package/{fs → fjs}/types/bigint/module.f.js +4 -3
  156. package/{fs → fjs}/types/bigint/proof.f.js +49 -145
  157. package/{fs → fjs}/types/bit_vec/module.f.js +5 -15
  158. package/{fs → fjs}/types/bit_vec/proof.f.js +72 -214
  159. package/{fs → fjs}/types/btree/find/proof.f.js +23 -66
  160. package/{fs → fjs}/types/btree/proof.f.js +5 -12
  161. package/{fs → fjs}/types/btree/remove/module.f.d.ts +5 -0
  162. package/{fs → fjs}/types/btree/remove/module.f.js +12 -0
  163. package/{fs → fjs}/types/btree/remove/proof.f.d.ts +2 -0
  164. package/{fs → fjs}/types/btree/remove/proof.f.js +83 -230
  165. package/{fs → fjs}/types/btree/set/module.f.js +5 -2
  166. package/{fs → fjs}/types/btree/set/proof.f.js +35 -24
  167. package/{fs → fjs}/types/byte_set/proof.f.js +22 -63
  168. package/{fs → fjs}/types/function/compare/proof.f.js +13 -36
  169. package/{fs → fjs}/types/function/operator/proof.f.js +17 -48
  170. package/{fs → fjs}/types/function/proof.f.js +2 -3
  171. package/{fs → fjs}/types/list/module.f.d.ts +21 -0
  172. package/{fs → fjs}/types/list/module.f.js +17 -0
  173. package/{fs → fjs}/types/list/proof.f.d.ts +1 -0
  174. package/{fs → fjs}/types/list/proof.f.js +79 -164
  175. package/{fs → fjs}/types/map/proof.f.js +4 -12
  176. package/{fs → fjs}/types/nibble_set/proof.f.js +16 -45
  177. package/{fs → fjs}/types/nominal/proof.f.js +5 -10
  178. package/fjs/types/nullable/proof.f.js +29 -0
  179. package/{fs → fjs}/types/number/module.f.js +2 -1
  180. package/{fs → fjs}/types/number/proof.f.js +9 -24
  181. package/{fs → fjs}/types/object/proof.f.js +3 -6
  182. package/{fs → fjs}/types/patricia_trie/proof.f.js +21 -21
  183. package/{fs → fjs}/types/prime_field/module.f.js +2 -7
  184. package/{fs → fjs}/types/range/module.f.d.ts +1 -1
  185. package/fjs/types/range/module.f.js +2 -0
  186. package/fjs/types/range/proof.f.js +9 -0
  187. package/{fs → fjs}/types/range_map/proof.f.js +28 -81
  188. package/{fs → fjs}/types/result/proof.f.d.ts +3 -2
  189. package/fjs/types/result/proof.f.js +31 -0
  190. package/{fs → fjs}/types/rtti/common/module.f.d.ts +36 -1
  191. package/{fs → fjs}/types/rtti/common/module.f.js +44 -0
  192. package/fjs/types/rtti/common/proof.f.d.ts +8 -0
  193. package/fjs/types/rtti/common/proof.f.js +51 -0
  194. package/{fs → fjs}/types/rtti/parse/module.f.js +13 -22
  195. package/{fs → fjs}/types/rtti/parse/proof.f.js +7 -18
  196. package/{fs → fjs}/types/rtti/ts/module.f.d.ts +10 -4
  197. package/{fs → fjs}/types/rtti/validate/module.f.js +8 -29
  198. package/{fs → fjs}/types/rtti/validate/proof.f.js +4 -9
  199. package/{fs → fjs}/types/sorted_list/proof.f.js +8 -21
  200. package/{fs → fjs}/types/sorted_set/proof.f.js +14 -39
  201. package/{fs → fjs}/types/string/module.f.js +10 -2
  202. package/fjs/types/string/proof.f.js +77 -0
  203. package/fjs/types/string_set/proof.f.js +43 -0
  204. package/{fs → fjs}/types/ts/proof.f.js +15 -42
  205. package/{fs → fjs}/types/uint8array/module.f.js +7 -7
  206. package/{fs → fjs}/types/uint8array/proof.f.d.ts +4 -1
  207. package/{fs → fjs}/types/uint8array/proof.f.js +7 -7
  208. package/{fs → fjs}/website/module.f.js +2 -3
  209. package/{fs → fjs}/website/proof.f.js +3 -6
  210. package/package.json +8 -8
  211. package/fs/asserts/module.f.d.ts +0 -4
  212. package/fs/asserts/module.f.js +0 -9
  213. package/fs/asserts/proof.f.d.ts +0 -8
  214. package/fs/asserts/proof.f.js +0 -51
  215. package/fs/bnf/data/module.f.d.ts +0 -30
  216. package/fs/bnf/descent/module.f.js +0 -119
  217. package/fs/bnf/proof.f.js +0 -104
  218. package/fs/cas/mcp/module.f.d.ts +0 -36
  219. package/fs/cas/proof.f.d.ts +0 -20
  220. package/fs/cas/proof.f.js +0 -294
  221. package/fs/common/monoid/module.f.js +0 -44
  222. package/fs/common/monoid/proof.f.d.ts +0 -4
  223. package/fs/common/monoid/proof.f.js +0 -27
  224. package/fs/crypto/pow/proof.f.js +0 -161
  225. package/fs/djs/tokenizer/module.f.d.ts +0 -12
  226. package/fs/djs/tokenizer/module.f.js +0 -62
  227. package/fs/djs/tokenizer/proof.f.d.ts +0 -7
  228. package/fs/djs/tokenizer/proof.f.js +0 -543
  229. package/fs/djs/tokenizer-new/module.f.d.ts +0 -3
  230. package/fs/djs/tokenizer-new/module.f.js +0 -155
  231. package/fs/effects/module.f.d.ts +0 -106
  232. package/fs/effects/module.f.js +0 -80
  233. package/fs/effects/proof.f.d.ts +0 -25
  234. package/fs/effects/proof.f.js +0 -115
  235. package/fs/media/revision/proof.f.js +0 -119
  236. package/fs/text/ascii/proof.f.d.ts +0 -4
  237. package/fs/types/bigfloat/proof.f.js +0 -348
  238. package/fs/types/nullable/proof.f.js +0 -50
  239. package/fs/types/range/module.f.js +0 -2
  240. package/fs/types/range/proof.f.js +0 -18
  241. package/fs/types/result/proof.f.js +0 -52
  242. package/fs/types/string/proof.f.js +0 -118
  243. package/fs/types/string_set/proof.f.js +0 -82
  244. /package/{fs → fjs}/asn.1/module.f.d.ts +0 -0
  245. /package/{fs → fjs}/asn.1/module.f.js +0 -0
  246. /package/{fs → fjs}/asn.1/proof.f.d.ts +0 -0
  247. /package/{fs → fjs}/base_n/module.f.d.ts +0 -0
  248. /package/{fs → fjs}/base_n/module.f.js +0 -0
  249. /package/{fs → fjs}/base_n/proof.f.d.ts +0 -0
  250. /package/{fs → fjs}/basen/base128/module.f.d.ts +0 -0
  251. /package/{fs → fjs}/basen/base128/module.f.js +0 -0
  252. /package/{fs → fjs}/basen/base128/proof.f.d.ts +0 -0
  253. /package/{fs → fjs}/basen/base128/proof.f.js +0 -0
  254. /package/{fs → fjs}/basen/base64/module.f.d.ts +0 -0
  255. /package/{fs → fjs}/basen/base64/module.f.js +0 -0
  256. /package/{fs → fjs}/basen/cbase32/module.f.d.ts +0 -0
  257. /package/{fs → fjs}/basen/cbase32/module.f.js +0 -0
  258. /package/{fs → fjs}/basen/cbase32/proof.f.d.ts +0 -0
  259. /package/{fs → fjs}/bnf/proof.f.d.ts +0 -0
  260. /package/{fs → fjs}/bnf/testlib.f.d.ts +0 -0
  261. /package/{fs → fjs}/cas/cli/module.f.d.ts +0 -0
  262. /package/{fs → fjs}/ci/bun/module.f.d.ts +0 -0
  263. /package/{fs → fjs}/ci/deno/module.f.d.ts +0 -0
  264. /package/{fs → fjs}/ci/module.f.d.ts +0 -0
  265. /package/{fs → fjs}/ci/node/module.f.d.ts +0 -0
  266. /package/{fs → fjs}/ci/playwright/module.f.d.ts +0 -0
  267. /package/{fs → fjs}/ci/playwright/module.f.js +0 -0
  268. /package/{fs → fjs}/ci/proof.f.d.ts +0 -0
  269. /package/{fs → fjs}/ci/rust/module.f.d.ts +0 -0
  270. /package/{fs → fjs}/cli/module.f.d.ts +0 -0
  271. /package/{fs → fjs}/cli/proof.f.d.ts +0 -0
  272. /package/{fs → fjs}/crypto/hmac/module.f.d.ts +0 -0
  273. /package/{fs → fjs}/crypto/hmac/module.f.js +0 -0
  274. /package/{fs → fjs}/crypto/hmac/proof.f.d.ts +0 -0
  275. /package/{fs → fjs}/crypto/pow/module.f.d.ts +0 -0
  276. /package/{fs → fjs}/crypto/pow/module.f.js +0 -0
  277. /package/{fs → fjs}/crypto/pow/proof.f.d.ts +0 -0
  278. /package/{fs → fjs}/crypto/secp/module.f.d.ts +0 -0
  279. /package/{fs → fjs}/crypto/secp/module.f.js +0 -0
  280. /package/{fs → fjs}/crypto/secp/proof.f.d.ts +0 -0
  281. /package/{fs → fjs}/crypto/sha2/module.f.d.ts +0 -0
  282. /package/{fs → fjs}/crypto/sha2/module.f.js +0 -0
  283. /package/{fs → fjs}/crypto/sha2/proof.f.d.ts +0 -0
  284. /package/{fs → fjs}/crypto/sign/proof.f.d.ts +0 -0
  285. /package/{fs → fjs}/crypto/vdf/module.f.d.ts +0 -0
  286. /package/{fs → fjs}/crypto/vdf/module.f.js +0 -0
  287. /package/{fs → fjs}/crypto/vdf/proof.f.d.ts +0 -0
  288. /package/{fs → fjs}/dev/module.f.d.ts +0 -0
  289. /package/{fs → fjs}/dev/package_json/module.f.d.ts +0 -0
  290. /package/{fs → fjs}/dev/package_json/module.f.js +0 -0
  291. /package/{fs → fjs}/dev/package_json/proof.f.d.ts +0 -0
  292. /package/{fs → fjs}/dev/proof.f.d.ts +0 -0
  293. /package/{fs → fjs}/djs/ast/module.f.d.ts +0 -0
  294. /package/{fs → fjs}/djs/ast/module.f.js +0 -0
  295. /package/{fs → fjs}/djs/ast/proof.f.d.ts +0 -0
  296. /package/{fs → fjs}/djs/examples/input.f.d.ts +0 -0
  297. /package/{fs → fjs}/djs/examples/input.f.js +0 -0
  298. /package/{fs → fjs}/djs/examples/m.f.d.ts +0 -0
  299. /package/{fs → fjs}/djs/examples/m.f.js +0 -0
  300. /package/{fs → fjs}/djs/module.f.d.ts +0 -0
  301. /package/{fs → fjs}/djs/parser/proof.f.d.ts +0 -0
  302. /package/{fs → fjs}/djs/proof.f.d.ts +0 -0
  303. /package/{fs → fjs}/djs/serializer/module.f.d.ts +0 -0
  304. /package/{fs → fjs}/djs/serializer/module.f.js +0 -0
  305. /package/{fs → fjs}/djs/serializer/proof.f.d.ts +0 -0
  306. /package/{fs → fjs}/djs/transpiler/module.f.d.ts +0 -0
  307. /package/{fs → fjs}/effects/memory/module.f.d.ts +0 -0
  308. /package/{fs → fjs}/effects/memory/module.f.js +0 -0
  309. /package/{fs → fjs}/effects/memory/proof.f.d.ts +0 -0
  310. /package/{fs → fjs}/effects/mock/module.f.d.ts +0 -0
  311. /package/{fs → fjs}/effects/mock/module.f.js +0 -0
  312. /package/{fs → fjs}/effects/module.d.ts +0 -0
  313. /package/{fs → fjs}/effects/module.js +0 -0
  314. /package/{fs → fjs}/effects/node/memory/module.d.ts +0 -0
  315. /package/{fs → fjs}/effects/node/memory/module.js +0 -0
  316. /package/{fs → fjs}/effects/node/memory/proof.d.ts +0 -0
  317. /package/{fs → fjs}/effects/node/virtual/module.f.d.ts +0 -0
  318. /package/{fs → fjs}/effects/node/virtual/module.f.js +0 -0
  319. /package/{fs → fjs}/emergent_testing/all.test.d.ts +0 -0
  320. /package/{fs → fjs}/emergent_testing/all.test.js +0 -0
  321. /package/{fs → fjs}/emergent_testing/example.f.d.ts +0 -0
  322. /package/{fs → fjs}/emergent_testing/example.f.js +0 -0
  323. /package/{fs → fjs}/emergent_testing/module.f.d.ts +0 -0
  324. /package/{fs → fjs}/emergent_testing/scenarios/all.d.ts +0 -0
  325. /package/{fs → fjs}/emergent_testing/scenarios/all.js +0 -0
  326. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.fail.d.ts +0 -0
  327. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.fail.js +0 -0
  328. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.pass.d.ts +0 -0
  329. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.pass.js +0 -0
  330. /package/{fs → fjs}/emergent_testing/scenarios/async.fail.d.ts +0 -0
  331. /package/{fs → fjs}/emergent_testing/scenarios/async.fail.js +0 -0
  332. /package/{fs → fjs}/emergent_testing/scenarios/async.pass.d.ts +0 -0
  333. /package/{fs → fjs}/emergent_testing/scenarios/async.pass.js +0 -0
  334. /package/{fs → fjs}/emergent_testing/scenarios/fail.fail.d.ts +0 -0
  335. /package/{fs → fjs}/emergent_testing/scenarios/fail.fail.js +0 -0
  336. /package/{fs → fjs}/emergent_testing/scenarios/return-value.pass.d.ts +0 -0
  337. /package/{fs → fjs}/emergent_testing/scenarios/return-value.pass.js +0 -0
  338. /package/{fs → fjs}/emergent_testing/scenarios/thenable.pass.d.ts +0 -0
  339. /package/{fs → fjs}/emergent_testing/scenarios/thenable.pass.js +0 -0
  340. /package/{fs → fjs}/emergent_testing/scenarios/thenable2.pass.d.ts +0 -0
  341. /package/{fs → fjs}/emergent_testing/scenarios/thenable2.pass.js +0 -0
  342. /package/{fs → fjs}/emergent_testing/scenarios/throw.pass.d.ts +0 -0
  343. /package/{fs → fjs}/emergent_testing/scenarios/throw.pass.js +0 -0
  344. /package/{fs → fjs}/fsc/bnf.f.d.ts +0 -0
  345. /package/{fs → fjs}/fsc/bnf.f.js +0 -0
  346. /package/{fs → fjs}/fsc/json.f.d.ts +0 -0
  347. /package/{fs → fjs}/fsc/json.f.js +0 -0
  348. /package/{fs → fjs}/fsc/module.f.d.ts +0 -0
  349. /package/{fs → fjs}/fsc/module.f.js +0 -0
  350. /package/{fs → fjs}/fsc/proof.f.d.ts +0 -0
  351. /package/{fs → fjs}/fsm/module.f.d.ts +0 -0
  352. /package/{fs → fjs}/fsm/module.f.js +0 -0
  353. /package/{fs → fjs}/fsm/proof.f.d.ts +0 -0
  354. /package/{fs → fjs}/js/tokenizer/module.f.d.ts +0 -0
  355. /package/{fs → fjs}/js/tokenizer/module.f.js +0 -0
  356. /package/{fs → fjs}/js/tokenizer/proof.f.d.ts +0 -0
  357. /package/{fs → fjs}/js/tokenizer/proof.f.js +0 -0
  358. /package/{fs → fjs}/mcp/proof.f.d.ts +0 -0
  359. /package/{fs → fjs}/mcp/stdio/proof.f.d.ts +0 -0
  360. /package/{fs → fjs}/mcp/stdio/proof.f.js +0 -0
  361. /package/{fs → fjs}/media/html/module.f.d.ts +0 -0
  362. /package/{fs → fjs}/media/html/module.f.js +0 -0
  363. /package/{fs → fjs}/media/html/proof.f.d.ts +0 -0
  364. /package/{fs → fjs}/media/json/module.f.d.ts +0 -0
  365. /package/{fs → fjs}/media/json/module.f.js +0 -0
  366. /package/{fs → fjs}/media/json/parser/proof.f.d.ts +0 -0
  367. /package/{fs → fjs}/media/json/proof.f.d.ts +0 -0
  368. /package/{fs → fjs}/media/json/proof.f.js +0 -0
  369. /package/{fs → fjs}/media/json/rpc/module.f.d.ts +0 -0
  370. /package/{fs → fjs}/media/json/rpc/proof.f.d.ts +0 -0
  371. /package/{fs → fjs}/media/json/rpc/proof.f.js +0 -0
  372. /package/{fs → fjs}/media/json/schema/proof.f.d.ts +0 -0
  373. /package/{fs → fjs}/media/json/serializer/module.f.d.ts +0 -0
  374. /package/{fs → fjs}/media/json/serializer/module.f.js +0 -0
  375. /package/{fs → fjs}/media/json/serializer/proof.f.d.ts +0 -0
  376. /package/{fs → fjs}/media/json/tokenizer/module.f.d.ts +0 -0
  377. /package/{fs → fjs}/media/json/tokenizer/module.f.js +0 -0
  378. /package/{fs → fjs}/media/json/tokenizer/proof.f.d.ts +0 -0
  379. /package/{fs → fjs}/media/json/tokenizer/proof.f.js +0 -0
  380. /package/{fs → fjs}/media/proof.f.d.ts +0 -0
  381. /package/{fs → fjs}/media/type/module.f.d.ts +0 -0
  382. /package/{fs → fjs}/media/type/proof.f.d.ts +0 -0
  383. /package/{fs → fjs}/module.d.ts +0 -0
  384. /package/{fs → fjs}/module.f.d.ts +0 -0
  385. /package/{fs → fjs}/module.js +0 -0
  386. /package/{fs → fjs}/path/module.f.d.ts +0 -0
  387. /package/{fs → fjs}/path/module.f.js +0 -0
  388. /package/{fs → fjs}/path/proof.f.d.ts +0 -0
  389. /package/{fs → fjs}/proof.f.d.ts +0 -0
  390. /package/{fs → fjs}/sul/id/module.f.d.ts +0 -0
  391. /package/{fs → fjs}/sul/id/module.f.js +0 -0
  392. /package/{fs → fjs}/sul/id/proof.f.d.ts +0 -0
  393. /package/{fs → fjs}/sul/level/hash/module.f.d.ts +0 -0
  394. /package/{fs → fjs}/sul/level/hash/module.f.js +0 -0
  395. /package/{fs → fjs}/sul/level/hash/proof.f.d.ts +0 -0
  396. /package/{fs → fjs}/sul/level/literal/module.f.d.ts +0 -0
  397. /package/{fs → fjs}/sul/level/literal/module.f.js +0 -0
  398. /package/{fs → fjs}/sul/level/literal/proof.f.d.ts +0 -0
  399. /package/{fs → fjs}/sul/module.f.d.ts +0 -0
  400. /package/{fs → fjs}/sul/module.f.js +0 -0
  401. /package/{fs → fjs}/sul/proof.f.d.ts +0 -0
  402. /package/{fs → fjs}/sul/proof.f.js +0 -0
  403. /package/{fs → fjs}/text/ascii/module.f.d.ts +0 -0
  404. /package/{fs → fjs}/text/ascii/module.f.js +0 -0
  405. /package/{fs → fjs}/text/code_point/module.f.d.ts +0 -0
  406. /package/{fs → fjs}/text/code_point/proof.f.d.ts +0 -0
  407. /package/{fs → fjs}/text/code_point/proof.f.js +0 -0
  408. /package/{fs → fjs}/text/module.f.d.ts +0 -0
  409. /package/{fs → fjs}/text/module.f.js +0 -0
  410. /package/{fs → fjs}/text/proof.f.d.ts +0 -0
  411. /package/{fs → fjs}/text/sgr/module.f.d.ts +0 -0
  412. /package/{fs → fjs}/text/sgr/module.f.js +0 -0
  413. /package/{fs → fjs}/text/sgr/proof.f.d.ts +0 -0
  414. /package/{fs → fjs}/text/utf16/module.f.d.ts +0 -0
  415. /package/{fs → fjs}/text/utf16/proof.f.d.ts +0 -0
  416. /package/{fs → fjs}/text/utf8/module.f.d.ts +0 -0
  417. /package/{fs → fjs}/text/utf8/module.f.js +0 -0
  418. /package/{fs → fjs}/text/utf8/proof.f.d.ts +0 -0
  419. /package/{fs → fjs}/types/array/module.f.d.ts +0 -0
  420. /package/{fs → fjs}/types/array/module.f.js +0 -0
  421. /package/{fs → fjs}/types/array/proof.f.d.ts +0 -0
  422. /package/{fs → fjs}/types/bigfloat/module.f.d.ts +0 -0
  423. /package/{fs → fjs}/types/bigfloat/module.f.js +0 -0
  424. /package/{fs → fjs}/types/bigfloat/proof.f.d.ts +0 -0
  425. /package/{fs → fjs}/types/bigint/module.f.d.ts +0 -0
  426. /package/{fs → fjs}/types/bigint/proof.f.d.ts +0 -0
  427. /package/{fs → fjs}/types/bit_vec/module.f.d.ts +0 -0
  428. /package/{fs → fjs}/types/bit_vec/proof.f.d.ts +0 -0
  429. /package/{fs → fjs}/types/btree/find/module.f.d.ts +0 -0
  430. /package/{fs → fjs}/types/btree/find/module.f.js +0 -0
  431. /package/{fs → fjs}/types/btree/find/proof.f.d.ts +0 -0
  432. /package/{fs → fjs}/types/btree/module.f.d.ts +0 -0
  433. /package/{fs → fjs}/types/btree/module.f.js +0 -0
  434. /package/{fs → fjs}/types/btree/proof.f.d.ts +0 -0
  435. /package/{fs → fjs}/types/btree/set/module.f.d.ts +0 -0
  436. /package/{fs → fjs}/types/btree/set/proof.f.d.ts +0 -0
  437. /package/{fs → fjs}/types/btree/types/module.f.d.ts +0 -0
  438. /package/{fs → fjs}/types/btree/types/module.f.js +0 -0
  439. /package/{fs → fjs}/types/byte_set/module.f.d.ts +0 -0
  440. /package/{fs → fjs}/types/byte_set/module.f.js +0 -0
  441. /package/{fs → fjs}/types/byte_set/proof.f.d.ts +0 -0
  442. /package/{fs → fjs}/types/function/compare/module.f.d.ts +0 -0
  443. /package/{fs → fjs}/types/function/compare/module.f.js +0 -0
  444. /package/{fs → fjs}/types/function/compare/proof.f.d.ts +0 -0
  445. /package/{fs → fjs}/types/function/module.f.d.ts +0 -0
  446. /package/{fs → fjs}/types/function/module.f.js +0 -0
  447. /package/{fs → fjs}/types/function/operator/module.f.d.ts +0 -0
  448. /package/{fs → fjs}/types/function/operator/module.f.js +0 -0
  449. /package/{fs → fjs}/types/function/operator/proof.f.d.ts +0 -0
  450. /package/{fs → fjs}/types/function/proof.f.d.ts +0 -0
  451. /package/{fs → fjs}/types/map/module.f.d.ts +0 -0
  452. /package/{fs → fjs}/types/map/module.f.js +0 -0
  453. /package/{fs → fjs}/types/map/proof.f.d.ts +0 -0
  454. /package/{fs → fjs}/types/nibble_set/module.f.d.ts +0 -0
  455. /package/{fs → fjs}/types/nibble_set/module.f.js +0 -0
  456. /package/{fs → fjs}/types/nibble_set/proof.f.d.ts +0 -0
  457. /package/{fs → fjs}/types/nominal/module.f.d.ts +0 -0
  458. /package/{fs → fjs}/types/nominal/module.f.js +0 -0
  459. /package/{fs → fjs}/types/nominal/proof.f.d.ts +0 -0
  460. /package/{fs → fjs}/types/nullable/module.f.d.ts +0 -0
  461. /package/{fs → fjs}/types/nullable/module.f.js +0 -0
  462. /package/{fs → fjs}/types/nullable/proof.f.d.ts +0 -0
  463. /package/{fs → fjs}/types/number/module.f.d.ts +0 -0
  464. /package/{fs → fjs}/types/number/proof.f.d.ts +0 -0
  465. /package/{fs → fjs}/types/object/module.f.d.ts +0 -0
  466. /package/{fs → fjs}/types/object/module.f.js +0 -0
  467. /package/{fs → fjs}/types/object/proof.f.d.ts +0 -0
  468. /package/{fs → fjs}/types/option/module.f.d.ts +0 -0
  469. /package/{fs → fjs}/types/option/module.f.js +0 -0
  470. /package/{fs → fjs}/types/ordered_map/module.f.d.ts +0 -0
  471. /package/{fs → fjs}/types/ordered_map/module.f.js +0 -0
  472. /package/{fs → fjs}/types/ordered_map/proof.f.d.ts +0 -0
  473. /package/{fs → fjs}/types/ordered_map/proof.f.js +0 -0
  474. /package/{fs → fjs}/types/patricia_trie/module.f.d.ts +0 -0
  475. /package/{fs → fjs}/types/patricia_trie/module.f.js +0 -0
  476. /package/{fs → fjs}/types/patricia_trie/proof.f.d.ts +0 -0
  477. /package/{fs → fjs}/types/phantom/module.f.d.ts +0 -0
  478. /package/{fs → fjs}/types/phantom/module.f.js +0 -0
  479. /package/{fs → fjs}/types/prime_field/module.f.d.ts +0 -0
  480. /package/{fs → fjs}/types/prime_field/proof.f.d.ts +0 -0
  481. /package/{fs → fjs}/types/prime_field/proof.f.js +0 -0
  482. /package/{fs → fjs}/types/range/proof.f.d.ts +0 -0
  483. /package/{fs → fjs}/types/range_map/module.f.d.ts +0 -0
  484. /package/{fs → fjs}/types/range_map/module.f.js +0 -0
  485. /package/{fs → fjs}/types/range_map/proof.f.d.ts +0 -0
  486. /package/{fs → fjs}/types/result/module.d.ts +0 -0
  487. /package/{fs → fjs}/types/result/module.f.d.ts +0 -0
  488. /package/{fs → fjs}/types/result/module.f.js +0 -0
  489. /package/{fs → fjs}/types/result/module.js +0 -0
  490. /package/{fs → fjs}/types/rtti/module.f.d.ts +0 -0
  491. /package/{fs → fjs}/types/rtti/module.f.js +0 -0
  492. /package/{fs → fjs}/types/rtti/parse/module.f.d.ts +0 -0
  493. /package/{fs → fjs}/types/rtti/parse/proof.f.d.ts +0 -0
  494. /package/{fs → fjs}/types/rtti/proof.f.d.ts +0 -0
  495. /package/{fs → fjs}/types/rtti/proof.f.js +0 -0
  496. /package/{fs → fjs}/types/rtti/ts/module.f.js +0 -0
  497. /package/{fs → fjs}/types/rtti/ts/proof.f.d.ts +0 -0
  498. /package/{fs → fjs}/types/rtti/ts/proof.f.js +0 -0
  499. /package/{fs → fjs}/types/rtti/validate/module.f.d.ts +0 -0
  500. /package/{fs → fjs}/types/rtti/validate/proof.f.d.ts +0 -0
  501. /package/{fs → fjs}/types/sorted_list/module.f.d.ts +0 -0
  502. /package/{fs → fjs}/types/sorted_list/module.f.js +0 -0
  503. /package/{fs → fjs}/types/sorted_list/proof.f.d.ts +0 -0
  504. /package/{fs → fjs}/types/sorted_set/module.f.d.ts +0 -0
  505. /package/{fs → fjs}/types/sorted_set/module.f.js +0 -0
  506. /package/{fs → fjs}/types/sorted_set/proof.f.d.ts +0 -0
  507. /package/{fs → fjs}/types/string/module.f.d.ts +0 -0
  508. /package/{fs → fjs}/types/string/proof.f.d.ts +0 -0
  509. /package/{fs → fjs}/types/string_set/module.f.d.ts +0 -0
  510. /package/{fs → fjs}/types/string_set/module.f.js +0 -0
  511. /package/{fs → fjs}/types/string_set/proof.f.d.ts +0 -0
  512. /package/{fs → fjs}/types/ts/module.f.d.ts +0 -0
  513. /package/{fs → fjs}/types/ts/module.f.js +0 -0
  514. /package/{fs → fjs}/types/ts/proof.f.d.ts +0 -0
  515. /package/{fs → fjs}/types/uint8array/module.f.d.ts +0 -0
  516. /package/{fs → fjs}/website/module.f.d.ts +0 -0
  517. /package/{fs → fjs}/website/proof.f.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- import { assertEq } from '../../asserts/module.f.js';
1
+ import { assert, assertEq } from '../../asserts/module.f.js';
2
2
  import { mask } from '../bigint/module.f.js';
3
3
  import { asBase, asNominal } from '../nominal/module.f.js';
4
4
  import { length, empty, uint, vec, lsb, msb, repeat, vec8, maxLength, u8ListToVec, tryU8ListToVec, u8List, chunkList, fromSentinel } from './module.f.js';
@@ -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
  };
@@ -5,6 +5,7 @@ import { sort } from '../../object/module.f.js';
5
5
  import {} from '../types/module.f.js';
6
6
  import { cmp } from '../../string/module.f.js';
7
7
  import { set as setSet } from '../set/module.f.js';
8
+ import { assertEq } from '../../../asserts/module.f.js';
8
9
  const jsonStr = stringify(sort);
9
10
  const set = node => value => setSet(cmp(value))(() => value)(node);
10
11
  const str = r => jsonStr(toArray(map((x) => x[0])(r)));
@@ -16,136 +17,92 @@ const test = () => {
16
17
  }
17
18
  {
18
19
  const s = jsonStr(_map);
19
- if (s !== '[[["1","100"],"16",["25","36"]],"4",[["49"],"64",["81","9"]]]') {
20
- throw s;
21
- }
20
+ assertEq(s, '[[["1","100"],"16",["25","36"]],"4",[["49"],"64",["81","9"]]]');
22
21
  }
23
22
  //
24
23
  {
25
24
  const r = find("0")(_map);
26
- if (r !== '[0,0,0]') {
27
- throw r;
28
- }
25
+ assertEq(r, '[0,0,0]');
29
26
  }
30
27
  {
31
28
  const r = find("1")(_map);
32
- if (r !== '[1,0,0]') {
33
- throw r;
34
- }
29
+ assertEq(r, '[1,0,0]');
35
30
  }
36
31
  {
37
32
  const r = find("10")(_map);
38
- if (r !== '[2,0,0]') {
39
- throw r;
40
- }
33
+ assertEq(r, '[2,0,0]');
41
34
  }
42
35
  {
43
36
  const r = find("100")(_map);
44
- if (r !== '[3,0,0]') {
45
- throw r;
46
- }
37
+ assertEq(r, '[3,0,0]');
47
38
  }
48
39
  {
49
40
  const r = find("12")(_map);
50
- if (r !== '[4,0,0]') {
51
- throw r;
52
- }
41
+ assertEq(r, '[4,0,0]');
53
42
  }
54
43
  {
55
44
  const r = find("16")(_map);
56
- if (r !== '[1,0]') {
57
- throw r;
58
- }
45
+ assertEq(r, '[1,0]');
59
46
  }
60
47
  {
61
48
  const r = find("17")(_map);
62
- if (r !== '[0,2,0]') {
63
- throw r;
64
- }
49
+ assertEq(r, '[0,2,0]');
65
50
  }
66
51
  {
67
52
  const r = find("25")(_map);
68
- if (r !== '[1,2,0]') {
69
- throw r;
70
- }
53
+ assertEq(r, '[1,2,0]');
71
54
  }
72
55
  {
73
56
  const r = find("26")(_map);
74
- if (r !== '[2,2,0]') {
75
- throw r;
76
- }
57
+ assertEq(r, '[2,2,0]');
77
58
  }
78
59
  {
79
60
  const r = find("36")(_map);
80
- if (r !== '[3,2,0]') {
81
- throw r;
82
- }
61
+ assertEq(r, '[3,2,0]');
83
62
  }
84
63
  {
85
64
  const r = find("37")(_map);
86
- if (r !== '[4,2,0]') {
87
- throw r;
88
- }
65
+ assertEq(r, '[4,2,0]');
89
66
  }
90
67
  {
91
68
  const r = find("4")(_map);
92
- if (r !== '[1]') {
93
- throw r;
94
- }
69
+ assertEq(r, '[1]');
95
70
  }
96
71
  {
97
72
  const r = find("41")(_map);
98
- if (r !== '[0,0,2]') {
99
- throw r;
100
- }
73
+ assertEq(r, '[0,0,2]');
101
74
  }
102
75
  {
103
76
  const r = find("49")(_map);
104
- if (r !== '[1,0,2]') {
105
- throw r;
106
- }
77
+ assertEq(r, '[1,0,2]');
107
78
  }
108
79
  {
109
80
  const r = find("5")(_map);
110
- if (r !== '[2,0,2]') {
111
- throw r;
112
- }
81
+ assertEq(r, '[2,0,2]');
113
82
  }
114
83
  {
115
84
  const r = find("64")(_map);
116
- if (r !== '[1,2]') {
117
- throw r;
118
- }
85
+ assertEq(r, '[1,2]');
119
86
  }
120
87
  {
121
88
  const r = find("65")(_map);
122
- if (r !== '[0,2,2]') {
123
- throw r;
124
- }
89
+ assertEq(r, '[0,2,2]');
125
90
  }
126
91
  {
127
92
  const r = find("81")(_map);
128
- if (r !== '[1,2,2]') {
129
- throw r;
130
- }
93
+ assertEq(r, '[1,2,2]');
131
94
  }
132
95
  {
133
96
  const r = find("85")(_map);
134
- if (r !== '[2,2,2]') {
135
- throw r;
136
- }
97
+ assertEq(r, '[2,2,2]');
137
98
  }
138
99
  {
139
100
  const r = find("9")(_map);
140
- if (r !== '[3,2,2]') {
141
- throw r;
142
- }
101
+ assertEq(r, '[3,2,2]');
143
102
  }
144
103
  {
145
104
  const r = find("91")(_map);
146
- if (r !== '[4,2,2]') {
147
- throw r;
148
- }
105
+ assertEq(r, '[4,2,2]');
149
106
  }
150
107
  };
151
108
  export const proof = test;