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,348 +0,0 @@
1
- import { decToBin } from './module.f.js';
2
- export const proof = {
3
- decToBin: [
4
- () => {
5
- const result = decToBin([0n, 0]);
6
- if (result[0] !== 0n) {
7
- throw result[0].toString(2);
8
- }
9
- if (result[1] !== 0) {
10
- throw result[1];
11
- }
12
- },
13
- () => {
14
- const result = decToBin([0n, 10]);
15
- if (result[0] !== 0n) {
16
- throw result[0].toString(2);
17
- }
18
- if (result[1] !== 0) {
19
- throw result[1];
20
- }
21
- },
22
- () => {
23
- const result = decToBin([0n, -10]);
24
- if (result[0] !== 0n) {
25
- throw result[0].toString(2);
26
- }
27
- if (result[1] !== 0) {
28
- throw result[1];
29
- }
30
- },
31
- () => {
32
- const result = decToBin([1n, 0]);
33
- if (result[0] !== 4503599627370496n) {
34
- throw result[0].toString(2);
35
- }
36
- if (result[1] !== -52) {
37
- throw result[1];
38
- }
39
- },
40
- () => {
41
- const result = decToBin([1n, 1]);
42
- if (result[0] !== 5629499534213120n) {
43
- throw result[0].toString(2);
44
- }
45
- if (result[1] !== -49) {
46
- throw result[1];
47
- }
48
- },
49
- () => {
50
- const result = decToBin([1000n, -2]);
51
- if (result[0] !== 5629499534213120n) {
52
- throw result[0].toString(2);
53
- }
54
- if (result[1] !== -49) {
55
- throw result[1];
56
- }
57
- },
58
- () => {
59
- const result = decToBin([1n, -1]);
60
- if (result[0] !== 7205759403792794n) {
61
- throw result[0].toString(2);
62
- } //+1
63
- if (result[1] !== -56) {
64
- throw result[1];
65
- }
66
- },
67
- () => {
68
- const result = decToBin([-1n, 0]);
69
- if (result[0] !== -4503599627370496n) {
70
- throw result[0].toString(2);
71
- }
72
- if (result[1] !== -52) {
73
- throw result[1];
74
- }
75
- },
76
- () => {
77
- const result = decToBin([-1n, 1]);
78
- if (result[0] !== -5629499534213120n) {
79
- throw result[0].toString(2);
80
- }
81
- if (result[1] !== -49) {
82
- throw result[1];
83
- }
84
- },
85
- () => {
86
- const result = decToBin([-1000n, -2]);
87
- if (result[0] !== -5629499534213120n) {
88
- throw result[0].toString(2);
89
- }
90
- if (result[1] !== -49) {
91
- throw result[1];
92
- }
93
- },
94
- () => {
95
- const result = decToBin([-1n, -1]);
96
- if (result[0] !== -7205759403792794n) {
97
- throw result[0].toString(2);
98
- } //+1
99
- if (result[1] !== -56) {
100
- throw result[1];
101
- }
102
- },
103
- () => {
104
- const result = decToBin([9007199254740993n, 0]); //54bits (...0.1)
105
- if (result[0] !== 4503599627370496n) {
106
- throw result[0].toString(2);
107
- }
108
- if (result[1] !== 1) {
109
- throw result[1];
110
- }
111
- },
112
- () => {
113
- const result = decToBin([-9007199254740995n, 0]); //54bits (...1.1)
114
- if (result[0] !== -4503599627370498n) {
115
- throw result[0].toString(2);
116
- }
117
- if (result[1] !== 1) {
118
- throw result[1];
119
- }
120
- },
121
- () => {
122
- const result = decToBin([-9007199254740993n, 0]); //54bits (...0.1)
123
- if (result[0] !== -4503599627370496n) {
124
- throw result[0].toString(2);
125
- }
126
- if (result[1] !== 1) {
127
- throw result[1];
128
- }
129
- },
130
- () => {
131
- const result = decToBin([-9007199254740995n, 0]); //54bits (...1.1)
132
- if (result[0] !== -4503599627370498n) {
133
- throw result[0].toString(2);
134
- }
135
- if (result[1] !== 1) {
136
- throw result[1];
137
- }
138
- },
139
- () => {
140
- const result = decToBin([18014398509481985n, 0]); //55bits (...0.01)
141
- if (result[0] !== 4503599627370496n) {
142
- throw result[0].toString(2);
143
- }
144
- if (result[1] !== 2) {
145
- throw result[1];
146
- }
147
- },
148
- () => {
149
- const result = decToBin([18014398509481986n, 0]); //55bits (...0.10)
150
- if (result[0] !== 4503599627370496n) {
151
- throw result[0].toString(2);
152
- }
153
- if (result[1] !== 2) {
154
- throw result[1];
155
- }
156
- },
157
- () => {
158
- const result = decToBin([18014398509481990n, 0]); //55bits (...1.10)
159
- if (result[0] !== 4503599627370498n) {
160
- throw result[0].toString(2);
161
- }
162
- if (result[1] !== 2) {
163
- throw result[1];
164
- }
165
- },
166
- () => {
167
- const result = decToBin([18014398509481987n, 0]); //55bits (0.11)
168
- if (result[0] !== 4503599627370497n) {
169
- throw result[0].toString(2);
170
- }
171
- if (result[1] !== 2) {
172
- throw result[1];
173
- }
174
- },
175
- ],
176
- roundingPositive: [
177
- () => {
178
- const result = decToBin([288230376151711745n, -1]);
179
- // reminder = 0
180
- // m = 11001100110011001100110011001100110011001100110011001.101
181
- // rounding up
182
- if (result[0] !== 7205759403792794n) {
183
- throw result[0].toString(2);
184
- }
185
- if (result[1] !== 2) {
186
- throw result[1];
187
- }
188
- },
189
- () => {
190
- const result = decToBin([288230376151711760n, -1]);
191
- // reminder = 0
192
- // m = 11001100110011001100110011001100110011001100110011010.000
193
- // rounding down
194
- if (result[0] !== 7205759403792794n) {
195
- throw result[0].toString(2);
196
- }
197
- if (result[1] !== 2) {
198
- throw result[1];
199
- }
200
- },
201
- () => {
202
- const result = decToBin([288230376151711780n, -1]);
203
- // reminder = 0
204
- // m = 11001100110011001100110011001100110011001100110011010.100
205
- // rounding down (to even)
206
- if (result[0] !== 7205759403792794n) {
207
- throw result[0].toString(2);
208
- }
209
- if (result[1] !== 2) {
210
- throw result[1];
211
- }
212
- },
213
- () => {
214
- const result = decToBin([288230376151711781n, -1]);
215
- // reminder = 1
216
- // m = 11001100110011001100110011001100110011001100110011010.100
217
- // rounding up
218
- if (result[0] !== 7205759403792795n) {
219
- throw result[0].toString(2);
220
- }
221
- if (result[1] !== 2) {
222
- throw result[1];
223
- }
224
- },
225
- () => {
226
- const result = decToBin([288230376151711785n, -1]);
227
- // reminder = 0
228
- // m = 11001100110011001100110011001100110011001100110011010.101
229
- // rounding up
230
- if (result[0] !== 7205759403792795n) {
231
- throw result[0].toString(2);
232
- }
233
- if (result[1] !== 2) {
234
- throw result[1];
235
- }
236
- },
237
- () => {
238
- const result = decToBin([288230376151711805n, -1]);
239
- // reminder = 0
240
- // m = 11001100110011001100110011001100110011001100110011011.001
241
- // rounding down
242
- if (result[0] !== 7205759403792795n) {
243
- throw result[0].toString(2);
244
- }
245
- if (result[1] !== 2) {
246
- throw result[1];
247
- }
248
- },
249
- () => {
250
- const result = decToBin([288230376151711820n, -1]);
251
- // reminder = 0
252
- // m = 11001100110011001100110011001100110011001100110011011.100
253
- // rounding up (to even)
254
- if (result[0] !== 7205759403792796n) {
255
- throw result[0].toString(2);
256
- }
257
- if (result[1] !== 2) {
258
- throw result[1];
259
- }
260
- }
261
- ],
262
- roundingNegative: [
263
- () => {
264
- const result = decToBin([-288230376151711745n, -1]);
265
- // reminder = 0
266
- // m = -11001100110011001100110011001100110011001100110011001.101
267
- // rounding down
268
- if (result[0] !== -7205759403792794n) {
269
- throw result[0].toString(2);
270
- }
271
- if (result[1] !== 2) {
272
- throw result[1];
273
- }
274
- },
275
- () => {
276
- const result = decToBin([-288230376151711760n, -1]);
277
- // reminder = 0
278
- // m = -11001100110011001100110011001100110011001100110011010.000
279
- // rounding up
280
- if (result[0] !== -7205759403792794n) {
281
- throw result[0].toString(2);
282
- }
283
- if (result[1] !== 2) {
284
- throw result[1];
285
- }
286
- },
287
- () => {
288
- const result = decToBin([-288230376151711780n, -1]);
289
- // reminder = 0
290
- // m = -11001100110011001100110011001100110011001100110011010.100
291
- // rounding up (to even)
292
- if (result[0] !== -7205759403792794n) {
293
- throw result[0].toString(2);
294
- }
295
- if (result[1] !== 2) {
296
- throw result[1];
297
- }
298
- },
299
- () => {
300
- const result = decToBin([-288230376151711781n, -1]);
301
- // reminder = 1
302
- // m = -11001100110011001100110011001100110011001100110011010.100
303
- // rounding down
304
- if (result[0] !== -7205759403792795n) {
305
- throw result[0].toString(2);
306
- }
307
- if (result[1] !== 2) {
308
- throw result[1];
309
- }
310
- },
311
- () => {
312
- const result = decToBin([-288230376151711785n, -1]);
313
- // reminder = 0
314
- // m = -11001100110011001100110011001100110011001100110011010.101
315
- // rounding down
316
- if (result[0] !== -7205759403792795n) {
317
- throw result[0].toString(2);
318
- }
319
- if (result[1] !== 2) {
320
- throw result[1];
321
- }
322
- },
323
- () => {
324
- const result = decToBin([-288230376151711805n, -1]);
325
- // reminder = 0
326
- // m = -11001100110011001100110011001100110011001100110011011.001
327
- // rounding up
328
- if (result[0] !== -7205759403792795n) {
329
- throw result[0].toString(2);
330
- }
331
- if (result[1] !== 2) {
332
- throw result[1];
333
- }
334
- },
335
- () => {
336
- const result = decToBin([-288230376151711820n, -1]);
337
- // reminder = 0
338
- // m = -11001100110011001100110011001100110011001100110011011.100
339
- // rounding down (to even)
340
- if (result[0] !== -7205759403792796n) {
341
- throw result[0].toString(2);
342
- }
343
- if (result[1] !== 2) {
344
- throw result[1];
345
- }
346
- }
347
- ]
348
- };
@@ -1,50 +0,0 @@
1
- import { fromUndefined, map, match, toOption } from './module.f.js';
2
- export const proof = [
3
- () => {
4
- const optionSq = map((v) => v * v);
5
- const sq3 = optionSq(3);
6
- if (sq3 !== 9) {
7
- throw sq3;
8
- }
9
- const sqNull = optionSq(null);
10
- if (sqNull !== null) {
11
- throw sqNull;
12
- }
13
- },
14
- () => {
15
- const opt1 = toOption(5);
16
- if (opt1.length !== 1 || opt1[0] !== 5) {
17
- throw opt1;
18
- }
19
- const opt2 = toOption(null);
20
- if (opt2.length !== 0) {
21
- throw opt2;
22
- }
23
- },
24
- () => {
25
- const double = match((v) => v * 2)(() => -1);
26
- if (double(3) !== 6) {
27
- throw double(3);
28
- }
29
- if (double(null) !== -1) {
30
- throw double(null);
31
- }
32
- },
33
- () => {
34
- if (fromUndefined(undefined) !== null) {
35
- throw 0;
36
- }
37
- if (fromUndefined(5) !== 5) {
38
- throw 1;
39
- }
40
- if (fromUndefined(0) !== 0) {
41
- throw 2;
42
- }
43
- if (fromUndefined(null) !== null) {
44
- throw 3;
45
- }
46
- if (fromUndefined('') !== '') {
47
- throw 4;
48
- }
49
- },
50
- ];
@@ -1,2 +0,0 @@
1
- export const contains = ([b, e]) => i => b <= i && i <= e;
2
- export const one = a => [a, a];
@@ -1,18 +0,0 @@
1
- import { contains } from './module.f.js';
2
- export const proof = () => {
3
- if (!contains([0, 5])(1)) {
4
- throw 1;
5
- }
6
- if (!contains([0, 5])(0)) {
7
- throw 0;
8
- }
9
- if (!contains([0, 5])(5)) {
10
- throw 5;
11
- }
12
- if (contains([0, 5])(-1)) {
13
- throw -1;
14
- }
15
- if (contains([0, 5])(6)) {
16
- throw 6;
17
- }
18
- };
@@ -1,52 +0,0 @@
1
- import { error, ok, unwrap, invert, mapOk } from "./module.f.js";
2
- const example = () => {
3
- const success = ok(42);
4
- const failure = error('Something went wrong');
5
- if (unwrap(success) !== 42) {
6
- throw 'error';
7
- }
8
- const [kind, v] = failure;
9
- if (kind !== 'error') {
10
- throw 'error';
11
- }
12
- // `v` is inferred as `string` here
13
- if (v !== 'Something went wrong') {
14
- throw 'error';
15
- }
16
- };
17
- const invertTest = () => {
18
- const [k0, v0] = invert(ok(42));
19
- if (k0 !== 'error' || v0 !== 42) {
20
- throw [k0, v0];
21
- }
22
- const [k1, v1] = invert(error('oops'));
23
- if (k1 !== 'ok' || v1 !== 'oops') {
24
- throw [k1, v1];
25
- }
26
- };
27
- const unwrapError = () => {
28
- let caught = false;
29
- try {
30
- unwrap(error('oops'));
31
- }
32
- catch (e) {
33
- if (e !== 'oops') {
34
- throw e;
35
- }
36
- caught = true;
37
- }
38
- if (!caught) {
39
- throw 'expected throw';
40
- }
41
- };
42
- const mapOkTest = () => {
43
- const [k0, v0] = mapOk((n) => n + 1)(ok(41));
44
- if (k0 !== 'ok' || v0 !== 42) {
45
- throw [k0, v0];
46
- }
47
- const [k1, v1] = mapOk((n) => n + 1)(error('oops'));
48
- if (k1 !== 'error' || v1 !== 'oops') {
49
- throw [k1, v1];
50
- }
51
- };
52
- export const proof = { example, invertTest, unwrapError, mapOkTest };
@@ -1,118 +0,0 @@
1
- import { join, concat, repeat, cmp, splitAt } from './module.f.js';
2
- import { repeat as repeatList } from '../list/module.f.js';
3
- export const proof = {
4
- example: () => {
5
- const words = ['hello', 'world'];
6
- if (join(' ')(words) !== 'hello world') {
7
- throw 0;
8
- }
9
- if (concat(words) !== 'helloworld') {
10
- throw 1;
11
- }
12
- if (repeat('abc')(3) !== 'abcabcabc') {
13
- throw 2;
14
- }
15
- if (cmp('apple')('banana') !== -1) {
16
- throw 3;
17
- }
18
- },
19
- join: {
20
- 0: () => {
21
- const result = join('/')([]);
22
- if (result !== '') {
23
- throw result;
24
- }
25
- },
26
- 1: () => {
27
- const result = join('/')(['']);
28
- if (result !== '') {
29
- throw result;
30
- }
31
- },
32
- 3: () => {
33
- const result = join(' ')(['hello', 'world', '!']);
34
- if (result !== 'hello world !') {
35
- throw result;
36
- }
37
- }
38
- },
39
- concat: () => {
40
- const result = concat(['hello', 'world']);
41
- if (result !== 'helloworld') {
42
- throw result;
43
- }
44
- },
45
- repeatList: {
46
- 0: () => {
47
- const s = join('.')(repeatList('x')(0));
48
- if (s != '') {
49
- throw s;
50
- }
51
- },
52
- 5: () => {
53
- const s = join('.')(repeatList('x')(5));
54
- if (s != 'x.x.x.x.x') {
55
- throw s;
56
- }
57
- }
58
- },
59
- repeat: () => {
60
- const s = repeat('x')(5);
61
- if (s != 'xxxxx') {
62
- throw s;
63
- }
64
- },
65
- cmp: () => {
66
- const result = cmp('3')('4');
67
- if (result !== -1) {
68
- throw result;
69
- }
70
- },
71
- splitAt: {
72
- middle: () => {
73
- const [a, b] = splitAt(3)('hello');
74
- if (a !== 'hel') {
75
- throw a;
76
- }
77
- if (b !== 'lo') {
78
- throw b;
79
- }
80
- },
81
- zero: () => {
82
- const [a, b] = splitAt(0)('hello');
83
- if (a !== '') {
84
- throw a;
85
- }
86
- if (b !== 'hello') {
87
- throw b;
88
- }
89
- },
90
- full: () => {
91
- const [a, b] = splitAt(5)('hello');
92
- if (a !== 'hello') {
93
- throw a;
94
- }
95
- if (b !== '') {
96
- throw b;
97
- }
98
- },
99
- beyond: () => {
100
- const [a, b] = splitAt(10)('hello');
101
- if (a !== 'hello') {
102
- throw a;
103
- }
104
- if (b !== '') {
105
- throw b;
106
- }
107
- },
108
- empty: () => {
109
- const [a, b] = splitAt(0)('');
110
- if (a !== '') {
111
- throw a;
112
- }
113
- if (b !== '') {
114
- throw b;
115
- }
116
- },
117
- }
118
- };
@@ -1,82 +0,0 @@
1
- import { contains, fromValues, remove, set } from './module.f.js';
2
- export const proof = {
3
- example: () => {
4
- let mySet = fromValues(['apple', 'banana', 'cherry']);
5
- if (!contains('banana')(mySet)) {
6
- throw '1';
7
- }
8
- if (contains('date')(mySet)) {
9
- throw '2';
10
- }
11
- mySet = set('date')(mySet);
12
- if (!contains('date')(mySet)) {
13
- throw '3';
14
- }
15
- mySet = remove('banana')(mySet);
16
- if (contains('banana')(mySet)) {
17
- throw '4';
18
- }
19
- },
20
- contains: () => {
21
- const r = set('hello')(null);
22
- if (!contains('hello')(r)) {
23
- throw r;
24
- }
25
- if (contains('hello1')(r)) {
26
- throw r;
27
- }
28
- },
29
- remove: () => {
30
- let r = set('hello')(null);
31
- r = set('world')(r);
32
- r = set('HELLO')(r);
33
- r = set('WORLD!')(r);
34
- if (!contains('hello')(r)) {
35
- throw r;
36
- }
37
- if (contains('hello1')(r)) {
38
- throw r;
39
- }
40
- if (!contains('HELLO')(r)) {
41
- throw r;
42
- }
43
- if (contains('WORLD')(r)) {
44
- throw r;
45
- }
46
- if (!contains('world')(r)) {
47
- throw r;
48
- }
49
- if (contains('world!')(r)) {
50
- throw r;
51
- }
52
- if (!contains('WORLD!')(r)) {
53
- throw r;
54
- }
55
- //
56
- r = remove('hello')(r);
57
- if (contains('hello')(r)) {
58
- throw r;
59
- }
60
- if (!contains('world')(r)) {
61
- throw r;
62
- }
63
- r = remove('world')(r);
64
- if (contains('world')(r)) {
65
- throw r;
66
- }
67
- if (!contains('HELLO')(r)) {
68
- throw r;
69
- }
70
- r = remove('HELLO')(r);
71
- if (contains('HELLO')(r)) {
72
- throw r;
73
- }
74
- if (!contains('WORLD!')(r)) {
75
- throw r;
76
- }
77
- r = remove('WORLD!')(r);
78
- if (r !== null) {
79
- throw r;
80
- }
81
- }
82
- };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes