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
@@ -5,15 +5,15 @@
5
5
  *
6
6
  * @module
7
7
  */
8
- import { toArray } from "../../types/list/module.f.js";
9
- import { length, msb, uint, uintChunkList, unpack, vec } from "../../types/bit_vec/module.f.js";
10
- import { assertEq } from "../../asserts/module.f.js";
11
- import { utf8 } from "../../text/module.f.js";
12
- import { secp256r1 } from "../../crypto/secp/module.f.js";
13
- import { base32 } from "../../crypto/sha2/module.f.js";
14
- import { literal3ToVec } from "../level/literal/module.f.js";
15
- import { log2 } from "../../types/bigint/module.f.js";
16
- import { asBase, asNominal } from "../../types/nominal/module.f.js";
8
+ import { toArray } from '../../types/list/module.f.js';
9
+ import { length, msb, uint, uintChunkList, unpack, vec } from '../../types/bit_vec/module.f.js';
10
+ import { assertEq } from '../../asserts/module.f.js';
11
+ import { utf8 } from '../../text/module.f.js';
12
+ import { secp256r1 } from '../../crypto/secp/module.f.js';
13
+ import { base32 } from '../../crypto/sha2/module.f.js';
14
+ import { literal3ToVec } from '../level/literal/module.f.js';
15
+ import { log2 } from '../../types/bigint/module.f.js';
16
+ import { asBase, asNominal } from '../../types/nominal/module.f.js';
17
17
  // 32 bytes = 256 bits.
18
18
  //
19
19
  // 0 1
@@ -1,8 +1,8 @@
1
- import { assert, assertEq } from "../../asserts/module.f.js";
2
- import { mask } from "../../types/bigint/module.f.js";
3
- import { vec } from "../../types/bit_vec/module.f.js";
4
- import { compress, hashId, isHash, isRaw, level3Id, rawId } from "./module.f.js";
5
- import { asBase } from "../../types/nominal/module.f.js";
1
+ import { assert, assertEq } from '../../asserts/module.f.js';
2
+ import { mask } from '../../types/bigint/module.f.js';
3
+ import { vec } from '../../types/bit_vec/module.f.js';
4
+ import { compress, hashId, isHash, isRaw, level3Id, rawId } from './module.f.js';
5
+ import { asBase } from '../../types/nominal/module.f.js';
6
6
  // literal3ToVec bit patterns for symbols used below:
7
7
  // 0 → vec(8n)(0n) 4 → vec(8n)(3n)
8
8
  // 1 → vec(8n)(1n) 10 → vec(8n)(5n)
@@ -28,9 +28,7 @@ export const proof = {
28
28
  inline_is_raw: () => assert(isRaw(compress(level3Id(0x00n), level3Id(0x00n)))),
29
29
  // Non-commutativity: argument order is preserved in concatenation
30
30
  non_commutative: () => {
31
- if (compress(level3Id(0n), level3Id(1n)) === compress(level3Id(1n), level3Id(0n))) {
32
- throw compress(level3Id(0n), level3Id(1n));
33
- }
31
+ assert(compress(level3Id(0n), level3Id(1n)) !== compress(level3Id(1n), level3Id(0n)), compress(level3Id(0n), level3Id(1n)));
34
32
  },
35
33
  // Overflow: two 127-bit raw payloads sum to 254 bits, exceeding the 253-bit inline limit
36
34
  overflow_is_hash: () => assert(isHash(overflowHash)),
@@ -38,38 +36,26 @@ export const proof = {
38
36
  hash_left_is_hash: () => assert(isHash(compress(overflowHash, level3Id(0n)))),
39
37
  hash_right_is_hash: () => assert(isHash(compress(level3Id(0n), overflowHash))),
40
38
  hash_non_commutative: () => {
41
- if (compress(overflowHash, level3Id(0n)) === compress(level3Id(0n), overflowHash)) {
42
- throw compress(overflowHash, level3Id(0n));
43
- }
39
+ assert(compress(overflowHash, level3Id(0n)) !== compress(level3Id(0n), overflowHash), compress(overflowHash, level3Id(0n)));
44
40
  },
45
41
  // High-bit sensitivity: prefix bit of `a` is included in the SHA2 upper half
46
42
  hash_merge_a_high_bits: () => {
47
- if (compress(hashId(0n), hashId(0n)) === compress(level3Id(0n), hashId(0n))) {
48
- throw compress(hashId(0n), hashId(0n));
49
- }
43
+ assert(compress(hashId(0n), hashId(0n)) !== compress(level3Id(0n), hashId(0n)), compress(hashId(0n), hashId(0n)));
50
44
  },
51
45
  // High-bit sensitivity: prefix bit of `b` is included in the SHA2 lower half
52
46
  hash_merge_b_high_bits: () => {
53
- if (compress(hashId(0n), hashId(0n)) === compress(hashId(0n), level3Id(0n))) {
54
- throw compress(hashId(0n), hashId(0n));
55
- }
47
+ assert(compress(hashId(0n), hashId(0n)) !== compress(hashId(0n), level3Id(0n)), compress(hashId(0n), hashId(0n)));
56
48
  },
57
49
  // Shift correctness: changing a bit in `a` (upper 256 bits of SHA2 input) changes result
58
50
  hash_merge_a_sensitivity: () => {
59
- if (compress(hFF, hFF) === compress(hFE, hFF)) {
60
- throw compress(hFF, hFF);
61
- }
51
+ assert(compress(hFF, hFF) !== compress(hFE, hFF), compress(hFF, hFF));
62
52
  },
63
53
  // Shift correctness: changing a bit in `b` (lower 256 bits of SHA2 input) changes result
64
54
  hash_merge_b_sensitivity: () => {
65
- if (compress(hFF, hFF) === compress(hFF, hFE)) {
66
- throw compress(hFF, hFF);
67
- }
55
+ assert(compress(hFF, hFF) !== compress(hFF, hFE), compress(hFF, hFF));
68
56
  },
69
57
  // Shift correctness: same bit-flip in `a` vs `b` lands at different SHA2 input positions
70
58
  hash_merge_shift: () => {
71
- if (compress(hFE, hFF) === compress(hFF, hFE)) {
72
- throw compress(hFE, hFF);
73
- }
59
+ assert(compress(hFE, hFF) !== compress(hFF, hFE), compress(hFE, hFF));
74
60
  },
75
61
  };
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * @module
5
5
  */
6
- import { emptyState, patriciaTrie } from "../../../types/patricia_trie/module.f.js";
7
- import { compress } from "../../id/module.f.js";
8
- import { asBase } from "../../../types/nominal/module.f.js";
6
+ import { emptyState, patriciaTrie } from '../../../types/patricia_trie/module.f.js';
7
+ import { compress } from '../../id/module.f.js';
8
+ import { asBase } from '../../../types/nominal/module.f.js';
9
9
  /**
10
10
  * Returns a streaming encoder for hash-level symbols.
11
11
  *
@@ -1,6 +1,6 @@
1
- import { assert, assertEq } from "../../../asserts/module.f.js";
2
- import { compress, level3Id } from "../../id/module.f.js";
3
- import { emptyEncodeState, encode } from "./module.f.js";
1
+ import { assert, assertEq } from '../../../asserts/module.f.js';
2
+ import { compress, level3Id } from '../../id/module.f.js';
3
+ import { emptyEncodeState, encode } from './module.f.js';
4
4
  const add = (l, r, m, isSymbol, s) => [...s, [l, r, m, isSymbol]];
5
5
  const enc = encode(add);
6
6
  const initial = emptyEncodeState([]);
@@ -42,9 +42,9 @@ export const proof = {
42
42
  // All symbols before the terminator return undefined
43
43
  intermediate_undefined: () => {
44
44
  const [r0, st0] = enc(s1, initial);
45
- assert(r0 === undefined);
45
+ assertEq(r0, undefined);
46
46
  const [r1, st1] = enc(s0, st0);
47
- assert(r1 === undefined);
47
+ assertEq(r1, undefined);
48
48
  const [r2] = enc(s1, st1);
49
49
  assert(r2 !== undefined);
50
50
  },
@@ -100,13 +100,13 @@ export const proof = {
100
100
  // Trie-internal merges have isSymbol=false; only the terminal merge has isSymbol=true
101
101
  isSymbol_terminal_only: () => {
102
102
  const [, storage] = runWord([s1, s0, s0]);
103
- assert(storage[0][3] === false); // Patricia trie merge
104
- assert(storage[1][3] === true); // terminal compress(root, t)
103
+ assertEq(storage[0][3], false); // Patricia trie merge
104
+ assertEq(storage[1][3], true); // terminal compress(root, t)
105
105
  },
106
106
  // Single-step word: no trie merges, exactly one isSymbol=true
107
107
  isSymbol_min_word: () => {
108
108
  const [, storage] = runWord([s0, s0]);
109
109
  assertEq(storage.length, 1);
110
- assert(storage[0][3] === true);
110
+ assertEq(storage[0][3], true);
111
111
  },
112
112
  };
@@ -4,11 +4,11 @@
4
4
  *
5
5
  * @module
6
6
  */
7
- import { log2 } from "../../../types/bigint/module.f.js";
8
- import { msb, vec } from "../../../types/bit_vec/module.f.js";
9
- import { strictEqual } from "../../../types/function/operator/module.f.js";
10
- import { equal, map } from "../../../types/list/module.f.js";
11
- import { join } from "../../../types/string/module.f.js";
7
+ import { log2 } from '../../../types/bigint/module.f.js';
8
+ import { msb, vec } from '../../../types/bit_vec/module.f.js';
9
+ import { strictEqual } from '../../../types/function/operator/module.f.js';
10
+ import { equal, map } from '../../../types/list/module.f.js';
11
+ import { join } from '../../../types/string/module.f.js';
12
12
  export const symbolToString = (s) => s.toString(16);
13
13
  export const wordToString = (word) => join(',')(map(symbolToString)(word));
14
14
  export const wordEqual = equal(strictEqual);
@@ -1,6 +1,7 @@
1
- import { chunkList, msb, vec } from "../../../types/bit_vec/module.f.js";
2
- import { map, stateScan, toArray } from "../../../types/list/module.f.js";
3
- import { emptyEncodeState, emptyPipelineState, level, literal1ToVec, literal2ToVec, literal3ToVec, pipelineStep, symbolToString, wordEqual, wordToString } from "./module.f.js";
1
+ import { chunkList, msb, vec } from '../../../types/bit_vec/module.f.js';
2
+ import { assert, assertEq } from '../../../asserts/module.f.js';
3
+ import { map, stateScan, toArray } from '../../../types/list/module.f.js';
4
+ import { emptyEncodeState, emptyPipelineState, level, literal1ToVec, literal2ToVec, literal3ToVec, pipelineStep, symbolToString, wordEqual, wordToString } from './module.f.js';
4
5
  const tests = (n) => {
5
6
  const { sum, decode, encode: push } = level(n);
6
7
  return {
@@ -18,33 +19,24 @@ const tests = (n) => {
18
19
  }
19
20
  // encode
20
21
  const a = toArray(stateScan(push)(emptyEncodeState)(word));
21
- if (!a.slice(0, -1).every(i => i === undefined)) {
22
- throw a;
23
- }
22
+ assert(a.slice(0, -1).every(i => i === undefined), a);
24
23
  const x = a.at(-1);
25
- if (x !== expected) {
26
- throw x;
27
- }
24
+ assertEq(x, expected);
28
25
  }
29
26
  };
30
27
  };
31
28
  const l = (f) => (l, e) => {
32
29
  const result = f(l);
33
- if (result !== e) {
34
- throw [result, e];
35
- }
30
+ assertEq(result, e, [result, e]);
36
31
  };
37
32
  const vecToBits = (v) => map((b) => msb.front(1n)(b))(chunkList(msb)(1n)(v));
38
33
  const w = (symbol, expected) => {
39
34
  const result = literal3ToVec(symbol);
40
- if (result !== expected)
41
- throw [result, expected];
35
+ assertEq(result, expected, [result, expected]);
42
36
  const a = toArray(stateScan(pipelineStep)(emptyPipelineState)(vecToBits(expected)));
43
- if (!a.slice(0, -1).every(o => o === undefined))
44
- throw a;
37
+ assert(a.slice(0, -1).every(o => o === undefined), a);
45
38
  const out = a.at(-1);
46
- if (out !== symbol)
47
- throw out;
39
+ assertEq(out, symbol);
48
40
  };
49
41
  export const proof = {
50
42
  x2: () => {
@@ -688,9 +680,7 @@ export const proof = {
688
680
  },
689
681
  wordToString: () => {
690
682
  const result = wordToString([0n, 1n, 0xabn]);
691
- if (result !== '0,1,ab') {
692
- throw result;
693
- }
683
+ assertEq(result, '0,1,ab');
694
684
  },
695
685
  pipeline: () => {
696
686
  // 4 L1 [0,0] words → 2 L2 [0,0] words → L3 [0,0] word → symbol 0
@@ -698,14 +688,12 @@ export const proof = {
698
688
  let s = emptyPipelineState;
699
689
  for (let i = 0; i < 7; i++) {
700
690
  const [out, next] = pipelineStep(0n, s);
701
- if (out !== undefined)
702
- throw out;
691
+ assertEq(out, undefined);
703
692
  s = next;
704
693
  }
705
694
  // 8th zero emits L3 symbol 0
706
695
  const [out0, s2] = pipelineStep(0n, s);
707
- if (out0 !== 0n)
708
- throw out0;
696
+ assertEq(out0, 0n);
709
697
  // state resets after emit: second batch of 8 zeros also emits 0
710
698
  let s3 = s2;
711
699
  for (let i = 0; i < 7; i++) {
@@ -713,8 +701,7 @@ export const proof = {
713
701
  s3 = next;
714
702
  }
715
703
  const [out1] = pipelineStep(0n, s3);
716
- if (out1 !== 0n)
717
- throw out1;
704
+ assertEq(out1, 0n);
718
705
  // 8 ones emit a different symbol than 8 zeros
719
706
  let s4 = emptyPipelineState;
720
707
  for (let i = 0; i < 7; i++) {
@@ -722,7 +709,6 @@ export const proof = {
722
709
  s4 = next;
723
710
  }
724
711
  const [out2] = pipelineStep(1n, s4);
725
- if (out2 === 0n)
726
- throw out2;
712
+ assert(out2 !== 0n, out2);
727
713
  }
728
714
  };
@@ -4,9 +4,9 @@
4
4
  *
5
5
  * @module
6
6
  */
7
- import { emptyPipelineState, pipelineStep } from "./level/literal/module.f.js";
8
- import { encode as hashEncode } from "./level/hash/module.f.js";
9
- import { level3Id } from "./id/module.f.js";
7
+ import { emptyPipelineState, pipelineStep } from './level/literal/module.f.js';
8
+ import { encode as hashEncode } from './level/hash/module.f.js';
9
+ import { level3Id } from './id/module.f.js';
10
10
  export const emptyEncodeState = (storage) => [emptyPipelineState, storage, []];
11
11
  export const encode = (add) => {
12
12
  const step = hashEncode(add);
@@ -1,6 +1,6 @@
1
- import { assert, assertEq } from "../asserts/module.f.js";
2
- import { compress } from "./id/module.f.js";
3
- import { encode, emptyEncodeState } from "./module.f.js";
1
+ import { assert, assertEq } from '../asserts/module.f.js';
2
+ import { compress } from './id/module.f.js';
3
+ import { encode, emptyEncodeState } from './module.f.js';
4
4
  const run = (bits) => {
5
5
  const log = [];
6
6
  const add = (l, r, m, isSymbol) => { log.push([l, r, m, isSymbol]); return null; };
@@ -0,0 +1,6 @@
1
+ export declare const proof: {
2
+ range: () => void;
3
+ throw: {
4
+ oneThrowsOnEmpty: () => number;
5
+ };
6
+ };
@@ -0,0 +1,14 @@
1
+ import { one, range } from './module.f.js';
2
+ import { stringify as jsonStringify } from '../../media/json/module.f.js';
3
+ import { sort } from '../../types/object/module.f.js';
4
+ import { assertEq } from '../../asserts/module.f.js';
5
+ const stringify = jsonStringify(sort);
6
+ export const proof = {
7
+ range: () => {
8
+ const r = stringify(range("A"));
9
+ assertEq(r, '[65,65]');
10
+ },
11
+ throw: {
12
+ oneThrowsOnEmpty: () => one(''),
13
+ },
14
+ };
@@ -8,8 +8,8 @@
8
8
  *
9
9
  * @module
10
10
  */
11
- import { flat, stateScan } from "../../types/list/module.f.js";
12
- import { contains } from "../../types/range/module.f.js";
11
+ import { flat, stateScan } from '../../types/list/module.f.js';
12
+ import { contains } from '../../types/range/module.f.js';
13
13
  /**
14
14
  * Error mask used to tag invalid code points or encoding errors. A decoded
15
15
  * value with this bit set represents a malformed unit rather than a valid
@@ -48,18 +48,18 @@ const maxCodePoint = 0x10_ffff;
48
48
  * Checks whether the 16-bit word (U16) is a high surrogate.
49
49
  * Range: 0xD800 - 0xDBFF.
50
50
  */
51
- export const isHighSurrogate = contains([surrogateMin, lowSurrogateMin - 1]);
51
+ export const isHighSurrogate = contains(surrogateMin, lowSurrogateMin - 1);
52
52
  /**
53
53
  * Checks whether the 16-bit word (U16) is a low surrogate.
54
54
  * Range: 0xDC00 - 0xDFFF.
55
55
  */
56
- export const isLowSurrogate = contains([lowSurrogateMin, surrogateMax]);
56
+ export const isLowSurrogate = contains(lowSurrogateMin, surrogateMax);
57
57
  /**
58
58
  * Ranges of code points for the lower (Low) and higher (High) parts of the BMP
59
59
  * (Basic Multilingual Plane), i.e. the BMP with the surrogate block removed.
60
60
  */
61
- const lowBmp = contains([0x0000, surrogateMin - 1]);
62
- const highBmp = contains([surrogateMax + 1, bmpMax]);
61
+ const lowBmp = contains(0x0000, surrogateMin - 1);
62
+ const highBmp = contains(surrogateMax + 1, bmpMax);
63
63
  /**
64
64
  * Checks whether the code point is in the BMP range.
65
65
  * BMP is the main Unicode plane that covers code points 0x0000 - 0xFFFF, except
@@ -70,13 +70,13 @@ export const isBmpCodePoint = (codePoint) => lowBmp(codePoint) || highBmp(codePo
70
70
  * Checks whether the code point belongs to a supplementary (additional) Unicode
71
71
  * plane. Supplementary planes cover code points from 0x010000 to 0x10FFFF.
72
72
  */
73
- export const isSupplementaryPlane = contains([bmpMax + 1, maxCodePoint]);
73
+ export const isSupplementaryPlane = contains(bmpMax + 1, maxCodePoint);
74
74
  /**
75
75
  * The full assignable code-point range and the surrogate block, used to gate
76
76
  * overall validity below.
77
77
  */
78
- const validRange = contains([0, maxCodePoint]);
79
- const isSurrogate = contains([surrogateMin, surrogateMax]);
78
+ const validRange = contains(0, maxCodePoint);
79
+ const isSurrogate = contains(surrogateMin, surrogateMax);
80
80
  /**
81
81
  * Checks whether the code point is a valid scalar value: within the assignable
82
82
  * Unicode range (0x0000 - 0x10FFFF) and not a surrogate.
@@ -89,9 +89,9 @@ export const isValidCodePoint = (c) => validRange(c) && !isSurrogate(c);
89
89
  * contiguous run; the whitespace block 0x0009 - 0x000D (TAB, LF, VT, FF, CR) is
90
90
  * the only control range legitimate in text.
91
91
  */
92
- const c0Control = contains([0x00, 0x1f]);
93
- const delAndC1Control = contains([0x7f, 0x9f]);
94
- const textWhitespace = contains([0x09, 0x0d]);
92
+ const c0Control = contains(0x00, 0x1f);
93
+ const delAndC1Control = contains(0x7f, 0x9f);
94
+ const textWhitespace = contains(0x09, 0x0d);
95
95
  /**
96
96
  * Checks whether the code point is a *text* code point — distinct from
97
97
  * {@link isValidCodePoint}, which gates well-formedness for decoding. A code
@@ -1,4 +1,4 @@
1
- import { isBmpCodePoint, isHighSurrogate, isLowSurrogate, isSupplementaryPlane, isTextCodePoint, isValidCodePoint, } from "./module.f.js";
1
+ import { isBmpCodePoint, isHighSurrogate, isLowSurrogate, isSupplementaryPlane, isTextCodePoint, isValidCodePoint, } from './module.f.js';
2
2
  const check = (actual, expected) => {
3
3
  if (actual !== expected) {
4
4
  throw `${actual} !== ${expected}`;
@@ -5,11 +5,11 @@
5
5
  *
6
6
  * @module
7
7
  */
8
- import { msb, tryU8ListToVec, u8List } from "../types/bit_vec/module.f.js";
9
- import { flatMap } from "../types/list/module.f.js";
10
- import { fromCodePointList, toCodePointList } from "./utf8/module.f.js";
11
- import { stringToCodePointList, codePointListToString } from "./utf16/module.f.js";
12
- import { mapUnwrap } from "../types/nullable/module.f.js";
8
+ import { msb, tryU8ListToVec, u8List } from '../types/bit_vec/module.f.js';
9
+ import { flatMap } from '../types/list/module.f.js';
10
+ import { fromCodePointList, toCodePointList } from './utf8/module.f.js';
11
+ import { stringToCodePointList, codePointListToString } from './utf16/module.f.js';
12
+ import { mapUnwrap } from '../types/nullable/module.f.js';
13
13
  export const flat = (indent) => {
14
14
  const f = (prefix) => {
15
15
  const g = (item) => typeof (item) === 'string' ? [`${prefix}${item}`] : f(`${prefix}${indent}`)(item);
@@ -1,7 +1,7 @@
1
- import { assert, assertEq } from "../asserts/module.f.js";
2
- import { flat, utf8, utf8ToString, tryUtf8 } from "./module.f.js";
3
- import { join } from "../types/string/module.f.js";
4
- import { empty, maxLengthBytes } from "../types/bit_vec/module.f.js";
1
+ import { assertEq, assertNotNullish } from '../asserts/module.f.js';
2
+ import { flat, utf8, utf8ToString, tryUtf8 } from './module.f.js';
3
+ import { join } from '../types/string/module.f.js';
4
+ import { empty, maxLengthBytes } from '../types/bit_vec/module.f.js';
5
5
  const overflowStr = 'a'.repeat(Number(maxLengthBytes) + 1);
6
6
  export const proof = {
7
7
  block: () => {
@@ -15,20 +15,15 @@ export const proof = {
15
15
  'e',
16
16
  ];
17
17
  const result = join('\n')(flat(':')(text));
18
- if (result !== 'a\nb\n:c\n::d\ne') {
19
- throw result;
20
- }
18
+ assertEq(result, 'a\nb\n:c\n::d\ne');
21
19
  },
22
20
  encoding: () => {
23
21
  const v = utf8('Hello world!');
24
22
  const r = utf8ToString(v);
25
- if (r !== 'Hello world!') {
26
- throw r;
27
- }
23
+ assertEq(r, 'Hello world!');
28
24
  },
29
25
  tryUtf8RoundTrip: () => {
30
- const v = tryUtf8('Hello world!');
31
- assert(v !== null);
26
+ const v = assertNotNullish(tryUtf8('Hello world!'));
32
27
  assertEq(v, utf8('Hello world!'));
33
28
  assertEq(utf8ToString(v), 'Hello world!');
34
29
  },
@@ -6,8 +6,8 @@
6
6
  */
7
7
  // C0 control codes
8
8
  // https://en.wikipedia.org/wiki/ANSI_escape_code#C0_control_codes
9
- import { write } from "../../effects/node/module.f.js";
10
- import {} from "../../effects/module.f.js";
9
+ import { write } from '../../effects/node/module.f.js';
10
+ import {} from '../../effects/module.f.js';
11
11
  import { utf8 } from "../module.f.js";
12
12
  export const backspace = '\x08';
13
13
  const begin = '\x1b[';
@@ -1,42 +1,33 @@
1
- import { fgRed, reset, createConsoleText, backspace, csiWrite } from "./module.f.js";
2
- import { virtual, emptyState, defaultNodeProgramOptions } from "../../effects/node/virtual/module.f.js";
1
+ import { fgRed, reset, createConsoleText, backspace, csiWrite } from './module.f.js';
2
+ import { virtual, emptyState, defaultNodeProgramOptions } from '../../effects/node/virtual/module.f.js';
3
+ import { assert, assertEq } from '../../asserts/module.f.js';
3
4
  const makeOptions = (isTTY) => ({ ...defaultNodeProgramOptions, std: { stdout: { isTTY }, stderr: { isTTY } } });
4
5
  export const proof = [
5
6
  () => {
6
- if (fgRed !== '\x1b[31m') {
7
- throw new Error('Test failed: sgr(0)');
8
- }
7
+ assertEq(fgRed, '\x1b[31m', new Error('Test failed: sgr(0)'));
9
8
  },
10
9
  () => {
11
10
  const output = [];
12
11
  const stdout = { write: (s) => { output.push(s); } };
13
12
  const writer1 = createConsoleText(stdout);
14
13
  const writer2 = writer1('hello');
15
- if (output[0] !== 'hello') {
16
- throw output[0];
17
- }
14
+ assert(output[0] === 'hello');
18
15
  // replacing 'hello' (len=5) with 'hi' (len=2): suffixLength=3
19
16
  writer2('hi');
20
17
  const expected = backspace.repeat(5) + 'hi' + ' '.repeat(3) + backspace.repeat(3);
21
- if (output[1] !== expected) {
22
- throw output[1];
23
- }
18
+ assertEq(output[1], expected);
24
19
  },
25
20
  () => {
26
21
  // csiWrite with isTTY=false strips ANSI SGR sequences
27
22
  const writeFn = csiWrite(makeOptions(false))('stdout');
28
23
  const [state] = virtual(emptyState)(writeFn(fgRed + 'hello' + reset));
29
- if (state.stdout !== 'hello') {
30
- throw ['expected ANSI stripped', state.stdout];
31
- }
24
+ assertEq(state.stdout, 'hello', ['expected ANSI stripped', state.stdout]);
32
25
  },
33
26
  () => {
34
27
  // csiWrite with isTTY=true preserves ANSI SGR sequences
35
28
  const writeFn = csiWrite(makeOptions(true))('stdout');
36
29
  const [state] = virtual(emptyState)(writeFn(fgRed + 'hello' + reset));
37
30
  const expected = fgRed + 'hello' + reset;
38
- if (state.stdout !== expected) {
39
- throw ['expected ANSI preserved', state.stdout];
40
- }
31
+ assertEq(state.stdout, expected, ['expected ANSI preserved', state.stdout]);
41
32
  },
42
33
  ];
@@ -5,11 +5,11 @@
5
5
  *
6
6
  * @module
7
7
  */
8
- import { map, reduce, flatMap, empty, } from "../../types/list/module.f.js";
9
- import { concat } from "../../types/function/operator/module.f.js";
10
- import { contains } from "../../types/range/module.f.js";
11
- import { fn } from "../../types/function/module.f.js";
12
- import { decoder, errorMask, isBmpCodePoint, isHighSurrogate, isLowSurrogate, isSupplementaryPlane, } from "../code_point/module.f.js";
8
+ import { map, reduce, flatMap, empty, } from '../../types/list/module.f.js';
9
+ import { concat } from '../../types/function/operator/module.f.js';
10
+ import { contains } from '../../types/range/module.f.js';
11
+ import { fn } from '../../types/function/module.f.js';
12
+ import { decoder, errorMask, isBmpCodePoint, isHighSurrogate, isLowSurrogate, isSupplementaryPlane, } from '../code_point/module.f.js';
13
13
  /**
14
14
  * The BMP / surrogate / supplementary-plane predicates used below live in
15
15
  * `code_point`, the shared Unicode contract; see that module for their ranges.
@@ -107,7 +107,7 @@ export const fromCodePointList = flatMap(codePointToUtf16);
107
107
  * const edgeCaseHigh = u16(0xFFFF) // true: Maximum valid value for UTF-16
108
108
  * ```
109
109
  */
110
- const u16 = contains([0x0000, 0xFFFF]);
110
+ const u16 = contains(0x0000, 0xFFFF);
111
111
  /**
112
112
  * A stateful operation that converts a UTF-16 word (U16) to a list of Unicode code points (CodePoint),
113
113
  * while maintaining the state of surrogate pair decoding.