functionalscript 0.43.1 → 0.45.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 (1074) hide show
  1. package/README.md +53 -21
  2. package/fjs/asn.1/module.f.d.mts +123 -0
  3. package/fjs/asn.1/module.f.mjs +459 -0
  4. package/fjs/asn.1/proof.f.d.mts +53 -0
  5. package/fjs/asn.1/proof.f.mjs +321 -0
  6. package/fjs/asn.1/types.d.ts +37 -0
  7. package/fjs/asserts/module.f.d.mts +51 -0
  8. package/fjs/asserts/module.f.mjs +69 -0
  9. package/fjs/asserts/proof.f.d.mts +14 -0
  10. package/fjs/asserts/proof.f.mjs +33 -0
  11. package/fjs/asserts/types.d.ts +11 -0
  12. package/fjs/basen/base128/module.f.d.mts +22 -0
  13. package/fjs/basen/base128/module.f.mjs +51 -0
  14. package/fjs/basen/base128/proof.f.d.mts +4 -0
  15. package/fjs/basen/base128/proof.f.mjs +32 -0
  16. package/fjs/basen/base64/module.f.d.mts +14 -0
  17. package/fjs/basen/base64/module.f.mjs +75 -0
  18. package/fjs/basen/base64/proof.f.d.mts +19 -0
  19. package/fjs/basen/base64/proof.f.mjs +150 -0
  20. package/fjs/basen/cbase32/module.f.d.mts +18 -0
  21. package/fjs/basen/cbase32/module.f.mjs +61 -0
  22. package/fjs/basen/cbase32/proof.f.d.mts +10 -0
  23. package/fjs/basen/cbase32/proof.f.mjs +79 -0
  24. package/fjs/basen/module.f.d.mts +30 -0
  25. package/fjs/basen/module.f.mjs +88 -0
  26. package/fjs/basen/proof.f.mjs +69 -0
  27. package/fjs/basen/types.d.ts +14 -0
  28. package/fjs/bnf/data/module.f.d.mts +47 -0
  29. package/fjs/bnf/data/module.f.mjs +188 -0
  30. package/fjs/bnf/data/proof.f.d.mts +13 -0
  31. package/fjs/bnf/data/proof.f.mjs +159 -0
  32. package/fjs/bnf/data/types.d.ts +35 -0
  33. package/fjs/bnf/descent/module.f.d.mts +48 -0
  34. package/fjs/bnf/descent/module.f.mjs +289 -0
  35. package/fjs/bnf/descent/proof.f.d.mts +14 -0
  36. package/fjs/bnf/descent/proof.f.mjs +427 -0
  37. package/fjs/bnf/descent/types.d.ts +79 -0
  38. package/fjs/bnf/ll1/module.f.d.mts +67 -0
  39. package/fjs/bnf/ll1/module.f.mjs +341 -0
  40. package/fjs/bnf/ll1/proof.f.d.mts +18 -0
  41. package/fjs/bnf/ll1/proof.f.mjs +413 -0
  42. package/fjs/bnf/ll1/types.d.ts +65 -0
  43. package/fjs/bnf/module.f.d.mts +173 -0
  44. package/fjs/bnf/module.f.mjs +339 -0
  45. package/fjs/bnf/proof.f.d.mts +19 -0
  46. package/fjs/bnf/proof.f.mjs +165 -0
  47. package/fjs/bnf/testlib.f.d.mts +10 -0
  48. package/fjs/bnf/testlib.f.mjs +196 -0
  49. package/fjs/bnf/token_symbol/module.f.d.mts +36 -0
  50. package/fjs/bnf/token_symbol/module.f.mjs +63 -0
  51. package/fjs/bnf/token_symbol/proof.f.mjs +46 -0
  52. package/fjs/bnf/token_symbol/types.d.ts +27 -0
  53. package/fjs/bnf/types.d.ts +74 -0
  54. package/fjs/cas/cli/module.f.d.mts +17 -0
  55. package/fjs/cas/cli/module.f.mjs +73 -0
  56. package/fjs/cas/cli/proof.f.d.mts +20 -0
  57. package/fjs/cas/cli/proof.f.mjs +120 -0
  58. package/fjs/cas/evo/module.f.d.mts +157 -0
  59. package/fjs/cas/evo/module.f.mjs +563 -0
  60. package/fjs/cas/evo/proof.f.d.mts +55 -0
  61. package/fjs/cas/evo/proof.f.mjs +752 -0
  62. package/fjs/cas/evo/types.d.ts +111 -0
  63. package/fjs/cas/module.f.d.mts +68 -0
  64. package/fjs/cas/module.f.mjs +350 -0
  65. package/fjs/cas/proof.f.d.mts +29 -0
  66. package/fjs/cas/proof.f.mjs +371 -0
  67. package/fjs/cas/types.d.ts +35 -0
  68. package/fjs/ci/bun/module.f.d.mts +11 -0
  69. package/fjs/ci/bun/module.f.mjs +20 -0
  70. package/fjs/ci/common/module.f.d.mts +80 -0
  71. package/fjs/ci/common/module.f.mjs +88 -0
  72. package/fjs/ci/common/types.d.ts +27 -0
  73. package/fjs/ci/config/module.f.d.mts +45 -0
  74. package/fjs/ci/config/module.f.mjs +89 -0
  75. package/fjs/ci/deno/module.f.d.mts +16 -0
  76. package/fjs/ci/deno/module.f.mjs +29 -0
  77. package/fjs/ci/deno/proof.f.d.mts +4 -0
  78. package/fjs/ci/deno/proof.f.mjs +26 -0
  79. package/fjs/ci/module.f.d.mts +19 -0
  80. package/fjs/ci/module.f.mjs +89 -0
  81. package/fjs/ci/nix/module.f.d.mts +69 -0
  82. package/fjs/ci/nix/module.f.mjs +136 -0
  83. package/fjs/ci/nix/proof.f.d.mts +30 -0
  84. package/fjs/ci/nix/proof.f.mjs +146 -0
  85. package/fjs/ci/nix/types.d.ts +16 -0
  86. package/fjs/ci/node/module.f.d.mts +48 -0
  87. package/fjs/ci/node/module.f.mjs +139 -0
  88. package/fjs/ci/node/proof.f.mjs +18 -0
  89. package/fjs/ci/proof.f.d.mts +22 -0
  90. package/fjs/ci/proof.f.mjs +220 -0
  91. package/fjs/ci/rust/module.f.d.mts +15 -0
  92. package/fjs/ci/rust/module.f.mjs +108 -0
  93. package/fjs/ci/types.d.ts +9 -0
  94. package/fjs/cli/module.f.d.mts +16 -0
  95. package/fjs/cli/module.f.mjs +51 -0
  96. package/fjs/cli/proof.f.d.mts +18 -0
  97. package/fjs/cli/proof.f.mjs +132 -0
  98. package/fjs/cli/types.d.ts +15 -0
  99. package/fjs/common/monoid/module.f.d.mts +145 -0
  100. package/fjs/common/monoid/module.f.mjs +267 -0
  101. package/fjs/common/monoid/proof.f.d.mts +21 -0
  102. package/fjs/common/monoid/proof.f.mjs +142 -0
  103. package/fjs/common/monoid/types.d.ts +73 -0
  104. package/fjs/crypto/hmac/module.f.d.mts +32 -0
  105. package/fjs/crypto/hmac/module.f.mjs +65 -0
  106. package/fjs/crypto/hmac/proof.f.mjs +34 -0
  107. package/fjs/crypto/pow/module.f.d.mts +43 -0
  108. package/fjs/crypto/pow/module.f.mjs +93 -0
  109. package/fjs/crypto/pow/proof.f.mjs +121 -0
  110. package/fjs/crypto/pow/types.d.ts +19 -0
  111. package/fjs/crypto/secp/module.f.d.mts +61 -0
  112. package/fjs/crypto/secp/module.f.mjs +204 -0
  113. package/fjs/crypto/secp/proof.f.d.mts +11 -0
  114. package/fjs/crypto/secp/proof.f.mjs +139 -0
  115. package/fjs/crypto/secp/types.d.ts +36 -0
  116. package/fjs/crypto/sha2/module.f.d.mts +80 -0
  117. package/fjs/crypto/sha2/module.f.mjs +431 -0
  118. package/fjs/crypto/sha2/proof.f.d.mts +34 -0
  119. package/fjs/crypto/sha2/proof.f.mjs +146 -0
  120. package/fjs/crypto/sha2/types.d.ts +57 -0
  121. package/fjs/crypto/sign/module.f.d.mts +46 -0
  122. package/fjs/crypto/sign/module.f.mjs +189 -0
  123. package/fjs/crypto/sign/proof.f.d.mts +17 -0
  124. package/fjs/crypto/sign/proof.f.mjs +604 -0
  125. package/fjs/crypto/sign/types.d.ts +13 -0
  126. package/fjs/crypto/vdf/module.f.d.mts +34 -0
  127. package/fjs/crypto/vdf/module.f.mjs +86 -0
  128. package/fjs/crypto/vdf/proof.f.mjs +106 -0
  129. package/fjs/crypto/vdf/types.d.ts +18 -0
  130. package/fjs/dev/module.f.d.mts +59 -0
  131. package/fjs/dev/module.f.mjs +171 -0
  132. package/fjs/dev/package_json/module.f.d.mts +39 -0
  133. package/fjs/dev/package_json/module.f.mjs +40 -0
  134. package/fjs/dev/package_json/proof.f.mjs +32 -0
  135. package/fjs/dev/proof.f.d.mts +13 -0
  136. package/fjs/dev/proof.f.mjs +78 -0
  137. package/fjs/dev/types.d.ts +14 -0
  138. package/fjs/dev/update/module.f.d.mts +22 -0
  139. package/fjs/dev/update/module.f.mjs +37 -0
  140. package/fjs/dev/update/proof.f.d.mts +10 -0
  141. package/fjs/dev/update/proof.f.mjs +35 -0
  142. package/fjs/djs/ast/module.f.d.mts +35 -0
  143. package/fjs/djs/ast/module.f.mjs +82 -0
  144. package/fjs/djs/ast/proof.f.mjs +48 -0
  145. package/fjs/djs/ast/types.d.ts +54 -0
  146. package/fjs/djs/examples/input.f.mjs +4 -0
  147. package/fjs/djs/examples/m.f.mjs +1 -0
  148. package/fjs/djs/module.f.d.mts +17 -0
  149. package/fjs/djs/module.f.mjs +47 -0
  150. package/fjs/djs/parser/module.f.d.mts +78 -0
  151. package/fjs/djs/parser/module.f.mjs +565 -0
  152. package/fjs/djs/parser/proof.f.d.mts +17 -0
  153. package/fjs/djs/parser/proof.f.mjs +555 -0
  154. package/fjs/djs/parser/types.d.ts +11 -0
  155. package/fjs/djs/proof.f.d.mts +13 -0
  156. package/fjs/djs/proof.f.mjs +55 -0
  157. package/fjs/djs/serializer/module.f.d.mts +30 -0
  158. package/fjs/djs/serializer/module.f.mjs +207 -0
  159. package/fjs/djs/serializer/proof.f.mjs +116 -0
  160. package/fjs/djs/tokenizer/module.f.d.mts +65 -0
  161. package/fjs/djs/tokenizer/module.f.mjs +632 -0
  162. package/fjs/djs/tokenizer/proof.f.d.mts +17 -0
  163. package/fjs/djs/tokenizer/proof.f.mjs +992 -0
  164. package/fjs/djs/tokenizer/types.d.ts +20 -0
  165. package/fjs/djs/transpiler/module.f.d.mts +33 -0
  166. package/fjs/djs/transpiler/module.f.mjs +122 -0
  167. package/fjs/djs/transpiler/proof.f.mjs +76 -0
  168. package/fjs/djs/transpiler/types.d.ts +25 -0
  169. package/fjs/djs/types.d.ts +13 -0
  170. package/fjs/effects/eff/module.f.d.mts +20 -0
  171. package/fjs/effects/eff/module.f.mjs +70 -0
  172. package/fjs/effects/eff/proof.f.d.mts +15 -0
  173. package/fjs/effects/eff/proof.f.mjs +69 -0
  174. package/fjs/effects/eff/types.d.ts +71 -0
  175. package/fjs/effects/list/module.f.d.mts +32 -0
  176. package/fjs/effects/list/module.f.mjs +36 -0
  177. package/fjs/effects/list/types.d.ts +26 -0
  178. package/fjs/effects/memory/module.f.d.mts +34 -0
  179. package/fjs/effects/memory/module.f.mjs +45 -0
  180. package/fjs/effects/memory/proof.f.d.mts +16 -0
  181. package/fjs/effects/memory/proof.f.mjs +86 -0
  182. package/fjs/effects/memory/types.d.ts +18 -0
  183. package/fjs/effects/mock/module.f.d.mts +14 -0
  184. package/fjs/effects/mock/module.f.mjs +28 -0
  185. package/fjs/effects/mock/types.d.ts +15 -0
  186. package/fjs/effects/module.d.mts +15 -0
  187. package/fjs/effects/module.f.d.mts +352 -0
  188. package/fjs/effects/module.f.mjs +383 -0
  189. package/fjs/effects/module.mjs +26 -0
  190. package/fjs/effects/node/memory/module.d.mts +27 -0
  191. package/fjs/effects/node/memory/module.mjs +60 -0
  192. package/fjs/effects/node/memory/proof.d.mts +12 -0
  193. package/fjs/effects/node/memory/proof.mjs +44 -0
  194. package/fjs/effects/node/module.d.mts +59 -0
  195. package/fjs/effects/node/module.f.d.mts +177 -0
  196. package/fjs/effects/node/module.f.mjs +348 -0
  197. package/fjs/effects/node/module.mjs +381 -0
  198. package/fjs/effects/node/proof.f.d.mts +76 -0
  199. package/fjs/effects/node/proof.f.mjs +444 -0
  200. package/fjs/effects/node/types.d.ts +203 -0
  201. package/fjs/effects/node/virtual/module.f.d.mts +34 -0
  202. package/fjs/effects/node/virtual/module.f.mjs +435 -0
  203. package/fjs/effects/node/virtual/proof.f.d.mts +38 -0
  204. package/fjs/effects/node/virtual/proof.f.mjs +238 -0
  205. package/fjs/effects/node/virtual/types.d.ts +39 -0
  206. package/fjs/effects/proof.f.d.mts +65 -0
  207. package/fjs/effects/proof.f.mjs +234 -0
  208. package/fjs/effects/types.d.ts +115 -0
  209. package/fjs/emergent_testing/all.test.d.mts +8 -0
  210. package/fjs/emergent_testing/all.test.mjs +14 -0
  211. package/fjs/emergent_testing/example.f.d.mts +16 -0
  212. package/fjs/emergent_testing/example.f.mjs +34 -0
  213. package/fjs/emergent_testing/module.f.d.mts +155 -0
  214. package/fjs/emergent_testing/module.f.mjs +388 -0
  215. package/fjs/emergent_testing/proof.f.d.mts +97 -0
  216. package/fjs/emergent_testing/proof.f.mjs +518 -0
  217. package/fjs/emergent_testing/types.d.ts +53 -0
  218. package/fjs/fsc/bnf.f.d.mts +6 -0
  219. package/fjs/fsc/bnf.f.mjs +80 -0
  220. package/fjs/fsc/json.f.d.mts +16 -0
  221. package/fjs/fsc/json.f.mjs +127 -0
  222. package/fjs/fsc/module.f.d.mts +23 -0
  223. package/fjs/fsc/module.f.mjs +140 -0
  224. package/fjs/fsc/proof.f.mjs +119 -0
  225. package/fjs/fsm/module.f.d.mts +27 -0
  226. package/fjs/fsm/module.f.mjs +99 -0
  227. package/fjs/fsm/proof.f.d.mts +7 -0
  228. package/fjs/fsm/proof.f.mjs +149 -0
  229. package/fjs/js/tokenizer/module.f.d.mts +26 -0
  230. package/fjs/js/tokenizer/module.f.mjs +759 -0
  231. package/fjs/js/tokenizer/proof.f.d.mts +12 -0
  232. package/fjs/js/tokenizer/proof.f.mjs +681 -0
  233. package/fjs/js/tokenizer/types.d.ts +193 -0
  234. package/fjs/mcp/cas/module.f.d.mts +156 -0
  235. package/fjs/mcp/cas/module.f.mjs +302 -0
  236. package/fjs/mcp/evo/module.f.d.mts +88 -0
  237. package/fjs/mcp/evo/module.f.mjs +153 -0
  238. package/fjs/mcp/evo/proof.f.d.mts +17 -0
  239. package/fjs/mcp/evo/proof.f.mjs +166 -0
  240. package/fjs/mcp/module.f.d.mts +67 -0
  241. package/fjs/mcp/module.f.mjs +98 -0
  242. package/fjs/mcp/proof.f.d.mts +56 -0
  243. package/fjs/mcp/proof.f.mjs +718 -0
  244. package/fjs/media/html/module.f.d.mts +55 -0
  245. package/fjs/media/html/module.f.mjs +169 -0
  246. package/fjs/media/html/proof.f.d.mts +19 -0
  247. package/fjs/media/html/proof.f.mjs +80 -0
  248. package/fjs/media/html/types.d.ts +19 -0
  249. package/fjs/media/json/module.f.d.mts +48 -0
  250. package/fjs/media/json/module.f.mjs +104 -0
  251. package/fjs/media/json/parser/module.f.d.mts +30 -0
  252. package/fjs/media/json/parser/module.f.mjs +236 -0
  253. package/fjs/media/json/parser/proof.f.d.mts +8 -0
  254. package/fjs/media/json/parser/proof.f.mjs +314 -0
  255. package/fjs/media/json/parser/types.d.ts +39 -0
  256. package/fjs/media/json/proof.f.mjs +79 -0
  257. package/fjs/media/json/rtti/module.f.d.mts +38 -0
  258. package/fjs/media/json/rtti/module.f.mjs +51 -0
  259. package/fjs/media/json/rtti/proof.f.d.mts +29 -0
  260. package/fjs/media/json/rtti/proof.f.mjs +86 -0
  261. package/fjs/media/json/schema/module.f.d.mts +113 -0
  262. package/fjs/media/json/schema/module.f.mjs +309 -0
  263. package/fjs/media/json/schema/proof.f.d.mts +81 -0
  264. package/fjs/media/json/schema/proof.f.mjs +305 -0
  265. package/fjs/media/json/serializer/module.f.d.mts +40 -0
  266. package/fjs/media/json/serializer/module.f.mjs +131 -0
  267. package/fjs/media/json/serializer/proof.f.mjs +92 -0
  268. package/fjs/media/json/tokenizer/module.f.d.mts +25 -0
  269. package/fjs/media/json/tokenizer/module.f.mjs +96 -0
  270. package/fjs/media/json/tokenizer/proof.f.d.mts +8 -0
  271. package/fjs/media/json/tokenizer/proof.f.mjs +291 -0
  272. package/fjs/media/json/tokenizer/types.d.ts +17 -0
  273. package/fjs/media/json/types.d.ts +25 -0
  274. package/fjs/media/module.f.d.mts +116 -0
  275. package/fjs/media/module.f.mjs +152 -0
  276. package/fjs/media/nix/module.f.d.mts +27 -0
  277. package/fjs/media/nix/module.f.mjs +263 -0
  278. package/fjs/media/nix/proof.f.d.mts +35 -0
  279. package/fjs/media/nix/proof.f.mjs +184 -0
  280. package/fjs/media/nix/types.d.ts +22 -0
  281. package/fjs/media/proof.f.d.mts +19 -0
  282. package/fjs/media/proof.f.mjs +159 -0
  283. package/fjs/media/revision/module.f.d.mts +124 -0
  284. package/fjs/media/revision/module.f.mjs +163 -0
  285. package/fjs/media/revision/proof.f.d.mts +46 -0
  286. package/fjs/media/revision/proof.f.mjs +231 -0
  287. package/fjs/media/revision/types.d.ts +16 -0
  288. package/fjs/media/rust/module.f.d.mts +61 -0
  289. package/fjs/media/rust/module.f.mjs +93 -0
  290. package/fjs/media/rust/proof.f.d.mts +17 -0
  291. package/fjs/media/rust/proof.f.mjs +50 -0
  292. package/fjs/media/type/module.f.d.mts +114 -0
  293. package/fjs/media/type/module.f.mjs +265 -0
  294. package/fjs/media/type/proof.f.d.mts +56 -0
  295. package/fjs/media/type/proof.f.mjs +325 -0
  296. package/fjs/media/type/types.d.ts +67 -0
  297. package/fjs/media/types.d.ts +26 -0
  298. package/fjs/module.d.mts +7 -0
  299. package/fjs/module.f.d.mts +11 -0
  300. package/fjs/module.f.mjs +62 -0
  301. package/fjs/module.mjs +12 -0
  302. package/fjs/nanvm/module.f.d.mts +54 -0
  303. package/fjs/nanvm/module.f.mjs +240 -0
  304. package/fjs/nanvm/proof.f.d.mts +41 -0
  305. package/fjs/nanvm/proof.f.mjs +173 -0
  306. package/fjs/nanvm/rust/module.f.d.mts +54 -0
  307. package/fjs/nanvm/rust/module.f.mjs +166 -0
  308. package/fjs/nanvm/rust/proof.f.d.mts +21 -0
  309. package/fjs/nanvm/rust/proof.f.mjs +119 -0
  310. package/fjs/nanvm/types.d.ts +105 -0
  311. package/fjs/nanvm/update/module.f.d.mts +23 -0
  312. package/fjs/nanvm/update/module.f.mjs +33 -0
  313. package/fjs/nanvm/update/proof.f.d.mts +9 -0
  314. package/fjs/nanvm/update/proof.f.mjs +32 -0
  315. package/fjs/path/module.f.d.mts +63 -0
  316. package/fjs/path/module.f.mjs +98 -0
  317. package/fjs/path/proof.f.mjs +125 -0
  318. package/fjs/proof.f.d.mts +13 -0
  319. package/fjs/proof.f.mjs +51 -0
  320. package/fjs/protocol/json_rpc/module.f.d.mts +127 -0
  321. package/fjs/protocol/json_rpc/module.f.mjs +115 -0
  322. package/fjs/protocol/json_rpc/proof.f.d.mts +41 -0
  323. package/fjs/protocol/json_rpc/proof.f.mjs +105 -0
  324. package/fjs/protocol/json_rpc/types.d.ts +30 -0
  325. package/fjs/protocol/mcp/module.f.d.mts +227 -0
  326. package/fjs/protocol/mcp/module.f.mjs +369 -0
  327. package/fjs/protocol/mcp/proof.f.d.mts +57 -0
  328. package/fjs/protocol/mcp/proof.f.mjs +335 -0
  329. package/fjs/protocol/mcp/stdio/module.f.d.mts +50 -0
  330. package/fjs/protocol/mcp/stdio/module.f.mjs +125 -0
  331. package/fjs/protocol/mcp/stdio/proof.f.d.mts +20 -0
  332. package/fjs/protocol/mcp/stdio/proof.f.mjs +190 -0
  333. package/fjs/protocol/mcp/stdio/types.d.ts +14 -0
  334. package/fjs/protocol/mcp/types.d.ts +59 -0
  335. package/fjs/sul/id/module.f.d.mts +42 -0
  336. package/fjs/sul/id/module.f.mjs +144 -0
  337. package/fjs/sul/id/proof.f.mjs +72 -0
  338. package/fjs/sul/id/types.d.ts +8 -0
  339. package/fjs/sul/level/hash/module.f.d.mts +40 -0
  340. package/fjs/sul/level/hash/module.f.mjs +62 -0
  341. package/fjs/sul/level/hash/proof.f.d.mts +19 -0
  342. package/fjs/sul/level/hash/proof.f.mjs +134 -0
  343. package/fjs/sul/level/hash/types.d.ts +20 -0
  344. package/fjs/sul/level/literal/module.f.d.mts +57 -0
  345. package/fjs/sul/level/literal/module.f.mjs +121 -0
  346. package/fjs/sul/level/literal/proof.f.d.mts +15 -0
  347. package/fjs/sul/level/literal/proof.f.mjs +791 -0
  348. package/fjs/sul/level/literal/types.d.ts +31 -0
  349. package/fjs/sul/module.f.d.mts +27 -0
  350. package/fjs/sul/module.f.mjs +70 -0
  351. package/fjs/sul/proof.f.d.mts +15 -0
  352. package/fjs/sul/proof.f.mjs +65 -0
  353. package/fjs/sul/types.d.ts +19 -0
  354. package/fjs/text/ascii/module.f.d.mts +162 -0
  355. package/fjs/text/ascii/module.f.mjs +272 -0
  356. package/fjs/text/ascii/proof.f.d.mts +16 -0
  357. package/fjs/text/ascii/proof.f.mjs +48 -0
  358. package/fjs/text/code_point/module.f.d.mts +92 -0
  359. package/fjs/text/code_point/module.f.mjs +155 -0
  360. package/fjs/text/code_point/proof.f.d.mts +9 -0
  361. package/fjs/text/code_point/proof.f.mjs +108 -0
  362. package/fjs/text/module.f.d.mts +41 -0
  363. package/fjs/text/module.f.mjs +62 -0
  364. package/fjs/text/proof.f.d.mts +13 -0
  365. package/fjs/text/proof.f.mjs +51 -0
  366. package/fjs/text/sgr/module.f.d.mts +61 -0
  367. package/fjs/text/sgr/module.f.mjs +100 -0
  368. package/fjs/text/sgr/proof.f.d.mts +4 -0
  369. package/fjs/text/sgr/proof.f.mjs +42 -0
  370. package/fjs/text/sgr/types.d.ts +12 -0
  371. package/fjs/text/types.d.ts +13 -0
  372. package/fjs/text/utf16/module.f.d.mts +151 -0
  373. package/fjs/text/utf16/module.f.mjs +348 -0
  374. package/fjs/text/utf16/proof.f.d.mts +13 -0
  375. package/fjs/text/utf16/proof.f.mjs +175 -0
  376. package/fjs/text/utf16/types.d.ts +19 -0
  377. package/fjs/text/utf8/module.f.d.mts +73 -0
  378. package/fjs/text/utf8/module.f.mjs +278 -0
  379. package/fjs/text/utf8/proof.f.mjs +217 -0
  380. package/fjs/text/utf8/types.d.ts +26 -0
  381. package/fjs/types/array/module.f.d.mts +69 -0
  382. package/fjs/types/array/module.f.mjs +101 -0
  383. package/fjs/types/array/proof.f.mjs +98 -0
  384. package/fjs/types/array/types.d.ts +13 -0
  385. package/fjs/types/bigfloat/module.f.d.mts +34 -0
  386. package/fjs/types/bigfloat/module.f.mjs +125 -0
  387. package/fjs/types/bigfloat/proof.f.d.mts +6 -0
  388. package/fjs/types/bigfloat/proof.f.mjs +264 -0
  389. package/fjs/types/bigfloat/types.d.ts +6 -0
  390. package/fjs/types/bigint/benchmark.mjs +205 -0
  391. package/fjs/types/bigint/module.f.d.mts +180 -0
  392. package/fjs/types/bigint/module.f.mjs +290 -0
  393. package/fjs/types/bigint/proof.f.d.mts +39 -0
  394. package/fjs/types/bigint/proof.f.mjs +443 -0
  395. package/fjs/types/bigint/types.d.ts +14 -0
  396. package/fjs/types/bit_vec/module.f.d.mts +195 -0
  397. package/fjs/types/bit_vec/module.f.mjs +475 -0
  398. package/fjs/types/bit_vec/proof.f.d.mts +71 -0
  399. package/fjs/types/bit_vec/proof.f.mjs +521 -0
  400. package/fjs/types/bit_vec/types.d.ts +51 -0
  401. package/fjs/types/btree/find/module.f.d.mts +19 -0
  402. package/fjs/types/btree/find/module.f.mjs +80 -0
  403. package/fjs/types/btree/find/proof.f.d.mts +8 -0
  404. package/fjs/types/btree/find/proof.f.mjs +123 -0
  405. package/fjs/types/btree/find/types.d.ts +22 -0
  406. package/fjs/types/btree/module.f.d.mts +13 -0
  407. package/fjs/types/btree/module.f.mjs +40 -0
  408. package/fjs/types/btree/proof.f.d.mts +18 -0
  409. package/fjs/types/btree/proof.f.mjs +87 -0
  410. package/fjs/types/btree/remove/module.f.d.mts +32 -0
  411. package/fjs/types/btree/remove/module.f.mjs +187 -0
  412. package/fjs/types/btree/remove/proof.f.d.mts +12 -0
  413. package/fjs/types/btree/remove/proof.f.mjs +475 -0
  414. package/fjs/types/btree/set/module.f.d.mts +14 -0
  415. package/fjs/types/btree/set/module.f.mjs +116 -0
  416. package/fjs/types/btree/set/proof.f.d.mts +4 -0
  417. package/fjs/types/btree/set/proof.f.mjs +430 -0
  418. package/fjs/types/btree/types/module.f.d.mts +20 -0
  419. package/fjs/types/btree/types/module.f.mjs +20 -0
  420. package/fjs/types/btree/types/types.d.ts +14 -0
  421. package/fjs/types/byte_set/module.f.d.mts +35 -0
  422. package/fjs/types/byte_set/module.f.mjs +68 -0
  423. package/fjs/types/byte_set/proof.f.d.mts +14 -0
  424. package/fjs/types/byte_set/proof.f.mjs +86 -0
  425. package/fjs/types/byte_set/types.d.ts +6 -0
  426. package/fjs/types/function/compare/module.f.d.mts +45 -0
  427. package/fjs/types/function/compare/module.f.mjs +72 -0
  428. package/fjs/types/function/compare/proof.f.mjs +50 -0
  429. package/fjs/types/function/compare/types.d.ts +22 -0
  430. package/fjs/types/function/module.f.d.mts +33 -0
  431. package/fjs/types/function/module.f.mjs +39 -0
  432. package/fjs/types/function/operator/module.f.d.mts +38 -0
  433. package/fjs/types/function/operator/module.f.mjs +55 -0
  434. package/fjs/types/function/operator/proof.f.mjs +76 -0
  435. package/fjs/types/function/operator/types.d.ts +39 -0
  436. package/fjs/types/function/proof.f.mjs +16 -0
  437. package/fjs/types/function/types.d.ts +16 -0
  438. package/fjs/types/list/module.f.d.mts +95 -0
  439. package/fjs/types/list/module.f.mjs +311 -0
  440. package/fjs/types/list/proof.f.d.mts +35 -0
  441. package/fjs/types/list/proof.f.mjs +365 -0
  442. package/fjs/types/list/types.d.ts +36 -0
  443. package/fjs/types/map/module.f.d.mts +13 -0
  444. package/fjs/types/map/module.f.mjs +42 -0
  445. package/fjs/types/map/proof.f.mjs +25 -0
  446. package/fjs/types/nibble_set/module.f.d.mts +31 -0
  447. package/fjs/types/nibble_set/module.f.mjs +43 -0
  448. package/fjs/types/nibble_set/proof.f.mjs +59 -0
  449. package/fjs/types/nibble_set/types.d.ts +9 -0
  450. package/fjs/types/nominal/module.f.d.mts +10 -0
  451. package/fjs/types/nominal/module.f.mjs +17 -0
  452. package/fjs/types/nominal/proof.f.d.mts +7 -0
  453. package/fjs/types/nominal/proof.f.mjs +79 -0
  454. package/fjs/types/nominal/types.d.ts +25 -0
  455. package/fjs/types/nullable/module.f.d.mts +44 -0
  456. package/fjs/types/nullable/module.f.mjs +55 -0
  457. package/fjs/types/nullable/proof.f.mjs +34 -0
  458. package/fjs/types/nullable/types.d.ts +6 -0
  459. package/fjs/types/number/module.f.d.mts +27 -0
  460. package/fjs/types/number/module.f.mjs +56 -0
  461. package/fjs/types/number/proof.f.mjs +204 -0
  462. package/fjs/types/object/module.f.d.mts +45 -0
  463. package/fjs/types/object/module.f.mjs +67 -0
  464. package/fjs/types/object/proof.f.d.mts +28 -0
  465. package/fjs/types/object/proof.f.mjs +29 -0
  466. package/fjs/types/object/structurally_same/module.f.d.mts +39 -0
  467. package/fjs/types/object/structurally_same/module.f.mjs +59 -0
  468. package/fjs/types/object/structurally_same/proof.f.d.mts +6 -0
  469. package/fjs/types/object/structurally_same/proof.f.mjs +73 -0
  470. package/fjs/types/object/types.d.ts +50 -0
  471. package/fjs/types/ordered_map/module.f.d.mts +26 -0
  472. package/fjs/types/ordered_map/module.f.mjs +55 -0
  473. package/fjs/types/ordered_map/proof.f.d.mts +8 -0
  474. package/fjs/types/ordered_map/proof.f.mjs +91 -0
  475. package/fjs/types/ordered_map/types.d.ts +8 -0
  476. package/fjs/types/patricia_trie/module.f.d.mts +20 -0
  477. package/fjs/types/patricia_trie/module.f.mjs +43 -0
  478. package/fjs/types/patricia_trie/proof.f.d.mts +17 -0
  479. package/fjs/types/patricia_trie/proof.f.mjs +151 -0
  480. package/fjs/types/patricia_trie/types.d.ts +34 -0
  481. package/fjs/types/prime_field/module.f.d.mts +44 -0
  482. package/fjs/types/prime_field/module.f.mjs +137 -0
  483. package/fjs/types/prime_field/proof.f.mjs +131 -0
  484. package/fjs/types/prime_field/types.d.ts +38 -0
  485. package/fjs/types/range/module.f.d.mts +12 -0
  486. package/fjs/types/range/module.f.mjs +13 -0
  487. package/fjs/types/range/proof.f.mjs +10 -0
  488. package/fjs/types/range/types.d.ts +6 -0
  489. package/fjs/types/range_map/module.f.d.mts +78 -0
  490. package/fjs/types/range_map/module.f.mjs +127 -0
  491. package/fjs/types/range_map/proof.f.d.mts +11 -0
  492. package/fjs/types/range_map/proof.f.mjs +188 -0
  493. package/fjs/types/range_map/types.d.ts +56 -0
  494. package/fjs/types/range_set/module.f.d.mts +10 -0
  495. package/fjs/types/range_set/module.f.mjs +20 -0
  496. package/fjs/types/range_set/proof.f.d.mts +4 -0
  497. package/fjs/types/range_set/proof.f.mjs +29 -0
  498. package/fjs/types/result/module.d.mts +13 -0
  499. package/fjs/types/result/module.f.d.mts +89 -0
  500. package/fjs/types/result/module.f.mjs +97 -0
  501. package/fjs/types/result/module.mjs +30 -0
  502. package/fjs/types/result/proof.f.d.mts +17 -0
  503. package/fjs/types/result/proof.f.mjs +61 -0
  504. package/fjs/types/result/types.d.ts +17 -0
  505. package/fjs/types/rtti/common/module.f.d.mts +119 -0
  506. package/fjs/types/rtti/common/module.f.mjs +185 -0
  507. package/fjs/types/rtti/common/proof.f.d.mts +13 -0
  508. package/fjs/types/rtti/common/proof.f.mjs +67 -0
  509. package/fjs/types/rtti/common/types.d.ts +43 -0
  510. package/fjs/types/rtti/data/module.f.d.mts +120 -0
  511. package/fjs/types/rtti/data/module.f.mjs +1030 -0
  512. package/fjs/types/rtti/data/proof.f.d.mts +75 -0
  513. package/fjs/types/rtti/data/proof.f.mjs +566 -0
  514. package/fjs/types/rtti/data/types.d.ts +83 -0
  515. package/fjs/types/rtti/module.f.d.mts +83 -0
  516. package/fjs/types/rtti/module.f.mjs +112 -0
  517. package/fjs/types/rtti/parse/module.f.d.mts +47 -0
  518. package/fjs/types/rtti/parse/module.f.mjs +198 -0
  519. package/fjs/types/rtti/parse/proof.f.d.mts +122 -0
  520. package/fjs/types/rtti/parse/proof.f.mjs +343 -0
  521. package/fjs/types/rtti/parse/types.d.ts +12 -0
  522. package/fjs/types/rtti/proof.f.d.mts +10 -0
  523. package/fjs/types/rtti/proof.f.mjs +22 -0
  524. package/fjs/types/rtti/ts/module.f.d.mts +93 -0
  525. package/fjs/types/rtti/ts/module.f.mjs +296 -0
  526. package/fjs/types/rtti/ts/proof.f.d.mts +103 -0
  527. package/fjs/types/rtti/ts/proof.f.mjs +236 -0
  528. package/fjs/types/rtti/ts/types.d.ts +99 -0
  529. package/fjs/types/rtti/types.d.ts +83 -0
  530. package/fjs/types/rtti/validate/module.f.d.mts +41 -0
  531. package/fjs/types/rtti/validate/module.f.mjs +171 -0
  532. package/fjs/types/rtti/validate/proof.f.d.mts +125 -0
  533. package/fjs/types/rtti/validate/proof.f.mjs +437 -0
  534. package/fjs/types/rtti/validate/types.d.ts +6 -0
  535. package/fjs/types/sorted_list/module.f.d.mts +46 -0
  536. package/fjs/types/sorted_list/module.f.mjs +119 -0
  537. package/fjs/types/sorted_list/proof.f.d.mts +7 -0
  538. package/fjs/types/sorted_list/proof.f.mjs +54 -0
  539. package/fjs/types/sorted_list/types.d.ts +15 -0
  540. package/fjs/types/sorted_set/module.f.d.mts +54 -0
  541. package/fjs/types/sorted_set/module.f.mjs +58 -0
  542. package/fjs/types/sorted_set/proof.f.d.mts +9 -0
  543. package/fjs/types/sorted_set/proof.f.mjs +79 -0
  544. package/fjs/types/sorted_set/types.d.ts +6 -0
  545. package/fjs/types/string/module.f.d.mts +40 -0
  546. package/fjs/types/string/module.f.mjs +59 -0
  547. package/fjs/types/string/proof.f.mjs +76 -0
  548. package/fjs/types/string_set/module.f.d.mts +39 -0
  549. package/fjs/types/string_set/module.f.mjs +54 -0
  550. package/fjs/types/string_set/proof.f.mjs +46 -0
  551. package/fjs/types/string_set/types.d.ts +7 -0
  552. package/fjs/types/ts/module.f.d.mts +22 -0
  553. package/fjs/types/ts/module.f.mjs +51 -0
  554. package/fjs/types/ts/proof.f.d.mts +39 -0
  555. package/fjs/types/ts/proof.f.mjs +102 -0
  556. package/fjs/types/ts/types.d.ts +21 -0
  557. package/fjs/types/uint8array/module.f.d.mts +42 -0
  558. package/fjs/types/uint8array/module.f.mjs +58 -0
  559. package/fjs/types/uint8array/proof.f.d.mts +17 -0
  560. package/fjs/types/uint8array/proof.f.mjs +73 -0
  561. package/fjs/website/module.f.d.mts +11 -0
  562. package/fjs/website/module.f.mjs +25 -0
  563. package/fjs/website/proof.f.mjs +14 -0
  564. package/package.json +12 -10
  565. package/todo/proof.f.d.mts +22 -0
  566. package/todo/proof.f.mjs +59 -0
  567. package/fjs/asn.1/module.f.d.ts +0 -62
  568. package/fjs/asn.1/module.f.js +0 -278
  569. package/fjs/asn.1/proof.f.d.ts +0 -48
  570. package/fjs/asn.1/proof.f.js +0 -285
  571. package/fjs/asserts/module.f.d.ts +0 -36
  572. package/fjs/asserts/module.f.js +0 -39
  573. package/fjs/asserts/proof.f.d.ts +0 -11
  574. package/fjs/asserts/proof.f.js +0 -18
  575. package/fjs/base_n/module.f.d.ts +0 -45
  576. package/fjs/base_n/module.f.js +0 -72
  577. package/fjs/base_n/proof.f.js +0 -73
  578. package/fjs/basen/base128/module.f.d.ts +0 -20
  579. package/fjs/basen/base128/module.f.js +0 -43
  580. package/fjs/basen/base128/proof.f.js +0 -26
  581. package/fjs/basen/base64/module.f.d.ts +0 -9
  582. package/fjs/basen/base64/module.f.js +0 -71
  583. package/fjs/basen/base64/proof.f.d.ts +0 -16
  584. package/fjs/basen/base64/proof.f.js +0 -139
  585. package/fjs/basen/cbase32/module.f.d.ts +0 -11
  586. package/fjs/basen/cbase32/module.f.js +0 -55
  587. package/fjs/basen/cbase32/proof.f.d.ts +0 -7
  588. package/fjs/basen/cbase32/proof.f.js +0 -62
  589. package/fjs/bnf/data/module.f.d.ts +0 -52
  590. package/fjs/bnf/data/module.f.js +0 -143
  591. package/fjs/bnf/data/proof.f.d.ts +0 -8
  592. package/fjs/bnf/data/proof.f.js +0 -169
  593. package/fjs/bnf/descent/module.f.d.ts +0 -87
  594. package/fjs/bnf/descent/module.f.js +0 -149
  595. package/fjs/bnf/descent/proof.f.d.ts +0 -7
  596. package/fjs/bnf/descent/proof.f.js +0 -368
  597. package/fjs/bnf/ll1/module.f.d.ts +0 -72
  598. package/fjs/bnf/ll1/module.f.js +0 -155
  599. package/fjs/bnf/ll1/proof.f.d.ts +0 -10
  600. package/fjs/bnf/ll1/proof.f.js +0 -375
  601. package/fjs/bnf/module.f.d.ts +0 -165
  602. package/fjs/bnf/module.f.js +0 -174
  603. package/fjs/bnf/proof.f.d.ts +0 -12
  604. package/fjs/bnf/proof.f.js +0 -69
  605. package/fjs/bnf/testlib.f.d.ts +0 -3
  606. package/fjs/bnf/testlib.f.js +0 -138
  607. package/fjs/bnf/token_symbol/module.f.d.ts +0 -38
  608. package/fjs/bnf/token_symbol/module.f.js +0 -48
  609. package/fjs/bnf/token_symbol/proof.f.js +0 -37
  610. package/fjs/cas/cli/module.f.d.ts +0 -6
  611. package/fjs/cas/cli/module.f.js +0 -53
  612. package/fjs/cas/cli/proof.f.d.ts +0 -17
  613. package/fjs/cas/cli/proof.f.js +0 -112
  614. package/fjs/cas/evo/module.f.d.ts +0 -223
  615. package/fjs/cas/evo/module.f.js +0 -455
  616. package/fjs/cas/evo/proof.f.d.ts +0 -47
  617. package/fjs/cas/evo/proof.f.js +0 -707
  618. package/fjs/cas/module.f.d.ts +0 -64
  619. package/fjs/cas/module.f.js +0 -255
  620. package/fjs/cas/proof.f.d.ts +0 -18
  621. package/fjs/cas/proof.f.js +0 -305
  622. package/fjs/ci/bun/module.f.d.ts +0 -2
  623. package/fjs/ci/bun/module.f.js +0 -15
  624. package/fjs/ci/common/module.f.d.ts +0 -88
  625. package/fjs/ci/common/module.f.js +0 -63
  626. package/fjs/ci/config/module.f.d.ts +0 -45
  627. package/fjs/ci/config/module.f.js +0 -80
  628. package/fjs/ci/deno/module.f.d.ts +0 -10
  629. package/fjs/ci/deno/module.f.js +0 -28
  630. package/fjs/ci/deno/proof.f.d.ts +0 -5
  631. package/fjs/ci/deno/proof.f.js +0 -26
  632. package/fjs/ci/module.f.d.ts +0 -13
  633. package/fjs/ci/module.f.js +0 -58
  634. package/fjs/ci/nix/module.f.d.ts +0 -61
  635. package/fjs/ci/nix/module.f.js +0 -92
  636. package/fjs/ci/nix/proof.f.d.ts +0 -23
  637. package/fjs/ci/nix/proof.f.js +0 -109
  638. package/fjs/ci/node/module.f.d.ts +0 -28
  639. package/fjs/ci/node/module.f.js +0 -92
  640. package/fjs/ci/node/proof.f.js +0 -17
  641. package/fjs/ci/proof.f.d.ts +0 -18
  642. package/fjs/ci/proof.f.js +0 -182
  643. package/fjs/ci/rust/module.f.d.ts +0 -3
  644. package/fjs/ci/rust/module.f.js +0 -75
  645. package/fjs/cli/module.f.d.ts +0 -11
  646. package/fjs/cli/module.f.js +0 -34
  647. package/fjs/cli/proof.f.d.ts +0 -14
  648. package/fjs/cli/proof.f.js +0 -111
  649. package/fjs/common/monoid/module.f.d.ts +0 -126
  650. package/fjs/common/monoid/module.f.js +0 -88
  651. package/fjs/common/monoid/proof.f.d.ts +0 -9
  652. package/fjs/common/monoid/proof.f.js +0 -48
  653. package/fjs/crypto/hmac/module.f.d.ts +0 -29
  654. package/fjs/crypto/hmac/module.f.js +0 -56
  655. package/fjs/crypto/hmac/proof.f.js +0 -32
  656. package/fjs/crypto/pow/module.f.d.ts +0 -37
  657. package/fjs/crypto/pow/module.f.js +0 -72
  658. package/fjs/crypto/pow/proof.f.js +0 -111
  659. package/fjs/crypto/secp/module.f.d.ts +0 -85
  660. package/fjs/crypto/secp/module.f.js +0 -176
  661. package/fjs/crypto/secp/proof.f.d.ts +0 -8
  662. package/fjs/crypto/secp/proof.f.js +0 -124
  663. package/fjs/crypto/sha2/module.f.d.ts +0 -102
  664. package/fjs/crypto/sha2/module.f.js +0 -266
  665. package/fjs/crypto/sha2/proof.f.d.ts +0 -31
  666. package/fjs/crypto/sha2/proof.f.js +0 -139
  667. package/fjs/crypto/sign/module.f.d.ts +0 -33
  668. package/fjs/crypto/sign/module.f.js +0 -163
  669. package/fjs/crypto/sign/proof.f.d.ts +0 -11
  670. package/fjs/crypto/sign/proof.f.js +0 -562
  671. package/fjs/crypto/vdf/module.f.d.ts +0 -21
  672. package/fjs/crypto/vdf/module.f.js +0 -57
  673. package/fjs/crypto/vdf/proof.f.js +0 -94
  674. package/fjs/dev/module.f.d.ts +0 -57
  675. package/fjs/dev/module.f.js +0 -135
  676. package/fjs/dev/package_json/module.f.d.ts +0 -16
  677. package/fjs/dev/package_json/module.f.js +0 -24
  678. package/fjs/dev/package_json/proof.f.js +0 -28
  679. package/fjs/dev/proof.f.d.ts +0 -13
  680. package/fjs/dev/proof.f.js +0 -77
  681. package/fjs/dev/update/module.f.d.ts +0 -11
  682. package/fjs/dev/update/module.f.js +0 -20
  683. package/fjs/dev/update/proof.f.d.ts +0 -7
  684. package/fjs/dev/update/proof.f.js +0 -35
  685. package/fjs/djs/ast/module.f.d.ts +0 -62
  686. package/fjs/djs/ast/module.f.js +0 -61
  687. package/fjs/djs/ast/proof.f.js +0 -49
  688. package/fjs/djs/examples/input.f.js +0 -4
  689. package/fjs/djs/examples/m.f.js +0 -1
  690. package/fjs/djs/module.f.d.ts +0 -17
  691. package/fjs/djs/module.f.js +0 -22
  692. package/fjs/djs/parser/module.f.d.ts +0 -23
  693. package/fjs/djs/parser/module.f.js +0 -410
  694. package/fjs/djs/parser/proof.f.d.ts +0 -14
  695. package/fjs/djs/parser/proof.f.js +0 -556
  696. package/fjs/djs/proof.f.d.ts +0 -10
  697. package/fjs/djs/proof.f.js +0 -50
  698. package/fjs/djs/serializer/module.f.d.ts +0 -17
  699. package/fjs/djs/serializer/module.f.js +0 -173
  700. package/fjs/djs/serializer/proof.f.js +0 -133
  701. package/fjs/djs/tokenizer/module.f.d.ts +0 -24
  702. package/fjs/djs/tokenizer/module.f.js +0 -472
  703. package/fjs/djs/tokenizer/proof.f.d.ts +0 -14
  704. package/fjs/djs/tokenizer/proof.f.js +0 -1211
  705. package/fjs/djs/transpiler/module.f.d.ts +0 -41
  706. package/fjs/djs/transpiler/module.f.js +0 -88
  707. package/fjs/djs/transpiler/proof.f.js +0 -67
  708. package/fjs/effects/eff/module.f.d.ts +0 -72
  709. package/fjs/effects/eff/module.f.js +0 -46
  710. package/fjs/effects/eff/proof.f.d.ts +0 -11
  711. package/fjs/effects/eff/proof.f.js +0 -58
  712. package/fjs/effects/list/module.f.d.ts +0 -37
  713. package/fjs/effects/list/module.f.js +0 -17
  714. package/fjs/effects/memory/module.f.d.ts +0 -37
  715. package/fjs/effects/memory/module.f.js +0 -24
  716. package/fjs/effects/memory/proof.f.d.ts +0 -6
  717. package/fjs/effects/memory/proof.f.js +0 -50
  718. package/fjs/effects/mock/module.f.d.ts +0 -16
  719. package/fjs/effects/mock/module.f.js +0 -20
  720. package/fjs/effects/module.d.ts +0 -2
  721. package/fjs/effects/module.f.d.ts +0 -408
  722. package/fjs/effects/module.f.js +0 -312
  723. package/fjs/effects/module.js +0 -11
  724. package/fjs/effects/node/memory/module.d.ts +0 -20
  725. package/fjs/effects/node/memory/module.js +0 -44
  726. package/fjs/effects/node/memory/proof.d.ts +0 -10
  727. package/fjs/effects/node/memory/proof.js +0 -29
  728. package/fjs/effects/node/module.d.ts +0 -20
  729. package/fjs/effects/node/module.f.d.ts +0 -300
  730. package/fjs/effects/node/module.f.js +0 -171
  731. package/fjs/effects/node/module.js +0 -305
  732. package/fjs/effects/node/proof.f.d.ts +0 -69
  733. package/fjs/effects/node/proof.f.js +0 -409
  734. package/fjs/effects/node/virtual/module.f.d.ts +0 -49
  735. package/fjs/effects/node/virtual/module.f.js +0 -440
  736. package/fjs/effects/node/virtual/proof.f.d.ts +0 -33
  737. package/fjs/effects/node/virtual/proof.f.js +0 -186
  738. package/fjs/effects/proof.f.d.ts +0 -56
  739. package/fjs/effects/proof.f.js +0 -200
  740. package/fjs/emergent_testing/all.test.js +0 -5
  741. package/fjs/emergent_testing/example.f.d.ts +0 -13
  742. package/fjs/emergent_testing/example.f.js +0 -31
  743. package/fjs/emergent_testing/module.f.d.ts +0 -140
  744. package/fjs/emergent_testing/module.f.js +0 -289
  745. package/fjs/emergent_testing/proof.f.d.ts +0 -67
  746. package/fjs/emergent_testing/proof.f.js +0 -416
  747. package/fjs/emergent_testing/scenarios/all.d.ts +0 -1
  748. package/fjs/emergent_testing/scenarios/all.js +0 -1
  749. package/fjs/emergent_testing/scenarios/async-subtests.fail.d.ts +0 -6
  750. package/fjs/emergent_testing/scenarios/async-subtests.fail.js +0 -9
  751. package/fjs/emergent_testing/scenarios/async-subtests.pass.d.ts +0 -6
  752. package/fjs/emergent_testing/scenarios/async-subtests.pass.js +0 -9
  753. package/fjs/emergent_testing/scenarios/async.fail.d.ts +0 -3
  754. package/fjs/emergent_testing/scenarios/async.fail.js +0 -6
  755. package/fjs/emergent_testing/scenarios/async.pass.d.ts +0 -3
  756. package/fjs/emergent_testing/scenarios/async.pass.js +0 -5
  757. package/fjs/emergent_testing/scenarios/fail.fail.d.ts +0 -3
  758. package/fjs/emergent_testing/scenarios/fail.fail.js +0 -3
  759. package/fjs/emergent_testing/scenarios/return-value.pass.d.ts +0 -3
  760. package/fjs/emergent_testing/scenarios/return-value.pass.js +0 -4
  761. package/fjs/emergent_testing/scenarios/thenable.pass.d.ts +0 -5
  762. package/fjs/emergent_testing/scenarios/thenable.pass.js +0 -11
  763. package/fjs/emergent_testing/scenarios/thenable2.pass.d.ts +0 -5
  764. package/fjs/emergent_testing/scenarios/thenable2.pass.js +0 -3
  765. package/fjs/emergent_testing/scenarios/throw.pass.d.ts +0 -5
  766. package/fjs/emergent_testing/scenarios/throw.pass.js +0 -3
  767. package/fjs/fsc/bnf.f.d.ts +0 -2
  768. package/fjs/fsc/bnf.f.js +0 -42
  769. package/fjs/fsc/json.f.d.ts +0 -7
  770. package/fjs/fsc/json.f.js +0 -64
  771. package/fjs/fsc/module.f.d.ts +0 -11
  772. package/fjs/fsc/module.f.js +0 -73
  773. package/fjs/fsc/proof.f.js +0 -104
  774. package/fjs/fsm/module.f.d.ts +0 -17
  775. package/fjs/fsm/module.f.js +0 -55
  776. package/fjs/fsm/proof.f.d.ts +0 -4
  777. package/fjs/fsm/proof.f.js +0 -126
  778. package/fjs/js/tokenizer/module.f.d.ts +0 -104
  779. package/fjs/js/tokenizer/module.f.js +0 -547
  780. package/fjs/js/tokenizer/proof.f.d.ts +0 -9
  781. package/fjs/js/tokenizer/proof.f.js +0 -986
  782. package/fjs/mcp/cas/module.f.d.ts +0 -27
  783. package/fjs/mcp/cas/module.f.js +0 -232
  784. package/fjs/mcp/evo/module.f.d.ts +0 -32
  785. package/fjs/mcp/evo/module.f.js +0 -99
  786. package/fjs/mcp/evo/proof.f.d.ts +0 -12
  787. package/fjs/mcp/evo/proof.f.js +0 -147
  788. package/fjs/mcp/module.f.d.ts +0 -56
  789. package/fjs/mcp/module.f.js +0 -69
  790. package/fjs/mcp/proof.f.d.ts +0 -45
  791. package/fjs/mcp/proof.f.js +0 -535
  792. package/fjs/media/html/module.f.d.ts +0 -52
  793. package/fjs/media/html/module.f.js +0 -117
  794. package/fjs/media/html/proof.f.d.ts +0 -16
  795. package/fjs/media/html/proof.f.js +0 -65
  796. package/fjs/media/json/module.f.d.ts +0 -64
  797. package/fjs/media/json/module.f.js +0 -109
  798. package/fjs/media/json/parser/module.f.d.ts +0 -21
  799. package/fjs/media/json/parser/module.f.js +0 -194
  800. package/fjs/media/json/parser/proof.f.d.ts +0 -5
  801. package/fjs/media/json/parser/proof.f.js +0 -314
  802. package/fjs/media/json/proof.f.js +0 -98
  803. package/fjs/media/json/schema/module.f.d.ts +0 -78
  804. package/fjs/media/json/schema/module.f.js +0 -96
  805. package/fjs/media/json/schema/proof.f.d.ts +0 -36
  806. package/fjs/media/json/schema/proof.f.js +0 -83
  807. package/fjs/media/json/serializer/module.f.d.ts +0 -28
  808. package/fjs/media/json/serializer/module.f.js +0 -73
  809. package/fjs/media/json/serializer/proof.f.js +0 -94
  810. package/fjs/media/json/tokenizer/module.f.d.ts +0 -15
  811. package/fjs/media/json/tokenizer/module.f.js +0 -63
  812. package/fjs/media/json/tokenizer/proof.f.d.ts +0 -5
  813. package/fjs/media/json/tokenizer/proof.f.js +0 -417
  814. package/fjs/media/module.f.d.ts +0 -119
  815. package/fjs/media/module.f.js +0 -88
  816. package/fjs/media/nix/module.f.d.ts +0 -30
  817. package/fjs/media/nix/module.f.js +0 -166
  818. package/fjs/media/nix/proof.f.d.ts +0 -32
  819. package/fjs/media/nix/proof.f.js +0 -127
  820. package/fjs/media/proof.f.d.ts +0 -19
  821. package/fjs/media/proof.f.js +0 -127
  822. package/fjs/media/revision/module.f.d.ts +0 -94
  823. package/fjs/media/revision/module.f.js +0 -143
  824. package/fjs/media/revision/proof.f.d.ts +0 -42
  825. package/fjs/media/revision/proof.f.js +0 -190
  826. package/fjs/media/type/module.f.d.ts +0 -135
  827. package/fjs/media/type/module.f.js +0 -231
  828. package/fjs/media/type/proof.f.d.ts +0 -40
  829. package/fjs/media/type/proof.f.js +0 -213
  830. package/fjs/module.d.ts +0 -2
  831. package/fjs/module.f.d.ts +0 -2
  832. package/fjs/module.f.js +0 -50
  833. package/fjs/module.js +0 -4
  834. package/fjs/path/module.f.d.ts +0 -46
  835. package/fjs/path/module.f.js +0 -71
  836. package/fjs/path/proof.f.js +0 -119
  837. package/fjs/proof.f.d.ts +0 -9
  838. package/fjs/proof.f.js +0 -38
  839. package/fjs/protocol/json_rpc/module.f.d.ts +0 -114
  840. package/fjs/protocol/json_rpc/module.f.js +0 -89
  841. package/fjs/protocol/json_rpc/proof.f.d.ts +0 -35
  842. package/fjs/protocol/json_rpc/proof.f.js +0 -68
  843. package/fjs/protocol/mcp/module.f.d.ts +0 -239
  844. package/fjs/protocol/mcp/module.f.js +0 -272
  845. package/fjs/protocol/mcp/proof.f.d.ts +0 -34
  846. package/fjs/protocol/mcp/proof.f.js +0 -208
  847. package/fjs/protocol/mcp/stdio/module.f.d.ts +0 -47
  848. package/fjs/protocol/mcp/stdio/module.f.js +0 -78
  849. package/fjs/protocol/mcp/stdio/proof.f.d.ts +0 -13
  850. package/fjs/protocol/mcp/stdio/proof.f.js +0 -143
  851. package/fjs/sul/id/module.f.d.ts +0 -33
  852. package/fjs/sul/id/module.f.js +0 -93
  853. package/fjs/sul/id/proof.f.js +0 -61
  854. package/fjs/sul/level/hash/module.f.d.ts +0 -38
  855. package/fjs/sul/level/hash/module.f.js +0 -43
  856. package/fjs/sul/level/hash/proof.f.d.ts +0 -13
  857. package/fjs/sul/level/hash/proof.f.js +0 -112
  858. package/fjs/sul/level/literal/module.f.d.ts +0 -64
  859. package/fjs/sul/level/literal/module.f.js +0 -88
  860. package/fjs/sul/level/literal/proof.f.d.ts +0 -12
  861. package/fjs/sul/level/literal/proof.f.js +0 -714
  862. package/fjs/sul/module.f.d.ts +0 -23
  863. package/fjs/sul/module.f.js +0 -46
  864. package/fjs/sul/proof.f.d.ts +0 -9
  865. package/fjs/sul/proof.f.js +0 -47
  866. package/fjs/text/ascii/module.f.d.ts +0 -136
  867. package/fjs/text/ascii/module.f.js +0 -154
  868. package/fjs/text/ascii/proof.f.d.ts +0 -6
  869. package/fjs/text/ascii/proof.f.js +0 -14
  870. package/fjs/text/code_point/module.f.d.ts +0 -65
  871. package/fjs/text/code_point/module.f.js +0 -103
  872. package/fjs/text/code_point/proof.f.d.ts +0 -8
  873. package/fjs/text/code_point/proof.f.js +0 -72
  874. package/fjs/text/module.f.d.ts +0 -40
  875. package/fjs/text/module.f.js +0 -43
  876. package/fjs/text/proof.f.d.ts +0 -10
  877. package/fjs/text/proof.f.js +0 -44
  878. package/fjs/text/sgr/module.f.d.ts +0 -53
  879. package/fjs/text/sgr/module.f.js +0 -63
  880. package/fjs/text/sgr/proof.f.js +0 -33
  881. package/fjs/text/utf16/module.f.d.ts +0 -161
  882. package/fjs/text/utf16/module.f.js +0 -311
  883. package/fjs/text/utf16/proof.f.d.ts +0 -10
  884. package/fjs/text/utf16/proof.f.js +0 -144
  885. package/fjs/text/utf8/module.f.d.ts +0 -83
  886. package/fjs/text/utf8/module.f.js +0 -247
  887. package/fjs/text/utf8/proof.f.js +0 -217
  888. package/fjs/types/array/module.f.d.ts +0 -49
  889. package/fjs/types/array/module.f.js +0 -42
  890. package/fjs/types/array/proof.f.js +0 -92
  891. package/fjs/types/bigfloat/module.f.d.ts +0 -6
  892. package/fjs/types/bigfloat/module.f.js +0 -69
  893. package/fjs/types/bigfloat/proof.f.d.ts +0 -5
  894. package/fjs/types/bigfloat/proof.f.js +0 -217
  895. package/fjs/types/bigint/module.f.d.ts +0 -172
  896. package/fjs/types/bigint/module.f.js +0 -251
  897. package/fjs/types/bigint/proof.f.d.ts +0 -37
  898. package/fjs/types/bigint/proof.f.js +0 -400
  899. package/fjs/types/bit_vec/module.f.d.ts +0 -302
  900. package/fjs/types/bit_vec/module.f.js +0 -375
  901. package/fjs/types/bit_vec/proof.f.d.ts +0 -65
  902. package/fjs/types/bit_vec/proof.f.js +0 -465
  903. package/fjs/types/btree/find/module.f.d.ts +0 -25
  904. package/fjs/types/btree/find/module.f.js +0 -80
  905. package/fjs/types/btree/find/proof.f.d.ts +0 -3
  906. package/fjs/types/btree/find/proof.f.js +0 -108
  907. package/fjs/types/btree/module.f.d.ts +0 -9
  908. package/fjs/types/btree/module.f.js +0 -33
  909. package/fjs/types/btree/proof.f.d.ts +0 -13
  910. package/fjs/types/btree/proof.f.js +0 -64
  911. package/fjs/types/btree/remove/module.f.d.ts +0 -14
  912. package/fjs/types/btree/remove/module.f.js +0 -186
  913. package/fjs/types/btree/remove/proof.f.d.ts +0 -9
  914. package/fjs/types/btree/remove/proof.f.js +0 -484
  915. package/fjs/types/btree/set/module.f.d.ts +0 -8
  916. package/fjs/types/btree/set/module.f.js +0 -128
  917. package/fjs/types/btree/set/proof.f.d.ts +0 -1
  918. package/fjs/types/btree/set/proof.f.js +0 -368
  919. package/fjs/types/btree/types/module.f.d.ts +0 -23
  920. package/fjs/types/btree/types/module.f.js +0 -9
  921. package/fjs/types/byte_set/module.f.d.ts +0 -16
  922. package/fjs/types/byte_set/module.f.js +0 -30
  923. package/fjs/types/byte_set/proof.f.d.ts +0 -11
  924. package/fjs/types/byte_set/proof.f.js +0 -79
  925. package/fjs/types/function/compare/module.f.d.ts +0 -49
  926. package/fjs/types/function/compare/module.f.js +0 -51
  927. package/fjs/types/function/compare/proof.f.js +0 -47
  928. package/fjs/types/function/module.f.d.ts +0 -28
  929. package/fjs/types/function/module.f.js +0 -19
  930. package/fjs/types/function/operator/module.f.d.ts +0 -48
  931. package/fjs/types/function/operator/module.f.js +0 -16
  932. package/fjs/types/function/operator/proof.f.js +0 -53
  933. package/fjs/types/function/proof.f.js +0 -10
  934. package/fjs/types/list/module.f.d.ts +0 -75
  935. package/fjs/types/list/module.f.js +0 -190
  936. package/fjs/types/list/proof.f.d.ts +0 -31
  937. package/fjs/types/list/proof.f.js +0 -330
  938. package/fjs/types/map/module.f.d.ts +0 -2
  939. package/fjs/types/map/module.f.js +0 -22
  940. package/fjs/types/map/proof.f.js +0 -22
  941. package/fjs/types/nibble_set/module.f.d.ts +0 -27
  942. package/fjs/types/nibble_set/module.f.js +0 -25
  943. package/fjs/types/nibble_set/proof.f.js +0 -60
  944. package/fjs/types/nominal/module.f.d.ts +0 -22
  945. package/fjs/types/nominal/module.f.js +0 -13
  946. package/fjs/types/nominal/proof.f.d.ts +0 -4
  947. package/fjs/types/nominal/proof.f.js +0 -48
  948. package/fjs/types/nullable/module.f.d.ts +0 -21
  949. package/fjs/types/nullable/module.f.js +0 -29
  950. package/fjs/types/nullable/proof.f.d.ts +0 -1
  951. package/fjs/types/nullable/proof.f.js +0 -29
  952. package/fjs/types/number/module.f.d.ts +0 -16
  953. package/fjs/types/number/module.f.js +0 -30
  954. package/fjs/types/number/proof.f.js +0 -124
  955. package/fjs/types/object/module.f.d.ts +0 -54
  956. package/fjs/types/object/module.f.js +0 -25
  957. package/fjs/types/object/proof.f.d.ts +0 -4
  958. package/fjs/types/object/proof.f.js +0 -14
  959. package/fjs/types/option/module.f.js +0 -6
  960. package/fjs/types/ordered_map/module.f.d.ts +0 -17
  961. package/fjs/types/ordered_map/module.f.js +0 -22
  962. package/fjs/types/ordered_map/proof.f.d.ts +0 -5
  963. package/fjs/types/ordered_map/proof.f.js +0 -73
  964. package/fjs/types/patricia_trie/module.f.d.ts +0 -25
  965. package/fjs/types/patricia_trie/module.f.js +0 -35
  966. package/fjs/types/patricia_trie/proof.f.d.ts +0 -13
  967. package/fjs/types/patricia_trie/proof.f.js +0 -121
  968. package/fjs/types/phantom/module.f.js +0 -11
  969. package/fjs/types/prime_field/module.f.d.ts +0 -62
  970. package/fjs/types/prime_field/module.f.js +0 -112
  971. package/fjs/types/prime_field/proof.f.js +0 -128
  972. package/fjs/types/range/module.f.d.ts +0 -8
  973. package/fjs/types/range/module.f.js +0 -2
  974. package/fjs/types/range/proof.f.d.ts +0 -1
  975. package/fjs/types/range/proof.f.js +0 -9
  976. package/fjs/types/range_map/module.f.d.ts +0 -92
  977. package/fjs/types/range_map/module.f.js +0 -82
  978. package/fjs/types/range_map/proof.f.d.ts +0 -6
  979. package/fjs/types/range_map/proof.f.js +0 -151
  980. package/fjs/types/range_set/module.f.d.ts +0 -5
  981. package/fjs/types/range_set/module.f.js +0 -16
  982. package/fjs/types/range_set/proof.f.d.ts +0 -1
  983. package/fjs/types/range_set/proof.f.js +0 -19
  984. package/fjs/types/result/module.d.ts +0 -3
  985. package/fjs/types/result/module.f.d.ts +0 -61
  986. package/fjs/types/result/module.f.js +0 -54
  987. package/fjs/types/result/module.js +0 -19
  988. package/fjs/types/result/proof.f.d.ts +0 -12
  989. package/fjs/types/result/proof.f.js +0 -31
  990. package/fjs/types/rtti/common/module.f.d.ts +0 -121
  991. package/fjs/types/rtti/common/module.f.js +0 -94
  992. package/fjs/types/rtti/common/proof.f.d.ts +0 -8
  993. package/fjs/types/rtti/common/proof.f.js +0 -51
  994. package/fjs/types/rtti/module.f.d.ts +0 -75
  995. package/fjs/types/rtti/module.f.js +0 -34
  996. package/fjs/types/rtti/parse/module.f.d.ts +0 -36
  997. package/fjs/types/rtti/parse/module.f.js +0 -114
  998. package/fjs/types/rtti/parse/proof.f.d.ts +0 -115
  999. package/fjs/types/rtti/parse/proof.f.js +0 -334
  1000. package/fjs/types/rtti/proof.f.d.ts +0 -5
  1001. package/fjs/types/rtti/proof.f.js +0 -16
  1002. package/fjs/types/rtti/ts/module.f.d.ts +0 -118
  1003. package/fjs/types/rtti/ts/module.f.js +0 -59
  1004. package/fjs/types/rtti/ts/proof.f.d.ts +0 -59
  1005. package/fjs/types/rtti/ts/proof.f.js +0 -75
  1006. package/fjs/types/rtti/validate/module.f.d.ts +0 -4
  1007. package/fjs/types/rtti/validate/module.f.js +0 -74
  1008. package/fjs/types/rtti/validate/proof.f.d.ts +0 -118
  1009. package/fjs/types/rtti/validate/proof.f.js +0 -349
  1010. package/fjs/types/sorted_list/module.f.d.ts +0 -26
  1011. package/fjs/types/sorted_list/module.f.js +0 -51
  1012. package/fjs/types/sorted_list/proof.f.d.ts +0 -4
  1013. package/fjs/types/sorted_list/proof.f.js +0 -46
  1014. package/fjs/types/sorted_set/module.f.d.ts +0 -33
  1015. package/fjs/types/sorted_set/module.f.js +0 -5
  1016. package/fjs/types/sorted_set/proof.f.d.ts +0 -6
  1017. package/fjs/types/sorted_set/proof.f.js +0 -67
  1018. package/fjs/types/string/module.f.d.ts +0 -24
  1019. package/fjs/types/string/module.f.js +0 -35
  1020. package/fjs/types/string/proof.f.js +0 -77
  1021. package/fjs/types/string_set/module.f.d.ts +0 -30
  1022. package/fjs/types/string_set/module.f.js +0 -37
  1023. package/fjs/types/string_set/proof.f.js +0 -43
  1024. package/fjs/types/ts/module.f.d.ts +0 -23
  1025. package/fjs/types/ts/module.f.js +0 -27
  1026. package/fjs/types/ts/proof.f.d.ts +0 -38
  1027. package/fjs/types/ts/proof.f.js +0 -86
  1028. package/fjs/types/uint8array/module.f.d.ts +0 -13
  1029. package/fjs/types/uint8array/module.f.js +0 -34
  1030. package/fjs/types/uint8array/proof.f.d.ts +0 -17
  1031. package/fjs/types/uint8array/proof.f.js +0 -64
  1032. package/fjs/website/module.f.d.ts +0 -3
  1033. package/fjs/website/module.f.js +0 -14
  1034. package/fjs/website/proof.f.js +0 -13
  1035. package/nanvm-lib/tests/proof.f.d.ts +0 -122
  1036. package/nanvm-lib/tests/proof.f.js +0 -330
  1037. package/todo/031-json.f.d.ts +0 -1
  1038. package/todo/031-json.f.js +0 -241
  1039. package/todo/proof.f.d.ts +0 -20
  1040. package/todo/proof.f.js +0 -62
  1041. /package/fjs/{base_n/proof.f.d.ts → basen/proof.f.d.mts} +0 -0
  1042. /package/fjs/bnf/token_symbol/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1043. /package/fjs/ci/node/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1044. /package/fjs/crypto/hmac/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1045. /package/fjs/crypto/pow/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1046. /package/fjs/crypto/vdf/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1047. /package/fjs/dev/package_json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1048. /package/fjs/djs/ast/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1049. /package/fjs/djs/examples/{input.f.d.ts → input.f.d.mts} +0 -0
  1050. /package/fjs/djs/examples/{m.f.d.ts → m.f.d.mts} +0 -0
  1051. /package/fjs/djs/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1052. /package/fjs/djs/transpiler/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1053. /package/fjs/fsc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1054. /package/fjs/media/json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1055. /package/fjs/media/json/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1056. /package/fjs/path/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1057. /package/fjs/sul/id/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1058. /package/fjs/text/utf8/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1059. /package/fjs/types/array/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1060. /package/fjs/{emergent_testing/all.test.d.ts → types/bigint/benchmark.d.mts} +0 -0
  1061. /package/fjs/{basen/base128/proof.f.d.ts → types/function/compare/proof.f.d.mts} +0 -0
  1062. /package/fjs/types/function/operator/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1063. /package/fjs/types/function/{compare/proof.f.d.ts → proof.f.d.mts} +0 -0
  1064. /package/fjs/types/map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1065. /package/fjs/types/nibble_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1066. /package/fjs/{text/sgr/proof.f.d.ts → types/nullable/proof.f.d.mts} +0 -0
  1067. /package/fjs/types/number/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1068. /package/fjs/types/option/{module.f.d.ts → types.d.ts} +0 -0
  1069. /package/fjs/types/phantom/{module.f.d.ts → types.d.ts} +0 -0
  1070. /package/fjs/types/prime_field/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1071. /package/fjs/types/{function/proof.f.d.ts → range/proof.f.d.mts} +0 -0
  1072. /package/fjs/types/string/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1073. /package/fjs/types/string_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1074. /package/fjs/website/{proof.f.d.ts → proof.f.d.mts} +0 -0
@@ -1,247 +0,0 @@
1
- /**
2
- * UTF-8 byte-level encoding and decoding utilities for FunctionalScript streams.
3
- *
4
- * @module
5
- */
6
- import { flatMap, toArray } from '../../types/list/module.f.js';
7
- import { decoder, errorMask, isValidCodePoint } from '../code_point/module.f.js';
8
- import { msb, u8List, length } from '../../types/bit_vec/module.f.js';
9
- import { codePointListToString } from '../utf16/module.f.js';
10
- /**
11
- * UTF-8 byte-format constants. Each byte kind is defined by a tag — the fixed
12
- * high bits identifying the kind — and a payload mask selecting the code-point
13
- * bits the byte carries. The encoder and the decoder are exact inverses, so
14
- * both read their bit patterns from this single set of definitions:
15
- *
16
- * | byte kind | pattern | tag | payload mask |
17
- * |-------------|--------------|-----------|--------------|
18
- * | continuation| `10xx_xxxx` | `contTag` | `contMask` |
19
- * | 2-byte lead | `110x_xxxx` | `lead2Tag`| `lead2Mask` |
20
- * | 3-byte lead | `1110_xxxx` | `lead3Tag`| `lead3Mask` |
21
- * | 4-byte lead | `1111_0xxx` | `lead4Tag`| `lead4Mask` |
22
- */
23
- const contTag = 0b1000_0000;
24
- const contMask = 0b0011_1111;
25
- const lead2Tag = 0b1100_0000;
26
- const lead2Mask = 0b0001_1111;
27
- const lead3Tag = 0b1110_0000;
28
- const lead3Mask = 0b0000_1111;
29
- const lead4Tag = 0b1111_0000;
30
- const lead4Mask = 0b0000_0111;
31
- /**
32
- * Encodes the low six bits of `x` as a UTF-8 continuation byte.
33
- */
34
- const contByte = (x) => x & contMask | contTag;
35
- /**
36
- * Reads the six payload bits of a continuation byte.
37
- */
38
- const contPayload = (b) => b & contMask;
39
- /**
40
- * The valid lead-byte range for 2-, 3-, and 4-byte sequences (RFC 3629);
41
- * excludes overlong 2-byte leads (`C0`, `C1`) and leads above `U+10FFFF` (`F5`-`F7`).
42
- */
43
- const leadMin = 0b1100_0010;
44
- const leadMax = 0b1111_0100;
45
- const isLeadByte = (b) => b >= leadMin && b <= leadMax;
46
- /**
47
- * Dispatches a fresh-state byte, emitting `prefix` ahead of whatever the byte
48
- * itself produces. Shared by the `state === null` arm and by error recovery
49
- * after {@link utf8StateToError}, which differ only in `prefix`.
50
- */
51
- const restart = (prefix) => (byte) => byte < contTag ? [[...prefix, byte], null]
52
- : isLeadByte(byte) ? [[...prefix], [byte]]
53
- : [[...prefix, byte | errorMask], null];
54
- /**
55
- * Converts a Unicode code point to a sequence of UTF-8 bytes.
56
- * @param input The Unicode code point to be converted. Valid range:
57
- * - 0x0000 to 0x007F for 1-byte sequences.
58
- * - 0x0080 to 0x07FF for 2-byte sequences.
59
- * - 0x0800 to 0xFFFF for 3-byte sequences.
60
- * - 0x10000 to 0x10FFFF for 4-byte sequences.
61
- * @returns A readonly array of UTF-8 bytes representing the input code point.
62
- * - Returns `[errorMask]` if the input does not match valid UTF-8 encoding rules.
63
- */
64
- const codePointToUtf8 = (input) => {
65
- if (input >= 0x0000 && input <= 0x007f) {
66
- return [input & 0b01111_1111];
67
- }
68
- if (input >= 0x0080 && input <= 0x07ff) {
69
- return [input >> 6 | lead2Tag, contByte(input)];
70
- }
71
- if (input >= 0x0800 && input <= 0xffff) {
72
- return [
73
- input >> 12 | lead3Tag,
74
- contByte(input >> 6),
75
- contByte(input),
76
- ];
77
- }
78
- if (input >= 0x10000 && input <= 0x10ffff) {
79
- return [
80
- input >> 18 | lead4Tag,
81
- contByte(input >> 12),
82
- contByte(input >> 6),
83
- contByte(input),
84
- ];
85
- }
86
- if ((input & errorMask) !== 0) {
87
- if ((input & 0b1000_0000_0000_0000) !== 0) {
88
- return [
89
- input >> 12 & lead4Mask | lead4Tag,
90
- contByte(input >> 6),
91
- contByte(input),
92
- ];
93
- }
94
- if ((input & 0b0000_0100_0000_0000) !== 0) {
95
- return [
96
- input >> 6 & lead3Mask | lead3Tag,
97
- contByte(input),
98
- ];
99
- }
100
- if ((input & 0b0000_0010_0000_0000) !== 0) {
101
- return [
102
- input >> 6 & lead4Mask | lead4Tag,
103
- contByte(input),
104
- ];
105
- }
106
- if ((input & 0b0000_0000_1000_0000) !== 0)
107
- return [input & 0b1111_1111];
108
- }
109
- return [errorMask];
110
- };
111
- /**
112
- * Maps a list of Unicode code points to a stream of UTF-8 bytes.
113
- *
114
- * @param input - A list of Unicode code points to be converted.
115
- * @returns A thunk that lazily produces a sequence of UTF-8 bytes.
116
- */
117
- export const fromCodePointList = flatMap(codePointToUtf8);
118
- /**
119
- * Converts a non-empty UTF-8 decoding state to an error code.
120
- *
121
- * @param state - A non-empty UTF-8 decoding state.
122
- * @returns An I32 error code derived from the invalid UTF-8 state.
123
- */
124
- export const utf8StateToError = (state) => {
125
- let x;
126
- switch (state.length) {
127
- case 1: {
128
- [x] = state;
129
- break;
130
- }
131
- case 2: {
132
- const [s0, s1] = state;
133
- x = s0 < lead4Tag
134
- ? ((s0 & lead3Mask) << 6) + contPayload(s1) + 0b0000_0100_0000_0000
135
- : ((s0 & lead4Mask) << 6) + contPayload(s1) +
136
- 0b0000_0010_0000_0000;
137
- break;
138
- }
139
- case 3: {
140
- const [s0, s1, s2] = state;
141
- x = ((s0 & lead4Mask) << 12) + (contPayload(s1) << 6) +
142
- contPayload(s2) + 0b1000_0000_0000_0000;
143
- break;
144
- }
145
- //default:
146
- // throw 'invalid state'
147
- }
148
- return x | errorMask;
149
- };
150
- /**
151
- * Decodes a byte into a Unicode code point, using a given UTF-8 state.
152
- *
153
- * Rejects overlong 3-/4-byte encodings (Unicode Table 3-7): a lead `E0` must
154
- * be followed by a continuation `>= 0xA0`, and a lead `F0` by a continuation
155
- * `>= 0x90`. It does not itself reject surrogates (`ED A0..BF`) or code
156
- * points above `U+10FFFF` (`F4 90..BF`); {@link fromVec}'s
157
- * `isValidCodePoint` pass filters those out of the raw code-point stream.
158
- *
159
- * @param state - The current UTF-8 decoding state.
160
- * @param byte - A single byte to decode.
161
- * @returns A tuple containing:
162
- * - A list of decoded Unicode code points or error codes.
163
- * - The updated UTF-8 state.
164
- */
165
- export const utf8ByteToCodePointOp = (byte, state) => {
166
- if (byte < 0x00 || byte > 0xff) {
167
- return [[errorMask], state];
168
- }
169
- if (state === null)
170
- return restart([])(byte);
171
- if (byte >= contTag && byte < lead2Tag) {
172
- switch (state.length) {
173
- case 1: {
174
- const [s0] = state;
175
- if (s0 < lead3Tag) {
176
- return [[((s0 & lead2Mask) << 6) + contPayload(byte)], null];
177
- }
178
- if (s0 < 0b1111_1000) {
179
- // Reject overlong 3-/4-byte encodings: after lead `E0` the
180
- // first continuation must be >= 0xA0, after lead `F0` it
181
- // must be >= 0x90 (Unicode Table 3-7).
182
- const overlong = s0 === lead3Tag && byte < 0b1010_0000 ||
183
- s0 === lead4Tag && byte < 0b1001_0000;
184
- if (!overlong)
185
- return [[], [s0, byte]];
186
- }
187
- break;
188
- }
189
- case 2: {
190
- const [s0, s1] = state;
191
- if (s0 < lead4Tag) {
192
- return [[
193
- ((s0 & lead3Mask) << 12) + (contPayload(s1) << 6) +
194
- contPayload(byte),
195
- ], null];
196
- }
197
- if (s0 < 0b1111_1000)
198
- return [[], [s0, s1, byte]];
199
- break;
200
- }
201
- case 3: {
202
- const [s0, s1, s2] = state;
203
- return [[
204
- ((s0 & lead4Mask) << 18) + (contPayload(s1) << 12) +
205
- (contPayload(s2) << 6) + contPayload(byte),
206
- ], null];
207
- }
208
- }
209
- }
210
- return restart([utf8StateToError(state)])(byte);
211
- };
212
- /**
213
- * Handles the end-of-file (EOF) case for UTF-8 decoding.
214
- *
215
- * @param state - The current UTF-8 decoding state.
216
- * @returns A tuple containing:
217
- * - A list of decoded Unicode code points or error codes.
218
- * - The reset UTF-8 state (`null`).
219
- */
220
- export const utf8EofToCodePointOp = (state) => [
221
- state === null ? null : [utf8StateToError(state)],
222
- null,
223
- ];
224
- /**
225
- * Converts a list of UTF-8 bytes into a list of Unicode code points.
226
- *
227
- * @param input - A list of UTF-8 bytes.
228
- * @returns A list of Unicode code points or error codes.
229
- */
230
- export const toCodePointList = decoder(utf8ByteToCodePointOp, utf8EofToCodePointOp);
231
- /**
232
- * Returns the decoded string if `v` is valid UTF-8, or `null` otherwise.
233
- * Rejects non-octet Vecs, invalid byte sequences, surrogates, and out-of-range
234
- * code points.
235
- */
236
- export const fromVec = (v) => {
237
- if ((length(v) & 7n) !== 0n) {
238
- return null;
239
- }
240
- const arr = toArray(toCodePointList(u8List(msb)(v)));
241
- for (const cp of arr) {
242
- if (!isValidCodePoint(cp)) {
243
- return null;
244
- }
245
- }
246
- return codePointListToString(arr);
247
- };
@@ -1,217 +0,0 @@
1
- import { toCodePointList, fromCodePointList, fromVec, utf8ByteToCodePointOp } 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 { toArray } from '../../types/list/module.f.js';
5
- import { msb, u8ListToVec, vec } from '../../types/bit_vec/module.f.js';
6
- import { assertEq } from '../../asserts/module.f.js';
7
- const stringify = jsonStringify(sort);
8
- export const proof = {
9
- toCodePoint: [
10
- () => {
11
- const result = stringify(toArray(toCodePointList([-1, 256])));
12
- assertEq(result, '[2147483648,2147483648]');
13
- },
14
- () => {
15
- const result = stringify(toArray(toCodePointList([128, 193, 245, 255])));
16
- assertEq(result, '[-2147483520,-2147483455,-2147483403,-2147483393]');
17
- },
18
- () => {
19
- const result = stringify(toArray(toCodePointList([0, 1, 127])));
20
- assertEq(result, '[0,1,127]');
21
- },
22
- () => {
23
- const result = stringify(toArray(toCodePointList([194, 128, 194, 169, 223, 191])));
24
- assertEq(result, '[128,169,2047]');
25
- },
26
- () => {
27
- const result = stringify(toArray(toCodePointList([194, 194, 127, 194, 192, 194])));
28
- assertEq(result, '[-2147483454,-2147483454,127,-2147483454,-2147483456,-2147483454]');
29
- },
30
- () => {
31
- const result = stringify(toArray(toCodePointList([224, 160, 128, 224, 160, 129, 239, 191, 191])));
32
- assertEq(result, '[2048,2049,65535]');
33
- },
34
- () => {
35
- const result = stringify(toArray(toCodePointList([224, 224, 160, 127, 239, 191])));
36
- assertEq(result, '[-2147483424,-2147482592,127,-2147481601]');
37
- },
38
- () => {
39
- const result = stringify(toArray(toCodePointList([240, 144, 128, 128, 240, 144, 128, 129, 244, 143, 191, 191])));
40
- assertEq(result, '[65536,65537,1114111]');
41
- },
42
- () => {
43
- const result = stringify(toArray(toCodePointList([240, 240, 160, 127, 244, 191])));
44
- assertEq(result, '[-2147483408,-2147483104,127,-2147482817]');
45
- },
46
- () => {
47
- const result = stringify(toArray(toCodePointList([240, 160, 160, 244, 160, 160])));
48
- assertEq(result, '[-2147448800,-2147432416]');
49
- },
50
- // Overlong 3-byte encodings (E0 80..9F ..) are rejected, not decoded.
51
- () => {
52
- const result = stringify(toArray(toCodePointList([224, 128, 128])));
53
- assertEq(result, '[-2147483424,-2147483520,-2147483520]');
54
- },
55
- () => {
56
- const result = stringify(toArray(toCodePointList([224, 159, 191])));
57
- assertEq(result, '[-2147483424,-2147483489,-2147483457]');
58
- },
59
- // Overlong 4-byte encodings (F0 80..8F .. ..) are rejected, not decoded.
60
- () => {
61
- const result = stringify(toArray(toCodePointList([240, 128, 128, 128])));
62
- assertEq(result, '[-2147483408,-2147483520,-2147483520,-2147483520]');
63
- },
64
- () => {
65
- const result = stringify(toArray(toCodePointList([240, 143, 191, 191])));
66
- assertEq(result, '[-2147483408,-2147483505,-2147483457,-2147483457]');
67
- },
68
- // Valid boundary cases still decode: E0 A0 80 -> U+0800, F0 90 80 80 -> U+10000.
69
- () => {
70
- const result = stringify(toArray(toCodePointList([224, 160, 128])));
71
- assertEq(result, '[2048]');
72
- },
73
- () => {
74
- const result = stringify(toArray(toCodePointList([240, 144, 128, 128])));
75
- assertEq(result, '[65536]');
76
- },
77
- // A byte stream never accumulates a 2-byte state whose lead is >= F8
78
- // (isLeadByte caps leads at F4), so this defensive fallthrough is
79
- // only reachable by calling the scan op directly with such a state.
80
- () => {
81
- const result = stringify(utf8ByteToCodePointOp(0x80, [0xf8, 0x80]));
82
- assertEq(result, '[[-2147483136,-2147483520],null]');
83
- }
84
- ],
85
- fromCodePointList: [
86
- () => {
87
- const result = stringify(toArray(fromCodePointList([0, 1, 0x7F])));
88
- assertEq(result, '[0,1,127]');
89
- },
90
- () => {
91
- const result = stringify(toArray(fromCodePointList([0x80])));
92
- assertEq(result, '[194,128]');
93
- },
94
- () => {
95
- const result = stringify(toArray(fromCodePointList([0xa9])));
96
- assertEq(result, '[194,169]');
97
- },
98
- () => {
99
- const result = stringify(toArray(fromCodePointList([0x7ff])));
100
- assertEq(result, '[223,191]');
101
- },
102
- () => {
103
- const result = stringify(toArray(fromCodePointList([0x800])));
104
- assertEq(result, '[224,160,128]');
105
- },
106
- () => {
107
- const result = stringify(toArray(fromCodePointList([0x801])));
108
- assertEq(result, '[224,160,129]');
109
- },
110
- () => {
111
- const result = stringify(toArray(fromCodePointList([0xffff])));
112
- assertEq(result, '[239,191,191]');
113
- },
114
- () => {
115
- const result = stringify(toArray(fromCodePointList([0x10000])));
116
- assertEq(result, '[240,144,128,128]');
117
- },
118
- () => {
119
- const result = stringify(toArray(fromCodePointList([0x10001])));
120
- assertEq(result, '[240,144,128,129]');
121
- },
122
- () => {
123
- const result = stringify(toArray(fromCodePointList([0x10FFFF])));
124
- assertEq(result, '[244,143,191,191]');
125
- },
126
- () => {
127
- const result = stringify(toArray(fromCodePointList([0x110000, 2147483648])));
128
- assertEq(result, '[2147483648,2147483648]');
129
- }
130
- ],
131
- toFrom: [
132
- () => {
133
- const codePointList = toCodePointList([128, 193, 245, 255]);
134
- const result = stringify(toArray(fromCodePointList(codePointList)));
135
- assertEq(result, '[128,193,245,255]');
136
- },
137
- () => {
138
- const codePointList = toCodePointList([194, 194, 127, 194, 192, 194]);
139
- const result = stringify(toArray(fromCodePointList(codePointList)));
140
- assertEq(result, '[194,194,127,194,192,194]');
141
- },
142
- () => {
143
- const codePointList = toCodePointList([224, 224, 160, 127, 239, 191]);
144
- const result = stringify(toArray(fromCodePointList(codePointList)));
145
- assertEq(result, '[224,224,160,127,239,191]');
146
- },
147
- () => {
148
- const codePointList = toCodePointList([240, 240, 160, 127, 244, 191]);
149
- const result = stringify(toArray(fromCodePointList(codePointList)));
150
- assertEq(result, '[240,240,160,127,244,191]');
151
- },
152
- () => {
153
- const codePointList = toCodePointList([240, 160, 160, 244, 160, 160]);
154
- const result = stringify(toArray(fromCodePointList(codePointList)));
155
- assertEq(result, '[240,160,160,244,160,160]');
156
- }
157
- ],
158
- fromVec: [
159
- // Valid ASCII → decoded string
160
- () => {
161
- const v = u8ListToVec(msb)([0x68, 0x65, 0x6c, 0x6c, 0x6f]); // "hello"
162
- assertEq(fromVec(v), 'hello', 'expected "hello"');
163
- },
164
- // Valid multi-byte UTF-8 → decoded string (U+00A9 COPYRIGHT SIGN, 2-byte)
165
- () => {
166
- const v = u8ListToVec(msb)([0xc2, 0xa9]); // "©"
167
- assertEq(fromVec(v), '©', 'expected copyright sign');
168
- },
169
- // Valid 3-byte UTF-8 (U+4E2D CJK)
170
- () => {
171
- const v = u8ListToVec(msb)([0xe4, 0xb8, 0xad]); // "中"
172
- assertEq(fromVec(v), '中', 'expected CJK character');
173
- },
174
- // Valid 4-byte UTF-8 (U+1F600 GRINNING FACE)
175
- () => {
176
- const v = u8ListToVec(msb)([0xf0, 0x9f, 0x98, 0x80]);
177
- if (fromVec(v) !== '\u{1f600}') {
178
- throw 'expected emoji';
179
- }
180
- },
181
- // Invalid byte sequence → null
182
- () => {
183
- const v = u8ListToVec(msb)([0xff, 0xfe]); // not valid UTF-8
184
- assertEq(fromVec(v), null, 'expected null for invalid UTF-8');
185
- },
186
- // Lone continuation byte → null
187
- () => {
188
- const v = u8ListToVec(msb)([0x80]);
189
- assertEq(fromVec(v), null, 'expected null for lone continuation byte');
190
- },
191
- // Surrogate half (U+D800, encoded as CESU-8 0xED 0xA0 0x80) → null
192
- () => {
193
- const v = u8ListToVec(msb)([0xed, 0xa0, 0x80]);
194
- assertEq(fromVec(v), null, 'expected null for surrogate');
195
- },
196
- // Empty Vec → empty string
197
- () => {
198
- const v = u8ListToVec(msb)([]);
199
- assertEq(fromVec(v), '', 'expected empty string');
200
- },
201
- // Overlong 3-byte encoding (E0 80 80, would decode to U+0000) → null
202
- () => {
203
- const v = u8ListToVec(msb)([0xe0, 0x80, 0x80]);
204
- assertEq(fromVec(v), null, 'expected null for overlong 3-byte encoding');
205
- },
206
- // Overlong 4-byte encoding (F0 80 80 80, would decode to U+0000) → null
207
- () => {
208
- const v = u8ListToVec(msb)([0xf0, 0x80, 0x80, 0x80]);
209
- assertEq(fromVec(v), null, 'expected null for overlong 4-byte encoding');
210
- },
211
- // Vec length not a multiple of 8 bits → null
212
- () => {
213
- const v = vec(4n)(0n);
214
- assertEq(fromVec(v), null);
215
- },
216
- ]
217
- };
@@ -1,49 +0,0 @@
1
- /**
2
- * JavaScript immutable arrays.
3
- *
4
- * @module
5
- */
6
- export declare const isArray: (value: unknown) => value is readonly unknown[];
7
- export type Array1<T> = readonly [T];
8
- export type Index1 = 0;
9
- export type Array2<T> = readonly [T, T];
10
- /**
11
- * Currently, TypeScript can't narrow the type of `readonly T[]` to `Array2<T>`
12
- * only by checking `a.length === 2`, so we need a user-defined type guard.
13
- *
14
- * @param a An array of unknown length.
15
- * @returns True if `a` has length 2, and `a` is narrowed to `Array2<T>` in that case.
16
- */
17
- export declare const isArray2: <T>(a: readonly T[]) => a is Array2<T>;
18
- export type Tuple2<T0, T1> = readonly [T0, T1];
19
- export type Index2 = 0 | 1;
20
- export type Array3<T> = readonly [T, T, T];
21
- export type Tuple3<T0, T1, T2> = readonly [T0, T1, T2];
22
- export type Index3 = Index2 | 2;
23
- export type Array4<T> = readonly [T, T, T, T];
24
- export type Index4 = Index3 | 3;
25
- export type Array5<T> = readonly [T, T, T, T, T];
26
- export type Index5 = Index4 | 4;
27
- export type Array8<T> = readonly [T, T, T, T, T, T, T, T];
28
- export type Index8 = Index5 | 5 | 6 | 7;
29
- export type Array16<T> = readonly [T, T, T, T, T, T, T, T, T, T, T, T, T, T, T, T];
30
- export type Index16 = Index8 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15;
31
- export type Array1_5<T> = Array1<T> | Array2<T> | Array3<T> | Array4<T> | Array5<T>;
32
- export type KeyOf<T> = T extends Array1<infer _> ? Index1 : T extends Array2<infer _> ? Index2 : T extends Array3<infer _> ? Index3 : T extends Array4<infer _> ? Index4 : T extends Array5<infer _> ? Index5 : T extends Array8<infer _> ? Index8 : T extends Array16<infer _> ? Index16 : T extends readonly (infer _)[] ? number : never;
33
- export declare const at: (i: number) => <T>(a: readonly T[]) => T | null;
34
- export declare const first: <T>(_: readonly T[]) => T | null;
35
- export declare const last: <T>(a: readonly T[]) => T | null;
36
- export declare const tail: <T>(a: readonly T[]) => readonly T[] | null;
37
- export declare const splitFirst: <T>(a: readonly T[]) => readonly [T, readonly T[]] | null;
38
- export declare const head: <T>(a: readonly T[]) => readonly T[] | null;
39
- export declare const splitLast: <T>(a: readonly T[]) => readonly [readonly T[], T] | null;
40
- /**
41
- * An empty immutable array.
42
- *
43
- * Two JavaScript empty arrays are different and has to have two different values.
44
- * Usually, it requires memory allocation. If we use the same an empty array everywhere,
45
- * we may minimize memory a number of memory allocations.
46
- */
47
- export declare const empty: readonly [];
48
- export type Includes<I, T extends readonly I[]> = (v: I) => v is T[number];
49
- export declare const includes: <I, T extends readonly I[]>(a: T) => (v: I) => v is T[number];
@@ -1,42 +0,0 @@
1
- /**
2
- * JavaScript immutable arrays.
3
- *
4
- * @module
5
- */
6
- import { fromUndefined, map } from '../nullable/module.f.js';
7
- export const isArray = (value) => value instanceof Array;
8
- /**
9
- * Currently, TypeScript can't narrow the type of `readonly T[]` to `Array2<T>`
10
- * only by checking `a.length === 2`, so we need a user-defined type guard.
11
- *
12
- * @param a An array of unknown length.
13
- * @returns True if `a` has length 2, and `a` is narrowed to `Array2<T>` in that case.
14
- */
15
- export const isArray2 = (a) => a.length === 2;
16
- const uncheckTail = (a) => a.slice(1);
17
- const uncheckHead = (a) => a.slice(0, -1);
18
- export const at = (i) => (a) => fromUndefined(a[i]);
19
- export const first = at(0);
20
- export const last = (a) => at(a.length - 1)(a);
21
- export const tail = (a) => a.length === 0 ? null : uncheckTail(a);
22
- export const splitFirst = (a) => {
23
- const split = (first) => [first, uncheckTail(a)];
24
- return map(split)(first(a));
25
- };
26
- export const head = (a) => a.length === 0 ? null : uncheckHead(a);
27
- export const splitLast = (a) => {
28
- const lastA = last(a);
29
- if (lastA === null) {
30
- return null;
31
- }
32
- return [uncheckHead(a), lastA];
33
- };
34
- /**
35
- * An empty immutable array.
36
- *
37
- * Two JavaScript empty arrays are different and has to have two different values.
38
- * Usually, it requires memory allocation. If we use the same an empty array everywhere,
39
- * we may minimize memory a number of memory allocations.
40
- */
41
- export const empty = [];
42
- export const includes = (a) => (v) => a.includes(v);
@@ -1,92 +0,0 @@
1
- import { at, first, last, head, tail, splitFirst, splitLast, empty } from './module.f.js';
2
- import { stringify as jsonStringify } from '../../media/json/module.f.js';
3
- import { sort } from '../object/module.f.js';
4
- import { assertEq, assertNotNullish } from '../../asserts/module.f.js';
5
- const stringify = jsonStringify(sort);
6
- export const proof = {
7
- stringify: () => {
8
- const result = stringify([1, 20, 300]);
9
- assertEq(result, '[1,20,300]');
10
- },
11
- at: [
12
- () => {
13
- const result = at(2)([1, 20, 300]);
14
- assertEq(result, 300);
15
- },
16
- () => {
17
- const result = at(3)([1, 20, 300]);
18
- assertEq(result, null);
19
- }
20
- ],
21
- first: [
22
- () => {
23
- const result = first([1, 20, 300]);
24
- assertEq(result, 1);
25
- },
26
- () => {
27
- const result = first([]);
28
- assertEq(result, null);
29
- }
30
- ],
31
- last: [
32
- () => {
33
- const result = last([1, 20, 300]);
34
- assertEq(result, 300);
35
- },
36
- () => {
37
- const result = last([]);
38
- assertEq(result, null);
39
- }
40
- ],
41
- head: [
42
- () => {
43
- const result = assertNotNullish(head([1, 20, 300]));
44
- const str = stringify(result);
45
- assertEq(str, '[1,20]');
46
- },
47
- () => {
48
- const result = head([]);
49
- assertEq(result, null);
50
- }
51
- ],
52
- tail: [
53
- () => {
54
- const result = tail([1, 20, 300]);
55
- const str = stringify(result);
56
- assertEq(str, '[20,300]');
57
- },
58
- () => {
59
- const result = tail([]);
60
- assertEq(result, null);
61
- }
62
- ],
63
- splitFirst: [
64
- () => {
65
- const result = splitFirst([1, 20, 300]);
66
- const str = stringify(result);
67
- assertEq(str, '[1,[20,300]]');
68
- },
69
- () => {
70
- const result = splitFirst([]);
71
- assertEq(result, null);
72
- },
73
- ],
74
- splitLast: [
75
- () => {
76
- const result = splitLast([1, 20, 300]);
77
- const str = stringify(result);
78
- assertEq(str, '[[1,20],300]');
79
- },
80
- () => {
81
- const result = splitLast([]);
82
- assertEq(result, null);
83
- }
84
- ],
85
- empty: () => {
86
- const x = empty;
87
- const a = x;
88
- const b = x;
89
- const c = [...a, ...b, ...x];
90
- assertEq(c.length, 0, c);
91
- }
92
- };
@@ -1,6 +0,0 @@
1
- export type BigFloat = readonly [bigint, number];
2
- export declare const multiply: ([m, e]: BigFloat) => (mul: bigint) => BigFloat;
3
- export declare const decToBin: (dec: BigFloat) => BigFloat;
4
- export declare const proof: {
5
- normalizeMantissaZero: () => void;
6
- };