functionalscript 0.36.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/README.md +1 -1
  2. package/{fs → fjs}/asn.1/module.f.js +1 -1
  3. package/{fs → fjs}/asn.1/proof.f.js +32 -94
  4. package/fjs/asserts/module.f.d.ts +36 -0
  5. package/fjs/asserts/module.f.js +39 -0
  6. package/fjs/asserts/proof.f.d.ts +11 -0
  7. package/fjs/asserts/proof.f.js +18 -0
  8. package/{fs → fjs}/base_n/module.f.js +3 -3
  9. package/{fs → fjs}/base_n/proof.f.js +15 -39
  10. package/{fs → fjs/basen}/base128/module.f.d.ts +1 -1
  11. package/{fs → fjs/basen}/base128/module.f.js +1 -1
  12. package/{fs → fjs/basen}/base128/proof.f.js +3 -3
  13. package/{fs → fjs/basen}/base64/module.f.d.ts +2 -2
  14. package/{fs → fjs/basen}/base64/module.f.js +25 -15
  15. package/{fs → fjs/basen}/base64/proof.f.d.ts +2 -0
  16. package/{fs → fjs/basen}/base64/proof.f.js +26 -6
  17. package/{fs → fjs/basen}/cbase32/module.f.d.ts +2 -2
  18. package/{fs → fjs/basen}/cbase32/module.f.js +2 -2
  19. package/{fs → fjs/basen}/cbase32/proof.f.js +16 -43
  20. package/fjs/bnf/data/module.f.d.ts +52 -0
  21. package/{fs → fjs}/bnf/data/module.f.js +56 -6
  22. package/{fs → fjs}/bnf/data/proof.f.d.ts +1 -0
  23. package/{fs → fjs}/bnf/data/proof.f.js +59 -24
  24. package/{fs → fjs}/bnf/descent/module.f.d.ts +4 -14
  25. package/fjs/bnf/descent/module.f.js +124 -0
  26. package/{fs → fjs}/bnf/descent/proof.f.d.ts +1 -0
  27. package/{fs → fjs}/bnf/descent/proof.f.js +59 -28
  28. package/{fs → fjs}/bnf/ll1/module.f.d.ts +4 -4
  29. package/{fs → fjs}/bnf/ll1/module.f.js +15 -13
  30. package/{fs → fjs}/bnf/ll1/proof.f.d.ts +1 -0
  31. package/{fs → fjs}/bnf/ll1/proof.f.js +33 -16
  32. package/{fs → fjs}/bnf/module.f.d.ts +19 -5
  33. package/{fs → fjs}/bnf/module.f.js +14 -15
  34. package/fjs/bnf/proof.f.js +69 -0
  35. package/{fs → fjs}/bnf/testlib.f.js +2 -2
  36. package/{fs → fjs}/cas/cli/module.f.js +7 -7
  37. package/{fs → fjs}/cas/cli/proof.f.d.ts +4 -1
  38. package/{fs → fjs}/cas/cli/proof.f.js +37 -74
  39. package/fjs/cas/evo/mcp/module.f.d.ts +19 -0
  40. package/fjs/cas/evo/mcp/module.f.js +56 -0
  41. package/fjs/cas/evo/mcp/proof.f.d.ts +9 -0
  42. package/fjs/cas/evo/mcp/proof.f.js +95 -0
  43. package/fjs/cas/evo/module.f.d.ts +138 -0
  44. package/fjs/cas/evo/module.f.js +309 -0
  45. package/fjs/cas/evo/proof.f.d.ts +32 -0
  46. package/fjs/cas/evo/proof.f.js +453 -0
  47. package/fjs/cas/mcp/module.f.d.ts +49 -0
  48. package/fjs/cas/mcp/module.f.js +267 -0
  49. package/{fs → fjs}/cas/mcp/proof.f.d.ts +7 -2
  50. package/{fs → fjs}/cas/mcp/proof.f.js +116 -60
  51. package/{fs → fjs}/cas/module.f.d.ts +10 -0
  52. package/{fs → fjs}/cas/module.f.js +36 -10
  53. package/{fs → fjs}/cas/proof.f.d.ts +8 -2
  54. package/{fs → fjs}/cas/proof.f.js +85 -94
  55. package/{fs → fjs}/ci/bun/module.f.js +2 -2
  56. package/{fs → fjs}/ci/common/module.f.d.ts +2 -2
  57. package/{fs → fjs}/ci/common/module.f.js +4 -4
  58. package/fjs/ci/config/module.f.d.ts +42 -0
  59. package/{fs → fjs}/ci/config/module.f.js +6 -8
  60. package/fjs/ci/deno/module.f.js +20 -0
  61. package/{fs → fjs}/ci/module.f.js +9 -9
  62. package/{fs → fjs}/ci/node/module.f.d.ts +1 -1
  63. package/{fs → fjs}/ci/node/module.f.js +3 -5
  64. package/{fs → fjs}/ci/playwright/module.f.js +3 -3
  65. package/{fs → fjs}/ci/proof.f.js +27 -22
  66. package/{fs → fjs}/ci/rust/module.f.js +11 -3
  67. package/{fs → fjs}/cli/module.f.js +3 -3
  68. package/{fs → fjs}/cli/proof.f.js +25 -66
  69. package/{fs/types → fjs/common}/monoid/module.f.d.ts +1 -1
  70. package/{fs/types → fjs/common}/monoid/proof.f.js +4 -9
  71. package/{fs → fjs}/crypto/hmac/module.f.js +2 -2
  72. package/{fs → fjs}/crypto/hmac/proof.f.js +9 -17
  73. package/{fs → fjs}/crypto/pow/module.f.js +3 -3
  74. package/fjs/crypto/pow/proof.f.js +111 -0
  75. package/{fs → fjs}/crypto/secp/module.f.js +2 -2
  76. package/{fs → fjs}/crypto/secp/proof.f.js +14 -35
  77. package/{fs → fjs}/crypto/sha2/module.f.js +2 -2
  78. package/{fs → fjs}/crypto/sha2/proof.f.js +23 -54
  79. package/{fs → fjs}/crypto/sign/module.f.d.ts +0 -5
  80. package/{fs → fjs}/crypto/sign/module.f.js +11 -8
  81. package/{fs → fjs}/crypto/sign/proof.f.js +36 -105
  82. package/{fs → fjs}/crypto/vdf/module.f.js +1 -1
  83. package/{fs → fjs}/crypto/vdf/proof.f.js +23 -64
  84. package/{fs → fjs}/dev/module.f.js +6 -6
  85. package/{fs → fjs}/dev/package_json/module.f.js +6 -6
  86. package/{fs → fjs}/dev/package_json/proof.f.js +9 -9
  87. package/{fs → fjs}/dev/proof.f.js +3 -5
  88. package/{fs → fjs}/djs/ast/module.f.js +2 -2
  89. package/{fs → fjs}/djs/ast/proof.f.js +8 -16
  90. package/fjs/djs/examples/m.f.d.ts +2 -0
  91. package/{fs → fjs}/djs/module.f.d.ts +1 -1
  92. package/{fs → fjs}/djs/module.f.js +5 -5
  93. package/{fs → fjs}/djs/parser/module.f.d.ts +5 -0
  94. package/{fs → fjs}/djs/parser/module.f.js +24 -4
  95. package/{fs → fjs}/djs/parser/proof.f.js +145 -407
  96. package/{fs → fjs}/djs/proof.f.js +16 -39
  97. package/{fs → fjs}/djs/serializer/module.f.js +6 -6
  98. package/{fs → fjs}/djs/serializer/proof.f.js +18 -43
  99. package/fjs/djs/tokenizer/module.f.d.ts +24 -0
  100. package/fjs/djs/tokenizer/module.f.js +472 -0
  101. package/{fs/djs/tokenizer-new → fjs/djs/tokenizer}/proof.f.d.ts +4 -3
  102. package/{fs/djs/tokenizer-new → fjs/djs/tokenizer}/proof.f.js +447 -446
  103. package/{fs → fjs}/djs/transpiler/module.f.d.ts +5 -0
  104. package/{fs → fjs}/djs/transpiler/module.f.js +21 -11
  105. package/{fs → fjs}/djs/transpiler/proof.f.d.ts +3 -0
  106. package/fjs/djs/transpiler/proof.f.js +67 -0
  107. package/{fs → fjs}/effects/memory/module.f.js +4 -4
  108. package/{fs → fjs}/effects/memory/proof.f.js +11 -24
  109. package/{fs → fjs}/effects/module.f.js +1 -1
  110. package/{fs → fjs}/effects/node/memory/module.js +2 -2
  111. package/{fs → fjs}/effects/node/memory/proof.js +8 -15
  112. package/{fs → fjs}/effects/node/module.d.ts +1 -1
  113. package/{fs → fjs}/effects/node/module.f.d.ts +1 -1
  114. package/{fs → fjs}/effects/node/module.f.js +7 -7
  115. package/{fs → fjs}/effects/node/module.js +13 -13
  116. package/{fs → fjs}/effects/node/proof.f.d.ts +1 -0
  117. package/{fs → fjs}/effects/node/proof.f.js +106 -292
  118. package/{fs → fjs}/effects/node/virtual/module.f.js +7 -7
  119. package/{fs → fjs}/effects/node/virtual/proof.f.d.ts +2 -0
  120. package/{fs → fjs}/effects/node/virtual/proof.f.js +44 -30
  121. package/{fs → fjs}/effects/proof.f.js +18 -47
  122. package/fjs/emergent_testing/all.test.js +4 -0
  123. package/{fs → fjs}/emergent_testing/example.f.d.ts +1 -1
  124. package/{fs → fjs}/emergent_testing/module.f.js +6 -6
  125. package/{fs → fjs}/emergent_testing/proof.f.d.ts +19 -17
  126. package/{fs → fjs}/emergent_testing/proof.f.js +14 -14
  127. package/fjs/emergent_testing/scenarios/all.js +1 -0
  128. package/{fs → fjs}/fsc/bnf.f.js +2 -2
  129. package/{fs → fjs}/fsc/json.f.js +1 -1
  130. package/{fs → fjs}/fsc/module.f.js +7 -7
  131. package/{fs → fjs}/fsc/proof.f.js +16 -38
  132. package/{fs → fjs}/fsm/module.f.js +9 -9
  133. package/{fs → fjs}/fsm/proof.f.js +12 -19
  134. package/{fs → fjs}/js/tokenizer/module.f.js +7 -7
  135. package/{fs → fjs}/js/tokenizer/proof.f.js +5 -5
  136. package/{fs → fjs}/mcp/module.f.d.ts +20 -13
  137. package/{fs → fjs}/mcp/module.f.js +16 -9
  138. package/{fs → fjs}/mcp/proof.f.js +17 -17
  139. package/{fs → fjs}/mcp/stdio/module.f.d.ts +4 -4
  140. package/{fs → fjs}/mcp/stdio/module.f.js +12 -12
  141. package/{fs → fjs}/mcp/stdio/proof.f.js +10 -10
  142. package/{fs → fjs/media}/html/module.f.d.ts +3 -3
  143. package/{fs → fjs/media}/html/module.f.js +9 -9
  144. package/{fs → fjs/media}/html/proof.f.js +12 -33
  145. package/fjs/media/json/module.f.d.ts +50 -0
  146. package/{fs → fjs/media}/json/module.f.js +7 -7
  147. package/{fs → fjs/media}/json/parser/module.f.d.ts +7 -2
  148. package/{fs → fjs/media}/json/parser/module.f.js +21 -7
  149. package/{fs → fjs/media}/json/parser/proof.f.js +45 -120
  150. package/{fs → fjs/media}/json/proof.f.js +4 -4
  151. package/fjs/media/json/rpc/module.f.d.ts +114 -0
  152. package/{fs → fjs/media}/json/rpc/module.f.js +4 -4
  153. package/{fs → fjs/media}/json/rpc/proof.f.js +4 -4
  154. package/fjs/media/json/schema/module.f.d.ts +78 -0
  155. package/{fs → fjs/media}/json/schema/module.f.js +25 -41
  156. package/{fs → fjs/media}/json/schema/proof.f.js +6 -9
  157. package/{fs → fjs/media}/json/serializer/module.f.d.ts +1 -1
  158. package/{fs → fjs/media}/json/serializer/module.f.js +2 -2
  159. package/{fs → fjs/media}/json/serializer/proof.f.js +12 -29
  160. package/{fs → fjs/media}/json/tokenizer/module.f.d.ts +2 -2
  161. package/{fs → fjs/media}/json/tokenizer/module.f.js +4 -4
  162. package/{fs → fjs/media}/json/tokenizer/proof.f.js +5 -5
  163. package/fjs/media/module.f.d.ts +37 -0
  164. package/fjs/media/module.f.js +23 -0
  165. package/fjs/media/proof.f.d.ts +9 -0
  166. package/fjs/media/proof.f.js +58 -0
  167. package/fjs/media/revision/module.f.d.ts +78 -0
  168. package/fjs/media/revision/module.f.js +122 -0
  169. package/fjs/media/revision/proof.f.d.ts +31 -0
  170. package/fjs/media/revision/proof.f.js +140 -0
  171. package/{fs/mime → fjs/media/type}/module.f.d.ts +6 -6
  172. package/{fs/mime → fjs/media/type}/module.f.js +6 -6
  173. package/{fs/mime → fjs/media/type}/proof.f.js +8 -12
  174. package/fjs/module.f.d.ts +2 -0
  175. package/{fs/fjs → fjs}/module.f.js +9 -9
  176. package/fjs/module.js +4 -0
  177. package/{fs → fjs}/path/module.f.js +2 -2
  178. package/{fs → fjs}/path/proof.f.js +27 -78
  179. package/{fs/fjs → fjs}/proof.f.js +6 -4
  180. package/{fs → fjs}/sul/id/module.f.js +9 -9
  181. package/{fs → fjs}/sul/id/proof.f.js +12 -26
  182. package/{fs → fjs}/sul/level/hash/module.f.js +3 -3
  183. package/{fs → fjs}/sul/level/hash/proof.f.js +8 -8
  184. package/{fs → fjs}/sul/level/literal/module.f.js +5 -5
  185. package/{fs → fjs}/sul/level/literal/proof.f.js +15 -29
  186. package/{fs → fjs}/sul/module.f.js +3 -3
  187. package/{fs → fjs}/sul/proof.f.js +3 -3
  188. package/fjs/text/ascii/proof.f.d.ts +6 -0
  189. package/fjs/text/ascii/proof.f.js +14 -0
  190. package/{fs → fjs}/text/code_point/module.f.js +12 -12
  191. package/{fs → fjs}/text/code_point/proof.f.js +1 -1
  192. package/{fs → fjs}/text/module.f.js +5 -5
  193. package/{fs → fjs}/text/proof.f.js +7 -12
  194. package/{fs → fjs}/text/sgr/module.f.js +2 -2
  195. package/{fs → fjs}/text/sgr/proof.f.js +8 -17
  196. package/{fs → fjs}/text/utf16/module.f.js +6 -6
  197. package/{fs → fjs}/text/utf16/proof.f.js +27 -70
  198. package/{fs → fjs}/text/utf8/module.f.js +22 -17
  199. package/{fs → fjs}/text/utf8/proof.f.js +59 -128
  200. package/{fs → fjs}/types/array/module.f.js +1 -1
  201. package/{fs → fjs}/types/array/proof.f.js +21 -55
  202. package/{fs → fjs}/types/bigfloat/module.f.js +1 -1
  203. package/fjs/types/bigfloat/proof.f.js +217 -0
  204. package/{fs → fjs}/types/bigint/module.f.js +2 -2
  205. package/{fs → fjs}/types/bigint/proof.f.js +51 -147
  206. package/{fs → fjs}/types/bit_vec/module.f.js +8 -8
  207. package/{fs → fjs}/types/bit_vec/proof.f.js +76 -218
  208. package/{fs → fjs}/types/btree/find/module.f.js +1 -1
  209. package/fjs/types/btree/find/proof.f.d.ts +3 -0
  210. package/fjs/types/btree/find/proof.f.js +108 -0
  211. package/{fs → fjs}/types/btree/module.f.js +2 -2
  212. package/fjs/types/btree/proof.f.d.ts +13 -0
  213. package/{fs → fjs}/types/btree/proof.f.js +12 -19
  214. package/{fs → fjs}/types/btree/remove/module.f.js +4 -4
  215. package/fjs/types/btree/remove/proof.f.d.ts +9 -0
  216. package/{fs → fjs}/types/btree/remove/proof.f.js +88 -235
  217. package/{fs → fjs}/types/btree/set/module.f.js +8 -5
  218. package/{fs → fjs}/types/btree/set/proof.f.js +39 -28
  219. package/{fs → fjs}/types/byte_set/module.f.js +2 -2
  220. package/fjs/types/byte_set/proof.f.js +79 -0
  221. package/{fs → fjs}/types/function/compare/proof.f.js +14 -37
  222. package/fjs/types/function/operator/proof.f.d.ts +23 -0
  223. package/{fs → fjs}/types/function/operator/proof.f.js +18 -49
  224. package/{fs → fjs}/types/function/proof.f.js +3 -4
  225. package/{fs → fjs}/types/list/module.f.js +2 -2
  226. package/fjs/types/list/proof.f.d.ts +30 -0
  227. package/{fs → fjs}/types/list/proof.f.js +59 -167
  228. package/{fs → fjs}/types/map/proof.f.js +6 -14
  229. package/fjs/types/nibble_set/proof.f.js +60 -0
  230. package/{fs → fjs}/types/nominal/proof.f.js +5 -10
  231. package/{fs → fjs}/types/nullable/module.f.js +2 -2
  232. package/fjs/types/nullable/proof.f.js +29 -0
  233. package/{fs → fjs}/types/number/module.f.js +5 -5
  234. package/{fs → fjs}/types/number/proof.f.js +10 -25
  235. package/{fs → fjs}/types/object/module.f.js +4 -4
  236. package/{fs → fjs}/types/object/proof.f.js +4 -7
  237. package/{fs → fjs}/types/ordered_map/module.f.js +6 -6
  238. package/{fs → fjs}/types/ordered_map/proof.f.js +3 -3
  239. package/fjs/types/patricia_trie/proof.f.d.ts +13 -0
  240. package/{fs → fjs}/types/patricia_trie/proof.f.js +22 -22
  241. package/{fs → fjs}/types/prime_field/module.f.js +3 -8
  242. package/{fs → fjs}/types/prime_field/proof.f.js +2 -2
  243. package/{fs → fjs}/types/range/module.f.d.ts +1 -1
  244. package/fjs/types/range/module.f.js +2 -0
  245. package/fjs/types/range/proof.f.js +9 -0
  246. package/{fs → fjs}/types/range_map/module.f.js +4 -4
  247. package/{fs → fjs}/types/range_map/proof.f.js +35 -88
  248. package/{fs → fjs}/types/result/module.js +1 -1
  249. package/fjs/types/result/proof.f.d.ts +12 -0
  250. package/fjs/types/result/proof.f.js +31 -0
  251. package/{fs → fjs}/types/rtti/common/module.f.d.ts +36 -1
  252. package/{fs → fjs}/types/rtti/common/module.f.js +48 -4
  253. package/fjs/types/rtti/common/proof.f.d.ts +8 -0
  254. package/fjs/types/rtti/common/proof.f.js +51 -0
  255. package/{fs → fjs}/types/rtti/module.f.d.ts +2 -2
  256. package/{fs → fjs}/types/rtti/module.f.js +1 -1
  257. package/{fs → fjs}/types/rtti/parse/module.f.js +16 -25
  258. package/{fs → fjs}/types/rtti/parse/proof.f.js +9 -20
  259. package/{fs → fjs}/types/rtti/ts/module.f.d.ts +10 -4
  260. package/{fs → fjs}/types/rtti/ts/module.f.js +1 -1
  261. package/{fs → fjs}/types/rtti/ts/proof.f.js +2 -2
  262. package/{fs → fjs}/types/rtti/validate/module.f.js +11 -32
  263. package/{fs → fjs}/types/rtti/validate/proof.f.js +6 -11
  264. package/{fs → fjs}/types/sorted_list/module.f.js +3 -3
  265. package/{fs → fjs}/types/sorted_list/proof.f.js +14 -27
  266. package/{fs → fjs}/types/sorted_set/module.f.js +1 -1
  267. package/{fs → fjs}/types/sorted_set/proof.f.js +20 -45
  268. package/{fs → fjs}/types/string/module.f.js +4 -4
  269. package/fjs/types/string/proof.f.js +77 -0
  270. package/{fs → fjs}/types/string_set/module.f.js +6 -6
  271. package/fjs/types/string_set/proof.f.js +43 -0
  272. package/{fs → fjs}/types/ts/proof.f.d.ts +18 -18
  273. package/{fs → fjs}/types/ts/proof.f.js +16 -43
  274. package/{fs → fjs}/types/uint8array/module.f.js +10 -10
  275. package/{fs → fjs}/types/uint8array/proof.f.d.ts +4 -1
  276. package/{fs → fjs}/types/uint8array/proof.f.js +11 -11
  277. package/{fs → fjs}/website/module.f.js +3 -3
  278. package/fjs/website/proof.f.js +13 -0
  279. package/package.json +8 -8
  280. package/fs/asserts/module.f.d.ts +0 -4
  281. package/fs/asserts/module.f.js +0 -9
  282. package/fs/asserts/proof.f.d.ts +0 -8
  283. package/fs/asserts/proof.f.js +0 -51
  284. package/fs/bnf/data/module.f.d.ts +0 -30
  285. package/fs/bnf/descent/module.f.js +0 -119
  286. package/fs/bnf/proof.f.js +0 -104
  287. package/fs/cas/mcp/module.f.d.ts +0 -36
  288. package/fs/cas/mcp/module.f.js +0 -249
  289. package/fs/ci/config/module.f.d.ts +0 -43
  290. package/fs/ci/deno/module.f.js +0 -16
  291. package/fs/crypto/pow/proof.f.js +0 -161
  292. package/fs/djs/examples/m.f.d.ts +0 -2
  293. package/fs/djs/tokenizer/module.f.d.ts +0 -12
  294. package/fs/djs/tokenizer/module.f.js +0 -62
  295. package/fs/djs/tokenizer/proof.f.d.ts +0 -7
  296. package/fs/djs/tokenizer/proof.f.js +0 -543
  297. package/fs/djs/tokenizer-new/module.f.d.ts +0 -3
  298. package/fs/djs/tokenizer-new/module.f.js +0 -155
  299. package/fs/djs/transpiler/proof.f.js +0 -68
  300. package/fs/emergent_testing/all.test.js +0 -4
  301. package/fs/emergent_testing/scenarios/all.js +0 -1
  302. package/fs/fjs/module.f.d.ts +0 -2
  303. package/fs/fjs/module.js +0 -4
  304. package/fs/json/module.f.d.ts +0 -50
  305. package/fs/json/rpc/module.f.d.ts +0 -114
  306. package/fs/json/schema/module.f.d.ts +0 -77
  307. package/fs/text/ascii/proof.f.d.ts +0 -4
  308. package/fs/text/ascii/proof.f.js +0 -24
  309. package/fs/types/bigfloat/proof.f.js +0 -348
  310. package/fs/types/btree/find/proof.f.js +0 -151
  311. package/fs/types/btree/proof.f.d.ts +0 -7
  312. package/fs/types/btree/remove/proof.f.d.ts +0 -4
  313. package/fs/types/byte_set/proof.f.js +0 -120
  314. package/fs/types/function/operator/proof.f.d.ts +0 -12
  315. package/fs/types/list/proof.f.d.ts +0 -22
  316. package/fs/types/nibble_set/proof.f.js +0 -89
  317. package/fs/types/nullable/proof.f.js +0 -50
  318. package/fs/types/patricia_trie/proof.f.d.ts +0 -7
  319. package/fs/types/range/module.f.js +0 -2
  320. package/fs/types/range/proof.f.d.ts +0 -1
  321. package/fs/types/range/proof.f.js +0 -18
  322. package/fs/types/result/proof.f.d.ts +0 -6
  323. package/fs/types/result/proof.f.js +0 -52
  324. package/fs/types/string/proof.f.js +0 -118
  325. package/fs/types/string_set/proof.f.js +0 -82
  326. package/fs/website/proof.f.js +0 -16
  327. /package/{fs → fjs}/asn.1/module.f.d.ts +0 -0
  328. /package/{fs → fjs}/asn.1/proof.f.d.ts +0 -0
  329. /package/{fs → fjs}/base_n/module.f.d.ts +0 -0
  330. /package/{fs → fjs}/base_n/proof.f.d.ts +0 -0
  331. /package/{fs → fjs/basen}/base128/proof.f.d.ts +0 -0
  332. /package/{fs → fjs/basen}/cbase32/proof.f.d.ts +0 -0
  333. /package/{fs → fjs}/bnf/proof.f.d.ts +0 -0
  334. /package/{fs → fjs}/bnf/testlib.f.d.ts +0 -0
  335. /package/{fs → fjs}/cas/cli/module.f.d.ts +0 -0
  336. /package/{fs → fjs}/ci/bun/module.f.d.ts +0 -0
  337. /package/{fs → fjs}/ci/deno/module.f.d.ts +0 -0
  338. /package/{fs → fjs}/ci/module.f.d.ts +0 -0
  339. /package/{fs → fjs}/ci/playwright/module.f.d.ts +0 -0
  340. /package/{fs → fjs}/ci/proof.f.d.ts +0 -0
  341. /package/{fs → fjs}/ci/rust/module.f.d.ts +0 -0
  342. /package/{fs → fjs}/cli/module.f.d.ts +0 -0
  343. /package/{fs → fjs}/cli/proof.f.d.ts +0 -0
  344. /package/{fs/types → fjs/common}/monoid/module.f.js +0 -0
  345. /package/{fs/types → fjs/common}/monoid/proof.f.d.ts +0 -0
  346. /package/{fs → fjs}/crypto/hmac/module.f.d.ts +0 -0
  347. /package/{fs → fjs}/crypto/hmac/proof.f.d.ts +0 -0
  348. /package/{fs → fjs}/crypto/pow/module.f.d.ts +0 -0
  349. /package/{fs → fjs}/crypto/pow/proof.f.d.ts +0 -0
  350. /package/{fs → fjs}/crypto/secp/module.f.d.ts +0 -0
  351. /package/{fs → fjs}/crypto/secp/proof.f.d.ts +0 -0
  352. /package/{fs → fjs}/crypto/sha2/module.f.d.ts +0 -0
  353. /package/{fs → fjs}/crypto/sha2/proof.f.d.ts +0 -0
  354. /package/{fs → fjs}/crypto/sign/proof.f.d.ts +0 -0
  355. /package/{fs → fjs}/crypto/vdf/module.f.d.ts +0 -0
  356. /package/{fs → fjs}/crypto/vdf/proof.f.d.ts +0 -0
  357. /package/{fs → fjs}/dev/module.f.d.ts +0 -0
  358. /package/{fs → fjs}/dev/package_json/module.f.d.ts +0 -0
  359. /package/{fs → fjs}/dev/package_json/proof.f.d.ts +0 -0
  360. /package/{fs → fjs}/dev/proof.f.d.ts +0 -0
  361. /package/{fs → fjs}/djs/ast/module.f.d.ts +0 -0
  362. /package/{fs → fjs}/djs/ast/proof.f.d.ts +0 -0
  363. /package/{fs → fjs}/djs/examples/input.f.d.ts +0 -0
  364. /package/{fs → fjs}/djs/examples/input.f.js +0 -0
  365. /package/{fs → fjs}/djs/examples/m.f.js +0 -0
  366. /package/{fs → fjs}/djs/parser/proof.f.d.ts +0 -0
  367. /package/{fs → fjs}/djs/proof.f.d.ts +0 -0
  368. /package/{fs → fjs}/djs/serializer/module.f.d.ts +0 -0
  369. /package/{fs → fjs}/djs/serializer/proof.f.d.ts +0 -0
  370. /package/{fs → fjs}/effects/list/module.f.d.ts +0 -0
  371. /package/{fs → fjs}/effects/list/module.f.js +0 -0
  372. /package/{fs → fjs}/effects/memory/module.f.d.ts +0 -0
  373. /package/{fs → fjs}/effects/memory/proof.f.d.ts +0 -0
  374. /package/{fs → fjs}/effects/mock/module.f.d.ts +0 -0
  375. /package/{fs → fjs}/effects/mock/module.f.js +0 -0
  376. /package/{fs → fjs}/effects/module.d.ts +0 -0
  377. /package/{fs → fjs}/effects/module.f.d.ts +0 -0
  378. /package/{fs → fjs}/effects/module.js +0 -0
  379. /package/{fs → fjs}/effects/node/memory/module.d.ts +0 -0
  380. /package/{fs → fjs}/effects/node/memory/proof.d.ts +0 -0
  381. /package/{fs → fjs}/effects/node/virtual/module.f.d.ts +0 -0
  382. /package/{fs → fjs}/effects/proof.f.d.ts +0 -0
  383. /package/{fs → fjs}/emergent_testing/all.test.d.ts +0 -0
  384. /package/{fs → fjs}/emergent_testing/example.f.js +0 -0
  385. /package/{fs → fjs}/emergent_testing/module.f.d.ts +0 -0
  386. /package/{fs → fjs}/emergent_testing/scenarios/all.d.ts +0 -0
  387. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.fail.d.ts +0 -0
  388. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.fail.js +0 -0
  389. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.pass.d.ts +0 -0
  390. /package/{fs → fjs}/emergent_testing/scenarios/async-subtests.pass.js +0 -0
  391. /package/{fs → fjs}/emergent_testing/scenarios/async.fail.d.ts +0 -0
  392. /package/{fs → fjs}/emergent_testing/scenarios/async.fail.js +0 -0
  393. /package/{fs → fjs}/emergent_testing/scenarios/async.pass.d.ts +0 -0
  394. /package/{fs → fjs}/emergent_testing/scenarios/async.pass.js +0 -0
  395. /package/{fs → fjs}/emergent_testing/scenarios/fail.fail.d.ts +0 -0
  396. /package/{fs → fjs}/emergent_testing/scenarios/fail.fail.js +0 -0
  397. /package/{fs → fjs}/emergent_testing/scenarios/return-value.pass.d.ts +0 -0
  398. /package/{fs → fjs}/emergent_testing/scenarios/return-value.pass.js +0 -0
  399. /package/{fs → fjs}/emergent_testing/scenarios/thenable.pass.d.ts +0 -0
  400. /package/{fs → fjs}/emergent_testing/scenarios/thenable.pass.js +0 -0
  401. /package/{fs → fjs}/emergent_testing/scenarios/thenable2.pass.d.ts +0 -0
  402. /package/{fs → fjs}/emergent_testing/scenarios/thenable2.pass.js +0 -0
  403. /package/{fs → fjs}/emergent_testing/scenarios/throw.pass.d.ts +0 -0
  404. /package/{fs → fjs}/emergent_testing/scenarios/throw.pass.js +0 -0
  405. /package/{fs → fjs}/fsc/bnf.f.d.ts +0 -0
  406. /package/{fs → fjs}/fsc/json.f.d.ts +0 -0
  407. /package/{fs → fjs}/fsc/module.f.d.ts +0 -0
  408. /package/{fs → fjs}/fsc/proof.f.d.ts +0 -0
  409. /package/{fs → fjs}/fsm/module.f.d.ts +0 -0
  410. /package/{fs → fjs}/fsm/proof.f.d.ts +0 -0
  411. /package/{fs → fjs}/js/tokenizer/module.f.d.ts +0 -0
  412. /package/{fs → fjs}/js/tokenizer/proof.f.d.ts +0 -0
  413. /package/{fs → fjs}/mcp/proof.f.d.ts +0 -0
  414. /package/{fs → fjs}/mcp/stdio/proof.f.d.ts +0 -0
  415. /package/{fs → fjs/media}/html/proof.f.d.ts +0 -0
  416. /package/{fs → fjs/media}/json/parser/proof.f.d.ts +0 -0
  417. /package/{fs → fjs/media}/json/proof.f.d.ts +0 -0
  418. /package/{fs → fjs/media}/json/rpc/proof.f.d.ts +0 -0
  419. /package/{fs → fjs/media}/json/schema/proof.f.d.ts +0 -0
  420. /package/{fs → fjs/media}/json/serializer/proof.f.d.ts +0 -0
  421. /package/{fs → fjs/media}/json/tokenizer/proof.f.d.ts +0 -0
  422. /package/{fs/mime → fjs/media/type}/proof.f.d.ts +0 -0
  423. /package/{fs/fjs → fjs}/module.d.ts +0 -0
  424. /package/{fs → fjs}/path/module.f.d.ts +0 -0
  425. /package/{fs → fjs}/path/proof.f.d.ts +0 -0
  426. /package/{fs/fjs → fjs}/proof.f.d.ts +0 -0
  427. /package/{fs → fjs}/sul/id/module.f.d.ts +0 -0
  428. /package/{fs → fjs}/sul/id/proof.f.d.ts +0 -0
  429. /package/{fs → fjs}/sul/level/hash/module.f.d.ts +0 -0
  430. /package/{fs → fjs}/sul/level/hash/proof.f.d.ts +0 -0
  431. /package/{fs → fjs}/sul/level/literal/module.f.d.ts +0 -0
  432. /package/{fs → fjs}/sul/level/literal/proof.f.d.ts +0 -0
  433. /package/{fs → fjs}/sul/module.f.d.ts +0 -0
  434. /package/{fs → fjs}/sul/proof.f.d.ts +0 -0
  435. /package/{fs → fjs}/text/ascii/module.f.d.ts +0 -0
  436. /package/{fs → fjs}/text/ascii/module.f.js +0 -0
  437. /package/{fs → fjs}/text/code_point/module.f.d.ts +0 -0
  438. /package/{fs → fjs}/text/code_point/proof.f.d.ts +0 -0
  439. /package/{fs → fjs}/text/module.f.d.ts +0 -0
  440. /package/{fs → fjs}/text/proof.f.d.ts +0 -0
  441. /package/{fs → fjs}/text/sgr/module.f.d.ts +0 -0
  442. /package/{fs → fjs}/text/sgr/proof.f.d.ts +0 -0
  443. /package/{fs → fjs}/text/utf16/module.f.d.ts +0 -0
  444. /package/{fs → fjs}/text/utf16/proof.f.d.ts +0 -0
  445. /package/{fs → fjs}/text/utf8/module.f.d.ts +0 -0
  446. /package/{fs → fjs}/text/utf8/proof.f.d.ts +0 -0
  447. /package/{fs → fjs}/types/array/module.f.d.ts +0 -0
  448. /package/{fs → fjs}/types/array/proof.f.d.ts +0 -0
  449. /package/{fs → fjs}/types/bigfloat/module.f.d.ts +0 -0
  450. /package/{fs → fjs}/types/bigfloat/proof.f.d.ts +0 -0
  451. /package/{fs → fjs}/types/bigint/module.f.d.ts +0 -0
  452. /package/{fs → fjs}/types/bigint/proof.f.d.ts +0 -0
  453. /package/{fs → fjs}/types/bit_vec/module.f.d.ts +0 -0
  454. /package/{fs → fjs}/types/bit_vec/proof.f.d.ts +0 -0
  455. /package/{fs → fjs}/types/btree/find/module.f.d.ts +0 -0
  456. /package/{fs → fjs}/types/btree/module.f.d.ts +0 -0
  457. /package/{fs → fjs}/types/btree/remove/module.f.d.ts +0 -0
  458. /package/{fs → fjs}/types/btree/set/module.f.d.ts +0 -0
  459. /package/{fs → fjs}/types/btree/set/proof.f.d.ts +0 -0
  460. /package/{fs → fjs}/types/btree/types/module.f.d.ts +0 -0
  461. /package/{fs → fjs}/types/btree/types/module.f.js +0 -0
  462. /package/{fs → fjs}/types/byte_set/module.f.d.ts +0 -0
  463. /package/{fs → fjs}/types/byte_set/proof.f.d.ts +0 -0
  464. /package/{fs → fjs}/types/function/compare/module.f.d.ts +0 -0
  465. /package/{fs → fjs}/types/function/compare/module.f.js +0 -0
  466. /package/{fs/types/btree/find → fjs/types/function/compare}/proof.f.d.ts +0 -0
  467. /package/{fs → fjs}/types/function/module.f.d.ts +0 -0
  468. /package/{fs → fjs}/types/function/module.f.js +0 -0
  469. /package/{fs → fjs}/types/function/operator/module.f.d.ts +0 -0
  470. /package/{fs → fjs}/types/function/operator/module.f.js +0 -0
  471. /package/{fs/types/function/compare → fjs/types/function}/proof.f.d.ts +0 -0
  472. /package/{fs → fjs}/types/list/module.f.d.ts +0 -0
  473. /package/{fs → fjs}/types/map/module.f.d.ts +0 -0
  474. /package/{fs → fjs}/types/map/module.f.js +0 -0
  475. /package/{fs → fjs}/types/map/proof.f.d.ts +0 -0
  476. /package/{fs → fjs}/types/nibble_set/module.f.d.ts +0 -0
  477. /package/{fs → fjs}/types/nibble_set/module.f.js +0 -0
  478. /package/{fs → fjs}/types/nibble_set/proof.f.d.ts +0 -0
  479. /package/{fs → fjs}/types/nominal/module.f.d.ts +0 -0
  480. /package/{fs → fjs}/types/nominal/module.f.js +0 -0
  481. /package/{fs → fjs}/types/nominal/proof.f.d.ts +0 -0
  482. /package/{fs → fjs}/types/nullable/module.f.d.ts +0 -0
  483. /package/{fs → fjs}/types/nullable/proof.f.d.ts +0 -0
  484. /package/{fs → fjs}/types/number/module.f.d.ts +0 -0
  485. /package/{fs → fjs}/types/number/proof.f.d.ts +0 -0
  486. /package/{fs → fjs}/types/object/module.f.d.ts +0 -0
  487. /package/{fs → fjs}/types/object/proof.f.d.ts +0 -0
  488. /package/{fs → fjs}/types/option/module.f.d.ts +0 -0
  489. /package/{fs → fjs}/types/option/module.f.js +0 -0
  490. /package/{fs → fjs}/types/ordered_map/module.f.d.ts +0 -0
  491. /package/{fs → fjs}/types/ordered_map/proof.f.d.ts +0 -0
  492. /package/{fs → fjs}/types/patricia_trie/module.f.d.ts +0 -0
  493. /package/{fs → fjs}/types/patricia_trie/module.f.js +0 -0
  494. /package/{fs → fjs}/types/phantom/module.f.d.ts +0 -0
  495. /package/{fs → fjs}/types/phantom/module.f.js +0 -0
  496. /package/{fs → fjs}/types/prime_field/module.f.d.ts +0 -0
  497. /package/{fs → fjs}/types/prime_field/proof.f.d.ts +0 -0
  498. /package/{fs/types/function → fjs/types/range}/proof.f.d.ts +0 -0
  499. /package/{fs → fjs}/types/range_map/module.f.d.ts +0 -0
  500. /package/{fs → fjs}/types/range_map/proof.f.d.ts +0 -0
  501. /package/{fs → fjs}/types/result/module.d.ts +0 -0
  502. /package/{fs → fjs}/types/result/module.f.d.ts +0 -0
  503. /package/{fs → fjs}/types/result/module.f.js +0 -0
  504. /package/{fs → fjs}/types/rtti/parse/module.f.d.ts +0 -0
  505. /package/{fs → fjs}/types/rtti/parse/proof.f.d.ts +0 -0
  506. /package/{fs → fjs}/types/rtti/proof.f.d.ts +0 -0
  507. /package/{fs → fjs}/types/rtti/proof.f.js +0 -0
  508. /package/{fs → fjs}/types/rtti/ts/proof.f.d.ts +0 -0
  509. /package/{fs → fjs}/types/rtti/validate/module.f.d.ts +0 -0
  510. /package/{fs → fjs}/types/rtti/validate/proof.f.d.ts +0 -0
  511. /package/{fs → fjs}/types/sorted_list/module.f.d.ts +0 -0
  512. /package/{fs → fjs}/types/sorted_list/proof.f.d.ts +0 -0
  513. /package/{fs → fjs}/types/sorted_set/module.f.d.ts +0 -0
  514. /package/{fs → fjs}/types/sorted_set/proof.f.d.ts +0 -0
  515. /package/{fs → fjs}/types/string/module.f.d.ts +0 -0
  516. /package/{fs → fjs}/types/string/proof.f.d.ts +0 -0
  517. /package/{fs → fjs}/types/string_set/module.f.d.ts +0 -0
  518. /package/{fs → fjs}/types/string_set/proof.f.d.ts +0 -0
  519. /package/{fs → fjs}/types/ts/module.f.d.ts +0 -0
  520. /package/{fs → fjs}/types/ts/module.f.js +0 -0
  521. /package/{fs → fjs}/types/uint8array/module.f.d.ts +0 -0
  522. /package/{fs → fjs}/website/module.f.d.ts +0 -0
  523. /package/{fs → fjs}/website/proof.f.d.ts +0 -0
@@ -1,10 +1,11 @@
1
- import { dfa, run, toRange, toUnion } from "./module.f.js";
2
- import { union } from "../types/byte_set/module.f.js";
3
- import { sort, fromEntries } from "../types/object/module.f.js";
4
- import { stringify } from "../json/module.f.js";
5
- import { identity } from "../types/function/module.f.js";
6
- import { toArray } from "../types/list/module.f.js";
7
- import { stringToList } from "../text/utf16/module.f.js";
1
+ import { dfa, run, toRange, toUnion } from './module.f.js';
2
+ import { union } from '../types/byte_set/module.f.js';
3
+ import { sort, fromEntries } from '../types/object/module.f.js';
4
+ import { stringify } from '../media/json/module.f.js';
5
+ import { identity } from '../types/function/module.f.js';
6
+ import { toArray } from '../types/list/module.f.js';
7
+ import { stringToList } from '../text/utf16/module.f.js';
8
+ import { assertEq } from '../asserts/module.f.js';
8
9
  const stringifyIdentity = stringify(identity);
9
10
  const buildDfa = () => {
10
11
  const lowercaseAlpha = toRange('az');
@@ -85,9 +86,7 @@ export const proof = {
85
86
  '["id"]'
86
87
  ];
87
88
  const expectedResult = stringifyIdentity(expectedOutput);
88
- if (result !== expectedResult) {
89
- throw result;
90
- }
89
+ assertEq(result, expectedResult);
91
90
  },
92
91
  () => {
93
92
  const dfa = buildDfa();
@@ -99,9 +98,7 @@ export const proof = {
99
98
  '["float"]'
100
99
  ];
101
100
  const expectedResult = stringifyIdentity(expectedOutput);
102
- if (result !== expectedResult) {
103
- throw result;
104
- }
101
+ assertEq(result, expectedResult);
105
102
  },
106
103
  () => {
107
104
  const dfa = buildDfa();
@@ -112,9 +109,7 @@ export const proof = {
112
109
  '[]'
113
110
  ];
114
111
  const expectedResult = stringifyIdentity(expectedOutput);
115
- if (result !== expectedResult) {
116
- throw result;
117
- }
112
+ assertEq(result, expectedResult);
118
113
  },
119
114
  () => {
120
115
  const dfa = buildDfa();
@@ -125,9 +120,7 @@ export const proof = {
125
120
  '[]'
126
121
  ];
127
122
  const expectedResult = stringifyIdentity(expectedOutput);
128
- if (result !== expectedResult) {
129
- throw result;
130
- }
123
+ assertEq(result, expectedResult);
131
124
  }
132
125
  ]
133
126
  };
@@ -5,11 +5,11 @@
5
5
  *
6
6
  * @module
7
7
  */
8
- import { strictEqual } from "../../types/function/operator/module.f.js";
9
- import { merge, fromRange, get } from "../../types/range_map/module.f.js";
10
- import { empty, stateScan, flat, toArray, reduce as listReduce, scan, map as listMap } from "../../types/list/module.f.js";
11
- import { at, fromEntries } from "../../types/ordered_map/module.f.js";
12
- import { one } from "../../types/range/module.f.js";
8
+ import { strictEqual } from '../../types/function/operator/module.f.js';
9
+ import { merge, fromRange, get } from '../../types/range_map/module.f.js';
10
+ import { empty, stateScan, flat, toArray, reduce as listReduce, scan, map as listMap } from '../../types/list/module.f.js';
11
+ import { at, fromEntries } from '../../types/ordered_map/module.f.js';
12
+ import { one } from '../../types/range/module.f.js';
13
13
  import { range,
14
14
  //
15
15
  backspace, ht, lf, ff, cr,
@@ -26,8 +26,8 @@ leftSquareBracket, reverseSolidus, rightSquareBracket, lowLine,
26
26
  //
27
27
  latinSmallLetterRange, latinSmallLetterA, latinSmallLetterB, latinSmallLetterE, latinSmallLetterF, latinSmallLetterN, latinSmallLetterR, latinSmallLetterT, latinSmallLetterU,
28
28
  //
29
- leftCurlyBracket, rightCurlyBracket, dollarSign } from "../../text/ascii/module.f.js";
30
- import { todo } from "../../asserts/module.f.js";
29
+ leftCurlyBracket, rightCurlyBracket, dollarSign } from '../../text/ascii/module.f.js';
30
+ import { todo } from '../../asserts/module.f.js';
31
31
  const { fromCharCode } = String;
32
32
  const rangeOneNine = range('19');
33
33
  const rangeSetNewLine = [
@@ -1,8 +1,8 @@
1
- import { tokenize } from "./module.f.js";
2
- import { map, toArray } from "../../types/list/module.f.js";
3
- import { stringifyAsTree } from "../../djs/serializer/module.f.js";
4
- import { sort } from "../../types/object/module.f.js";
5
- import { stringToList } from "../../text/utf16/module.f.js";
1
+ import { tokenize } from './module.f.js';
2
+ import { map, toArray } from '../../types/list/module.f.js';
3
+ import { stringifyAsTree } from '../../djs/serializer/module.f.js';
4
+ import { sort } from '../../types/object/module.f.js';
5
+ import { stringToList } from '../../text/utf16/module.f.js';
6
6
  const tokenizeString = s => toArray(map(withoutMetada)(tokenize(stringToList(s))('')));
7
7
  const tokenizeStringWithMetadata = s => toArray(tokenize(stringToList(s))(''));
8
8
  const stringify = stringifyAsTree(sort);
@@ -1,8 +1,8 @@
1
- import { type Unknown } from '../json/module.f.ts';
1
+ import { unknown, type Unknown } from '../media/json/module.f.ts';
2
2
  import type { Ts } from '../types/rtti/ts/module.f.ts';
3
3
  import { type Operation, type Effect } from '../effects/module.f.ts';
4
4
  import { type Key, type MemOp } from '../effects/memory/module.f.ts';
5
- import { type Response } from '../json/rpc/module.f.ts';
5
+ import { type Response } from '../media/json/rpc/module.f.ts';
6
6
  import type { Type } from '../types/rtti/module.f.ts';
7
7
  /** Name + version pair sent in `initialize` requests and responses. */
8
8
  export declare const implementation: {
@@ -20,7 +20,7 @@ export type ServerCapabilities = Ts<typeof serverCapabilities>;
20
20
  /** Params for the `initialize` request. */
21
21
  export declare const initializeParams: {
22
22
  readonly protocolVersion: import("../types/rtti/module.f.ts").String;
23
- readonly capabilities: () => readonly ["or", import("../types/rtti/module.f.ts").Or<[null, import("../types/rtti/module.f.ts").Boolean, import("../types/rtti/module.f.ts").Number, import("../types/rtti/module.f.ts").String]>, import("../types/rtti/module.f.ts").Type1<"record", /*elided*/ any>, import("../types/rtti/module.f.ts").Type1<"array", /*elided*/ any>];
23
+ readonly capabilities: typeof unknown;
24
24
  readonly clientInfo: {
25
25
  readonly name: import("../types/rtti/module.f.ts").String;
26
26
  readonly version: import("../types/rtti/module.f.ts").String;
@@ -44,7 +44,7 @@ export declare const initializeResult: {
44
44
  export type InitializeResult = Ts<typeof initializeResult>;
45
45
  /** Plain-text content item returned by a tool call. */
46
46
  export declare const textContent: {
47
- readonly type: "text";
47
+ readonly type: 'text';
48
48
  readonly text: import("../types/rtti/module.f.ts").String;
49
49
  };
50
50
  export type TextContent = Ts<typeof textContent>;
@@ -62,7 +62,7 @@ export declare const blobResource: {
62
62
  export type BlobResource = Ts<typeof blobResource>;
63
63
  /** An `EmbeddedResource` content item wrapping a {@link blobResource}. */
64
64
  export declare const embeddedResource: {
65
- readonly type: "resource";
65
+ readonly type: 'resource';
66
66
  readonly resource: {
67
67
  readonly uri: import("../types/rtti/module.f.ts").String;
68
68
  readonly mimeType: import("../types/rtti/module.f.ts").Or<readonly [import("../types/rtti/module.f.ts").String, undefined]>;
@@ -76,10 +76,10 @@ export type EmbeddedResource = Ts<typeof embeddedResource>;
76
76
  * `image` and `audio` variants are not modelled yet.
77
77
  */
78
78
  export declare const contentItem: import("../types/rtti/module.f.ts").Or<[{
79
- readonly type: "text";
79
+ readonly type: 'text';
80
80
  readonly text: import("../types/rtti/module.f.ts").String;
81
81
  }, {
82
- readonly type: "resource";
82
+ readonly type: 'resource';
83
83
  readonly resource: {
84
84
  readonly uri: import("../types/rtti/module.f.ts").String;
85
85
  readonly mimeType: import("../types/rtti/module.f.ts").Or<readonly [import("../types/rtti/module.f.ts").String, undefined]>;
@@ -95,7 +95,7 @@ export type ContentItem = Ts<typeof contentItem>;
95
95
  export declare const tool: {
96
96
  readonly name: import("../types/rtti/module.f.ts").String;
97
97
  readonly description: import("../types/rtti/module.f.ts").Or<readonly [import("../types/rtti/module.f.ts").String, undefined]>;
98
- readonly inputSchema: () => readonly ["or", import("../types/rtti/module.f.ts").Or<[null, import("../types/rtti/module.f.ts").Boolean, import("../types/rtti/module.f.ts").Number, import("../types/rtti/module.f.ts").String]>, import("../types/rtti/module.f.ts").Type1<"record", /*elided*/ any>, import("../types/rtti/module.f.ts").Type1<"array", /*elided*/ any>];
98
+ readonly inputSchema: typeof unknown;
99
99
  };
100
100
  export type Tool = Ts<typeof tool>;
101
101
  /**
@@ -110,22 +110,22 @@ export declare const toolsListResult: {
110
110
  readonly tools: import("../types/rtti/module.f.ts").Type1<"array", {
111
111
  readonly name: import("../types/rtti/module.f.ts").String;
112
112
  readonly description: import("../types/rtti/module.f.ts").Or<readonly [import("../types/rtti/module.f.ts").String, undefined]>;
113
- readonly inputSchema: () => readonly ["or", import("../types/rtti/module.f.ts").Or<[null, import("../types/rtti/module.f.ts").Boolean, import("../types/rtti/module.f.ts").Number, import("../types/rtti/module.f.ts").String]>, import("../types/rtti/module.f.ts").Type1<"record", /*elided*/ any>, import("../types/rtti/module.f.ts").Type1<"array", /*elided*/ any>];
113
+ readonly inputSchema: typeof unknown;
114
114
  }>;
115
115
  readonly nextCursor: import("../types/rtti/module.f.ts").Or<readonly [import("../types/rtti/module.f.ts").String, undefined]>;
116
116
  };
117
117
  export type ToolsListResult = Ts<typeof toolsListResult>;
118
118
  export declare const toolsCallParams: {
119
119
  readonly name: import("../types/rtti/module.f.ts").String;
120
- readonly arguments: import("../types/rtti/module.f.ts").Or<readonly [import("../types/rtti/module.f.ts").Type1<"record", () => readonly ["or", import("../types/rtti/module.f.ts").Or<[null, import("../types/rtti/module.f.ts").Boolean, import("../types/rtti/module.f.ts").Number, import("../types/rtti/module.f.ts").String]>, import("../types/rtti/module.f.ts").Type1<"record", /*elided*/ any>, import("../types/rtti/module.f.ts").Type1<"array", /*elided*/ any>]>, undefined]>;
120
+ readonly arguments: import("../types/rtti/module.f.ts").Or<readonly [import("../types/rtti/module.f.ts").Type1<"record", typeof unknown>, undefined]>;
121
121
  };
122
122
  export type ToolsCallParams = Ts<typeof toolsCallParams>;
123
123
  export declare const toolsCallResult: {
124
124
  readonly content: import("../types/rtti/module.f.ts").Type1<"array", import("../types/rtti/module.f.ts").Or<[{
125
- readonly type: "text";
125
+ readonly type: 'text';
126
126
  readonly text: import("../types/rtti/module.f.ts").String;
127
127
  }, {
128
- readonly type: "resource";
128
+ readonly type: 'resource';
129
129
  readonly resource: {
130
130
  readonly uri: import("../types/rtti/module.f.ts").String;
131
131
  readonly mimeType: import("../types/rtti/module.f.ts").Or<readonly [import("../types/rtti/module.f.ts").String, undefined]>;
@@ -166,6 +166,13 @@ export type ToolEntry<O extends Operation> = {
166
166
  * @returns A `ToolEntry` ready to be added to a registry
167
167
  */
168
168
  export declare const toolEntry: <T extends Type, O extends Operation>(name: string, description: string, inputRtti: T, handle: (args: Ts<T>) => Effect<O, ToolsCallResult>) => ToolEntry<O>;
169
+ /**
170
+ * Helper to create a successful single-text-block tool result.
171
+ *
172
+ * @param text - The text to return to the client
173
+ * @returns A `ToolsCallResult` with the text content
174
+ */
175
+ export declare const okResult: (text: string) => ToolsCallResult;
169
176
  /**
170
177
  * Helper to create a tool-level error result with plain text explanation.
171
178
  *
@@ -191,7 +198,7 @@ export type Handle<O extends Operation> = (value: Unknown) => Effect<O, Response
191
198
  export declare const notInitialized: import("../types/rtti/ts/module.f.ts").StructTs<{
192
199
  readonly code: import("../types/rtti/module.f.ts").Number;
193
200
  readonly message: import("../types/rtti/module.f.ts").String;
194
- readonly data: import("../types/rtti/module.f.ts").Or<readonly [() => readonly ["or", import("../types/rtti/module.f.ts").Or<[null, import("../types/rtti/module.f.ts").Boolean, import("../types/rtti/module.f.ts").Number, import("../types/rtti/module.f.ts").String]>, import("../types/rtti/module.f.ts").Type1<"record", /*elided*/ any>, import("../types/rtti/module.f.ts").Type1<"array", /*elided*/ any>], undefined]>;
201
+ readonly data: import("../types/rtti/module.f.ts").Or<readonly [typeof unknown, undefined]>;
195
202
  }>;
196
203
  /** State carried before the peer sends `initialize`. */
197
204
  export type Uninitialized = readonly ['uninitialized'];
@@ -9,17 +9,17 @@
9
9
  *
10
10
  * Each schema is both a runtime decoder (`validate(schema)`) and a static
11
11
  * TypeScript type (`Ts<typeof schema>`). Transport framing (stdio) and the
12
- * JSON-RPC dispatcher are in `fs/json/rpc/module.f.ts`.
12
+ * JSON-RPC dispatcher are in `fjs/media/json/rpc/module.f.ts`.
13
13
  *
14
14
  * @module
15
15
  */
16
- import { boolean, string, option, array, record, or } from "../types/rtti/module.f.js";
17
- import { unknown } from "../json/module.f.js";
18
- import { pure } from "../effects/module.f.js";
19
- import { read, write } from "../effects/memory/module.f.js";
20
- import { decodeRequest, rpcError, invalidRequest, invalidParams, methodNotFound, jsonrpc, } from "../json/rpc/module.f.js";
21
- import { validate } from "../types/rtti/validate/module.f.js";
22
- import { toJsonSchema } from "../json/schema/module.f.js";
16
+ import { boolean, string, option, array, record, or } from '../types/rtti/module.f.js';
17
+ import { unknown } from '../media/json/module.f.js';
18
+ import { pure } from '../effects/module.f.js';
19
+ import { read, write } from '../effects/memory/module.f.js';
20
+ import { decodeRequest, rpcError, invalidRequest, invalidParams, methodNotFound, jsonrpc, } from '../media/json/rpc/module.f.js';
21
+ import { validate } from '../types/rtti/validate/module.f.js';
22
+ import { toJsonSchema } from '../media/json/schema/module.f.js';
23
23
  // ── Shared ─────────────────────────────────────────────────────────────────────
24
24
  /** Name + version pair sent in `initialize` requests and responses. */
25
25
  export const implementation = {
@@ -125,13 +125,20 @@ export const toolEntry = (name, description, inputRtti, handle) => ({
125
125
  : handle(r);
126
126
  }
127
127
  });
128
+ /**
129
+ * Helper to create a successful single-text-block tool result.
130
+ *
131
+ * @param text - The text to return to the client
132
+ * @returns A `ToolsCallResult` with the text content
133
+ */
134
+ export const okResult = (text) => ({ content: [{ type: 'text', text }] });
128
135
  /**
129
136
  * Helper to create a tool-level error result with plain text explanation.
130
137
  *
131
138
  * @param text - The error message to return to the client
132
139
  * @returns A `ToolsCallResult` with `isError: true` and the text explanation
133
140
  */
134
- export const errorResult = (text) => ({ content: [{ type: 'text', text }], isError: true });
141
+ export const errorResult = (text) => ({ ...okResult(text), isError: true });
135
142
  /**
136
143
  * Builds `McpHandlers` from a registry of tool entries.
137
144
  *
@@ -1,8 +1,8 @@
1
- import { assert, assertEq } from "../asserts/module.f.js";
2
- import { pure } from "../effects/module.f.js";
3
- import { run } from "../effects/mock/module.f.js";
4
- import { asBase, asNominal, create, read } from "../effects/memory/module.f.js";
5
- import { uninitializedState, mcpStep, notInitialized, } from "./module.f.js";
1
+ import { assert, assertEq } from '../asserts/module.f.js';
2
+ import { pure } from '../effects/module.f.js';
3
+ import { run } from '../effects/mock/module.f.js';
4
+ import { asBase, asNominal, create, read } from '../effects/memory/module.f.js';
5
+ import { uninitializedState, mcpStep, notInitialized, } from './module.f.js';
6
6
  const initial = { next: 0, values: {} };
7
7
  const mock = {
8
8
  memCreate: value => state => {
@@ -49,16 +49,16 @@ const initNotif = { jsonrpc: '2.0', method: 'notifications/initialized' };
49
49
  export const proof = {
50
50
  lifecycle: {
51
51
  initialStateIsUninitialized: () => {
52
- assertEq(uninitializedState[0], 'uninitialized');
52
+ assert(uninitializedState[0] === 'uninitialized');
53
53
  },
54
54
  initializeTransitionsToInitializing: () => {
55
55
  const [, newState] = step1(config)(initMsg);
56
- assertEq(newState[0], 'initializing');
56
+ assert(newState[0] === 'initializing');
57
57
  },
58
58
  initializedNotificationTransitionsToInitialized: () => {
59
59
  const [resp, newState] = step2(config)(initMsg)(initNotif);
60
60
  assertEq(resp, null);
61
- assertEq(newState[0], 'initialized');
61
+ assert(newState[0] === 'initialized');
62
62
  },
63
63
  initializeReturnsResult: () => {
64
64
  const [resp] = step1(config)(initMsg);
@@ -69,12 +69,12 @@ export const proof = {
69
69
  initializeWithBadParamsReturnsInvalidParams: () => {
70
70
  const bad = { jsonrpc: '2.0', method: 'initialize', id: 2, params: { wrong: true } };
71
71
  const [resp, newState] = step1(config)(bad);
72
- assertEq(newState[0], 'uninitialized');
72
+ assert(newState[0] === 'uninitialized');
73
73
  assertEq(resp.error.code, -32602);
74
74
  },
75
75
  notificationBeforeInitReturnNull: () => {
76
76
  const [resp, newState] = step1(config)(initNotif);
77
- assertEq(newState[0], 'uninitialized');
77
+ assert(newState[0] === 'uninitialized');
78
78
  assertEq(resp, null);
79
79
  },
80
80
  unknownNotificationReturnNull: () => {
@@ -84,19 +84,19 @@ export const proof = {
84
84
  },
85
85
  doubleInitializeReturnsInvalidRequest: () => {
86
86
  const [resp, newState] = step2(config)(initMsg)(initMsg);
87
- assertEq(newState[0], 'initializing');
87
+ assert(newState[0] === 'initializing');
88
88
  assertEq(resp.error.code, -32600);
89
89
  },
90
90
  pingBeforeInitSucceeds: () => {
91
91
  const msg = { jsonrpc: '2.0', method: 'ping', id: 11 };
92
92
  const [resp, newState] = step1(config)(msg);
93
- assertEq(newState[0], 'uninitialized');
93
+ assert(newState[0] === 'uninitialized');
94
94
  assert(!('error' in resp));
95
95
  },
96
96
  pingDuringInitializingSucceeds: () => {
97
97
  const msg = { jsonrpc: '2.0', method: 'ping', id: 12 };
98
98
  const [resp, newState] = step2(config)(initMsg)(msg);
99
- assertEq(newState[0], 'initializing');
99
+ assert(newState[0] === 'initializing');
100
100
  assert(!('error' in resp));
101
101
  },
102
102
  pingAfterInitSucceeds: () => {
@@ -118,24 +118,24 @@ export const proof = {
118
118
  const notif = { jsonrpc: '2.0', method: 'notifications/initialized', params: {} };
119
119
  const [resp, newState] = step2(config)(initMsg)(notif);
120
120
  assertEq(resp, null);
121
- assertEq(newState[0], 'initialized');
121
+ assert(newState[0] === 'initialized');
122
122
  },
123
123
  initializedNotificationBadParamsIgnored: () => {
124
124
  const notif = { jsonrpc: '2.0', method: 'notifications/initialized', params: 1 };
125
125
  const [resp, newState] = step2(config)(initMsg)(notif);
126
126
  assertEq(resp, null);
127
- assertEq(newState[0], 'initializing');
127
+ assert(newState[0] === 'initializing');
128
128
  },
129
129
  methodBeforeInitReturnsNotInitialized: () => {
130
130
  const msg = { jsonrpc: '2.0', method: 'tools/list', id: 3 };
131
131
  const [resp, newState] = step1(config)(msg);
132
- assertEq(newState[0], 'uninitialized');
132
+ assert(newState[0] === 'uninitialized');
133
133
  assertEq(resp.error.code, notInitialized.code);
134
134
  },
135
135
  methodDuringInitializingReturnsNotInitialized: () => {
136
136
  const msg = { jsonrpc: '2.0', method: 'tools/list', id: 16 };
137
137
  const [resp, newState] = step2(config)(initMsg)(msg);
138
- assertEq(newState[0], 'initializing');
138
+ assert(newState[0] === 'initializing');
139
139
  assertEq(resp.error.code, notInitialized.code);
140
140
  },
141
141
  invalidEnvelopeReturnsInvalidRequest: () => {
@@ -2,10 +2,10 @@
2
2
  * stdio transport for JSON-RPC / MCP servers.
3
3
  *
4
4
  * `stdioTransport` wraps a step function — the `mcpStep`-shaped
5
- * `(value) => Effect<O, Response | null>` from `fs/mcp/module.f.ts` — in the
5
+ * `(value) => Effect<O, Response | null>` from `fjs/mcp/module.f.ts` — in the
6
6
  * canonical read → parse → dispatch → write loop, expressed as a recursive
7
7
  * effect so it stays in the pure effect model and is fully testable against a
8
- * mock stdin / stdout (see `fs/effects/node/virtual`) with no real process.
8
+ * mock stdin / stdout (see `fjs/effects/node/virtual`) with no real process.
9
9
  *
10
10
  * The loop only consumes `Read` (stdin, one byte at a time, via the pure
11
11
  * `readLine` combinator) and emits `Write` (stdout) on top of whatever `O` the
@@ -31,8 +31,8 @@
31
31
  */
32
32
  import { type Effect, type Operation } from '../../effects/module.f.ts';
33
33
  import { type Read, type Write } from '../../effects/node/module.f.ts';
34
- import { type Unknown } from '../../json/module.f.ts';
35
- import { type Response } from '../../json/rpc/module.f.ts';
34
+ import { type Unknown } from '../../media/json/module.f.ts';
35
+ import { type Response } from '../../media/json/rpc/module.f.ts';
36
36
  /**
37
37
  * A transport step: maps one parsed JSON-RPC message to a response, or `null`
38
38
  * for a notification that needs no reply. The shape of `mcpStep(config)(handlers)(key)`.
@@ -2,10 +2,10 @@
2
2
  * stdio transport for JSON-RPC / MCP servers.
3
3
  *
4
4
  * `stdioTransport` wraps a step function — the `mcpStep`-shaped
5
- * `(value) => Effect<O, Response | null>` from `fs/mcp/module.f.ts` — in the
5
+ * `(value) => Effect<O, Response | null>` from `fjs/mcp/module.f.ts` — in the
6
6
  * canonical read → parse → dispatch → write loop, expressed as a recursive
7
7
  * effect so it stays in the pure effect model and is fully testable against a
8
- * mock stdin / stdout (see `fs/effects/node/virtual`) with no real process.
8
+ * mock stdin / stdout (see `fjs/effects/node/virtual`) with no real process.
9
9
  *
10
10
  * The loop only consumes `Read` (stdin, one byte at a time, via the pure
11
11
  * `readLine` combinator) and emits `Write` (stdout) on top of whatever `O` the
@@ -29,16 +29,16 @@
29
29
  *
30
30
  * @module
31
31
  */
32
- import { pure } from "../../effects/module.f.js";
33
- import { readLine, write } from "../../effects/node/module.f.js";
34
- import { tryUtf8 } from "../../text/module.f.js";
35
- import { stringToList } from "../../text/utf16/module.f.js";
36
- import { stringify } from "../../json/module.f.js";
37
- import { tokenize } from "../../json/tokenizer/module.f.js";
38
- import { parse } from "../../json/parser/module.f.js";
39
- import { sort } from "../../types/object/module.f.js";
40
- import { internalError, jsonrpc, parseError } from "../../json/rpc/module.f.js";
41
- import { error, ok } from "../../types/result/module.f.js";
32
+ import { pure } from '../../effects/module.f.js';
33
+ import { readLine, write } from '../../effects/node/module.f.js';
34
+ import { tryUtf8 } from '../../text/module.f.js';
35
+ import { stringToList } from '../../text/utf16/module.f.js';
36
+ import { stringify } from '../../media/json/module.f.js';
37
+ import { tokenize } from '../../media/json/tokenizer/module.f.js';
38
+ import { parse } from '../../media/json/parser/module.f.js';
39
+ import { sort } from '../../types/object/module.f.js';
40
+ import { internalError, jsonrpc, parseError } from '../../media/json/rpc/module.f.js';
41
+ import { error, ok } from '../../types/result/module.f.js';
42
42
  const stringifyJson = stringify(sort);
43
43
  /** The parse-error response (`-32700`, `id: null`) for a malformed input line. */
44
44
  const parseErrorResponse = { jsonrpc, error: parseError, id: null };
@@ -1,13 +1,13 @@
1
- import { assertEq } from "../../asserts/module.f.js";
2
- import { pure } from "../../effects/module.f.js";
3
- import { emptyState, virtual } from "../../effects/node/virtual/module.f.js";
4
- import { stringify } from "../../json/module.f.js";
5
- import { utf8 } from "../../text/module.f.js";
6
- import { fromVec } from "../../types/uint8array/module.f.js";
7
- import { maxLengthBytes } from "../../types/bit_vec/module.f.js";
8
- import { sort } from "../../types/object/module.f.js";
9
- import { internalError, jsonrpc, parseError } from "../../json/rpc/module.f.js";
10
- import { stdioTransport } from "./module.f.js";
1
+ import { assertEq } from '../../asserts/module.f.js';
2
+ import { pure } from '../../effects/module.f.js';
3
+ import { emptyState, virtual } from '../../effects/node/virtual/module.f.js';
4
+ import { stringify } from '../../media/json/module.f.js';
5
+ import { utf8 } from '../../text/module.f.js';
6
+ import { fromVec } from '../../types/uint8array/module.f.js';
7
+ import { maxLengthBytes } from '../../types/bit_vec/module.f.js';
8
+ import { sort } from '../../types/object/module.f.js';
9
+ import { internalError, jsonrpc, parseError } from '../../media/json/rpc/module.f.js';
10
+ import { stdioTransport } from './module.f.js';
11
11
  const stringifyJson = stringify(sort);
12
12
  // Extracts the request `id` (a request has one; a notification does not).
13
13
  const idOf = (value) => value !== null && typeof value === 'object' && !(value instanceof Array)
@@ -4,9 +4,9 @@
4
4
  *
5
5
  * @module
6
6
  */
7
- import { type List } from '../types/list/module.f.ts';
8
- import { type StringMap } from '../types/object/module.f.ts';
9
- import { type Vec } from '../types/bit_vec/module.f.ts';
7
+ import { type List } from '../../types/list/module.f.ts';
8
+ import { type StringMap } from '../../types/object/module.f.ts';
9
+ import { type Vec } from '../../types/bit_vec/module.f.ts';
10
10
  type Tag = string;
11
11
  type Element1 = readonly [Tag, ...Node[]];
12
12
  type Element2 = readonly [Tag, Attributes, ...Node[]];
@@ -4,15 +4,15 @@
4
4
  *
5
5
  * @module
6
6
  */
7
- import { map, flatMap, flat, concat as listConcat } from "../types/list/module.f.js";
8
- import { concat, concat as stringConcat } from "../types/string/module.f.js";
9
- import { definedEntries } from "../types/object/module.f.js";
10
- import { compose } from "../types/function/module.f.js";
11
- import { stringToList } from "../text/utf16/module.f.js";
12
- import { includes } from "../types/array/module.f.js";
13
- import {} from "../types/bit_vec/module.f.js";
14
- import { utf8 } from "../text/module.f.js";
15
- import { quotationMark, ampersand, lessThanSign, greaterThanSign } from "../text/ascii/module.f.js";
7
+ import { map, flatMap, flat, concat as listConcat } from '../../types/list/module.f.js';
8
+ import { concat, concat as stringConcat } from '../../types/string/module.f.js';
9
+ import { definedEntries } from '../../types/object/module.f.js';
10
+ import { compose } from '../../types/function/module.f.js';
11
+ import { stringToList } from '../../text/utf16/module.f.js';
12
+ import { includes } from '../../types/array/module.f.js';
13
+ import {} from '../../types/bit_vec/module.f.js';
14
+ import { utf8 } from '../../text/module.f.js';
15
+ import { quotationMark, ampersand, lessThanSign, greaterThanSign } from '../../text/ascii/module.f.js';
16
16
  const { fromCharCode } = String;
17
17
  /**
18
18
  * Void Elements
@@ -1,4 +1,5 @@
1
1
  import { htmlToString } from "./module.f.js";
2
+ import { assertEq } from '../../asserts/module.f.js';
2
3
  export const proof = {
3
4
  empty: () => {
4
5
  const r = htmlToString(['html']);
@@ -8,79 +9,57 @@ export const proof = {
8
9
  },
9
10
  empty2: () => {
10
11
  const r = htmlToString(['html']);
11
- if (r !== '<!DOCTYPE html><html></html>') {
12
- throw r;
13
- }
12
+ assertEq(r, '<!DOCTYPE html><html></html>');
14
13
  },
15
14
  void: () => {
16
15
  const r = htmlToString(['area']);
17
- if (r !== '<!DOCTYPE html><area>') {
18
- throw r;
19
- }
16
+ assertEq(r, '<!DOCTYPE html><area>');
20
17
  },
21
18
  some: () => {
22
19
  const x = ['div', {}, '<div>&amp;</div>', ['a', { href: 'hello"' }]];
23
20
  const s = htmlToString(x);
24
- if (s !== '<!DOCTYPE html><div>&lt;div&gt;&amp;amp;&lt;/div&gt;<a href="hello&quot;"></a></div>') {
25
- throw s;
26
- }
21
+ assertEq(s, '<!DOCTYPE html><div>&lt;div&gt;&amp;amp;&lt;/div&gt;<a href="hello&quot;"></a></div>');
27
22
  },
28
23
  some2: () => {
29
24
  const x = ['div', '<div>&amp;</div>', ['a', { href: 'hello"' }]];
30
25
  const s = htmlToString(x);
31
- if (s !== '<!DOCTYPE html><div>&lt;div&gt;&amp;amp;&lt;/div&gt;<a href="hello&quot;"></a></div>') {
32
- throw s;
33
- }
26
+ assertEq(s, '<!DOCTYPE html><div>&lt;div&gt;&amp;amp;&lt;/div&gt;<a href="hello&quot;"></a></div>');
34
27
  },
35
28
  someVoid: () => {
36
29
  const x = ['div', ['br', { id: '5' }], '<div>&amp;</div>', ['a', { href: 'hello"' }]];
37
30
  const s = htmlToString(x);
38
- if (s !== '<!DOCTYPE html><div><br id="5">&lt;div&gt;&amp;amp;&lt;/div&gt;<a href="hello&quot;"></a></div>') {
39
- throw s;
40
- }
31
+ assertEq(s, '<!DOCTYPE html><div><br id="5">&lt;div&gt;&amp;amp;&lt;/div&gt;<a href="hello&quot;"></a></div>');
41
32
  },
42
33
  raw: {
43
34
  script: () => {
44
35
  const x = ['script', { id: 'a<' }, 'const a = ', 'a<b>c'];
45
36
  const s = htmlToString(x);
46
- if (s !== '<!DOCTYPE html><script id="a&lt;">const a = a<b>c</script>') {
47
- throw s;
48
- }
37
+ assertEq(s, '<!DOCTYPE html><script id="a&lt;">const a = a<b>c</script>');
49
38
  },
50
39
  scriptEsc: () => {
51
40
  const x = ['script', { id: 'a<' }, '<', '/script>'];
52
41
  const s = htmlToString(x);
53
- if (s !== '<!DOCTYPE html><script id="a&lt;"><\\/script></script>') {
54
- throw s;
55
- }
42
+ assertEq(s, '<!DOCTYPE html><script id="a&lt;"><\\/script></script>');
56
43
  },
57
44
  style: () => {
58
45
  const x = ['style', { id: 'a<' }, 'const a = ', 'a<b>c'];
59
46
  const s = htmlToString(x);
60
- if (s !== '<!DOCTYPE html><style id="a&lt;">const a = a<b>c</style>') {
61
- throw s;
62
- }
47
+ assertEq(s, '<!DOCTYPE html><style id="a&lt;">const a = a<b>c</style>');
63
48
  },
64
49
  styleEsc: () => {
65
50
  const x = ['style', { id: 'a<' }, '</', 'stYle>'];
66
51
  const s = htmlToString(x);
67
- if (s !== '<!DOCTYPE html><style id="a&lt;"><\\/stYle></style>') {
68
- throw s;
69
- }
52
+ assertEq(s, '<!DOCTYPE html><style id="a&lt;"><\\/stYle></style>');
70
53
  },
71
54
  noRaw: () => {
72
55
  const x = ['div', { id: 'a<' }, 'const a = ', 'a<b>c'];
73
56
  const s = htmlToString(x);
74
- if (s !== '<!DOCTYPE html><div id="a&lt;">const a = a&lt;b&gt;c</div>') {
75
- throw s;
76
- }
57
+ assertEq(s, '<!DOCTYPE html><div id="a&lt;">const a = a&lt;b&gt;c</div>');
77
58
  },
78
59
  elemChild: () => {
79
60
  const x = ['script', ['span', 'ignored'], 'visible'];
80
61
  const s = htmlToString(x);
81
- if (s !== '<!DOCTYPE html><script>visible</script>') {
82
- throw s;
83
- }
62
+ assertEq(s, '<!DOCTYPE html><script>visible</script>');
84
63
  },
85
64
  }
86
65
  };