functionalscript 0.43.1 → 0.44.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 (1095) 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.mjs +309 -0
  5. package/fjs/asn.1/types.d.ts +37 -0
  6. package/fjs/asn.1/types.js +6 -0
  7. package/fjs/asserts/module.f.d.mts +37 -0
  8. package/fjs/asserts/module.f.mjs +49 -0
  9. package/fjs/asserts/proof.f.mjs +19 -0
  10. package/fjs/asserts/types.d.ts +11 -0
  11. package/fjs/asserts/types.js +6 -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 +2 -0
  15. package/fjs/basen/base128/proof.f.mjs +30 -0
  16. package/fjs/basen/base64/module.f.d.mts +14 -0
  17. package/fjs/basen/base64/module.f.mjs +71 -0
  18. package/fjs/basen/base64/proof.f.d.mts +17 -0
  19. package/fjs/basen/base64/proof.f.mjs +147 -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 +8 -0
  23. package/fjs/basen/cbase32/proof.f.mjs +77 -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/basen/types.js +6 -0
  29. package/fjs/bnf/data/module.f.d.mts +47 -0
  30. package/fjs/bnf/data/module.f.mjs +188 -0
  31. package/fjs/bnf/data/proof.f.d.mts +13 -0
  32. package/fjs/bnf/data/proof.f.mjs +160 -0
  33. package/fjs/bnf/data/types.d.ts +35 -0
  34. package/fjs/bnf/data/types.js +6 -0
  35. package/fjs/bnf/descent/module.f.d.mts +33 -0
  36. package/fjs/bnf/descent/module.f.mjs +212 -0
  37. package/fjs/bnf/descent/proof.f.d.mts +13 -0
  38. package/fjs/bnf/descent/proof.f.mjs +351 -0
  39. package/fjs/bnf/descent/types.d.ts +71 -0
  40. package/fjs/bnf/descent/types.js +6 -0
  41. package/fjs/bnf/ll1/module.f.d.mts +41 -0
  42. package/fjs/bnf/ll1/module.f.mjs +199 -0
  43. package/fjs/bnf/ll1/proof.f.d.mts +16 -0
  44. package/fjs/bnf/ll1/proof.f.mjs +352 -0
  45. package/fjs/bnf/ll1/types.d.ts +59 -0
  46. package/fjs/bnf/ll1/types.js +6 -0
  47. package/fjs/bnf/module.f.d.mts +164 -0
  48. package/fjs/bnf/module.f.mjs +298 -0
  49. package/fjs/bnf/proof.f.d.mts +17 -0
  50. package/fjs/bnf/proof.f.mjs +89 -0
  51. package/fjs/bnf/testlib.f.d.mts +10 -0
  52. package/fjs/bnf/testlib.f.mjs +196 -0
  53. package/fjs/bnf/token_symbol/module.f.d.mts +35 -0
  54. package/fjs/bnf/token_symbol/module.f.mjs +62 -0
  55. package/fjs/bnf/token_symbol/proof.f.mjs +43 -0
  56. package/fjs/bnf/token_symbol/types.d.ts +27 -0
  57. package/fjs/bnf/token_symbol/types.js +6 -0
  58. package/fjs/bnf/types.d.ts +67 -0
  59. package/fjs/bnf/types.js +6 -0
  60. package/fjs/cas/cli/module.f.d.mts +17 -0
  61. package/fjs/cas/cli/module.f.mjs +73 -0
  62. package/fjs/cas/cli/proof.f.d.mts +18 -0
  63. package/fjs/cas/cli/proof.f.mjs +118 -0
  64. package/fjs/cas/evo/module.f.d.mts +163 -0
  65. package/fjs/cas/evo/module.f.mjs +556 -0
  66. package/fjs/cas/evo/proof.f.d.mts +55 -0
  67. package/fjs/cas/evo/proof.f.mjs +749 -0
  68. package/fjs/cas/evo/types.d.ts +111 -0
  69. package/fjs/cas/evo/types.js +7 -0
  70. package/fjs/cas/module.f.d.mts +68 -0
  71. package/fjs/cas/module.f.mjs +363 -0
  72. package/fjs/cas/proof.f.d.mts +29 -0
  73. package/fjs/cas/proof.f.mjs +371 -0
  74. package/fjs/cas/types.d.ts +35 -0
  75. package/fjs/cas/types.js +6 -0
  76. package/fjs/ci/bun/module.f.d.mts +11 -0
  77. package/fjs/ci/bun/module.f.mjs +20 -0
  78. package/fjs/ci/common/module.f.d.mts +80 -0
  79. package/fjs/ci/common/module.f.mjs +87 -0
  80. package/fjs/ci/common/types.d.ts +27 -0
  81. package/fjs/ci/config/module.f.d.mts +45 -0
  82. package/fjs/ci/config/module.f.mjs +89 -0
  83. package/fjs/ci/deno/module.f.d.mts +16 -0
  84. package/fjs/ci/deno/module.f.mjs +29 -0
  85. package/fjs/ci/deno/proof.f.d.mts +4 -0
  86. package/fjs/ci/deno/proof.f.mjs +26 -0
  87. package/fjs/ci/module.f.d.mts +19 -0
  88. package/fjs/ci/module.f.mjs +89 -0
  89. package/fjs/ci/nix/module.f.d.mts +69 -0
  90. package/fjs/ci/nix/module.f.mjs +136 -0
  91. package/fjs/ci/nix/proof.f.d.mts +28 -0
  92. package/fjs/ci/nix/proof.f.mjs +146 -0
  93. package/fjs/ci/nix/types.d.ts +16 -0
  94. package/fjs/ci/nix/types.js +6 -0
  95. package/fjs/ci/node/module.f.d.mts +48 -0
  96. package/fjs/ci/node/module.f.mjs +139 -0
  97. package/fjs/ci/node/proof.f.mjs +18 -0
  98. package/fjs/ci/proof.f.d.mts +20 -0
  99. package/fjs/ci/proof.f.mjs +219 -0
  100. package/fjs/ci/rust/module.f.d.mts +15 -0
  101. package/fjs/ci/rust/module.f.mjs +108 -0
  102. package/fjs/ci/types.d.ts +9 -0
  103. package/fjs/ci/types.js +6 -0
  104. package/fjs/cli/module.f.d.mts +16 -0
  105. package/fjs/cli/module.f.mjs +51 -0
  106. package/fjs/cli/proof.f.d.mts +16 -0
  107. package/fjs/cli/proof.f.mjs +130 -0
  108. package/fjs/cli/types.d.ts +15 -0
  109. package/fjs/cli/types.js +6 -0
  110. package/fjs/common/monoid/module.f.d.mts +87 -0
  111. package/fjs/common/monoid/module.f.mjs +104 -0
  112. package/fjs/common/monoid/proof.f.d.mts +10 -0
  113. package/fjs/common/monoid/proof.f.mjs +58 -0
  114. package/fjs/common/monoid/types.d.ts +50 -0
  115. package/fjs/common/monoid/types.js +6 -0
  116. package/fjs/crypto/hmac/module.f.d.mts +32 -0
  117. package/fjs/crypto/hmac/module.f.mjs +65 -0
  118. package/fjs/crypto/hmac/proof.f.mjs +34 -0
  119. package/fjs/crypto/pow/module.f.d.mts +43 -0
  120. package/fjs/crypto/pow/module.f.mjs +93 -0
  121. package/fjs/crypto/pow/proof.f.mjs +121 -0
  122. package/fjs/crypto/pow/types.d.ts +19 -0
  123. package/fjs/crypto/pow/types.js +6 -0
  124. package/fjs/crypto/secp/module.f.d.mts +61 -0
  125. package/fjs/crypto/secp/module.f.mjs +204 -0
  126. package/fjs/crypto/secp/proof.f.d.mts +9 -0
  127. package/fjs/crypto/secp/proof.f.mjs +137 -0
  128. package/fjs/crypto/secp/types.d.ts +36 -0
  129. package/fjs/crypto/secp/types.js +6 -0
  130. package/fjs/crypto/sha2/module.f.d.mts +80 -0
  131. package/fjs/crypto/sha2/module.f.mjs +431 -0
  132. package/fjs/crypto/sha2/proof.f.d.mts +32 -0
  133. package/fjs/crypto/sha2/proof.f.mjs +144 -0
  134. package/fjs/crypto/sha2/types.d.ts +57 -0
  135. package/fjs/crypto/sha2/types.js +6 -0
  136. package/fjs/crypto/sign/module.f.d.mts +46 -0
  137. package/fjs/crypto/sign/module.f.mjs +189 -0
  138. package/fjs/crypto/sign/proof.f.d.mts +17 -0
  139. package/fjs/crypto/sign/proof.f.mjs +604 -0
  140. package/fjs/crypto/sign/types.d.ts +13 -0
  141. package/fjs/crypto/sign/types.js +6 -0
  142. package/fjs/crypto/vdf/module.f.d.mts +15 -0
  143. package/fjs/crypto/vdf/module.f.mjs +84 -0
  144. package/fjs/crypto/vdf/proof.f.mjs +106 -0
  145. package/fjs/crypto/vdf/types.d.ts +18 -0
  146. package/fjs/crypto/vdf/types.js +6 -0
  147. package/fjs/dev/module.f.d.mts +56 -0
  148. package/fjs/dev/module.f.mjs +170 -0
  149. package/fjs/dev/package_json/module.f.d.mts +32 -0
  150. package/fjs/dev/package_json/module.f.mjs +37 -0
  151. package/fjs/dev/package_json/proof.f.mjs +32 -0
  152. package/fjs/dev/proof.f.d.mts +13 -0
  153. package/fjs/dev/proof.f.mjs +78 -0
  154. package/fjs/dev/types.d.ts +14 -0
  155. package/fjs/dev/types.js +6 -0
  156. package/fjs/dev/update/module.f.d.mts +19 -0
  157. package/fjs/dev/update/module.f.mjs +36 -0
  158. package/fjs/dev/update/proof.f.d.mts +7 -0
  159. package/fjs/dev/update/proof.f.mjs +36 -0
  160. package/fjs/djs/ast/module.f.d.mts +35 -0
  161. package/fjs/djs/ast/module.f.mjs +82 -0
  162. package/fjs/djs/ast/proof.f.mjs +48 -0
  163. package/fjs/djs/ast/types.d.ts +54 -0
  164. package/fjs/djs/ast/types.js +8 -0
  165. package/fjs/djs/examples/input.f.mjs +4 -0
  166. package/fjs/djs/examples/m.f.mjs +1 -0
  167. package/fjs/djs/module.f.d.mts +17 -0
  168. package/fjs/djs/module.f.mjs +47 -0
  169. package/fjs/djs/parser/module.f.d.mts +75 -0
  170. package/fjs/djs/parser/module.f.mjs +547 -0
  171. package/fjs/djs/parser/proof.f.mjs +543 -0
  172. package/fjs/djs/parser/types.d.ts +11 -0
  173. package/fjs/djs/parser/types.js +7 -0
  174. package/fjs/djs/proof.f.mjs +52 -0
  175. package/fjs/djs/serializer/module.f.d.mts +30 -0
  176. package/fjs/djs/serializer/module.f.mjs +206 -0
  177. package/fjs/djs/serializer/proof.f.mjs +116 -0
  178. package/fjs/djs/tokenizer/module.f.d.mts +65 -0
  179. package/fjs/djs/tokenizer/module.f.mjs +624 -0
  180. package/fjs/djs/tokenizer/proof.f.mjs +980 -0
  181. package/fjs/djs/tokenizer/types.d.ts +20 -0
  182. package/fjs/djs/tokenizer/types.js +7 -0
  183. package/fjs/djs/transpiler/module.f.d.mts +44 -0
  184. package/fjs/djs/transpiler/module.f.mjs +141 -0
  185. package/fjs/djs/transpiler/proof.f.mjs +76 -0
  186. package/fjs/djs/types.d.ts +13 -0
  187. package/fjs/djs/types.js +7 -0
  188. package/fjs/effects/eff/module.f.d.mts +10 -0
  189. package/fjs/effects/eff/module.f.mjs +68 -0
  190. package/fjs/effects/eff/proof.f.d.mts +12 -0
  191. package/fjs/effects/eff/proof.f.mjs +66 -0
  192. package/fjs/effects/eff/types.d.ts +71 -0
  193. package/fjs/effects/eff/types.js +6 -0
  194. package/fjs/effects/list/module.f.d.mts +24 -0
  195. package/fjs/effects/list/module.f.mjs +34 -0
  196. package/fjs/effects/list/types.d.ts +26 -0
  197. package/fjs/effects/list/types.js +6 -0
  198. package/fjs/effects/memory/module.f.d.mts +32 -0
  199. package/fjs/effects/memory/module.f.mjs +44 -0
  200. package/fjs/effects/memory/proof.f.d.mts +12 -0
  201. package/fjs/effects/memory/proof.f.mjs +83 -0
  202. package/fjs/effects/memory/types.d.ts +18 -0
  203. package/fjs/effects/memory/types.js +6 -0
  204. package/fjs/effects/mock/module.f.d.mts +6 -0
  205. package/fjs/effects/mock/module.f.mjs +26 -0
  206. package/fjs/effects/mock/types.d.ts +15 -0
  207. package/fjs/effects/mock/types.js +6 -0
  208. package/fjs/effects/module.d.mts +7 -0
  209. package/fjs/effects/module.f.d.mts +350 -0
  210. package/fjs/effects/module.f.mjs +382 -0
  211. package/fjs/effects/module.mjs +18 -0
  212. package/fjs/effects/node/memory/module.d.mts +24 -0
  213. package/fjs/effects/node/memory/module.mjs +59 -0
  214. package/fjs/effects/node/memory/proof.mjs +43 -0
  215. package/fjs/effects/node/module.d.mts +54 -0
  216. package/fjs/effects/node/module.f.d.mts +172 -0
  217. package/fjs/effects/node/module.f.mjs +354 -0
  218. package/fjs/effects/node/module.mjs +393 -0
  219. package/fjs/effects/node/proof.f.d.mts +76 -0
  220. package/fjs/effects/node/proof.f.mjs +444 -0
  221. package/fjs/effects/node/types.d.ts +203 -0
  222. package/fjs/effects/node/types.js +6 -0
  223. package/fjs/effects/node/virtual/module.f.d.mts +31 -0
  224. package/fjs/effects/node/virtual/module.f.mjs +434 -0
  225. package/fjs/effects/node/virtual/proof.f.d.mts +35 -0
  226. package/fjs/effects/node/virtual/proof.f.mjs +226 -0
  227. package/fjs/effects/node/virtual/types.d.ts +39 -0
  228. package/fjs/effects/node/virtual/types.js +7 -0
  229. package/fjs/effects/proof.f.d.mts +62 -0
  230. package/fjs/effects/proof.f.mjs +231 -0
  231. package/fjs/effects/types.d.ts +115 -0
  232. package/fjs/effects/types.js +6 -0
  233. package/fjs/emergent_testing/all.test.js +2 -2
  234. package/fjs/emergent_testing/example.f.d.mts +16 -0
  235. package/fjs/emergent_testing/example.f.mjs +34 -0
  236. package/fjs/emergent_testing/module.f.d.mts +150 -0
  237. package/fjs/emergent_testing/module.f.mjs +414 -0
  238. package/fjs/emergent_testing/proof.f.d.mts +97 -0
  239. package/fjs/emergent_testing/proof.f.mjs +518 -0
  240. package/fjs/emergent_testing/types.d.ts +53 -0
  241. package/fjs/emergent_testing/types.js +6 -0
  242. package/fjs/fsc/bnf.f.d.mts +3 -0
  243. package/fjs/fsc/bnf.f.mjs +77 -0
  244. package/fjs/fsc/json.f.d.mts +13 -0
  245. package/fjs/fsc/json.f.mjs +124 -0
  246. package/fjs/fsc/module.f.d.mts +14 -0
  247. package/fjs/fsc/module.f.mjs +138 -0
  248. package/fjs/fsc/proof.f.mjs +119 -0
  249. package/fjs/fsm/module.f.d.mts +27 -0
  250. package/fjs/fsm/module.f.mjs +99 -0
  251. package/fjs/fsm/proof.f.mjs +146 -0
  252. package/fjs/js/tokenizer/module.f.d.mts +19 -0
  253. package/fjs/js/tokenizer/module.f.mjs +795 -0
  254. package/fjs/js/tokenizer/proof.f.d.mts +12 -0
  255. package/fjs/js/tokenizer/proof.f.mjs +681 -0
  256. package/fjs/js/tokenizer/types.d.ts +193 -0
  257. package/fjs/js/tokenizer/types.js +6 -0
  258. package/fjs/mcp/cas/module.f.d.mts +156 -0
  259. package/fjs/mcp/cas/module.f.mjs +302 -0
  260. package/fjs/mcp/evo/module.f.d.mts +88 -0
  261. package/fjs/mcp/evo/module.f.mjs +153 -0
  262. package/fjs/mcp/evo/proof.f.d.mts +17 -0
  263. package/fjs/mcp/evo/proof.f.mjs +166 -0
  264. package/fjs/mcp/module.f.d.mts +32 -0
  265. package/fjs/mcp/module.f.mjs +96 -0
  266. package/fjs/mcp/proof.f.d.mts +46 -0
  267. package/fjs/mcp/proof.f.mjs +725 -0
  268. package/fjs/media/html/module.f.d.mts +43 -0
  269. package/fjs/media/html/module.f.mjs +167 -0
  270. package/fjs/media/html/proof.f.mjs +77 -0
  271. package/fjs/media/html/types.d.ts +19 -0
  272. package/fjs/media/html/types.js +6 -0
  273. package/fjs/media/json/module.f.d.mts +48 -0
  274. package/fjs/media/json/module.f.mjs +104 -0
  275. package/fjs/media/json/parser/module.f.d.mts +30 -0
  276. package/fjs/media/json/parser/module.f.mjs +219 -0
  277. package/fjs/media/json/parser/proof.f.d.mts +8 -0
  278. package/fjs/media/json/parser/proof.f.mjs +314 -0
  279. package/fjs/media/json/parser/types.d.ts +34 -0
  280. package/fjs/media/json/parser/types.js +6 -0
  281. package/fjs/media/json/proof.f.mjs +79 -0
  282. package/fjs/media/json/rtti/module.f.d.mts +38 -0
  283. package/fjs/media/json/rtti/module.f.mjs +51 -0
  284. package/fjs/media/json/rtti/proof.f.d.mts +26 -0
  285. package/fjs/media/json/rtti/proof.f.mjs +86 -0
  286. package/fjs/media/json/schema/module.f.d.mts +79 -0
  287. package/fjs/media/json/schema/module.f.mjs +144 -0
  288. package/fjs/media/json/schema/proof.f.d.mts +40 -0
  289. package/fjs/media/json/schema/proof.f.mjs +93 -0
  290. package/fjs/media/json/serializer/module.f.d.mts +27 -0
  291. package/fjs/media/json/serializer/module.f.mjs +131 -0
  292. package/fjs/media/json/serializer/proof.f.mjs +92 -0
  293. package/fjs/media/json/tokenizer/module.f.d.mts +17 -0
  294. package/fjs/media/json/tokenizer/module.f.mjs +77 -0
  295. package/fjs/media/json/tokenizer/proof.f.d.mts +8 -0
  296. package/fjs/media/json/tokenizer/proof.f.mjs +291 -0
  297. package/fjs/media/json/tokenizer/types.d.ts +17 -0
  298. package/fjs/media/json/tokenizer/types.js +6 -0
  299. package/fjs/media/json/types.d.ts +25 -0
  300. package/fjs/media/json/types.js +13 -0
  301. package/fjs/media/module.f.d.mts +116 -0
  302. package/fjs/media/module.f.mjs +152 -0
  303. package/fjs/media/nix/module.f.d.mts +14 -0
  304. package/fjs/media/nix/module.f.mjs +261 -0
  305. package/fjs/media/nix/proof.f.mjs +181 -0
  306. package/fjs/media/nix/types.d.ts +22 -0
  307. package/fjs/media/nix/types.js +6 -0
  308. package/fjs/media/proof.f.d.mts +19 -0
  309. package/fjs/media/proof.f.mjs +159 -0
  310. package/fjs/media/revision/module.f.d.mts +119 -0
  311. package/fjs/media/revision/module.f.mjs +166 -0
  312. package/fjs/media/revision/proof.f.mjs +228 -0
  313. package/fjs/media/revision/types.d.ts +16 -0
  314. package/fjs/media/revision/types.js +8 -0
  315. package/fjs/media/rust/module.f.d.mts +61 -0
  316. package/fjs/media/rust/module.f.mjs +93 -0
  317. package/fjs/media/rust/proof.f.d.mts +17 -0
  318. package/fjs/media/rust/proof.f.mjs +50 -0
  319. package/fjs/media/type/module.f.d.mts +97 -0
  320. package/fjs/media/type/module.f.mjs +281 -0
  321. package/fjs/media/type/proof.f.mjs +285 -0
  322. package/fjs/media/type/types.d.ts +67 -0
  323. package/fjs/media/type/types.js +6 -0
  324. package/fjs/media/types.d.ts +26 -0
  325. package/fjs/media/types.js +7 -0
  326. package/fjs/module.f.d.mts +3 -0
  327. package/fjs/module.f.mjs +60 -0
  328. package/fjs/module.mjs +6 -0
  329. package/fjs/nanvm/module.f.d.mts +54 -0
  330. package/fjs/nanvm/module.f.mjs +240 -0
  331. package/fjs/nanvm/proof.f.d.mts +41 -0
  332. package/fjs/nanvm/proof.f.mjs +173 -0
  333. package/fjs/nanvm/rust/module.f.d.mts +54 -0
  334. package/fjs/nanvm/rust/module.f.mjs +166 -0
  335. package/fjs/nanvm/rust/proof.f.d.mts +21 -0
  336. package/fjs/nanvm/rust/proof.f.mjs +119 -0
  337. package/fjs/nanvm/types.d.ts +105 -0
  338. package/fjs/nanvm/types.js +11 -0
  339. package/fjs/nanvm/update/module.f.d.mts +23 -0
  340. package/fjs/nanvm/update/module.f.mjs +33 -0
  341. package/fjs/nanvm/update/proof.f.d.mts +9 -0
  342. package/fjs/nanvm/update/proof.f.mjs +32 -0
  343. package/fjs/path/module.f.d.mts +55 -0
  344. package/fjs/path/module.f.mjs +96 -0
  345. package/fjs/path/proof.f.mjs +125 -0
  346. package/fjs/proof.f.mjs +48 -0
  347. package/fjs/protocol/json_rpc/module.f.d.mts +127 -0
  348. package/fjs/protocol/json_rpc/module.f.mjs +112 -0
  349. package/fjs/protocol/json_rpc/proof.f.mjs +84 -0
  350. package/fjs/protocol/json_rpc/types.d.ts +30 -0
  351. package/fjs/protocol/json_rpc/types.js +8 -0
  352. package/fjs/protocol/mcp/module.f.d.mts +227 -0
  353. package/fjs/protocol/mcp/module.f.mjs +369 -0
  354. package/fjs/protocol/mcp/proof.f.d.mts +53 -0
  355. package/fjs/protocol/mcp/proof.f.mjs +312 -0
  356. package/fjs/protocol/mcp/stdio/module.f.d.mts +52 -0
  357. package/fjs/protocol/mcp/stdio/module.f.mjs +132 -0
  358. package/fjs/protocol/mcp/stdio/proof.f.d.mts +20 -0
  359. package/fjs/protocol/mcp/stdio/proof.f.mjs +190 -0
  360. package/fjs/protocol/mcp/types.d.ts +59 -0
  361. package/fjs/protocol/mcp/types.js +8 -0
  362. package/fjs/sul/id/module.f.d.mts +37 -0
  363. package/fjs/sul/id/module.f.mjs +143 -0
  364. package/fjs/sul/id/proof.f.mjs +72 -0
  365. package/fjs/sul/id/types.d.ts +8 -0
  366. package/fjs/sul/id/types.js +6 -0
  367. package/fjs/sul/level/hash/module.f.d.mts +37 -0
  368. package/fjs/sul/level/hash/module.f.mjs +61 -0
  369. package/fjs/sul/level/hash/proof.f.d.mts +15 -0
  370. package/fjs/sul/level/hash/proof.f.mjs +131 -0
  371. package/fjs/sul/level/hash/types.d.ts +20 -0
  372. package/fjs/sul/level/hash/types.js +6 -0
  373. package/fjs/sul/level/literal/module.f.d.mts +54 -0
  374. package/fjs/sul/level/literal/module.f.mjs +120 -0
  375. package/fjs/sul/level/literal/proof.f.mjs +788 -0
  376. package/fjs/sul/level/literal/types.d.ts +31 -0
  377. package/fjs/sul/level/literal/types.js +6 -0
  378. package/fjs/sul/module.f.d.mts +25 -0
  379. package/fjs/sul/module.f.mjs +69 -0
  380. package/fjs/sul/proof.f.d.mts +11 -0
  381. package/fjs/sul/proof.f.mjs +62 -0
  382. package/fjs/sul/types.d.ts +19 -0
  383. package/fjs/sul/types.js +6 -0
  384. package/fjs/text/ascii/module.f.d.mts +136 -0
  385. package/fjs/text/ascii/module.f.mjs +224 -0
  386. package/fjs/text/ascii/proof.f.mjs +16 -0
  387. package/fjs/text/code_point/module.f.d.mts +74 -0
  388. package/fjs/text/code_point/module.f.mjs +139 -0
  389. package/fjs/text/code_point/proof.f.mjs +80 -0
  390. package/fjs/text/module.f.d.mts +39 -0
  391. package/fjs/text/module.f.mjs +61 -0
  392. package/fjs/text/proof.f.mjs +48 -0
  393. package/fjs/text/sgr/module.f.d.mts +58 -0
  394. package/fjs/text/sgr/module.f.mjs +99 -0
  395. package/fjs/text/sgr/proof.f.mjs +39 -0
  396. package/fjs/text/sgr/types.d.ts +12 -0
  397. package/fjs/text/sgr/types.js +6 -0
  398. package/fjs/text/types.d.ts +13 -0
  399. package/fjs/text/types.js +6 -0
  400. package/fjs/text/utf16/module.f.d.mts +147 -0
  401. package/fjs/text/utf16/module.f.mjs +350 -0
  402. package/fjs/text/utf16/proof.f.d.mts +11 -0
  403. package/fjs/text/utf16/proof.f.mjs +158 -0
  404. package/fjs/text/utf16/types.d.ts +19 -0
  405. package/fjs/text/utf16/types.js +6 -0
  406. package/fjs/text/utf8/module.f.d.mts +69 -0
  407. package/fjs/text/utf8/module.f.mjs +280 -0
  408. package/fjs/text/utf8/proof.f.mjs +217 -0
  409. package/fjs/text/utf8/types.d.ts +26 -0
  410. package/fjs/text/utf8/types.js +6 -0
  411. package/fjs/types/array/module.f.d.mts +68 -0
  412. package/fjs/types/array/module.f.mjs +101 -0
  413. package/fjs/types/array/proof.f.mjs +98 -0
  414. package/fjs/types/array/types.d.ts +13 -0
  415. package/fjs/types/array/types.js +6 -0
  416. package/fjs/types/bigfloat/module.f.d.mts +14 -0
  417. package/fjs/types/bigfloat/module.f.mjs +99 -0
  418. package/fjs/types/bigfloat/proof.f.mjs +218 -0
  419. package/fjs/types/bigfloat/types.d.ts +6 -0
  420. package/fjs/types/bigfloat/types.js +6 -0
  421. package/fjs/types/bigint/benchmark.d.mts +1 -0
  422. package/fjs/types/bigint/benchmark.mjs +205 -0
  423. package/fjs/types/bigint/module.f.d.mts +176 -0
  424. package/fjs/types/bigint/module.f.mjs +289 -0
  425. package/fjs/types/bigint/proof.f.d.mts +39 -0
  426. package/fjs/types/bigint/proof.f.mjs +443 -0
  427. package/fjs/types/bigint/types.d.ts +14 -0
  428. package/fjs/types/bigint/types.js +6 -0
  429. package/fjs/types/bit_vec/module.f.d.mts +199 -0
  430. package/fjs/types/bit_vec/module.f.mjs +485 -0
  431. package/fjs/types/bit_vec/proof.f.mjs +495 -0
  432. package/fjs/types/bit_vec/types.d.ts +51 -0
  433. package/fjs/types/bit_vec/types.js +6 -0
  434. package/fjs/types/btree/find/module.f.d.mts +15 -0
  435. package/fjs/types/btree/find/module.f.mjs +80 -0
  436. package/fjs/types/btree/find/proof.f.d.mts +4 -0
  437. package/fjs/types/btree/find/proof.f.mjs +121 -0
  438. package/fjs/types/btree/find/types.d.ts +22 -0
  439. package/fjs/types/btree/find/types.js +6 -0
  440. package/fjs/types/btree/module.f.d.mts +10 -0
  441. package/fjs/types/btree/module.f.mjs +39 -0
  442. package/fjs/types/btree/proof.f.d.mts +14 -0
  443. package/fjs/types/btree/proof.f.mjs +85 -0
  444. package/fjs/types/btree/remove/module.f.d.mts +21 -0
  445. package/fjs/types/btree/remove/module.f.mjs +187 -0
  446. package/fjs/types/btree/remove/proof.f.mjs +472 -0
  447. package/fjs/types/btree/set/module.f.d.mts +5 -0
  448. package/fjs/types/btree/set/module.f.mjs +117 -0
  449. package/fjs/types/btree/set/proof.f.mjs +427 -0
  450. package/fjs/types/btree/types/module.f.d.mts +19 -0
  451. package/fjs/types/btree/types/module.f.mjs +19 -0
  452. package/fjs/types/btree/types/types.d.ts +14 -0
  453. package/fjs/types/btree/types/types.js +6 -0
  454. package/fjs/types/byte_set/module.f.d.mts +26 -0
  455. package/fjs/types/byte_set/module.f.mjs +66 -0
  456. package/fjs/types/byte_set/proof.f.d.mts +12 -0
  457. package/fjs/types/byte_set/proof.f.mjs +84 -0
  458. package/fjs/types/byte_set/types.d.ts +6 -0
  459. package/fjs/types/byte_set/types.js +6 -0
  460. package/fjs/types/function/compare/module.f.d.mts +44 -0
  461. package/fjs/types/function/compare/module.f.mjs +71 -0
  462. package/fjs/types/function/compare/proof.f.mjs +50 -0
  463. package/fjs/types/function/compare/types.d.ts +22 -0
  464. package/fjs/types/function/compare/types.js +6 -0
  465. package/fjs/types/function/module.f.d.mts +26 -0
  466. package/fjs/types/function/module.f.mjs +32 -0
  467. package/fjs/types/function/operator/module.f.d.mts +37 -0
  468. package/fjs/types/function/operator/module.f.mjs +55 -0
  469. package/fjs/types/function/operator/proof.f.mjs +76 -0
  470. package/fjs/types/function/operator/types.d.ts +39 -0
  471. package/fjs/types/function/operator/types.js +6 -0
  472. package/fjs/types/function/proof.f.mjs +16 -0
  473. package/fjs/types/function/types.d.ts +16 -0
  474. package/fjs/types/function/types.js +6 -0
  475. package/fjs/types/list/module.f.d.mts +88 -0
  476. package/fjs/types/list/module.f.mjs +309 -0
  477. package/fjs/types/list/proof.f.d.mts +32 -0
  478. package/fjs/types/list/proof.f.mjs +363 -0
  479. package/fjs/types/list/types.d.ts +36 -0
  480. package/fjs/types/list/types.js +6 -0
  481. package/fjs/types/map/module.f.d.mts +13 -0
  482. package/fjs/types/map/module.f.mjs +42 -0
  483. package/fjs/types/map/proof.f.mjs +25 -0
  484. package/fjs/types/nibble_set/module.f.d.mts +30 -0
  485. package/fjs/types/nibble_set/module.f.mjs +43 -0
  486. package/fjs/types/nibble_set/proof.f.mjs +59 -0
  487. package/fjs/types/nibble_set/types.d.ts +9 -0
  488. package/fjs/types/nibble_set/types.js +6 -0
  489. package/fjs/types/nominal/module.f.d.mts +9 -0
  490. package/fjs/types/nominal/module.f.mjs +16 -0
  491. package/fjs/types/nominal/proof.f.d.mts +7 -0
  492. package/fjs/types/nominal/proof.f.mjs +79 -0
  493. package/fjs/types/nominal/types.d.ts +25 -0
  494. package/fjs/types/nominal/types.js +6 -0
  495. package/fjs/types/nullable/module.f.d.mts +38 -0
  496. package/fjs/types/nullable/module.f.mjs +53 -0
  497. package/fjs/types/nullable/proof.f.mjs +34 -0
  498. package/fjs/types/nullable/types.d.ts +6 -0
  499. package/fjs/types/nullable/types.js +6 -0
  500. package/fjs/types/number/module.f.d.mts +23 -0
  501. package/fjs/types/number/module.f.mjs +55 -0
  502. package/fjs/types/number/proof.f.mjs +204 -0
  503. package/fjs/types/object/module.f.d.mts +33 -0
  504. package/fjs/types/object/module.f.mjs +58 -0
  505. package/fjs/types/object/proof.f.d.mts +25 -0
  506. package/fjs/types/object/proof.f.mjs +26 -0
  507. package/fjs/types/object/types.d.ts +50 -0
  508. package/fjs/types/object/types.js +8 -0
  509. package/fjs/types/ordered_map/module.f.d.mts +21 -0
  510. package/fjs/types/ordered_map/module.f.mjs +54 -0
  511. package/fjs/types/ordered_map/proof.f.mjs +88 -0
  512. package/fjs/types/ordered_map/types.d.ts +8 -0
  513. package/fjs/types/ordered_map/types.js +6 -0
  514. package/fjs/types/patricia_trie/module.f.d.mts +19 -0
  515. package/fjs/types/patricia_trie/module.f.mjs +43 -0
  516. package/fjs/types/patricia_trie/proof.f.d.mts +14 -0
  517. package/fjs/types/patricia_trie/proof.f.mjs +148 -0
  518. package/fjs/types/patricia_trie/types.d.ts +34 -0
  519. package/fjs/types/patricia_trie/types.js +6 -0
  520. package/fjs/types/prime_field/module.f.d.mts +42 -0
  521. package/fjs/types/prime_field/module.f.mjs +136 -0
  522. package/fjs/types/prime_field/proof.f.mjs +131 -0
  523. package/fjs/types/prime_field/types.d.ts +38 -0
  524. package/fjs/types/prime_field/types.js +6 -0
  525. package/fjs/types/range/module.f.d.mts +11 -0
  526. package/fjs/types/range/module.f.mjs +13 -0
  527. package/fjs/types/range/proof.f.mjs +10 -0
  528. package/fjs/types/range/types.d.ts +6 -0
  529. package/fjs/types/range/types.js +6 -0
  530. package/fjs/types/range_map/module.f.d.mts +72 -0
  531. package/fjs/types/range_map/module.f.mjs +130 -0
  532. package/fjs/types/range_map/proof.f.d.mts +7 -0
  533. package/fjs/types/range_map/proof.f.mjs +186 -0
  534. package/fjs/types/range_map/types.d.ts +56 -0
  535. package/fjs/types/range_map/types.js +6 -0
  536. package/fjs/types/range_set/module.f.d.mts +5 -0
  537. package/fjs/types/range_set/module.f.mjs +19 -0
  538. package/fjs/types/range_set/proof.f.mjs +26 -0
  539. package/fjs/types/result/module.d.mts +5 -0
  540. package/fjs/types/result/module.f.d.mts +59 -0
  541. package/fjs/types/result/module.f.mjs +67 -0
  542. package/fjs/types/result/module.mjs +22 -0
  543. package/fjs/types/result/proof.f.mjs +41 -0
  544. package/fjs/types/result/types.d.ts +17 -0
  545. package/fjs/types/result/types.js +6 -0
  546. package/fjs/types/rtti/common/module.f.d.mts +86 -0
  547. package/fjs/types/rtti/common/module.f.mjs +183 -0
  548. package/fjs/types/rtti/common/proof.f.d.mts +9 -0
  549. package/fjs/types/rtti/common/proof.f.mjs +64 -0
  550. package/fjs/types/rtti/common/types.d.ts +43 -0
  551. package/fjs/types/rtti/common/types.js +1 -0
  552. package/fjs/types/rtti/module.f.d.mts +76 -0
  553. package/fjs/types/rtti/module.f.mjs +110 -0
  554. package/fjs/types/rtti/parse/module.f.d.mts +9 -0
  555. package/fjs/types/rtti/parse/module.f.mjs +196 -0
  556. package/fjs/types/rtti/parse/proof.f.d.mts +122 -0
  557. package/fjs/types/rtti/parse/proof.f.mjs +363 -0
  558. package/fjs/types/rtti/parse/types.d.ts +12 -0
  559. package/fjs/types/rtti/parse/types.js +1 -0
  560. package/fjs/types/rtti/proof.f.d.mts +8 -0
  561. package/fjs/types/rtti/proof.f.mjs +20 -0
  562. package/fjs/types/rtti/ts/module.f.d.mts +34 -0
  563. package/fjs/types/rtti/ts/module.f.mjs +64 -0
  564. package/fjs/types/rtti/ts/proof.f.mjs +88 -0
  565. package/fjs/types/rtti/ts/types.d.ts +88 -0
  566. package/fjs/types/rtti/ts/types.js +1 -0
  567. package/fjs/types/rtti/types.d.ts +43 -0
  568. package/fjs/types/rtti/types.js +1 -0
  569. package/fjs/types/rtti/validate/module.f.d.mts +6 -0
  570. package/fjs/types/rtti/validate/module.f.mjs +169 -0
  571. package/fjs/types/rtti/validate/proof.f.d.mts +125 -0
  572. package/fjs/types/rtti/validate/proof.f.mjs +437 -0
  573. package/fjs/types/rtti/validate/types.d.ts +6 -0
  574. package/fjs/types/rtti/validate/types.js +1 -0
  575. package/fjs/types/sorted_list/module.f.d.mts +43 -0
  576. package/fjs/types/sorted_list/module.f.mjs +110 -0
  577. package/fjs/types/sorted_list/proof.f.d.mts +5 -0
  578. package/fjs/types/sorted_list/proof.f.mjs +52 -0
  579. package/fjs/types/sorted_list/types.d.ts +15 -0
  580. package/fjs/types/sorted_list/types.js +6 -0
  581. package/fjs/types/sorted_set/module.f.d.mts +24 -0
  582. package/fjs/types/sorted_set/module.f.mjs +56 -0
  583. package/fjs/types/sorted_set/proof.f.d.mts +7 -0
  584. package/fjs/types/sorted_set/proof.f.mjs +77 -0
  585. package/fjs/types/sorted_set/types.d.ts +6 -0
  586. package/fjs/types/sorted_set/types.js +6 -0
  587. package/fjs/types/string/module.f.d.mts +36 -0
  588. package/fjs/types/string/module.f.mjs +58 -0
  589. package/fjs/types/string/proof.f.mjs +76 -0
  590. package/fjs/types/string_set/module.f.d.mts +37 -0
  591. package/fjs/types/string_set/module.f.mjs +53 -0
  592. package/fjs/types/string_set/proof.f.mjs +46 -0
  593. package/fjs/types/string_set/types.d.ts +7 -0
  594. package/fjs/types/string_set/types.js +6 -0
  595. package/fjs/types/ts/module.f.d.mts +20 -0
  596. package/fjs/types/ts/module.f.mjs +51 -0
  597. package/fjs/types/ts/proof.f.mjs +97 -0
  598. package/fjs/types/ts/types.d.ts +16 -0
  599. package/fjs/types/ts/types.js +8 -0
  600. package/fjs/types/uint8array/module.f.d.mts +31 -0
  601. package/fjs/types/uint8array/module.f.mjs +53 -0
  602. package/fjs/types/uint8array/proof.f.d.mts +17 -0
  603. package/fjs/types/uint8array/proof.f.mjs +73 -0
  604. package/fjs/website/module.f.d.mts +8 -0
  605. package/fjs/website/module.f.mjs +24 -0
  606. package/fjs/website/proof.f.mjs +14 -0
  607. package/package.json +12 -10
  608. package/todo/proof.f.d.mts +22 -0
  609. package/todo/proof.f.mjs +59 -0
  610. package/fjs/asn.1/module.f.d.ts +0 -62
  611. package/fjs/asn.1/module.f.js +0 -278
  612. package/fjs/asn.1/proof.f.js +0 -285
  613. package/fjs/asserts/module.f.d.ts +0 -36
  614. package/fjs/asserts/module.f.js +0 -39
  615. package/fjs/asserts/proof.f.js +0 -18
  616. package/fjs/base_n/module.f.d.ts +0 -45
  617. package/fjs/base_n/module.f.js +0 -72
  618. package/fjs/base_n/proof.f.js +0 -73
  619. package/fjs/basen/base128/module.f.d.ts +0 -20
  620. package/fjs/basen/base128/module.f.js +0 -43
  621. package/fjs/basen/base128/proof.f.js +0 -26
  622. package/fjs/basen/base64/module.f.d.ts +0 -9
  623. package/fjs/basen/base64/module.f.js +0 -71
  624. package/fjs/basen/base64/proof.f.d.ts +0 -16
  625. package/fjs/basen/base64/proof.f.js +0 -139
  626. package/fjs/basen/cbase32/module.f.d.ts +0 -11
  627. package/fjs/basen/cbase32/module.f.js +0 -55
  628. package/fjs/basen/cbase32/proof.f.d.ts +0 -7
  629. package/fjs/basen/cbase32/proof.f.js +0 -62
  630. package/fjs/bnf/data/module.f.d.ts +0 -52
  631. package/fjs/bnf/data/module.f.js +0 -143
  632. package/fjs/bnf/data/proof.f.d.ts +0 -8
  633. package/fjs/bnf/data/proof.f.js +0 -169
  634. package/fjs/bnf/descent/module.f.d.ts +0 -87
  635. package/fjs/bnf/descent/module.f.js +0 -149
  636. package/fjs/bnf/descent/proof.f.d.ts +0 -7
  637. package/fjs/bnf/descent/proof.f.js +0 -368
  638. package/fjs/bnf/ll1/module.f.d.ts +0 -72
  639. package/fjs/bnf/ll1/module.f.js +0 -155
  640. package/fjs/bnf/ll1/proof.f.d.ts +0 -10
  641. package/fjs/bnf/ll1/proof.f.js +0 -375
  642. package/fjs/bnf/module.f.d.ts +0 -165
  643. package/fjs/bnf/module.f.js +0 -174
  644. package/fjs/bnf/proof.f.d.ts +0 -12
  645. package/fjs/bnf/proof.f.js +0 -69
  646. package/fjs/bnf/testlib.f.d.ts +0 -3
  647. package/fjs/bnf/testlib.f.js +0 -138
  648. package/fjs/bnf/token_symbol/module.f.d.ts +0 -38
  649. package/fjs/bnf/token_symbol/module.f.js +0 -48
  650. package/fjs/bnf/token_symbol/proof.f.js +0 -37
  651. package/fjs/cas/cli/module.f.d.ts +0 -6
  652. package/fjs/cas/cli/module.f.js +0 -53
  653. package/fjs/cas/cli/proof.f.d.ts +0 -17
  654. package/fjs/cas/cli/proof.f.js +0 -112
  655. package/fjs/cas/evo/module.f.d.ts +0 -223
  656. package/fjs/cas/evo/module.f.js +0 -455
  657. package/fjs/cas/evo/proof.f.d.ts +0 -47
  658. package/fjs/cas/evo/proof.f.js +0 -707
  659. package/fjs/cas/module.f.d.ts +0 -64
  660. package/fjs/cas/module.f.js +0 -255
  661. package/fjs/cas/proof.f.d.ts +0 -18
  662. package/fjs/cas/proof.f.js +0 -305
  663. package/fjs/ci/bun/module.f.d.ts +0 -2
  664. package/fjs/ci/bun/module.f.js +0 -15
  665. package/fjs/ci/common/module.f.d.ts +0 -88
  666. package/fjs/ci/common/module.f.js +0 -63
  667. package/fjs/ci/config/module.f.d.ts +0 -45
  668. package/fjs/ci/config/module.f.js +0 -80
  669. package/fjs/ci/deno/module.f.d.ts +0 -10
  670. package/fjs/ci/deno/module.f.js +0 -28
  671. package/fjs/ci/deno/proof.f.d.ts +0 -5
  672. package/fjs/ci/deno/proof.f.js +0 -26
  673. package/fjs/ci/module.f.d.ts +0 -13
  674. package/fjs/ci/module.f.js +0 -58
  675. package/fjs/ci/nix/module.f.d.ts +0 -61
  676. package/fjs/ci/nix/module.f.js +0 -92
  677. package/fjs/ci/nix/proof.f.d.ts +0 -23
  678. package/fjs/ci/nix/proof.f.js +0 -109
  679. package/fjs/ci/node/module.f.d.ts +0 -28
  680. package/fjs/ci/node/module.f.js +0 -92
  681. package/fjs/ci/node/proof.f.js +0 -17
  682. package/fjs/ci/proof.f.d.ts +0 -18
  683. package/fjs/ci/proof.f.js +0 -182
  684. package/fjs/ci/rust/module.f.d.ts +0 -3
  685. package/fjs/ci/rust/module.f.js +0 -75
  686. package/fjs/cli/module.f.d.ts +0 -11
  687. package/fjs/cli/module.f.js +0 -34
  688. package/fjs/cli/proof.f.d.ts +0 -14
  689. package/fjs/cli/proof.f.js +0 -111
  690. package/fjs/common/monoid/module.f.d.ts +0 -126
  691. package/fjs/common/monoid/module.f.js +0 -88
  692. package/fjs/common/monoid/proof.f.d.ts +0 -9
  693. package/fjs/common/monoid/proof.f.js +0 -48
  694. package/fjs/crypto/hmac/module.f.d.ts +0 -29
  695. package/fjs/crypto/hmac/module.f.js +0 -56
  696. package/fjs/crypto/hmac/proof.f.js +0 -32
  697. package/fjs/crypto/pow/module.f.d.ts +0 -37
  698. package/fjs/crypto/pow/module.f.js +0 -72
  699. package/fjs/crypto/pow/proof.f.js +0 -111
  700. package/fjs/crypto/secp/module.f.d.ts +0 -85
  701. package/fjs/crypto/secp/module.f.js +0 -176
  702. package/fjs/crypto/secp/proof.f.d.ts +0 -8
  703. package/fjs/crypto/secp/proof.f.js +0 -124
  704. package/fjs/crypto/sha2/module.f.d.ts +0 -102
  705. package/fjs/crypto/sha2/module.f.js +0 -266
  706. package/fjs/crypto/sha2/proof.f.d.ts +0 -31
  707. package/fjs/crypto/sha2/proof.f.js +0 -139
  708. package/fjs/crypto/sign/module.f.d.ts +0 -33
  709. package/fjs/crypto/sign/module.f.js +0 -163
  710. package/fjs/crypto/sign/proof.f.d.ts +0 -11
  711. package/fjs/crypto/sign/proof.f.js +0 -562
  712. package/fjs/crypto/vdf/module.f.d.ts +0 -21
  713. package/fjs/crypto/vdf/module.f.js +0 -57
  714. package/fjs/crypto/vdf/proof.f.js +0 -94
  715. package/fjs/dev/module.f.d.ts +0 -57
  716. package/fjs/dev/module.f.js +0 -135
  717. package/fjs/dev/package_json/module.f.d.ts +0 -16
  718. package/fjs/dev/package_json/module.f.js +0 -24
  719. package/fjs/dev/package_json/proof.f.js +0 -28
  720. package/fjs/dev/proof.f.d.ts +0 -13
  721. package/fjs/dev/proof.f.js +0 -77
  722. package/fjs/dev/update/module.f.d.ts +0 -11
  723. package/fjs/dev/update/module.f.js +0 -20
  724. package/fjs/dev/update/proof.f.d.ts +0 -7
  725. package/fjs/dev/update/proof.f.js +0 -35
  726. package/fjs/djs/ast/module.f.d.ts +0 -62
  727. package/fjs/djs/ast/module.f.js +0 -61
  728. package/fjs/djs/ast/proof.f.js +0 -49
  729. package/fjs/djs/examples/input.f.js +0 -4
  730. package/fjs/djs/examples/m.f.js +0 -1
  731. package/fjs/djs/module.f.d.ts +0 -17
  732. package/fjs/djs/module.f.js +0 -22
  733. package/fjs/djs/parser/module.f.d.ts +0 -23
  734. package/fjs/djs/parser/module.f.js +0 -410
  735. package/fjs/djs/parser/proof.f.js +0 -556
  736. package/fjs/djs/proof.f.js +0 -50
  737. package/fjs/djs/serializer/module.f.d.ts +0 -17
  738. package/fjs/djs/serializer/module.f.js +0 -173
  739. package/fjs/djs/serializer/proof.f.js +0 -133
  740. package/fjs/djs/tokenizer/module.f.d.ts +0 -24
  741. package/fjs/djs/tokenizer/module.f.js +0 -472
  742. package/fjs/djs/tokenizer/proof.f.js +0 -1211
  743. package/fjs/djs/transpiler/module.f.d.ts +0 -41
  744. package/fjs/djs/transpiler/module.f.js +0 -88
  745. package/fjs/djs/transpiler/proof.f.js +0 -67
  746. package/fjs/effects/eff/module.f.d.ts +0 -72
  747. package/fjs/effects/eff/module.f.js +0 -46
  748. package/fjs/effects/eff/proof.f.d.ts +0 -11
  749. package/fjs/effects/eff/proof.f.js +0 -58
  750. package/fjs/effects/list/module.f.d.ts +0 -37
  751. package/fjs/effects/list/module.f.js +0 -17
  752. package/fjs/effects/memory/module.f.d.ts +0 -37
  753. package/fjs/effects/memory/module.f.js +0 -24
  754. package/fjs/effects/memory/proof.f.d.ts +0 -6
  755. package/fjs/effects/memory/proof.f.js +0 -50
  756. package/fjs/effects/mock/module.f.d.ts +0 -16
  757. package/fjs/effects/mock/module.f.js +0 -20
  758. package/fjs/effects/module.d.ts +0 -2
  759. package/fjs/effects/module.f.d.ts +0 -408
  760. package/fjs/effects/module.f.js +0 -312
  761. package/fjs/effects/module.js +0 -11
  762. package/fjs/effects/node/memory/module.d.ts +0 -20
  763. package/fjs/effects/node/memory/module.js +0 -44
  764. package/fjs/effects/node/memory/proof.js +0 -29
  765. package/fjs/effects/node/module.d.ts +0 -20
  766. package/fjs/effects/node/module.f.d.ts +0 -300
  767. package/fjs/effects/node/module.f.js +0 -171
  768. package/fjs/effects/node/module.js +0 -305
  769. package/fjs/effects/node/proof.f.d.ts +0 -69
  770. package/fjs/effects/node/proof.f.js +0 -409
  771. package/fjs/effects/node/virtual/module.f.d.ts +0 -49
  772. package/fjs/effects/node/virtual/module.f.js +0 -440
  773. package/fjs/effects/node/virtual/proof.f.d.ts +0 -33
  774. package/fjs/effects/node/virtual/proof.f.js +0 -186
  775. package/fjs/effects/proof.f.d.ts +0 -56
  776. package/fjs/effects/proof.f.js +0 -200
  777. package/fjs/emergent_testing/example.f.d.ts +0 -13
  778. package/fjs/emergent_testing/example.f.js +0 -31
  779. package/fjs/emergent_testing/module.f.d.ts +0 -140
  780. package/fjs/emergent_testing/module.f.js +0 -289
  781. package/fjs/emergent_testing/proof.f.d.ts +0 -67
  782. package/fjs/emergent_testing/proof.f.js +0 -416
  783. package/fjs/fsc/bnf.f.d.ts +0 -2
  784. package/fjs/fsc/bnf.f.js +0 -42
  785. package/fjs/fsc/json.f.d.ts +0 -7
  786. package/fjs/fsc/json.f.js +0 -64
  787. package/fjs/fsc/module.f.d.ts +0 -11
  788. package/fjs/fsc/module.f.js +0 -73
  789. package/fjs/fsc/proof.f.js +0 -104
  790. package/fjs/fsm/module.f.d.ts +0 -17
  791. package/fjs/fsm/module.f.js +0 -55
  792. package/fjs/fsm/proof.f.js +0 -126
  793. package/fjs/js/tokenizer/module.f.d.ts +0 -104
  794. package/fjs/js/tokenizer/module.f.js +0 -547
  795. package/fjs/js/tokenizer/proof.f.d.ts +0 -9
  796. package/fjs/js/tokenizer/proof.f.js +0 -986
  797. package/fjs/mcp/cas/module.f.d.ts +0 -27
  798. package/fjs/mcp/cas/module.f.js +0 -232
  799. package/fjs/mcp/evo/module.f.d.ts +0 -32
  800. package/fjs/mcp/evo/module.f.js +0 -99
  801. package/fjs/mcp/evo/proof.f.d.ts +0 -12
  802. package/fjs/mcp/evo/proof.f.js +0 -147
  803. package/fjs/mcp/module.f.d.ts +0 -56
  804. package/fjs/mcp/module.f.js +0 -69
  805. package/fjs/mcp/proof.f.d.ts +0 -45
  806. package/fjs/mcp/proof.f.js +0 -535
  807. package/fjs/media/html/module.f.d.ts +0 -52
  808. package/fjs/media/html/module.f.js +0 -117
  809. package/fjs/media/html/proof.f.js +0 -65
  810. package/fjs/media/json/module.f.d.ts +0 -64
  811. package/fjs/media/json/module.f.js +0 -109
  812. package/fjs/media/json/parser/module.f.d.ts +0 -21
  813. package/fjs/media/json/parser/module.f.js +0 -194
  814. package/fjs/media/json/parser/proof.f.d.ts +0 -5
  815. package/fjs/media/json/parser/proof.f.js +0 -314
  816. package/fjs/media/json/proof.f.js +0 -98
  817. package/fjs/media/json/schema/module.f.d.ts +0 -78
  818. package/fjs/media/json/schema/module.f.js +0 -96
  819. package/fjs/media/json/schema/proof.f.d.ts +0 -36
  820. package/fjs/media/json/schema/proof.f.js +0 -83
  821. package/fjs/media/json/serializer/module.f.d.ts +0 -28
  822. package/fjs/media/json/serializer/module.f.js +0 -73
  823. package/fjs/media/json/serializer/proof.f.js +0 -94
  824. package/fjs/media/json/tokenizer/module.f.d.ts +0 -15
  825. package/fjs/media/json/tokenizer/module.f.js +0 -63
  826. package/fjs/media/json/tokenizer/proof.f.d.ts +0 -5
  827. package/fjs/media/json/tokenizer/proof.f.js +0 -417
  828. package/fjs/media/module.f.d.ts +0 -119
  829. package/fjs/media/module.f.js +0 -88
  830. package/fjs/media/nix/module.f.d.ts +0 -30
  831. package/fjs/media/nix/module.f.js +0 -166
  832. package/fjs/media/nix/proof.f.js +0 -127
  833. package/fjs/media/proof.f.d.ts +0 -19
  834. package/fjs/media/proof.f.js +0 -127
  835. package/fjs/media/revision/module.f.d.ts +0 -94
  836. package/fjs/media/revision/module.f.js +0 -143
  837. package/fjs/media/revision/proof.f.js +0 -190
  838. package/fjs/media/type/module.f.d.ts +0 -135
  839. package/fjs/media/type/module.f.js +0 -231
  840. package/fjs/media/type/proof.f.js +0 -213
  841. package/fjs/module.f.d.ts +0 -2
  842. package/fjs/module.f.js +0 -50
  843. package/fjs/module.js +0 -4
  844. package/fjs/path/module.f.d.ts +0 -46
  845. package/fjs/path/module.f.js +0 -71
  846. package/fjs/path/proof.f.js +0 -119
  847. package/fjs/proof.f.js +0 -38
  848. package/fjs/protocol/json_rpc/module.f.d.ts +0 -114
  849. package/fjs/protocol/json_rpc/module.f.js +0 -89
  850. package/fjs/protocol/json_rpc/proof.f.js +0 -68
  851. package/fjs/protocol/mcp/module.f.d.ts +0 -239
  852. package/fjs/protocol/mcp/module.f.js +0 -272
  853. package/fjs/protocol/mcp/proof.f.d.ts +0 -34
  854. package/fjs/protocol/mcp/proof.f.js +0 -208
  855. package/fjs/protocol/mcp/stdio/module.f.d.ts +0 -47
  856. package/fjs/protocol/mcp/stdio/module.f.js +0 -78
  857. package/fjs/protocol/mcp/stdio/proof.f.d.ts +0 -13
  858. package/fjs/protocol/mcp/stdio/proof.f.js +0 -143
  859. package/fjs/sul/id/module.f.d.ts +0 -33
  860. package/fjs/sul/id/module.f.js +0 -93
  861. package/fjs/sul/id/proof.f.js +0 -61
  862. package/fjs/sul/level/hash/module.f.d.ts +0 -38
  863. package/fjs/sul/level/hash/module.f.js +0 -43
  864. package/fjs/sul/level/hash/proof.f.d.ts +0 -13
  865. package/fjs/sul/level/hash/proof.f.js +0 -112
  866. package/fjs/sul/level/literal/module.f.d.ts +0 -64
  867. package/fjs/sul/level/literal/module.f.js +0 -88
  868. package/fjs/sul/level/literal/proof.f.js +0 -714
  869. package/fjs/sul/module.f.d.ts +0 -23
  870. package/fjs/sul/module.f.js +0 -46
  871. package/fjs/sul/proof.f.d.ts +0 -9
  872. package/fjs/sul/proof.f.js +0 -47
  873. package/fjs/text/ascii/module.f.d.ts +0 -136
  874. package/fjs/text/ascii/module.f.js +0 -154
  875. package/fjs/text/ascii/proof.f.js +0 -14
  876. package/fjs/text/code_point/module.f.d.ts +0 -65
  877. package/fjs/text/code_point/module.f.js +0 -103
  878. package/fjs/text/code_point/proof.f.js +0 -72
  879. package/fjs/text/module.f.d.ts +0 -40
  880. package/fjs/text/module.f.js +0 -43
  881. package/fjs/text/proof.f.js +0 -44
  882. package/fjs/text/sgr/module.f.d.ts +0 -53
  883. package/fjs/text/sgr/module.f.js +0 -63
  884. package/fjs/text/sgr/proof.f.js +0 -33
  885. package/fjs/text/utf16/module.f.d.ts +0 -161
  886. package/fjs/text/utf16/module.f.js +0 -311
  887. package/fjs/text/utf16/proof.f.d.ts +0 -10
  888. package/fjs/text/utf16/proof.f.js +0 -144
  889. package/fjs/text/utf8/module.f.d.ts +0 -83
  890. package/fjs/text/utf8/module.f.js +0 -247
  891. package/fjs/text/utf8/proof.f.js +0 -217
  892. package/fjs/types/array/module.f.d.ts +0 -49
  893. package/fjs/types/array/module.f.js +0 -42
  894. package/fjs/types/array/proof.f.js +0 -92
  895. package/fjs/types/bigfloat/module.f.d.ts +0 -6
  896. package/fjs/types/bigfloat/module.f.js +0 -69
  897. package/fjs/types/bigfloat/proof.f.js +0 -217
  898. package/fjs/types/bigint/module.f.d.ts +0 -172
  899. package/fjs/types/bigint/module.f.js +0 -251
  900. package/fjs/types/bigint/proof.f.d.ts +0 -37
  901. package/fjs/types/bigint/proof.f.js +0 -400
  902. package/fjs/types/bit_vec/module.f.d.ts +0 -302
  903. package/fjs/types/bit_vec/module.f.js +0 -375
  904. package/fjs/types/bit_vec/proof.f.js +0 -465
  905. package/fjs/types/btree/find/module.f.d.ts +0 -25
  906. package/fjs/types/btree/find/module.f.js +0 -80
  907. package/fjs/types/btree/find/proof.f.d.ts +0 -3
  908. package/fjs/types/btree/find/proof.f.js +0 -108
  909. package/fjs/types/btree/module.f.d.ts +0 -9
  910. package/fjs/types/btree/module.f.js +0 -33
  911. package/fjs/types/btree/proof.f.d.ts +0 -13
  912. package/fjs/types/btree/proof.f.js +0 -64
  913. package/fjs/types/btree/remove/module.f.d.ts +0 -14
  914. package/fjs/types/btree/remove/module.f.js +0 -186
  915. package/fjs/types/btree/remove/proof.f.js +0 -484
  916. package/fjs/types/btree/set/module.f.d.ts +0 -8
  917. package/fjs/types/btree/set/module.f.js +0 -128
  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.js +0 -29
  951. package/fjs/types/number/module.f.d.ts +0 -16
  952. package/fjs/types/number/module.f.js +0 -30
  953. package/fjs/types/number/proof.f.js +0 -124
  954. package/fjs/types/object/module.f.d.ts +0 -54
  955. package/fjs/types/object/module.f.js +0 -25
  956. package/fjs/types/object/proof.f.d.ts +0 -4
  957. package/fjs/types/object/proof.f.js +0 -14
  958. package/fjs/types/ordered_map/module.f.d.ts +0 -17
  959. package/fjs/types/ordered_map/module.f.js +0 -22
  960. package/fjs/types/ordered_map/proof.f.js +0 -73
  961. package/fjs/types/patricia_trie/module.f.d.ts +0 -25
  962. package/fjs/types/patricia_trie/module.f.js +0 -35
  963. package/fjs/types/patricia_trie/proof.f.d.ts +0 -13
  964. package/fjs/types/patricia_trie/proof.f.js +0 -121
  965. package/fjs/types/prime_field/module.f.d.ts +0 -62
  966. package/fjs/types/prime_field/module.f.js +0 -112
  967. package/fjs/types/prime_field/proof.f.js +0 -128
  968. package/fjs/types/range/module.f.d.ts +0 -8
  969. package/fjs/types/range/module.f.js +0 -2
  970. package/fjs/types/range/proof.f.js +0 -9
  971. package/fjs/types/range_map/module.f.d.ts +0 -92
  972. package/fjs/types/range_map/module.f.js +0 -82
  973. package/fjs/types/range_map/proof.f.d.ts +0 -6
  974. package/fjs/types/range_map/proof.f.js +0 -151
  975. package/fjs/types/range_set/module.f.d.ts +0 -5
  976. package/fjs/types/range_set/module.f.js +0 -16
  977. package/fjs/types/range_set/proof.f.d.ts +0 -1
  978. package/fjs/types/range_set/proof.f.js +0 -19
  979. package/fjs/types/result/module.d.ts +0 -3
  980. package/fjs/types/result/module.f.d.ts +0 -61
  981. package/fjs/types/result/module.f.js +0 -54
  982. package/fjs/types/result/module.js +0 -19
  983. package/fjs/types/result/proof.f.js +0 -31
  984. package/fjs/types/rtti/common/module.f.d.ts +0 -121
  985. package/fjs/types/rtti/common/module.f.js +0 -94
  986. package/fjs/types/rtti/common/proof.f.d.ts +0 -8
  987. package/fjs/types/rtti/common/proof.f.js +0 -51
  988. package/fjs/types/rtti/module.f.d.ts +0 -75
  989. package/fjs/types/rtti/module.f.js +0 -34
  990. package/fjs/types/rtti/parse/module.f.d.ts +0 -36
  991. package/fjs/types/rtti/parse/module.f.js +0 -114
  992. package/fjs/types/rtti/parse/proof.f.d.ts +0 -115
  993. package/fjs/types/rtti/parse/proof.f.js +0 -334
  994. package/fjs/types/rtti/proof.f.d.ts +0 -5
  995. package/fjs/types/rtti/proof.f.js +0 -16
  996. package/fjs/types/rtti/ts/module.f.d.ts +0 -118
  997. package/fjs/types/rtti/ts/module.f.js +0 -59
  998. package/fjs/types/rtti/ts/proof.f.js +0 -75
  999. package/fjs/types/rtti/validate/module.f.d.ts +0 -4
  1000. package/fjs/types/rtti/validate/module.f.js +0 -74
  1001. package/fjs/types/rtti/validate/proof.f.d.ts +0 -118
  1002. package/fjs/types/rtti/validate/proof.f.js +0 -349
  1003. package/fjs/types/sorted_list/module.f.d.ts +0 -26
  1004. package/fjs/types/sorted_list/module.f.js +0 -51
  1005. package/fjs/types/sorted_list/proof.f.d.ts +0 -4
  1006. package/fjs/types/sorted_list/proof.f.js +0 -46
  1007. package/fjs/types/sorted_set/module.f.d.ts +0 -33
  1008. package/fjs/types/sorted_set/module.f.js +0 -5
  1009. package/fjs/types/sorted_set/proof.f.d.ts +0 -6
  1010. package/fjs/types/sorted_set/proof.f.js +0 -67
  1011. package/fjs/types/string/module.f.d.ts +0 -24
  1012. package/fjs/types/string/module.f.js +0 -35
  1013. package/fjs/types/string/proof.f.js +0 -77
  1014. package/fjs/types/string_set/module.f.d.ts +0 -30
  1015. package/fjs/types/string_set/module.f.js +0 -37
  1016. package/fjs/types/string_set/proof.f.js +0 -43
  1017. package/fjs/types/ts/module.f.d.ts +0 -23
  1018. package/fjs/types/ts/module.f.js +0 -27
  1019. package/fjs/types/ts/proof.f.js +0 -86
  1020. package/fjs/types/uint8array/module.f.d.ts +0 -13
  1021. package/fjs/types/uint8array/module.f.js +0 -34
  1022. package/fjs/types/uint8array/proof.f.d.ts +0 -17
  1023. package/fjs/types/uint8array/proof.f.js +0 -64
  1024. package/fjs/website/module.f.d.ts +0 -3
  1025. package/fjs/website/module.f.js +0 -14
  1026. package/fjs/website/proof.f.js +0 -13
  1027. package/nanvm-lib/tests/proof.f.d.ts +0 -122
  1028. package/nanvm-lib/tests/proof.f.js +0 -330
  1029. package/todo/031-json.f.js +0 -241
  1030. package/todo/proof.f.d.ts +0 -20
  1031. package/todo/proof.f.js +0 -62
  1032. /package/fjs/asn.1/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1033. /package/fjs/asserts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1034. /package/fjs/{base_n/proof.f.d.ts → basen/proof.f.d.mts} +0 -0
  1035. /package/fjs/bnf/token_symbol/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1036. /package/{todo/031-json.f.d.ts → fjs/ci/common/types.js} +0 -0
  1037. /package/fjs/ci/node/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1038. /package/fjs/crypto/hmac/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1039. /package/fjs/crypto/pow/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1040. /package/fjs/crypto/vdf/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1041. /package/fjs/dev/package_json/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1042. /package/fjs/djs/ast/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1043. /package/fjs/djs/examples/{input.f.d.ts → input.f.d.mts} +0 -0
  1044. /package/fjs/djs/examples/{m.f.d.ts → m.f.d.mts} +0 -0
  1045. /package/fjs/djs/parser/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1046. /package/fjs/djs/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1047. /package/fjs/djs/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1048. /package/fjs/djs/tokenizer/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1049. /package/fjs/djs/transpiler/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1050. /package/fjs/effects/node/memory/{proof.d.ts → proof.d.mts} +0 -0
  1051. /package/fjs/fsc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1052. /package/fjs/fsm/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1053. /package/fjs/media/html/{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/media/nix/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1057. /package/fjs/media/revision/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1058. /package/fjs/media/type/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1059. /package/fjs/{module.d.ts → module.d.mts} +0 -0
  1060. /package/fjs/path/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1061. /package/fjs/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1062. /package/fjs/protocol/json_rpc/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1063. /package/fjs/sul/id/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1064. /package/fjs/sul/level/literal/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1065. /package/fjs/text/ascii/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1066. /package/fjs/text/code_point/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1067. /package/fjs/text/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1068. /package/fjs/text/sgr/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1069. /package/fjs/text/utf8/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1070. /package/fjs/types/array/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1071. /package/fjs/types/bigfloat/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1072. /package/fjs/types/bit_vec/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1073. /package/fjs/types/btree/remove/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1074. /package/fjs/types/btree/set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1075. /package/fjs/{basen/base128/proof.f.d.ts → types/function/compare/proof.f.d.mts} +0 -0
  1076. /package/fjs/types/function/operator/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1077. /package/fjs/types/function/{compare/proof.f.d.ts → proof.f.d.mts} +0 -0
  1078. /package/fjs/types/map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1079. /package/fjs/types/nibble_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1080. /package/fjs/types/nullable/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1081. /package/fjs/types/number/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1082. /package/fjs/types/option/{module.f.d.ts → types.d.ts} +0 -0
  1083. /package/fjs/types/option/{module.f.js → types.js} +0 -0
  1084. /package/fjs/types/ordered_map/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1085. /package/fjs/types/phantom/{module.f.d.ts → types.d.ts} +0 -0
  1086. /package/fjs/types/phantom/{module.f.js → types.js} +0 -0
  1087. /package/fjs/types/prime_field/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1088. /package/fjs/types/{function/proof.f.d.ts → range/proof.f.d.mts} +0 -0
  1089. /package/fjs/types/{range/proof.f.d.ts → range_set/proof.f.d.mts} +0 -0
  1090. /package/fjs/types/result/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1091. /package/fjs/types/rtti/ts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1092. /package/fjs/types/string/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1093. /package/fjs/types/string_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1094. /package/fjs/types/ts/{proof.f.d.ts → proof.f.d.mts} +0 -0
  1095. /package/fjs/website/{proof.f.d.ts → proof.f.d.mts} +0 -0
@@ -1,52 +0,0 @@
1
- import { type Rule as FRule } from '../module.f.ts';
2
- import { type StringMap } from '../../types/object/module.f.ts';
3
- /**
4
- * Encoded terminal range value used by BNF data rules.
5
- *
6
- * The same as the functional TerminalRange.
7
- */
8
- export type TerminalRange = number;
9
- /**
10
- * Ordered list of grammar rule names.
11
- */
12
- export type Sequence = readonly string[];
13
- /** A variant of rule names. */
14
- export type Variant = StringMap<string>;
15
- /**
16
- * Grammar rule definition.
17
- *
18
- * It can be one of:
19
- * - a tagged variant map,
20
- * - a sequence of referenced rule names,
21
- * - an encoded terminal range.
22
- */
23
- export type Rule = Variant | Sequence | TerminalRange;
24
- /** The full grammar */
25
- export type RuleSet = Readonly<Record<string, Rule>>;
26
- /**
27
- * Whether a rule can match empty input: `undefined` if it never can, `true`
28
- * if it can with no tag (a nullable sequence), or the tag of the nullable
29
- * variant branch.
30
- */
31
- export type EmptyTag = string | true | undefined;
32
- type EmptyTagMap = StringMap<EmptyTag>;
33
- /**
34
- * Computes, for every rule in the set, whether it can match empty input, by
35
- * the standard nullable-set fixpoint: a sequence is nullable iff all of its
36
- * items are (AND semantics), a variant iff at least one branch is (its tag is
37
- * that branch's). Rules may reference each other cyclically (e.g. a `repeat`
38
- * rule referring to itself), so this starts every rule as non-nullable and
39
- * relaxes every rule, one round at a time, until a full round changes
40
- * nothing. A round only ever grows the nullable set or moves a variant's
41
- * chosen tag to a later (still-nullable) branch, both bounded, so this always
42
- * terminates — but a rule's tag can still change for rounds *after* its own
43
- * nullable/non-nullable status has already settled, while a cyclic
44
- * dependency's tag catches up, so a fixed round count isn't enough.
45
- */
46
- export declare const emptyTagMap: (ruleSet: RuleSet) => EmptyTagMap;
47
- /**
48
- * Converts a functional grammar rule into serializable BNF data and returns
49
- * the generated rule set with the entry rule identifier.
50
- */
51
- export declare const toData: (fr: FRule) => readonly [RuleSet, string];
52
- export {};
@@ -1,143 +0,0 @@
1
- /**
2
- * The serializable BNF intermediate representation (IR) and the
3
- * {@link toData} conversion from the functional grammar.
4
- *
5
- * This module is the pure, parser-agnostic substrate: it defines the
6
- * {@link RuleSet} data form (`Rule = Variant | Sequence | TerminalRange`) and
7
- * converts a functional grammar into it. The automaton builders that consume a
8
- * {@link RuleSet} live in their own sibling modules (`fjs/bnf/ll1`,
9
- * `fjs/bnf/descent`, …), so the IR stays free of any one parser's machinery.
10
- *
11
- * @module
12
- */
13
- import { stringToCodePointList } from '../../text/utf16/module.f.js';
14
- import { map, toArray } from '../../types/list/module.f.js';
15
- import { oneEncode, } from '../module.f.js';
16
- import { definedEntries } from '../../types/object/module.f.js';
17
- const emptyTagOf = (map) => (rule) => {
18
- if (typeof rule === 'number') {
19
- return undefined;
20
- }
21
- else if (rule instanceof Array) {
22
- return rule.every(item => map[item] !== undefined) ? true : undefined;
23
- }
24
- else {
25
- let tag = undefined;
26
- for (const [k, item] of definedEntries(rule)) {
27
- if (map[item] !== undefined) {
28
- tag = k;
29
- }
30
- }
31
- return tag;
32
- }
33
- };
34
- const emptyTagStep = (ruleSet) => (map) => {
35
- let next = map;
36
- let changed = false;
37
- for (const name in ruleSet) {
38
- const tag = emptyTagOf(map)(ruleSet[name]);
39
- if (tag !== next[name]) {
40
- changed = true;
41
- }
42
- next = { ...next, [name]: tag };
43
- }
44
- return [next, changed];
45
- };
46
- /**
47
- * Computes, for every rule in the set, whether it can match empty input, by
48
- * the standard nullable-set fixpoint: a sequence is nullable iff all of its
49
- * items are (AND semantics), a variant iff at least one branch is (its tag is
50
- * that branch's). Rules may reference each other cyclically (e.g. a `repeat`
51
- * rule referring to itself), so this starts every rule as non-nullable and
52
- * relaxes every rule, one round at a time, until a full round changes
53
- * nothing. A round only ever grows the nullable set or moves a variant's
54
- * chosen tag to a later (still-nullable) branch, both bounded, so this always
55
- * terminates — but a rule's tag can still change for rounds *after* its own
56
- * nullable/non-nullable status has already settled, while a cyclic
57
- * dependency's tag catches up, so a fixed round count isn't enough.
58
- */
59
- export const emptyTagMap = (ruleSet) => {
60
- const step = emptyTagStep(ruleSet);
61
- const relax = (map) => {
62
- const [next, changed] = step(map);
63
- return changed ? relax(next) : next;
64
- };
65
- return relax({});
66
- };
67
- const { entries } = Object;
68
- const find = (map) => (fr) => {
69
- for (const [k, v] of entries(map)) {
70
- if (v === fr) {
71
- return k;
72
- }
73
- }
74
- return undefined;
75
- };
76
- const newName = (map, name) => {
77
- let i = 0;
78
- let result = name;
79
- while (result in map) {
80
- result = name + i;
81
- ++i;
82
- }
83
- return result;
84
- };
85
- const sequence = (list) => map => {
86
- let result = [];
87
- let set = {};
88
- for (const fr of list) {
89
- const [map1, set1, id] = toDataAdd(map)(fr);
90
- map = map1;
91
- set = { ...set, ...set1 };
92
- result = [...result, id];
93
- }
94
- return [map, set, result];
95
- };
96
- const variant = (fr) => map => {
97
- let set = {};
98
- let rule = {};
99
- for (const [k, v] of entries(fr)) {
100
- const [m1, s, id] = toDataAdd(map)(v);
101
- map = m1;
102
- set = { ...set, ...s };
103
- rule = { ...rule, [k]: id };
104
- }
105
- return [map, set, rule];
106
- };
107
- const mapOneEncode = map(oneEncode);
108
- const data = (dr) => {
109
- switch (typeof dr) {
110
- case 'string': {
111
- return sequence(toArray(mapOneEncode(stringToCodePointList(dr))));
112
- }
113
- case 'number':
114
- return m => [m, {}, dr];
115
- default:
116
- if (dr instanceof Array) {
117
- return sequence(dr);
118
- }
119
- return variant(dr);
120
- }
121
- };
122
- const toDataAdd = (map) => (fr) => {
123
- {
124
- const id = find(map)(fr);
125
- if (id !== undefined) {
126
- return [map, {}, id];
127
- }
128
- }
129
- const [dr, tmpId] = typeof fr === 'function' ? [fr(), fr.name] : [fr, ''];
130
- const newRule = data(dr);
131
- const id = newName(map, tmpId);
132
- const map1 = { ...map, [id]: fr };
133
- const [map2, set, rule] = newRule(map1);
134
- return [map2, { ...set, [id]: rule }, id];
135
- };
136
- /**
137
- * Converts a functional grammar rule into serializable BNF data and returns
138
- * the generated rule set with the entry rule identifier.
139
- */
140
- export const toData = (fr) => {
141
- const [, ruleSet, id] = toDataAdd({})(fr);
142
- return [ruleSet, id];
143
- };
@@ -1,8 +0,0 @@
1
- export declare const proof: {
2
- rangeDecode: () => void;
3
- rangeEncode: () => void;
4
- toData: (() => void)[];
5
- variantTest: () => void;
6
- emptyTagMap: (() => void)[];
7
- example: () => void;
8
- };
@@ -1,169 +0,0 @@
1
- import { stringify } from '../../media/json/module.f.js';
2
- import { identity } from '../../types/function/module.f.js';
3
- import { sort } from '../../types/object/module.f.js';
4
- import { oneEncode, option, range, rangeDecode, repeat0Plus, set } from '../module.f.js';
5
- import { classic, deterministic } from '../testlib.f.js';
6
- import { emptyTagMap, toData } from './module.f.js';
7
- import { assertEq } from '../../asserts/module.f.js';
8
- export const proof = {
9
- rangeDecode: () => {
10
- const decoded1 = stringify(sort)(rangeDecode(0x000079_000087));
11
- assertEq(decoded1, '[121,135]');
12
- const decoded2 = stringify(sort)(rangeDecode(0x000080_000087));
13
- assertEq(decoded2, '[128,135]');
14
- const decoded3 = stringify(sort)(rangeDecode(0x10FFFF_10FFFF));
15
- assertEq(decoded3, '[1114111,1114111]');
16
- },
17
- rangeEncode: () => {
18
- const encoded1 = oneEncode(0x79);
19
- if (encoded1 !== 0x000079_000079) {
20
- throw encoded1;
21
- }
22
- const encoded2 = oneEncode(0x80);
23
- if (encoded2 !== 0x000080_000080) {
24
- throw encoded2;
25
- }
26
- const encoded3 = oneEncode(0x10FFFF);
27
- if (encoded3 !== 0x10FFFF_10FFFF) {
28
- throw encoded3;
29
- }
30
- },
31
- toData: [
32
- () => {
33
- const c = toData(classic());
34
- const d = toData(deterministic());
35
- },
36
- () => {
37
- const stringRule = 'true';
38
- const result = stringify(sort)(toData(stringRule));
39
- if (result !== '[{"":["0","1","2","3"],"0":1946157172,"1":1912602738,"2":1962934389,"3":1694498917},""]') {
40
- throw result;
41
- }
42
- },
43
- () => {
44
- const terminalRangeRule = range('AF');
45
- const result = stringify(sort)(toData(terminalRangeRule));
46
- if (result !== '[{"":1090519110},""]') {
47
- throw result;
48
- } //1090519110 = 65 * 2^24 + 70
49
- },
50
- () => {
51
- const sequenceRangeRule = [range('AF'), range('af')];
52
- const result = stringify(sort)(toData(sequenceRangeRule));
53
- if (result !== '[{"":["0","1"],"0":1090519110,"1":1627390054},""]') {
54
- throw result;
55
- }
56
- },
57
- () => {
58
- const lazyRule = () => 'true';
59
- const result = stringify(sort)(toData(lazyRule));
60
- if (result !== '[{"":1946157172,"0":1912602738,"1":1962934389,"2":1694498917,"lazyRule":["","0","1","2"]},"lazyRule"]') {
61
- throw result;
62
- }
63
- },
64
- () => {
65
- const varintRule = { true: 'true', false: 'false' };
66
- const result = stringify(sort)(toData(varintRule));
67
- const expected = '[{"":{"false":"5","true":"0"},"0":["1","2","3","4"],"1":1946157172,"2":1912602738,"3":1962934389,"4":1694498917,"5":["6","7","8","9","4"],"6":1711276134,"7":1627390049,"8":1811939436,"9":1929379955},""]';
68
- assertEq(result, expected, [result, expected]);
69
- },
70
- () => {
71
- const lazyRule = () => 'true';
72
- const lazyRule0 = () => 'false';
73
- const result = stringify(sort)(toData([lazyRule, lazyRule0]));
74
- const expected = '[{"":["lazyRule","lazyRule0"],"0":1946157172,"1":1912602738,"2":1962934389,"3":1694498917,"4":1711276134,"5":1627390049,"6":1811939436,"7":1929379955,"lazyRule":["0","1","2","3"],"lazyRule0":["4","5","6","7","3"]},""]';
75
- assertEq(result, expected, [result, expected]);
76
- },
77
- () => {
78
- const emptyRule = '';
79
- const result = stringify(sort)(toData(emptyRule));
80
- const expected = '[{"":[]},""]';
81
- assertEq(result, expected, [result, expected]);
82
- },
83
- () => {
84
- const optionRule = option('a');
85
- const result = stringify(identity)(toData(optionRule));
86
- if (result !== '[{"0":["1"],"1":1627390049,"2":[],"":{"some":"0","none":"2"}},""]') {
87
- throw result;
88
- }
89
- },
90
- () => {
91
- const repeatRule = repeat0Plus(option('a'));
92
- const result = stringify(identity)(toData(repeatRule));
93
- if (result !== '[{"0":{"some":"1","none":"3"},"1":["2"],"2":1627390049,"3":[],"":["0","r"],"r":{"some":"","none":"3"}},"r"]') {
94
- throw result;
95
- }
96
- },
97
- () => {
98
- const repeatRule = repeat0Plus(set(' \n\r\t'));
99
- const result = stringify(identity)(toData(repeatRule));
100
- if (result !== '[{"0":{" ":"1","\\n":"2","\\r":"3","\\t":"4"},"1":536870944,"2":167772170,"3":218103821,"4":150994953,"5":[],"":["0","r"],"r":{"some":"","none":"5"}},"r"]') {
101
- throw result;
102
- }
103
- }
104
- ],
105
- variantTest: () => {
106
- const varintRule = { a: 'a', b: 'b' };
107
- const result = stringify(sort)(toData(varintRule));
108
- if (result !== '[{"":{"a":"0","b":"2"},"0":["1"],"1":1627390049,"2":["3"],"3":1644167266},""]') {
109
- throw result;
110
- }
111
- },
112
- emptyTagMap: [
113
- () => {
114
- const stringRule = 'true';
115
- const result = JSON.stringify(emptyTagMap(toData(stringRule)[0]));
116
- assertEq(result, '{}');
117
- },
118
- () => {
119
- const emptyRule = '';
120
- const result = JSON.stringify(emptyTagMap(toData(emptyRule)[0]));
121
- assertEq(result, '{"":true}');
122
- },
123
- () => {
124
- const emptyRule = '';
125
- const varintRule = { true: 'true', e: emptyRule };
126
- const result = JSON.stringify(emptyTagMap(toData(varintRule)[0]));
127
- assertEq(result, '{"5":true,"":"e"}');
128
- },
129
- () => {
130
- const repeatRule = repeat0Plus(option('a'));
131
- const result = JSON.stringify(emptyTagMap(toData(repeatRule)[0]));
132
- assertEq(result, '{"0":"none","3":true,"":true,"r":"none"}');
133
- },
134
- () => {
135
- // Regression for the sequence case: a sequence is nullable iff
136
- // *all* of its items are, not just the first one. The old
137
- // descent-only implementation pinned the result to nullable as
138
- // soon as it saw the leading empty item, and reported this
139
- // 2-item sequence as nullable even though its second item is a
140
- // mandatory terminal.
141
- const data = toData(['', range('AA')]);
142
- const emptyTags = emptyTagMap(data[0]);
143
- assertEq(emptyTags[data[1]], undefined, emptyTags);
144
- },
145
- () => {
146
- // Regression: a fixed round count (one round per rule) settles
147
- // the nullable/non-nullable *set* — a standard result — but a
148
- // variant's chosen *tag* can still change for rounds after that,
149
- // while a cyclic dependency's own tag catches up. Here A is
150
- // nullable via 'x' (A -> E, both settle in 2 rounds), but B (a
151
- // 1-item sequence over A) only becomes nullable once A does, and
152
- // once B is nullable, A's true winning branch is 'y' (A -> B) —
153
- // reachable only by iterating to an actual fixpoint.
154
- const rs = { A: { x: 'E', y: 'B' }, B: ['A'], E: [] };
155
- assertEq(emptyTagMap(rs).A, 'y');
156
- },
157
- ],
158
- example: () => {
159
- const grammar = {
160
- space: 0x000020_000020,
161
- digit: 0x000030_000039,
162
- sequence: ['space', 'digit'],
163
- spaceOrDigit: {
164
- 'whiteSpace': 'space',
165
- 'digit': 'digit',
166
- }
167
- };
168
- },
169
- };
@@ -1,87 +0,0 @@
1
- /**
2
- * Recursive descent matcher backend over the BNF data {@link RuleSet}.
3
- *
4
- * Built from the serializable IR in `fjs/bnf/data`, this is a sibling of the
5
- * LL(1) dispatch builder (`fjs/bnf/ll1`). It walks the grammar by recursive
6
- * descent and preserves per-code-point metadata, producing a metadata-aware
7
- * AST ({@link AstRuleMeta}). Nullability (which rule can match empty input) is
8
- * computed once by {@link emptyTagMap} in `fjs/bnf/data`.
9
- *
10
- * A failed result also carries a {@link DescentFailure}: the furthest position a
11
- * terminal was rejected at, which — unlike the result's own index — never
12
- * rewinds and is what diagnostics should be built from.
13
- *
14
- * @module
15
- */
16
- import { type CodePoint } from '../../text/utf16/module.f.ts';
17
- import { type TerminalRange } from '../module.f.ts';
18
- import { type Rule as FRule } from '../module.f.ts';
19
- export type AstTag = string | true | undefined;
20
- /**
21
- * Recursive descent matcher for a single named rule.
22
- */
23
- export type DescentMatchRule<T> = (name: string, tag: AstTag, s: readonly CodePointMeta<T>[], idx: number) => DescentMatchResult<T>;
24
- /**
25
- * Where a match ran out of road, for diagnostics.
26
- *
27
- * `idx` is the furthest position any terminal was tried at and rejected, and
28
- * `expected` holds the terminals that would have allowed progress there, in the
29
- * order the grammar tried them and without repeats.
30
- *
31
- * Unlike a failed result's own index, this never rewinds: a failing sequence
32
- * item rewinds the result to the sequence's start, while the furthest failure is
33
- * a high-water mark over the whole match — including branches the grammar
34
- * backtracked out of. That is what makes "expected X or Y at N" possible.
35
- *
36
- * `idx` is `0` with an empty `expected` when the match failed without ever
37
- * rejecting a terminal, as an empty variant does.
38
- */
39
- export type DescentFailure = {
40
- readonly idx: number;
41
- readonly expected: readonly TerminalRange[];
42
- };
43
- /**
44
- * Result of a descent match operation.
45
- *
46
- * `failure` is present exactly when `success` is `false`: a successful match has
47
- * nothing to diagnose, and its `idx` already says where matching stopped. Note
48
- * the consequence for a match that succeeds *without consuming all input* —
49
- * `idx` still locates the position it stopped at, but the terminals that would
50
- * have let it continue are not reported.
51
- *
52
- * On failure `idx` has rewound to the start of the enclosing sequence and
53
- * locates nothing; read `failure.idx` instead.
54
- *
55
- * The same type describes a match in progress, where `failure` is likewise
56
- * absent until the match ends.
57
- */
58
- export type DescentMatchResult<T> = {
59
- readonly ast: AstRuleMeta<T>;
60
- readonly success: boolean;
61
- readonly idx: number;
62
- readonly failure?: DescentFailure;
63
- };
64
- /**
65
- * Entry-point recursive descent matcher.
66
- */
67
- export type DescentMatch<T> = (name: string, s: readonly CodePointMeta<T>[]) => DescentMatchResult<T>;
68
- /**
69
- * Code point value paired with metadata.
70
- */
71
- export type CodePointMeta<T> = readonly [CodePoint, T];
72
- /**
73
- * AST sequence for the metadata-aware parser.
74
- */
75
- export type AstSequenceMeta<T> = readonly (AstRuleMeta<T> | CodePointMeta<T>)[];
76
- /**
77
- * Metadata-aware AST node.
78
- */
79
- export type AstRuleMeta<T> = {
80
- readonly tag: AstTag;
81
- readonly sequence: AstSequenceMeta<T>;
82
- };
83
- /**
84
- * Creates a recursive descent parser that preserves metadata for each consumed
85
- * code point.
86
- */
87
- export declare const descentParser: <T>(fr: FRule) => DescentMatch<T>;
@@ -1,149 +0,0 @@
1
- /**
2
- * Recursive descent matcher backend over the BNF data {@link RuleSet}.
3
- *
4
- * Built from the serializable IR in `fjs/bnf/data`, this is a sibling of the
5
- * LL(1) dispatch builder (`fjs/bnf/ll1`). It walks the grammar by recursive
6
- * descent and preserves per-code-point metadata, producing a metadata-aware
7
- * AST ({@link AstRuleMeta}). Nullability (which rule can match empty input) is
8
- * computed once by {@link emptyTagMap} in `fjs/bnf/data`.
9
- *
10
- * A failed result also carries a {@link DescentFailure}: the furthest position a
11
- * terminal was rejected at, which — unlike the result's own index — never
12
- * rewinds and is what diagnostics should be built from.
13
- *
14
- * @module
15
- */
16
- import {} from '../../text/utf16/module.f.js';
17
- import { rangeDecode } from '../module.f.js';
18
- import { contains as rangeContains } from '../../types/range/module.f.js';
19
- import { definedEntries } from '../../types/object/module.f.js';
20
- import { emptyTagMap, toData } from '../data/module.f.js';
21
- import {} from '../module.f.js';
22
- /**
23
- * Folds one rejected terminal into the furthest-failure record: further along
24
- * replaces, the same position accumulates (ignoring repeats), earlier is
25
- * discarded.
26
- */
27
- const recordFailure = (failure, idx, terminal) => {
28
- if (idx > failure.idx) {
29
- return { idx, expected: [terminal] };
30
- }
31
- if (idx < failure.idx || failure.expected.includes(terminal)) {
32
- return failure;
33
- }
34
- return { idx, expected: [...failure.expected, terminal] };
35
- };
36
- /**
37
- * Creates a recursive descent parser that preserves metadata for each consumed
38
- * code point.
39
- */
40
- export const descentParser = (fr) => {
41
- const data = toData(fr);
42
- const emptyTags = emptyTagMap(data[0]);
43
- // The recursive-descent matcher as an explicit-stack machine: each iteration either
44
- // starts the current task (pushing a frame for a sequence/variant and descending into
45
- // its first child) or feeds the pending result into the innermost frame. Semantics are
46
- // identical to the former recursive `f`, but the JS call stack stays O(1) regardless of
47
- // grammar recursion depth — right-recursive rules (e.g. repeat0Plus chains) no longer
48
- // overflow on long input (see the longInput proof group).
49
- const f = (name, tag, cp, idx) => {
50
- const mrSuccess = (tag, sequence, idx) => ({ ast: { tag, sequence }, success: true, idx });
51
- const mrFail = (tag, sequence, idx) => ({ ast: { tag, sequence }, success: false, idx });
52
- let stack = null;
53
- let task = { name, tag, idx };
54
- let result = mrFail(undefined, [], idx);
55
- // High-water mark across the whole match, so it survives the rewinds a
56
- // failing sequence item does to `result`.
57
- let furthest = { idx: 0, expected: [] };
58
- while (true) {
59
- if (task !== null) {
60
- const { name, tag, idx } = task;
61
- task = null;
62
- // The explicit annotation cuts a control-flow inference cycle (TS7022):
63
- // `name`'s narrowed type feeds `rule`, whose type would otherwise feed the
64
- // later `task` assignments that `name`'s narrowing depends on.
65
- const rule = data[0][name];
66
- if (typeof rule === 'number') {
67
- // No nullable case: `emptyTagOf` in `bnf/data` returns `undefined`
68
- // for every terminal, so `emptyTags[name]` here is always
69
- // `undefined` and a terminal either consumes one symbol or fails.
70
- if (idx < cp.length && rangeContains(...rangeDecode(rule))(cp[idx][0])) {
71
- result = mrSuccess(tag, [cp[idx]], idx + 1);
72
- }
73
- else {
74
- // The only place a terminal is rejected, so the only place
75
- // the furthest failure can advance.
76
- furthest = recordFailure(furthest, idx, rule);
77
- result = mrFail(undefined, [], idx);
78
- }
79
- }
80
- else if (rule instanceof Array) {
81
- if (rule.length === 0) {
82
- result = mrSuccess(tag, [], idx);
83
- }
84
- else {
85
- stack = { top: { kind: 'seq', tag, items: rule, itemIndex: 0, startIdx: idx, seq: [] }, rest: stack };
86
- task = { name: rule[0], tag: undefined, idx };
87
- }
88
- }
89
- else {
90
- const entries = definedEntries(rule);
91
- const emptyTag = emptyTags[name];
92
- const emptyResult = mrFail(emptyTag, [], idx);
93
- if (entries.length === 0) {
94
- result = emptyResult;
95
- }
96
- else {
97
- stack = { top: { kind: 'variant', entries, entryIndex: 0, idx, emptyResult }, rest: stack };
98
- const [entryTag, entryName] = entries[0];
99
- task = { name: entryName, tag: entryTag, idx };
100
- }
101
- }
102
- continue;
103
- }
104
- if (stack === null) {
105
- // A success has nothing to diagnose; only a failure carries it.
106
- return result.success ? result : { ...result, failure: furthest };
107
- }
108
- const frame = stack.top;
109
- stack = stack.rest;
110
- if (frame.kind === 'seq') {
111
- const { ast: astRule, success, idx: nidx } = result;
112
- if (success === false) {
113
- result = mrFail(frame.tag, [], frame.startIdx);
114
- }
115
- else {
116
- const seq = [...frame.seq, astRule];
117
- const itemIndex = frame.itemIndex + 1;
118
- if (itemIndex < frame.items.length) {
119
- stack = { top: { ...frame, itemIndex, seq }, rest: stack };
120
- task = { name: frame.items[itemIndex], tag: undefined, idx: nidx };
121
- }
122
- else {
123
- result = mrSuccess(frame.tag, seq, nidx);
124
- }
125
- }
126
- }
127
- else {
128
- // success that consumed input wins immediately: the frame stays popped and
129
- // `result` propagates to the frame below, matching the recursive `return m`.
130
- if (!(result.success && frame.idx !== result.idx)) {
131
- const emptyResult = result.success ? result : frame.emptyResult;
132
- const entryIndex = frame.entryIndex + 1;
133
- if (entryIndex < frame.entries.length) {
134
- stack = { top: { ...frame, entryIndex, emptyResult }, rest: stack };
135
- const [entryTag, entryName] = frame.entries[entryIndex];
136
- task = { name: entryName, tag: entryTag, idx: frame.idx };
137
- }
138
- else {
139
- result = emptyResult;
140
- }
141
- }
142
- }
143
- }
144
- };
145
- const match = (name, cp) => {
146
- return f(name, undefined, cp, 0);
147
- };
148
- return match;
149
- };
@@ -1,7 +0,0 @@
1
- export declare const proof: {
2
- emptyTags: (() => void)[];
3
- descentParser: (() => void)[];
4
- longInput: (() => void)[];
5
- descentParserWithMeta: (() => void)[];
6
- furthestFailure: (() => void)[];
7
- };