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,8 +1,9 @@
1
- import { nodeRemove } from "./module.f.js";
2
- import { set as setSet } from "../set/module.f.js";
3
- import { cmp } from "../../string/module.f.js";
4
- import { stringify } from "../../../json/module.f.js";
5
- import { sort } from "../../object/module.f.js";
1
+ import { nodeRemove } from './module.f.js';
2
+ import { set as setSet } from '../set/module.f.js';
3
+ import { cmp } from '../../string/module.f.js';
4
+ import { stringify } from '../../../media/json/module.f.js';
5
+ import { sort } from '../../object/module.f.js';
6
+ import { assertEq, assertNotNullish } from '../../../asserts/module.f.js';
6
7
  const set = (node) => (value) => setSet(cmp(value))(() => value)(node);
7
8
  const remove = (node) => (value) => nodeRemove(cmp(value))(node);
8
9
  const jsonStr = stringify(sort);
@@ -24,10 +25,7 @@ const test = () => {
24
25
  }
25
26
  }
26
27
  {
27
- _map = remove(_map)("0");
28
- if (_map === null) {
29
- throw null;
30
- }
28
+ _map = assertNotNullish(remove(_map)("0"), null);
31
29
  const r = jsonStr(_map);
32
30
  if (r !==
33
31
  '[[[[["1"],"100",["1024"]],"1089",[["1156"],"121",["1225"]]],' +
@@ -41,10 +39,7 @@ const test = () => {
41
39
  }
42
40
  }
43
41
  {
44
- _map = remove(_map)("1");
45
- if (_map === null) {
46
- throw null;
47
- }
42
+ _map = assertNotNullish(remove(_map)("1"), null);
48
43
  const r = jsonStr(_map);
49
44
  if (r !==
50
45
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"]],"16",[["169"],"196",["225"]]],' +
@@ -56,10 +51,7 @@ const test = () => {
56
51
  }
57
52
  }
58
53
  {
59
- _map = remove(_map)("4");
60
- if (_map === null) {
61
- throw null;
62
- }
54
+ _map = assertNotNullish(remove(_map)("4"), null);
63
55
  const r = jsonStr(_map);
64
56
  if (r !==
65
57
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"]],"16",[["169"],"196",["225"]]],' +
@@ -71,10 +63,7 @@ const test = () => {
71
63
  }
72
64
  }
73
65
  {
74
- _map = remove(_map)("9");
75
- if (_map === null) {
76
- throw null;
77
- }
66
+ _map = assertNotNullish(remove(_map)("9"), null);
78
67
  const r = jsonStr(_map);
79
68
  if (r !==
80
69
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"]],"16",[["169"],"196",["225"]]],' +
@@ -86,10 +75,7 @@ const test = () => {
86
75
  }
87
76
  }
88
77
  {
89
- _map = remove(_map)("16");
90
- if (_map === null) {
91
- throw null;
92
- }
78
+ _map = assertNotNullish(remove(_map)("16"), null);
93
79
  const r = jsonStr(_map);
94
80
  if (r !==
95
81
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"],"169",["196","225"]]],' +
@@ -101,10 +87,7 @@ const test = () => {
101
87
  }
102
88
  }
103
89
  {
104
- _map = remove(_map)("25");
105
- if (_map === null) {
106
- throw null;
107
- }
90
+ _map = assertNotNullish(remove(_map)("25"), null);
108
91
  const r = jsonStr(_map);
109
92
  if (r !==
110
93
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"],"169",["196","225"]],"256",[["289","324"],"36",["361"],"400",["441","484"]]],' +
@@ -114,10 +97,7 @@ const test = () => {
114
97
  }
115
98
  }
116
99
  {
117
- _map = remove(_map)("36");
118
- if (_map === null) {
119
- throw null;
120
- }
100
+ _map = assertNotNullish(remove(_map)("36"), null);
121
101
  const r = jsonStr(_map);
122
102
  if (r !==
123
103
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"],"169",["196","225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -127,10 +107,7 @@ const test = () => {
127
107
  }
128
108
  }
129
109
  {
130
- _map = remove(_map)("49");
131
- if (_map === null) {
132
- throw null;
133
- }
110
+ _map = assertNotNullish(remove(_map)("49"), null);
134
111
  const r = jsonStr(_map);
135
112
  if (r !==
136
113
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"],"169",["196","225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -140,10 +117,7 @@ const test = () => {
140
117
  }
141
118
  }
142
119
  {
143
- _map = remove(_map)("64");
144
- if (_map === null) {
145
- throw null;
146
- }
120
+ _map = assertNotNullish(remove(_map)("64"), null);
147
121
  const r = jsonStr(_map);
148
122
  if (r !==
149
123
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"],"169",["196","225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -153,10 +127,7 @@ const test = () => {
153
127
  }
154
128
  }
155
129
  {
156
- _map = remove(_map)("81");
157
- if (_map === null) {
158
- throw null;
159
- }
130
+ _map = assertNotNullish(remove(_map)("81"), null);
160
131
  const r = jsonStr(_map);
161
132
  if (r !==
162
133
  '[[[["100","1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"],"169",["196","225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -166,10 +137,7 @@ const test = () => {
166
137
  }
167
138
  }
168
139
  {
169
- _map = remove(_map)("100");
170
- if (_map === null) {
171
- throw null;
172
- }
140
+ _map = assertNotNullish(remove(_map)("100"), null);
173
141
  const r = jsonStr(_map);
174
142
  if (r !==
175
143
  '[[[["1024"],"1089",["1156"],"121",["1225"]],"1296",[["1369"],"144",["1444"],"169",["196","225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -179,10 +147,7 @@ const test = () => {
179
147
  }
180
148
  }
181
149
  {
182
- _map = remove(_map)("121");
183
- if (_map === null) {
184
- throw null;
185
- }
150
+ _map = assertNotNullish(remove(_map)("121"), null);
186
151
  const r = jsonStr(_map);
187
152
  if (r !==
188
153
  '[[[["1024"],"1089",["1156","1225"]],"1296",[["1369"],"144",["1444"],"169",["196","225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -192,10 +157,7 @@ const test = () => {
192
157
  }
193
158
  }
194
159
  {
195
- _map = remove(_map)("144");
196
- if (_map === null) {
197
- throw null;
198
- }
160
+ _map = assertNotNullish(remove(_map)("144"), null);
199
161
  const r = jsonStr(_map);
200
162
  if (r !==
201
163
  '[[[["1024"],"1089",["1156","1225"]],"1296",[["1369","1444"],"169",["196","225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -205,10 +167,7 @@ const test = () => {
205
167
  }
206
168
  }
207
169
  {
208
- _map = remove(_map)("169");
209
- if (_map === null) {
210
- throw null;
211
- }
170
+ _map = assertNotNullish(remove(_map)("169"), null);
212
171
  const r = jsonStr(_map);
213
172
  if (r !==
214
173
  '[[[["1024"],"1089",["1156","1225"]],"1296",[["1369","1444"],"196",["225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -218,10 +177,7 @@ const test = () => {
218
177
  }
219
178
  }
220
179
  {
221
- _map = remove(_map)("196");
222
- if (_map === null) {
223
- throw null;
224
- }
180
+ _map = assertNotNullish(remove(_map)("196"), null);
225
181
  const r = jsonStr(_map);
226
182
  if (r !==
227
183
  '[[[["1024"],"1089",["1156","1225"]],"1296",[["1369"],"1444",["225"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -231,10 +187,7 @@ const test = () => {
231
187
  }
232
188
  }
233
189
  {
234
- _map = remove(_map)("225");
235
- if (_map === null) {
236
- throw null;
237
- }
190
+ _map = assertNotNullish(remove(_map)("225"), null);
238
191
  const r = jsonStr(_map);
239
192
  if (r !==
240
193
  '[[[["1024"],"1089",["1156","1225"],"1296",["1369","1444"]],"256",[["289"],"324",["361"],"400",["441","484"]]],' +
@@ -244,10 +197,7 @@ const test = () => {
244
197
  }
245
198
  }
246
199
  {
247
- _map = remove(_map)("256");
248
- if (_map === null) {
249
- throw null;
250
- }
200
+ _map = assertNotNullish(remove(_map)("256"), null);
251
201
  const r = jsonStr(_map);
252
202
  if (r !==
253
203
  '[[[["1024"],"1089",["1156","1225"],"1296",["1369","1444"]],"289",[["324","361"],"400",["441","484"]]],' +
@@ -257,10 +207,7 @@ const test = () => {
257
207
  }
258
208
  }
259
209
  {
260
- _map = remove(_map)("289");
261
- if (_map === null) {
262
- throw null;
263
- }
210
+ _map = assertNotNullish(remove(_map)("289"), null);
264
211
  const r = jsonStr(_map);
265
212
  if (r !==
266
213
  '[[[["1024"],"1089",["1156","1225"],"1296",["1369","1444"]],"324",[["361"],"400",["441","484"]]],' +
@@ -270,10 +217,7 @@ const test = () => {
270
217
  }
271
218
  }
272
219
  {
273
- _map = remove(_map)("324");
274
- if (_map === null) {
275
- throw null;
276
- }
220
+ _map = assertNotNullish(remove(_map)("324"), null);
277
221
  const r = jsonStr(_map);
278
222
  if (r !==
279
223
  '[[[["1024"],"1089",["1156","1225"],"1296",["1369","1444"]],"361",[["400"],"441",["484"]]],' +
@@ -283,10 +227,7 @@ const test = () => {
283
227
  }
284
228
  }
285
229
  {
286
- _map = remove(_map)("361");
287
- if (_map === null) {
288
- throw null;
289
- }
230
+ _map = assertNotNullish(remove(_map)("361"), null);
290
231
  const r = jsonStr(_map);
291
232
  if (r !==
292
233
  '[[[["1024"],"1089",["1156","1225"]],"1296",[["1369","1444"],"400",["441","484"]]],' +
@@ -296,10 +237,7 @@ const test = () => {
296
237
  }
297
238
  }
298
239
  {
299
- _map = remove(_map)("400");
300
- if (_map === null) {
301
- throw null;
302
- }
240
+ _map = assertNotNullish(remove(_map)("400"), null);
303
241
  const r = jsonStr(_map);
304
242
  if (r !==
305
243
  '[[[["1024"],"1089",["1156","1225"]],"1296",[["1369","1444"],"441",["484"]]],' +
@@ -309,10 +247,7 @@ const test = () => {
309
247
  }
310
248
  }
311
249
  {
312
- _map = remove(_map)("441");
313
- if (_map === null) {
314
- throw null;
315
- }
250
+ _map = assertNotNullish(remove(_map)("441"), null);
316
251
  const r = jsonStr(_map);
317
252
  if (r !==
318
253
  '[[[["1024"],"1089",["1156","1225"]],"1296",[["1369"],"1444",["484"]]],' +
@@ -322,10 +257,7 @@ const test = () => {
322
257
  }
323
258
  }
324
259
  {
325
- _map = remove(_map)("484");
326
- if (_map === null) {
327
- throw null;
328
- }
260
+ _map = assertNotNullish(remove(_map)("484"), null);
329
261
  const r = jsonStr(_map);
330
262
  if (r !==
331
263
  '[[["1024"],"1089",["1156","1225"],"1296",["1369","1444"]],' +
@@ -337,10 +269,7 @@ const test = () => {
337
269
  }
338
270
  }
339
271
  {
340
- _map = remove(_map)("529");
341
- if (_map === null) {
342
- throw null;
343
- }
272
+ _map = assertNotNullish(remove(_map)("529"), null);
344
273
  const r = jsonStr(_map);
345
274
  if (r !==
346
275
  '[[["1024"],"1089",["1156","1225"]],"1296",[["1369","1444"],"576",["625","676"]],' +
@@ -350,10 +279,7 @@ const test = () => {
350
279
  }
351
280
  }
352
281
  {
353
- _map = remove(_map)("576");
354
- if (_map === null) {
355
- throw null;
356
- }
282
+ _map = assertNotNullish(remove(_map)("576"), null);
357
283
  const r = jsonStr(_map);
358
284
  if (r !==
359
285
  '[[["1024"],"1089",["1156","1225"]],"1296",[["1369","1444"],"625",["676"]],' +
@@ -363,10 +289,7 @@ const test = () => {
363
289
  }
364
290
  }
365
291
  {
366
- _map = remove(_map)("625");
367
- if (_map === null) {
368
- throw null;
369
- }
292
+ _map = assertNotNullish(remove(_map)("625"), null);
370
293
  const r = jsonStr(_map);
371
294
  if (r !==
372
295
  '[[["1024"],"1089",["1156","1225"]],"1296",[["1369"],"1444",["676"]],' +
@@ -376,10 +299,7 @@ const test = () => {
376
299
  }
377
300
  }
378
301
  {
379
- _map = remove(_map)("676");
380
- if (_map === null) {
381
- throw null;
382
- }
302
+ _map = assertNotNullish(remove(_map)("676"), null);
383
303
  const r = jsonStr(_map);
384
304
  if (r !==
385
305
  '[[["1024"],"1089",["1156","1225"],"1296",["1369","1444"]],' +
@@ -389,10 +309,7 @@ const test = () => {
389
309
  }
390
310
  }
391
311
  {
392
- _map = remove(_map)("729");
393
- if (_map === null) {
394
- throw null;
395
- }
312
+ _map = assertNotNullish(remove(_map)("729"), null);
396
313
  const r = jsonStr(_map);
397
314
  if (r !==
398
315
  '[[["1024"],"1089",["1156","1225"],"1296",["1369","1444"]],' +
@@ -402,10 +319,7 @@ const test = () => {
402
319
  }
403
320
  }
404
321
  {
405
- _map = remove(_map)("784");
406
- if (_map === null) {
407
- throw null;
408
- }
322
+ _map = assertNotNullish(remove(_map)("784"), null);
409
323
  const r = jsonStr(_map);
410
324
  if (r !==
411
325
  '[[["1024"],"1089",["1156","1225"]],"1296",[["1369","1444"],"841",["900","961"]]]') {
@@ -413,10 +327,7 @@ const test = () => {
413
327
  }
414
328
  }
415
329
  {
416
- _map = remove(_map)("841");
417
- if (_map === null) {
418
- throw null;
419
- }
330
+ _map = assertNotNullish(remove(_map)("841"), null);
420
331
  const r = jsonStr(_map);
421
332
  if (r !==
422
333
  '[[["1024"],"1089",["1156","1225"]],"1296",[["1369","1444"],"900",["961"]]]') {
@@ -424,10 +335,7 @@ const test = () => {
424
335
  }
425
336
  }
426
337
  {
427
- _map = remove(_map)("900");
428
- if (_map === null) {
429
- throw null;
430
- }
338
+ _map = assertNotNullish(remove(_map)("900"), null);
431
339
  const r = jsonStr(_map);
432
340
  if (r !==
433
341
  '[[["1024"],"1089",["1156","1225"]],"1296",[["1369"],"1444",["961"]]]') {
@@ -435,10 +343,7 @@ const test = () => {
435
343
  }
436
344
  }
437
345
  {
438
- _map = remove(_map)("961");
439
- if (_map === null) {
440
- throw null;
441
- }
346
+ _map = assertNotNullish(remove(_map)("961"), null);
442
347
  const r = jsonStr(_map);
443
348
  if (r !==
444
349
  '[["1024"],"1089",["1156","1225"],"1296",["1369","1444"]]') {
@@ -446,10 +351,7 @@ const test = () => {
446
351
  }
447
352
  }
448
353
  {
449
- _map = remove(_map)("1024");
450
- if (_map === null) {
451
- throw null;
452
- }
354
+ _map = assertNotNullish(remove(_map)("1024"), null);
453
355
  const r = jsonStr(_map);
454
356
  if (r !==
455
357
  '[["1089"],"1156",["1225"],"1296",["1369","1444"]]') {
@@ -457,10 +359,7 @@ const test = () => {
457
359
  }
458
360
  }
459
361
  {
460
- _map = remove(_map)("1089");
461
- if (_map === null) {
462
- throw null;
463
- }
362
+ _map = assertNotNullish(remove(_map)("1089"), null);
464
363
  const r = jsonStr(_map);
465
364
  if (r !==
466
365
  '[["1156","1225"],"1296",["1369","1444"]]') {
@@ -468,10 +367,7 @@ const test = () => {
468
367
  }
469
368
  }
470
369
  {
471
- _map = remove(_map)("1156");
472
- if (_map === null) {
473
- throw null;
474
- }
370
+ _map = assertNotNullish(remove(_map)("1156"), null);
475
371
  const r = jsonStr(_map);
476
372
  if (r !==
477
373
  '[["1225"],"1296",["1369","1444"]]') {
@@ -479,10 +375,7 @@ const test = () => {
479
375
  }
480
376
  }
481
377
  {
482
- _map = remove(_map)("1225");
483
- if (_map === null) {
484
- throw null;
485
- }
378
+ _map = assertNotNullish(remove(_map)("1225"), null);
486
379
  const r = jsonStr(_map);
487
380
  if (r !==
488
381
  '[["1296"],"1369",["1444"]]') {
@@ -490,10 +383,7 @@ const test = () => {
490
383
  }
491
384
  }
492
385
  {
493
- _map = remove(_map)("1296");
494
- if (_map === null) {
495
- throw null;
496
- }
386
+ _map = assertNotNullish(remove(_map)("1296"), null);
497
387
  const r = jsonStr(_map);
498
388
  if (r !==
499
389
  '["1369","1444"]') {
@@ -501,131 +391,94 @@ const test = () => {
501
391
  }
502
392
  }
503
393
  {
504
- _map = remove(_map)("1369");
505
- if (_map === null) {
506
- throw null;
507
- }
394
+ _map = assertNotNullish(remove(_map)("1369"), null);
508
395
  const r = jsonStr(_map);
509
- if (r !== '["1444"]') {
510
- throw r;
511
- }
396
+ assertEq(r, '["1444"]');
512
397
  }
513
398
  {
514
399
  _map = remove(_map)("1444");
515
- if (_map !== null) {
516
- throw _map;
517
- }
400
+ assertEq(_map, null);
518
401
  }
519
402
  };
520
403
  const test2 = () => {
521
404
  let _map = ['1'];
522
405
  for (let i = 2; i <= 10; i++)
523
406
  _map = set(_map)((i * i).toString());
524
- if (_map.length !== 3) {
525
- throw _map;
526
- }
407
+ assertEq(_map.length, 3, _map);
527
408
  let _s = jsonStr(_map);
528
- if (_s !== '[[["1","100"],"16",["25","36"]],"4",[["49"],"64",["81","9"]]]') {
529
- throw _s;
530
- }
409
+ assertEq(_s, '[[["1","100"],"16",["25","36"]],"4",[["49"],"64",["81","9"]]]');
531
410
  {
532
- _map = remove(_map)("4");
533
- if (_map === null) {
534
- throw _map;
535
- }
411
+ _map = assertNotNullish(remove(_map)("4"), _map);
536
412
  _s = jsonStr(_map);
537
- if (_s !== '[[["1","100"],"16",["25","36"]],"49",[["64"],"81",["9"]]]') {
538
- throw _s;
539
- }
413
+ assertEq(_s, '[[["1","100"],"16",["25","36"]],"49",[["64"],"81",["9"]]]');
540
414
  }
541
415
  {
542
- _map = remove(_map)("49");
543
- if (_map === null) {
544
- throw _map;
545
- }
416
+ _map = assertNotNullish(remove(_map)("49"), _map);
546
417
  _s = jsonStr(_map);
547
- if (_s !== '[["1","100"],"16",["25","36"],"64",["81","9"]]') {
548
- throw _s;
549
- }
418
+ assertEq(_s, '[["1","100"],"16",["25","36"],"64",["81","9"]]');
550
419
  }
551
420
  {
552
- _map = remove(_map)("64");
553
- if (_map === null) {
554
- throw _map;
555
- }
421
+ _map = assertNotNullish(remove(_map)("64"), _map);
556
422
  _s = jsonStr(_map);
557
- if (_s !== '[["1","100"],"16",["25","36"],"81",["9"]]') {
558
- throw _s;
559
- }
423
+ assertEq(_s, '[["1","100"],"16",["25","36"],"81",["9"]]');
560
424
  }
561
425
  {
562
- _map = remove(_map)("81");
563
- if (_map === null) {
564
- throw _map;
565
- }
426
+ _map = assertNotNullish(remove(_map)("81"), _map);
566
427
  _s = jsonStr(_map);
567
- if (_s !== '[["1","100"],"16",["25"],"36",["9"]]') {
568
- throw _s;
569
- }
428
+ assertEq(_s, '[["1","100"],"16",["25"],"36",["9"]]');
570
429
  }
571
430
  {
572
- _map = remove(_map)("36");
573
- if (_map === null) {
574
- throw _map;
575
- }
431
+ _map = assertNotNullish(remove(_map)("36"), _map);
576
432
  _s = jsonStr(_map);
577
- if (_s !== '[["1","100"],"16",["25","9"]]') {
578
- throw _s;
579
- }
433
+ assertEq(_s, '[["1","100"],"16",["25","9"]]');
580
434
  }
581
435
  {
582
- _map = remove(_map)("16");
583
- if (_map === null) {
584
- throw _map;
585
- }
436
+ _map = assertNotNullish(remove(_map)("16"), _map);
586
437
  _s = jsonStr(_map);
587
- if (_s !== '[["1","100"],"25",["9"]]') {
588
- throw _s;
589
- }
438
+ assertEq(_s, '[["1","100"],"25",["9"]]');
590
439
  }
591
440
  {
592
- _map = remove(_map)("25");
593
- if (_map === null) {
594
- throw _map;
595
- }
441
+ _map = assertNotNullish(remove(_map)("25"), _map);
596
442
  _s = jsonStr(_map);
597
- if (_s !== '[["1"],"100",["9"]]') {
598
- throw _s;
599
- }
443
+ assertEq(_s, '[["1"],"100",["9"]]');
600
444
  }
601
445
  {
602
- _map = remove(_map)("100");
603
- if (_map === null) {
604
- throw _map;
605
- }
446
+ _map = assertNotNullish(remove(_map)("100"), _map);
606
447
  _s = jsonStr(_map);
607
- if (_s !== '["1","9"]') {
608
- throw _s;
609
- }
448
+ assertEq(_s, '["1","9"]');
610
449
  }
611
450
  {
612
- _map = remove(_map)("9");
613
- if (_map === null) {
614
- throw _map;
615
- }
451
+ _map = assertNotNullish(remove(_map)("9"), _map);
616
452
  _s = jsonStr(_map);
617
- if (_s !== '["1"]') {
618
- throw _s;
619
- }
453
+ assertEq(_s, '["1"]');
620
454
  }
621
455
  {
622
456
  _map = remove(_map)("1");
623
- if (_map !== null) {
624
- throw _map;
625
- }
457
+ assertEq(_map, null);
458
+ }
459
+ };
460
+ // Exercises the branch-merge-into-Branch5-sibling path in reduceValue0
461
+ // (removing an underflowed left leaf merges into a 5-wide right branch).
462
+ const test3 = () => {
463
+ let _map = ['1'];
464
+ for (let i = 2; i <= 50; i++)
465
+ _map = set(_map)(i.toString());
466
+ _map = assertNotNullish(remove(_map)('40'), _map);
467
+ _map = assertNotNullish(remove(_map)('10'), _map);
468
+ const r = jsonStr(_map);
469
+ if (r !==
470
+ '[[[[["1","11"],"12",["13"],"14",["15"]],"16",[["17"],"18",["19"]],"2",[["20"],"21",["22"]]],' +
471
+ '"23",' +
472
+ '[[["24"],"25",["26"]],"27",[["28"],"29",["3"]]]],' +
473
+ '"30",' +
474
+ '[[[["31"],"32",["33"]],"34",[["35"],"36",["37"],"38",["39"]]],' +
475
+ '"4",' +
476
+ '[[["41","42"],"43",["44"],"45",["46"]],"47",[["48"],"49",["5","50"]],"6",[["7"],"8",["9"]]]]]') {
477
+ throw r;
626
478
  }
627
479
  };
628
480
  export const proof = {
629
481
  test,
630
482
  test2,
483
+ test3,
631
484
  };
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * @module
5
5
  */
6
- import { collapseRoot } from "../types/module.f.js";
7
- import { find } from "../find/module.f.js";
8
- import { fold } from "../../list/module.f.js";
6
+ import { collapseRoot } from '../types/module.f.js';
7
+ import { find } from '../find/module.f.js';
8
+ import { fold } from '../../list/module.f.js';
9
9
  const b57 = b => b.length === 5 ? [b] : [[b[0], b[1], b[2]], b[3], [b[4], b[5], b[6]]];
10
10
  const reduceOp = ([i, x]) => a => {
11
11
  switch (i) {
@@ -86,7 +86,7 @@ const nodeSet = (c) => (g) => (node) => {
86
86
  // insert
87
87
  const value = g(null);
88
88
  // TODO: remove after TSGO fix the regression.
89
- const _xl = x.length;
89
+ // const _xl: 1|2 = x.length
90
90
  switch (x.length) {
91
91
  case 1: {
92
92
  return [[x[0], value]];
@@ -96,12 +96,13 @@ const nodeSet = (c) => (g) => (node) => {
96
96
  }
97
97
  }
98
98
  // TODO: remove after TSGO fix the regression.
99
+ // See https://github.com/microsoft/typescript-go/issues/4613
99
100
  throw 'unreachable';
100
101
  }
101
102
  case 3: {
102
103
  // replace
103
104
  // TODO: remove after TSGO fix the regression.
104
- const _xl = x.length;
105
+ // const _xl: 2|5 = x.length
105
106
  switch (x.length) {
106
107
  case 2: {
107
108
  return [[x[0], g(x[1])]];
@@ -115,6 +116,8 @@ const nodeSet = (c) => (g) => (node) => {
115
116
  }
116
117
  case 4: {
117
118
  // insert
119
+ // TODO: remove after TSGO fix the regression.
120
+ // const _xl: 2 = x.length
118
121
  const [v0, v1] = x;
119
122
  return [[v0], v1, [g(null)]];
120
123
  }