functionalscript 0.44.0 → 0.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fjs/asn.1/proof.f.d.mts +5 -0
- package/fjs/asn.1/proof.f.mjs +15 -3
- package/fjs/asserts/module.f.d.mts +14 -0
- package/fjs/asserts/module.f.mjs +20 -0
- package/fjs/asserts/proof.f.d.mts +3 -0
- package/fjs/asserts/proof.f.mjs +15 -1
- package/fjs/basen/base128/proof.f.d.mts +3 -1
- package/fjs/basen/base128/proof.f.mjs +3 -1
- package/fjs/basen/base64/module.f.mjs +7 -3
- package/fjs/basen/base64/proof.f.d.mts +3 -1
- package/fjs/basen/base64/proof.f.mjs +7 -4
- package/fjs/basen/cbase32/proof.f.d.mts +3 -1
- package/fjs/basen/cbase32/proof.f.mjs +3 -1
- package/fjs/bnf/data/proof.f.mjs +0 -1
- package/fjs/bnf/descent/module.f.d.mts +17 -2
- package/fjs/bnf/descent/module.f.mjs +118 -41
- package/fjs/bnf/descent/proof.f.d.mts +1 -0
- package/fjs/bnf/descent/proof.f.mjs +77 -1
- package/fjs/bnf/descent/types.d.ts +12 -4
- package/fjs/bnf/ll1/module.f.d.mts +28 -2
- package/fjs/bnf/ll1/module.f.mjs +180 -38
- package/fjs/bnf/ll1/proof.f.d.mts +2 -0
- package/fjs/bnf/ll1/proof.f.mjs +62 -1
- package/fjs/bnf/ll1/types.d.ts +14 -8
- package/fjs/bnf/module.f.d.mts +15 -6
- package/fjs/bnf/module.f.mjs +52 -11
- package/fjs/bnf/proof.f.d.mts +2 -0
- package/fjs/bnf/proof.f.mjs +79 -3
- package/fjs/bnf/token_symbol/module.f.d.mts +4 -3
- package/fjs/bnf/token_symbol/module.f.mjs +7 -6
- package/fjs/bnf/token_symbol/proof.f.mjs +5 -2
- package/fjs/bnf/token_symbol/types.d.ts +2 -2
- package/fjs/bnf/types.d.ts +10 -3
- package/fjs/cas/cli/proof.f.d.mts +3 -1
- package/fjs/cas/cli/proof.f.mjs +3 -1
- package/fjs/cas/evo/module.f.d.mts +7 -13
- package/fjs/cas/evo/module.f.mjs +103 -96
- package/fjs/cas/evo/proof.f.mjs +6 -3
- package/fjs/cas/module.f.mjs +96 -109
- package/fjs/ci/common/module.f.d.mts +1 -1
- package/fjs/ci/common/module.f.mjs +1 -0
- package/fjs/ci/config/module.f.d.mts +2 -2
- package/fjs/ci/config/module.f.mjs +2 -2
- package/fjs/ci/nix/proof.f.d.mts +2 -0
- package/fjs/ci/nix/proof.f.mjs +2 -2
- package/fjs/ci/proof.f.d.mts +4 -2
- package/fjs/ci/proof.f.mjs +4 -3
- package/fjs/cli/proof.f.d.mts +4 -2
- package/fjs/cli/proof.f.mjs +4 -2
- package/fjs/common/monoid/module.f.d.mts +70 -12
- package/fjs/common/monoid/module.f.mjs +177 -14
- package/fjs/common/monoid/proof.f.d.mts +12 -1
- package/fjs/common/monoid/proof.f.mjs +88 -4
- package/fjs/common/monoid/types.d.ts +23 -0
- package/fjs/crypto/secp/proof.f.d.mts +3 -1
- package/fjs/crypto/secp/proof.f.mjs +3 -1
- package/fjs/crypto/sha2/proof.f.d.mts +3 -1
- package/fjs/crypto/sha2/proof.f.mjs +3 -1
- package/fjs/crypto/vdf/module.f.d.mts +23 -4
- package/fjs/crypto/vdf/module.f.mjs +6 -4
- package/fjs/dev/module.f.d.mts +5 -2
- package/fjs/dev/module.f.mjs +5 -4
- package/fjs/dev/package_json/module.f.d.mts +7 -0
- package/fjs/dev/package_json/module.f.mjs +10 -7
- package/fjs/dev/update/module.f.d.mts +3 -0
- package/fjs/dev/update/module.f.mjs +3 -2
- package/fjs/dev/update/proof.f.d.mts +3 -0
- package/fjs/dev/update/proof.f.mjs +1 -2
- package/fjs/djs/parser/module.f.d.mts +3 -0
- package/fjs/djs/parser/module.f.mjs +18 -0
- package/fjs/djs/parser/proof.f.d.mts +3 -0
- package/fjs/djs/parser/proof.f.mjs +13 -1
- package/fjs/djs/proof.f.d.mts +3 -0
- package/fjs/djs/proof.f.mjs +4 -1
- package/fjs/djs/serializer/module.f.mjs +5 -4
- package/fjs/djs/tokenizer/module.f.mjs +21 -13
- package/fjs/djs/tokenizer/proof.f.d.mts +3 -0
- package/fjs/djs/tokenizer/proof.f.mjs +14 -2
- package/fjs/djs/transpiler/module.f.d.mts +1 -12
- package/fjs/djs/transpiler/module.f.mjs +1 -20
- package/fjs/djs/transpiler/types.d.ts +25 -0
- package/fjs/effects/eff/module.f.d.mts +10 -0
- package/fjs/effects/eff/module.f.mjs +4 -2
- package/fjs/effects/eff/proof.f.d.mts +3 -0
- package/fjs/effects/eff/proof.f.mjs +4 -1
- package/fjs/effects/list/module.f.d.mts +10 -2
- package/fjs/effects/list/module.f.mjs +4 -2
- package/fjs/effects/memory/module.f.d.mts +4 -2
- package/fjs/effects/memory/module.f.mjs +4 -3
- package/fjs/effects/memory/proof.f.d.mts +4 -0
- package/fjs/effects/memory/proof.f.mjs +5 -2
- package/fjs/effects/mock/module.f.d.mts +10 -2
- package/fjs/effects/mock/module.f.mjs +4 -2
- package/fjs/effects/module.d.mts +8 -0
- package/fjs/effects/module.f.d.mts +6 -4
- package/fjs/effects/module.f.mjs +6 -5
- package/fjs/effects/module.mjs +9 -1
- package/fjs/effects/node/memory/module.d.mts +3 -0
- package/fjs/effects/node/memory/module.mjs +3 -2
- package/fjs/effects/node/memory/proof.d.mts +2 -0
- package/fjs/effects/node/memory/proof.mjs +2 -1
- package/fjs/effects/node/module.d.mts +5 -0
- package/fjs/effects/node/module.f.d.mts +17 -12
- package/fjs/effects/node/module.f.mjs +6 -12
- package/fjs/effects/node/module.mjs +5 -17
- package/fjs/effects/node/virtual/module.f.d.mts +6 -3
- package/fjs/effects/node/virtual/module.f.mjs +6 -5
- package/fjs/effects/node/virtual/proof.f.d.mts +4 -1
- package/fjs/effects/node/virtual/proof.f.mjs +13 -1
- package/fjs/effects/proof.f.d.mts +3 -0
- package/fjs/effects/proof.f.mjs +4 -1
- package/fjs/emergent_testing/all.test.d.mts +8 -0
- package/fjs/emergent_testing/all.test.mjs +14 -0
- package/fjs/emergent_testing/module.f.d.mts +6 -1
- package/fjs/emergent_testing/module.f.mjs +40 -66
- package/fjs/emergent_testing/proof.f.mjs +5 -5
- package/fjs/fsc/bnf.f.d.mts +3 -0
- package/fjs/fsc/bnf.f.mjs +4 -1
- package/fjs/fsc/json.f.d.mts +3 -0
- package/fjs/fsc/json.f.mjs +4 -1
- package/fjs/fsc/module.f.d.mts +9 -0
- package/fjs/fsc/module.f.mjs +5 -3
- package/fjs/fsm/proof.f.d.mts +3 -0
- package/fjs/fsm/proof.f.mjs +4 -1
- package/fjs/js/tokenizer/module.f.d.mts +7 -0
- package/fjs/js/tokenizer/module.f.mjs +19 -55
- package/fjs/mcp/module.f.d.mts +36 -1
- package/fjs/mcp/module.f.mjs +9 -7
- package/fjs/mcp/proof.f.d.mts +11 -1
- package/fjs/mcp/proof.f.mjs +11 -18
- package/fjs/media/html/module.f.d.mts +12 -0
- package/fjs/media/html/module.f.mjs +6 -4
- package/fjs/media/html/proof.f.d.mts +3 -0
- package/fjs/media/html/proof.f.mjs +4 -1
- package/fjs/media/json/parser/module.f.d.mts +1 -1
- package/fjs/media/json/parser/module.f.mjs +25 -8
- package/fjs/media/json/parser/types.d.ts +5 -0
- package/fjs/media/json/rtti/proof.f.d.mts +3 -0
- package/fjs/media/json/rtti/proof.f.mjs +3 -3
- package/fjs/media/json/schema/module.f.d.mts +61 -27
- package/fjs/media/json/schema/module.f.mjs +228 -63
- package/fjs/media/json/schema/proof.f.d.mts +41 -0
- package/fjs/media/json/schema/proof.f.mjs +219 -7
- package/fjs/media/json/serializer/module.f.d.mts +13 -0
- package/fjs/media/json/serializer/module.f.mjs +7 -7
- package/fjs/media/json/tokenizer/module.f.d.mts +8 -0
- package/fjs/media/json/tokenizer/module.f.mjs +24 -5
- package/fjs/media/nix/module.f.d.mts +13 -0
- package/fjs/media/nix/module.f.mjs +4 -2
- package/fjs/media/nix/proof.f.d.mts +3 -0
- package/fjs/media/nix/proof.f.mjs +4 -1
- package/fjs/media/revision/module.f.d.mts +5 -0
- package/fjs/media/revision/module.f.mjs +8 -11
- package/fjs/media/revision/proof.f.d.mts +4 -0
- package/fjs/media/revision/proof.f.mjs +5 -2
- package/fjs/media/type/module.f.d.mts +28 -11
- package/fjs/media/type/module.f.mjs +69 -85
- package/fjs/media/type/proof.f.d.mts +16 -0
- package/fjs/media/type/proof.f.mjs +44 -4
- package/fjs/module.d.mts +5 -0
- package/fjs/module.f.d.mts +8 -0
- package/fjs/module.f.mjs +4 -2
- package/fjs/module.mjs +6 -0
- package/fjs/path/module.f.d.mts +8 -0
- package/fjs/path/module.f.mjs +4 -2
- package/fjs/proof.f.d.mts +4 -0
- package/fjs/proof.f.mjs +5 -2
- package/fjs/protocol/json_rpc/module.f.d.mts +1 -1
- package/fjs/protocol/json_rpc/module.f.mjs +7 -4
- package/fjs/protocol/json_rpc/proof.f.d.mts +6 -0
- package/fjs/protocol/json_rpc/proof.f.mjs +22 -1
- package/fjs/protocol/mcp/proof.f.d.mts +4 -0
- package/fjs/protocol/mcp/proof.f.mjs +47 -24
- package/fjs/protocol/mcp/stdio/module.f.d.mts +2 -4
- package/fjs/protocol/mcp/stdio/module.f.mjs +1 -8
- package/fjs/protocol/mcp/stdio/proof.f.d.mts +1 -1
- package/fjs/protocol/mcp/stdio/proof.f.mjs +1 -1
- package/fjs/protocol/mcp/stdio/types.d.ts +14 -0
- package/fjs/sul/id/module.f.d.mts +5 -0
- package/fjs/sul/id/module.f.mjs +5 -4
- package/fjs/sul/level/hash/module.f.d.mts +4 -1
- package/fjs/sul/level/hash/module.f.mjs +4 -3
- package/fjs/sul/level/hash/proof.f.d.mts +4 -0
- package/fjs/sul/level/hash/proof.f.mjs +5 -2
- package/fjs/sul/level/literal/module.f.d.mts +4 -1
- package/fjs/sul/level/literal/module.f.mjs +4 -3
- package/fjs/sul/level/literal/proof.f.d.mts +3 -0
- package/fjs/sul/level/literal/proof.f.mjs +4 -1
- package/fjs/sul/module.f.d.mts +5 -3
- package/fjs/sul/module.f.mjs +5 -4
- package/fjs/sul/proof.f.d.mts +4 -0
- package/fjs/sul/proof.f.mjs +5 -2
- package/fjs/text/ascii/module.f.d.mts +26 -0
- package/fjs/text/ascii/module.f.mjs +49 -1
- package/fjs/text/ascii/proof.f.d.mts +10 -0
- package/fjs/text/ascii/proof.f.mjs +33 -1
- package/fjs/text/code_point/module.f.d.mts +21 -3
- package/fjs/text/code_point/module.f.mjs +24 -8
- package/fjs/text/code_point/proof.f.d.mts +1 -0
- package/fjs/text/code_point/proof.f.mjs +28 -0
- package/fjs/text/module.f.d.mts +4 -2
- package/fjs/text/module.f.mjs +4 -3
- package/fjs/text/proof.f.d.mts +3 -0
- package/fjs/text/proof.f.mjs +4 -1
- package/fjs/text/sgr/module.f.d.mts +4 -1
- package/fjs/text/sgr/module.f.mjs +4 -3
- package/fjs/text/sgr/proof.f.d.mts +3 -0
- package/fjs/text/sgr/proof.f.mjs +4 -1
- package/fjs/text/utf16/module.f.d.mts +5 -1
- package/fjs/text/utf16/module.f.mjs +31 -33
- package/fjs/text/utf16/proof.f.d.mts +3 -1
- package/fjs/text/utf16/proof.f.mjs +18 -1
- package/fjs/text/utf8/module.f.d.mts +9 -5
- package/fjs/text/utf8/module.f.mjs +16 -18
- package/fjs/types/array/module.f.d.mts +2 -1
- package/fjs/types/array/module.f.mjs +2 -2
- package/fjs/types/bigfloat/module.f.d.mts +21 -1
- package/fjs/types/bigfloat/module.f.mjs +33 -7
- package/fjs/types/bigfloat/proof.f.d.mts +1 -0
- package/fjs/types/bigfloat/proof.f.mjs +46 -0
- package/fjs/types/bigint/module.f.d.mts +4 -0
- package/fjs/types/bigint/module.f.mjs +4 -3
- package/fjs/types/bit_vec/module.f.d.mts +10 -14
- package/fjs/types/bit_vec/module.f.mjs +61 -71
- package/fjs/types/bit_vec/proof.f.d.mts +6 -0
- package/fjs/types/bit_vec/proof.f.mjs +29 -3
- package/fjs/types/btree/find/module.f.d.mts +5 -1
- package/fjs/types/btree/find/module.f.mjs +5 -5
- package/fjs/types/btree/find/proof.f.d.mts +5 -1
- package/fjs/types/btree/find/proof.f.mjs +5 -3
- package/fjs/types/btree/module.f.d.mts +3 -0
- package/fjs/types/btree/module.f.mjs +3 -2
- package/fjs/types/btree/proof.f.d.mts +5 -1
- package/fjs/types/btree/proof.f.mjs +5 -3
- package/fjs/types/btree/remove/module.f.d.mts +11 -0
- package/fjs/types/btree/remove/module.f.mjs +9 -9
- package/fjs/types/btree/remove/proof.f.d.mts +3 -0
- package/fjs/types/btree/remove/proof.f.mjs +4 -1
- package/fjs/types/btree/set/module.f.d.mts +9 -0
- package/fjs/types/btree/set/module.f.mjs +5 -6
- package/fjs/types/btree/set/proof.f.d.mts +3 -0
- package/fjs/types/btree/set/proof.f.mjs +4 -1
- package/fjs/types/btree/types/module.f.d.mts +2 -1
- package/fjs/types/btree/types/module.f.mjs +2 -1
- package/fjs/types/byte_set/module.f.d.mts +10 -1
- package/fjs/types/byte_set/module.f.mjs +5 -3
- package/fjs/types/byte_set/proof.f.d.mts +3 -1
- package/fjs/types/byte_set/proof.f.mjs +3 -1
- package/fjs/types/function/compare/module.f.d.mts +3 -2
- package/fjs/types/function/compare/module.f.mjs +3 -2
- package/fjs/types/function/module.f.d.mts +8 -1
- package/fjs/types/function/module.f.mjs +8 -1
- package/fjs/types/function/operator/module.f.d.mts +2 -1
- package/fjs/types/function/operator/module.f.mjs +2 -2
- package/fjs/types/list/module.f.d.mts +9 -2
- package/fjs/types/list/module.f.mjs +5 -3
- package/fjs/types/list/proof.f.d.mts +4 -1
- package/fjs/types/list/proof.f.mjs +4 -2
- package/fjs/types/nibble_set/module.f.d.mts +2 -1
- package/fjs/types/nibble_set/module.f.mjs +2 -2
- package/fjs/types/nominal/module.f.d.mts +2 -1
- package/fjs/types/nominal/module.f.mjs +2 -1
- package/fjs/types/nullable/module.f.d.mts +8 -2
- package/fjs/types/nullable/module.f.mjs +4 -2
- package/fjs/types/number/module.f.d.mts +4 -0
- package/fjs/types/number/module.f.mjs +4 -3
- package/fjs/types/object/module.f.d.mts +14 -2
- package/fjs/types/object/module.f.mjs +15 -6
- package/fjs/types/object/proof.f.d.mts +5 -2
- package/fjs/types/object/proof.f.mjs +6 -3
- package/fjs/types/object/structurally_same/module.f.d.mts +39 -0
- package/fjs/types/object/structurally_same/module.f.mjs +59 -0
- package/fjs/types/object/structurally_same/proof.f.d.mts +6 -0
- package/fjs/types/object/structurally_same/proof.f.mjs +73 -0
- package/fjs/types/ordered_map/module.f.d.mts +5 -0
- package/fjs/types/ordered_map/module.f.mjs +5 -4
- package/fjs/types/ordered_map/proof.f.d.mts +3 -0
- package/fjs/types/ordered_map/proof.f.mjs +4 -1
- package/fjs/types/patricia_trie/module.f.d.mts +2 -1
- package/fjs/types/patricia_trie/module.f.mjs +2 -2
- package/fjs/types/patricia_trie/proof.f.d.mts +3 -0
- package/fjs/types/patricia_trie/proof.f.mjs +4 -1
- package/fjs/types/prime_field/module.f.d.mts +3 -1
- package/fjs/types/prime_field/module.f.mjs +3 -2
- package/fjs/types/range/module.f.d.mts +2 -1
- package/fjs/types/range/module.f.mjs +2 -2
- package/fjs/types/range_map/module.f.d.mts +6 -0
- package/fjs/types/range_map/module.f.mjs +6 -9
- package/fjs/types/range_map/proof.f.d.mts +5 -1
- package/fjs/types/range_map/proof.f.mjs +5 -3
- package/fjs/types/range_set/module.f.d.mts +5 -0
- package/fjs/types/range_set/module.f.mjs +1 -0
- package/fjs/types/range_set/proof.f.d.mts +3 -0
- package/fjs/types/range_set/proof.f.mjs +4 -1
- package/fjs/types/result/module.d.mts +8 -0
- package/fjs/types/result/module.f.d.mts +37 -7
- package/fjs/types/result/module.f.mjs +38 -8
- package/fjs/types/result/module.mjs +9 -1
- package/fjs/types/result/proof.f.d.mts +5 -0
- package/fjs/types/result/proof.f.mjs +22 -2
- package/fjs/types/rtti/common/module.f.d.mts +35 -2
- package/fjs/types/rtti/common/module.f.mjs +9 -7
- package/fjs/types/rtti/common/proof.f.d.mts +4 -0
- package/fjs/types/rtti/common/proof.f.mjs +5 -2
- package/fjs/types/rtti/data/module.f.d.mts +120 -0
- package/fjs/types/rtti/data/module.f.mjs +1030 -0
- package/fjs/types/rtti/data/proof.f.d.mts +75 -0
- package/fjs/types/rtti/data/proof.f.mjs +566 -0
- package/fjs/types/rtti/data/types.d.ts +83 -0
- package/fjs/types/rtti/module.f.d.mts +12 -5
- package/fjs/types/rtti/module.f.mjs +7 -5
- package/fjs/types/rtti/parse/module.f.d.mts +38 -0
- package/fjs/types/rtti/parse/module.f.mjs +9 -7
- package/fjs/types/rtti/parse/proof.f.mjs +18 -38
- package/fjs/types/rtti/proof.f.d.mts +3 -1
- package/fjs/types/rtti/proof.f.mjs +3 -1
- package/fjs/types/rtti/ts/module.f.d.mts +68 -9
- package/fjs/types/rtti/ts/module.f.mjs +262 -30
- package/fjs/types/rtti/ts/proof.f.d.mts +44 -0
- package/fjs/types/rtti/ts/proof.f.mjs +152 -4
- package/fjs/types/rtti/ts/types.d.ts +11 -0
- package/fjs/types/rtti/types.d.ts +40 -0
- package/fjs/types/rtti/validate/module.f.d.mts +36 -1
- package/fjs/types/rtti/validate/module.f.mjs +6 -4
- package/fjs/types/sorted_list/module.f.d.mts +4 -1
- package/fjs/types/sorted_list/module.f.mjs +21 -12
- package/fjs/types/sorted_list/proof.f.d.mts +3 -1
- package/fjs/types/sorted_list/proof.f.mjs +3 -1
- package/fjs/types/sorted_set/module.f.d.mts +31 -1
- package/fjs/types/sorted_set/module.f.mjs +4 -2
- package/fjs/types/sorted_set/proof.f.d.mts +3 -1
- package/fjs/types/sorted_set/proof.f.mjs +3 -1
- package/fjs/types/string/module.f.d.mts +4 -0
- package/fjs/types/string/module.f.mjs +4 -3
- package/fjs/types/string_set/module.f.d.mts +3 -1
- package/fjs/types/string_set/module.f.mjs +3 -2
- package/fjs/types/ts/module.f.d.mts +2 -0
- package/fjs/types/ts/module.f.mjs +3 -3
- package/fjs/types/ts/proof.f.d.mts +1 -0
- package/fjs/types/ts/proof.f.mjs +5 -0
- package/fjs/types/ts/types.d.ts +6 -1
- package/fjs/types/uint8array/module.f.d.mts +13 -2
- package/fjs/types/uint8array/module.f.mjs +20 -15
- package/fjs/website/module.f.d.mts +3 -0
- package/fjs/website/module.f.mjs +3 -2
- package/package.json +3 -3
- package/fjs/asn.1/types.js +0 -6
- package/fjs/asserts/types.js +0 -6
- package/fjs/basen/types.js +0 -6
- package/fjs/bnf/data/types.js +0 -6
- package/fjs/bnf/descent/types.js +0 -6
- package/fjs/bnf/ll1/types.js +0 -6
- package/fjs/bnf/token_symbol/types.js +0 -6
- package/fjs/bnf/types.js +0 -6
- package/fjs/cas/evo/types.js +0 -7
- package/fjs/cas/types.js +0 -6
- package/fjs/ci/common/types.js +0 -1
- package/fjs/ci/nix/types.js +0 -6
- package/fjs/ci/types.js +0 -6
- package/fjs/cli/types.js +0 -6
- package/fjs/common/monoid/types.js +0 -6
- package/fjs/crypto/pow/types.js +0 -6
- package/fjs/crypto/secp/types.js +0 -6
- package/fjs/crypto/sha2/types.js +0 -6
- package/fjs/crypto/sign/types.js +0 -6
- package/fjs/crypto/vdf/types.js +0 -6
- package/fjs/dev/types.js +0 -6
- package/fjs/djs/ast/types.js +0 -8
- package/fjs/djs/parser/types.js +0 -7
- package/fjs/djs/tokenizer/types.js +0 -7
- package/fjs/djs/types.js +0 -7
- package/fjs/effects/eff/types.js +0 -6
- package/fjs/effects/list/types.js +0 -6
- package/fjs/effects/memory/types.js +0 -6
- package/fjs/effects/mock/types.js +0 -6
- package/fjs/effects/node/types.js +0 -6
- package/fjs/effects/node/virtual/types.js +0 -7
- package/fjs/effects/types.js +0 -6
- package/fjs/emergent_testing/all.test.d.ts +0 -1
- package/fjs/emergent_testing/all.test.js +0 -5
- package/fjs/emergent_testing/scenarios/all.d.ts +0 -1
- package/fjs/emergent_testing/scenarios/all.js +0 -1
- package/fjs/emergent_testing/scenarios/async-subtests.fail.d.ts +0 -6
- package/fjs/emergent_testing/scenarios/async-subtests.fail.js +0 -9
- package/fjs/emergent_testing/scenarios/async-subtests.pass.d.ts +0 -6
- package/fjs/emergent_testing/scenarios/async-subtests.pass.js +0 -9
- package/fjs/emergent_testing/scenarios/async.fail.d.ts +0 -3
- package/fjs/emergent_testing/scenarios/async.fail.js +0 -6
- package/fjs/emergent_testing/scenarios/async.pass.d.ts +0 -3
- package/fjs/emergent_testing/scenarios/async.pass.js +0 -5
- package/fjs/emergent_testing/scenarios/fail.fail.d.ts +0 -3
- package/fjs/emergent_testing/scenarios/fail.fail.js +0 -3
- package/fjs/emergent_testing/scenarios/return-value.pass.d.ts +0 -3
- package/fjs/emergent_testing/scenarios/return-value.pass.js +0 -4
- package/fjs/emergent_testing/scenarios/thenable.pass.d.ts +0 -5
- package/fjs/emergent_testing/scenarios/thenable.pass.js +0 -11
- package/fjs/emergent_testing/scenarios/thenable2.pass.d.ts +0 -5
- package/fjs/emergent_testing/scenarios/thenable2.pass.js +0 -3
- package/fjs/emergent_testing/scenarios/throw.pass.d.ts +0 -5
- package/fjs/emergent_testing/scenarios/throw.pass.js +0 -3
- package/fjs/emergent_testing/types.js +0 -6
- package/fjs/js/tokenizer/types.js +0 -6
- package/fjs/media/html/types.js +0 -6
- package/fjs/media/json/parser/types.js +0 -6
- package/fjs/media/json/tokenizer/types.js +0 -6
- package/fjs/media/json/types.js +0 -13
- package/fjs/media/nix/types.js +0 -6
- package/fjs/media/revision/types.js +0 -8
- package/fjs/media/type/types.js +0 -6
- package/fjs/media/types.js +0 -7
- package/fjs/nanvm/types.js +0 -11
- package/fjs/protocol/json_rpc/types.js +0 -8
- package/fjs/protocol/mcp/types.js +0 -8
- package/fjs/sul/id/types.js +0 -6
- package/fjs/sul/level/hash/types.js +0 -6
- package/fjs/sul/level/literal/types.js +0 -6
- package/fjs/sul/types.js +0 -6
- package/fjs/text/sgr/types.js +0 -6
- package/fjs/text/types.js +0 -6
- package/fjs/text/utf16/types.js +0 -6
- package/fjs/text/utf8/types.js +0 -6
- package/fjs/types/array/types.js +0 -6
- package/fjs/types/bigfloat/types.js +0 -6
- package/fjs/types/bigint/types.js +0 -6
- package/fjs/types/bit_vec/types.js +0 -6
- package/fjs/types/btree/find/types.js +0 -6
- package/fjs/types/btree/types/types.js +0 -6
- package/fjs/types/byte_set/types.js +0 -6
- package/fjs/types/function/compare/types.js +0 -6
- package/fjs/types/function/operator/types.js +0 -6
- package/fjs/types/function/types.js +0 -6
- package/fjs/types/list/types.js +0 -6
- package/fjs/types/nibble_set/types.js +0 -6
- package/fjs/types/nominal/types.js +0 -6
- package/fjs/types/nullable/types.js +0 -6
- package/fjs/types/object/types.js +0 -8
- package/fjs/types/option/types.js +0 -6
- package/fjs/types/ordered_map/types.js +0 -6
- package/fjs/types/patricia_trie/types.js +0 -6
- package/fjs/types/phantom/types.js +0 -11
- package/fjs/types/prime_field/types.js +0 -6
- package/fjs/types/range/types.js +0 -6
- package/fjs/types/range_map/types.js +0 -6
- package/fjs/types/result/types.js +0 -6
- package/fjs/types/rtti/common/types.js +0 -1
- package/fjs/types/rtti/parse/types.js +0 -1
- package/fjs/types/rtti/ts/types.js +0 -1
- package/fjs/types/rtti/types.js +0 -1
- package/fjs/types/rtti/validate/types.js +0 -1
- package/fjs/types/sorted_list/types.js +0 -6
- package/fjs/types/sorted_set/types.js +0 -6
- package/fjs/types/string_set/types.js +0 -6
- package/fjs/types/ts/types.js +0 -8
|
@@ -14,13 +14,14 @@
|
|
|
14
14
|
* type-level API.
|
|
15
15
|
*
|
|
16
16
|
* @module
|
|
17
|
+
*
|
|
18
|
+
* @import { Nominal } from '../../types/nominal/types.ts'
|
|
19
|
+
* @import { Effect } from '../types.ts'
|
|
20
|
+
* @import { Key, MemCreate, MemRead, MemWrite, _MemKeyHash } from './types.ts'
|
|
17
21
|
*/
|
|
18
22
|
|
|
19
23
|
import { asBase as nominalAsBase, asNominal as nominalAsNominal } from '../../types/nominal/module.f.mjs'
|
|
20
|
-
/** @import { Nominal } from '../../types/nominal/types.ts' */
|
|
21
24
|
import { do_ } from '../module.f.mjs'
|
|
22
|
-
/** @import { Effect } from '../types.ts' */
|
|
23
|
-
/** @import { Key, MemCreate, MemRead, MemWrite, _MemKeyHash } from './types.ts' */
|
|
24
25
|
|
|
25
26
|
/** @type {(n: Nominal<'MemKey', _MemKeyHash, string>) => string} */
|
|
26
27
|
export const asBase = nominalAsBase
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import { MemOperationMap } from '../mock/types.ts'
|
|
3
|
+
* @import { Key, MemOp } from './types.ts'
|
|
4
|
+
*/
|
|
5
|
+
|
|
1
6
|
import { assert, assertEq } from '../../asserts/module.f.mjs'
|
|
2
7
|
import { run } from '../mock/module.f.mjs'
|
|
3
|
-
/** @import { MemOperationMap } from '../mock/types.ts' */
|
|
4
8
|
import { pure, step } from '../module.f.mjs'
|
|
5
9
|
import {
|
|
6
10
|
asBase, asNominal,
|
|
7
11
|
create, read, write,
|
|
8
12
|
} from './module.f.mjs'
|
|
9
|
-
/** @import { Key, MemOp } from './types.ts' */
|
|
10
13
|
|
|
11
14
|
/**
|
|
12
15
|
* @typedef {{
|
|
@@ -1,6 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mock effect runtimes for testing effectful programs.
|
|
3
|
+
*
|
|
4
|
+
* See `./types.ts` for the `MemOperationMap`/`RunInstance` type-level API.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*
|
|
8
|
+
* @import { Operation } from '../types.ts'
|
|
9
|
+
* @import { MemOperationMap, RunInstance } from './types.ts'
|
|
10
|
+
*/
|
|
1
11
|
import type { Operation } from '../types.ts';
|
|
2
12
|
import type { MemOperationMap, RunInstance } from './types.ts';
|
|
3
|
-
/** @import { Operation } from '../types.ts' */
|
|
4
|
-
/** @import { MemOperationMap, RunInstance } from './types.ts' */
|
|
5
13
|
/** @type {<O extends Operation, S>(o: MemOperationMap<O, S>) => RunInstance<O, S>} */
|
|
6
14
|
export declare const run: <O extends Operation, S>(o: MemOperationMap<O, S>) => RunInstance<O, S>;
|
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
* See `./types.ts` for the `MemOperationMap`/`RunInstance` type-level API.
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
|
+
*
|
|
8
|
+
* @import { Operation } from '../types.ts'
|
|
9
|
+
* @import { MemOperationMap, RunInstance } from './types.ts'
|
|
7
10
|
*/
|
|
11
|
+
|
|
8
12
|
import { match } from "../module.f.mjs"
|
|
9
|
-
/** @import { Operation } from '../types.ts' */
|
|
10
|
-
/** @import { MemOperationMap, RunInstance } from './types.ts' */
|
|
11
13
|
|
|
12
14
|
/** @type {<O extends Operation, S>(o: MemOperationMap<O, S>) => RunInstance<O, S>} */
|
|
13
15
|
export const run = o => state => effect => {
|
package/fjs/effects/module.d.mts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Impure effect interpretation: runs an `Effect` step by step against an
|
|
3
|
+
* asynchronous operation map.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*
|
|
7
|
+
* @import { Effect, Operation, ToAsyncOperationMap } from './types.ts'
|
|
8
|
+
*/
|
|
1
9
|
import type { Effect, Operation, ToAsyncOperationMap } from './types.ts';
|
|
2
10
|
/**
|
|
3
11
|
* @template {Operation} O
|
|
@@ -95,15 +95,17 @@
|
|
|
95
95
|
* See `./types.ts` for the type-level API.
|
|
96
96
|
*
|
|
97
97
|
* @module
|
|
98
|
+
*
|
|
99
|
+
* @import { List } from '../types/list/types.ts'
|
|
100
|
+
* @import { Option } from '../types/option/types.ts'
|
|
101
|
+
* @import { Result } from '../types/result/types.ts'
|
|
102
|
+
* @import { Fold } from '../types/function/operator/types.ts'
|
|
103
|
+
* @import { Cont, Do, Effect, F, History, MatchResult, Operation, OperationMap, Param, Pr, Pure, Return, ToAsyncOperationMap } from './types.ts'
|
|
98
104
|
*/
|
|
99
105
|
import type { List } from '../types/list/types.ts';
|
|
100
106
|
import type { Option } from '../types/option/types.ts';
|
|
101
107
|
import type { Result } from '../types/result/types.ts';
|
|
102
108
|
import type { Effect, History, MatchResult, Operation, OperationMap, Param, Return } from './types.ts';
|
|
103
|
-
/** @import { Option } from '../types/option/types.ts' */
|
|
104
|
-
/** @import { Result } from '../types/result/types.ts' */
|
|
105
|
-
/** @import { Fold } from '../types/function/operator/types.ts' */
|
|
106
|
-
/** @import { Cont, Do, Effect, F, History, MatchResult, Operation, OperationMap, Param, Pr, Pure, Return, ToAsyncOperationMap } from './types.ts' */
|
|
107
109
|
/** @type {<T>(v: T) => Effect<never, T>} */
|
|
108
110
|
export declare const pure: <T>(v: T) => Effect<never, T>;
|
|
109
111
|
/**
|
package/fjs/effects/module.f.mjs
CHANGED
|
@@ -95,16 +95,17 @@
|
|
|
95
95
|
* See `./types.ts` for the type-level API.
|
|
96
96
|
*
|
|
97
97
|
* @module
|
|
98
|
+
*
|
|
99
|
+
* @import { List } from '../types/list/types.ts'
|
|
100
|
+
* @import { Option } from '../types/option/types.ts'
|
|
101
|
+
* @import { Result } from '../types/result/types.ts'
|
|
102
|
+
* @import { Fold } from '../types/function/operator/types.ts'
|
|
103
|
+
* @import { Cont, Do, Effect, F, History, MatchResult, Operation, OperationMap, Param, Pr, Pure, Return, ToAsyncOperationMap } from './types.ts'
|
|
98
104
|
*/
|
|
99
105
|
|
|
100
106
|
import { assert } from '../asserts/module.f.mjs'
|
|
101
|
-
/** @import { List } from '../types/list/types.ts' */
|
|
102
107
|
import { fold } from '../types/list/module.f.mjs'
|
|
103
108
|
import { at } from '../types/object/module.f.mjs'
|
|
104
|
-
/** @import { Option } from '../types/option/types.ts' */
|
|
105
|
-
/** @import { Result } from '../types/result/types.ts' */
|
|
106
|
-
/** @import { Fold } from '../types/function/operator/types.ts' */
|
|
107
|
-
/** @import { Cont, Do, Effect, F, History, MatchResult, Operation, OperationMap, Param, Pr, Pure, Return, ToAsyncOperationMap } from './types.ts' */
|
|
108
109
|
|
|
109
110
|
/** @type {<T>(v: T) => Effect<never, T>} */
|
|
110
111
|
export const pure = v => () => v
|
package/fjs/effects/module.mjs
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* Impure effect interpretation: runs an `Effect` step by step against an
|
|
3
|
+
* asynchronous operation map.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*
|
|
7
|
+
* @import { Effect, Operation, ToAsyncOperationMap } from './types.ts'
|
|
8
|
+
*/
|
|
9
|
+
|
|
2
10
|
import { match } from './module.f.mjs'
|
|
3
11
|
|
|
4
12
|
/**
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* Node.js interpreter helpers for memory effects.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { Effect, ToAsyncOperationMap } from '../../types.ts'
|
|
7
|
+
* @import { Key, MemOp } from '../../memory/types.ts'
|
|
5
8
|
*/
|
|
6
9
|
import type { Effect, ToAsyncOperationMap } from '../../types.ts';
|
|
7
10
|
import type { MemOp } from '../../memory/types.ts';
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* Node.js interpreter helpers for memory effects.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { Effect, ToAsyncOperationMap } from '../../types.ts'
|
|
7
|
+
* @import { Key, MemOp } from '../../memory/types.ts'
|
|
5
8
|
*/
|
|
6
9
|
|
|
7
10
|
import { randomUUID } from 'node:crypto'
|
|
8
11
|
import { asyncRun } from '../../module.mjs'
|
|
9
|
-
/** @import { Effect, ToAsyncOperationMap } from '../../types.ts' */
|
|
10
12
|
import { asBase, asNominal } from '../../memory/module.f.mjs'
|
|
11
|
-
/** @import { Key, MemOp } from '../../memory/types.ts' */
|
|
12
13
|
|
|
13
14
|
/** @typedef {ToAsyncOperationMap<MemOp>} MemoryOperationMap */
|
|
14
15
|
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Node.js interpreter proofs for memory effects.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { Key, MemOp } from '../../memory/types.ts'
|
|
5
7
|
*/
|
|
6
8
|
|
|
7
9
|
import { asyncRun } from '../../module.mjs'
|
|
@@ -9,7 +11,6 @@ import {
|
|
|
9
11
|
asNominal,
|
|
10
12
|
create, read, write,
|
|
11
13
|
} from '../../memory/module.f.mjs'
|
|
12
|
-
/** @import { Key, MemOp } from '../../memory/types.ts' */
|
|
13
14
|
import { memoryOperationMap, run } from './module.mjs'
|
|
14
15
|
import { assert, assertEq } from '../../../asserts/module.f.mjs'
|
|
15
16
|
import { step } from '../../module.f.mjs'
|
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
* globals directly instead.
|
|
12
12
|
*
|
|
13
13
|
* @module
|
|
14
|
+
*
|
|
15
|
+
* @import { Effect } from '../types.ts'
|
|
16
|
+
* @import { Server as EffectServer, Headers, Module, NodeOp, RequestListener as Erl, NodeProgram, NodeProgramOptions, WriteConsoles, TestContext, TestFn, } from './types.ts'
|
|
17
|
+
* @import { Result } from '../../types/result/types.ts'
|
|
18
|
+
* @import { StringMap } from '../../types/object/types.ts'
|
|
14
19
|
*/
|
|
15
20
|
import type { Effect } from '../types.ts';
|
|
16
21
|
import type { Headers, NodeOp, NodeProgram } from './types.ts';
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js effect operations: filesystem (`mkdir`, `readFile`, `readdir`,
|
|
3
|
+
* `writeFile`, `rm`, `access`, plus the `readUtf8File`/`writeUtf8File` text
|
|
4
|
+
* helpers), networking (`fetch`, `createServer`, `listen`),
|
|
5
|
+
* subprocess `exec`, `log`/`error` (wrappers over `write`), `import_`, `now`,
|
|
6
|
+
* `sandbox`, `forever`, and `all`/`both` parallelism; defines the
|
|
7
|
+
* `NodeOp`/`NodeProgram` types used by the Node runner.
|
|
8
|
+
*
|
|
9
|
+
* See `./types.ts` for the type-level API.
|
|
10
|
+
*
|
|
11
|
+
* @module
|
|
12
|
+
*
|
|
13
|
+
* @import { Vec } from '../../types/bit_vec/types.ts'
|
|
14
|
+
* @import { Effect, Func, Operation } from '../types.ts'
|
|
15
|
+
* @import { List } from '../list/types.ts'
|
|
16
|
+
* @import { All, Access, Await, Console, CreateExclusive, CreateServer, Dirent, Engine, Env, Exec, ExecResult, Fetch, FileStat, Forever, Fs, Headers, Http, IncomingMessage, Import, IoResult, Listen, MakeDirectoryOptions, Mkdir, Module, Now, NodeOp, NodeProgramOptions, RandomInt, Read, ReadBytes, ReadConsoles, ReadFile, Readdir, ReaddirOptions, RequestListener, Rename, Rm, Sandbox, SandboxResult, Server, ServerResponse, Stat, Test, TestContext, TestFn, Write, WriteBytes, WriteConsoles, WriteFile, _UtfList, _WriteLoop, } from './types.ts'
|
|
17
|
+
*/
|
|
1
18
|
import type { Vec } from '../../types/bit_vec/types.ts';
|
|
2
19
|
import type { Effect, Func, Operation } from '../types.ts';
|
|
3
20
|
import type { List } from '../list/types.ts';
|
|
4
21
|
import type { All, Access, Await, Console, CreateExclusive, CreateServer, Engine, Exec, Fetch, Forever, Import, IoResult, Listen, Mkdir, Now, RandomInt, Read, ReadBytes, ReadConsoles, ReadFile, Readdir, RequestListener, Rename, Rm, Sandbox, Server, Stat, Test, Write, WriteBytes, WriteFile } from './types.ts';
|
|
5
|
-
/** @import { Vec } from '../../types/bit_vec/types.ts' */
|
|
6
|
-
/** @import { Effect, Func, Operation } from '../types.ts' */
|
|
7
|
-
/** @import { List } from '../list/types.ts' */
|
|
8
|
-
/** @import {
|
|
9
|
-
All, Access, Await, Console, CreateExclusive, CreateServer, Dirent, Engine,
|
|
10
|
-
Env, Exec, ExecResult, Fetch, FileStat, Forever, Fs, Headers, Http,
|
|
11
|
-
IncomingMessage, Import, IoResult, Listen, MakeDirectoryOptions, Mkdir,
|
|
12
|
-
Module, Now, NodeOp, NodeProgramOptions, RandomInt, Read, ReadBytes,
|
|
13
|
-
ReadConsoles, ReadFile, Readdir, ReaddirOptions, RequestListener, Rename,
|
|
14
|
-
Rm, Sandbox, SandboxResult, Server, ServerResponse, Stat, Test, TestContext,
|
|
15
|
-
TestFn, Write, WriteBytes, WriteConsoles, WriteFile, _UtfList, _WriteLoop,
|
|
16
|
-
} from './types.ts' */
|
|
17
22
|
/**
|
|
18
23
|
* True if `e` is a "file or directory does not exist" (`ENOENT`) error.
|
|
19
24
|
*
|
|
@@ -9,7 +9,13 @@
|
|
|
9
9
|
* See `./types.ts` for the type-level API.
|
|
10
10
|
*
|
|
11
11
|
* @module
|
|
12
|
+
*
|
|
13
|
+
* @import { Vec } from '../../types/bit_vec/types.ts'
|
|
14
|
+
* @import { Effect, Func, Operation } from '../types.ts'
|
|
15
|
+
* @import { List } from '../list/types.ts'
|
|
16
|
+
* @import { All, Access, Await, Console, CreateExclusive, CreateServer, Dirent, Engine, Env, Exec, ExecResult, Fetch, FileStat, Forever, Fs, Headers, Http, IncomingMessage, Import, IoResult, Listen, MakeDirectoryOptions, Mkdir, Module, Now, NodeOp, NodeProgramOptions, RandomInt, Read, ReadBytes, ReadConsoles, ReadFile, Readdir, ReaddirOptions, RequestListener, Rename, Rm, Sandbox, SandboxResult, Server, ServerResponse, Stat, Test, TestContext, TestFn, Write, WriteBytes, WriteConsoles, WriteFile, _UtfList, _WriteLoop, } from './types.ts'
|
|
12
17
|
*/
|
|
18
|
+
|
|
13
19
|
import { utf8, utf8ToString } from '../../text/module.f.mjs'
|
|
14
20
|
import { toCodePointList } from '../../text/utf8/module.f.mjs'
|
|
15
21
|
import { codePointListToString } from '../../text/utf16/module.f.mjs'
|
|
@@ -17,18 +23,6 @@ import { reverse } from '../../types/list/module.f.mjs'
|
|
|
17
23
|
import { length } from '../../types/bit_vec/module.f.mjs'
|
|
18
24
|
import { ok, error as resultError, mapOk } from '../../types/result/module.f.mjs'
|
|
19
25
|
import { do_, mapStep, okStep, pure, step } from '../module.f.mjs'
|
|
20
|
-
/** @import { Vec } from '../../types/bit_vec/types.ts' */
|
|
21
|
-
/** @import { Effect, Func, Operation } from '../types.ts' */
|
|
22
|
-
/** @import { List } from '../list/types.ts' */
|
|
23
|
-
/** @import {
|
|
24
|
-
All, Access, Await, Console, CreateExclusive, CreateServer, Dirent, Engine,
|
|
25
|
-
Env, Exec, ExecResult, Fetch, FileStat, Forever, Fs, Headers, Http,
|
|
26
|
-
IncomingMessage, Import, IoResult, Listen, MakeDirectoryOptions, Mkdir,
|
|
27
|
-
Module, Now, NodeOp, NodeProgramOptions, RandomInt, Read, ReadBytes,
|
|
28
|
-
ReadConsoles, ReadFile, Readdir, ReaddirOptions, RequestListener, Rename,
|
|
29
|
-
Rm, Sandbox, SandboxResult, Server, ServerResponse, Stat, Test, TestContext,
|
|
30
|
-
TestFn, Write, WriteBytes, WriteConsoles, WriteFile, _UtfList, _WriteLoop,
|
|
31
|
-
} from './types.ts' */
|
|
32
26
|
|
|
33
27
|
/**
|
|
34
28
|
* True if `e` is a "file or directory does not exist" (`ENOENT`) error.
|
|
@@ -11,6 +11,11 @@
|
|
|
11
11
|
* globals directly instead.
|
|
12
12
|
*
|
|
13
13
|
* @module
|
|
14
|
+
*
|
|
15
|
+
* @import { Effect } from '../types.ts'
|
|
16
|
+
* @import { Server as EffectServer, Headers, Module, NodeOp, RequestListener as Erl, NodeProgram, NodeProgramOptions, WriteConsoles, TestContext, TestFn, } from './types.ts'
|
|
17
|
+
* @import { Result } from '../../types/result/types.ts'
|
|
18
|
+
* @import { StringMap } from '../../types/object/types.ts'
|
|
14
19
|
*/
|
|
15
20
|
|
|
16
21
|
import http from 'node:http'
|
|
@@ -23,30 +28,13 @@ import { once } from 'node:events'
|
|
|
23
28
|
import * as testContext from 'node:test'
|
|
24
29
|
|
|
25
30
|
import { concat, normalize, toPosix } from '../../path/module.f.mjs'
|
|
26
|
-
/** @import { Effect } from '../types.ts' */
|
|
27
31
|
import { asyncRun } from '../module.mjs'
|
|
28
32
|
import { memoryOperationMap } from './memory/module.mjs'
|
|
29
33
|
import { usesInlineTestContext } from './module.f.mjs'
|
|
30
|
-
/**
|
|
31
|
-
* @import {
|
|
32
|
-
* Server as EffectServer,
|
|
33
|
-
* Headers,
|
|
34
|
-
* Module,
|
|
35
|
-
* NodeOp,
|
|
36
|
-
* RequestListener as Erl,
|
|
37
|
-
* NodeProgram,
|
|
38
|
-
* NodeProgramOptions,
|
|
39
|
-
* WriteConsoles,
|
|
40
|
-
* TestContext,
|
|
41
|
-
* TestFn,
|
|
42
|
-
* } from './types.ts'
|
|
43
|
-
*/
|
|
44
34
|
import { asBase, asNominal } from '../../types/nominal/module.f.mjs'
|
|
45
|
-
/** @import { Result } from '../../types/result/types.ts' */
|
|
46
35
|
import { error, ok } from '../../types/result/module.f.mjs'
|
|
47
36
|
import { asyncTryCatch } from '../../types/result/module.mjs'
|
|
48
37
|
import { fromVec, listToVec, toVec } from '../../types/uint8array/module.f.mjs'
|
|
49
|
-
/** @import { StringMap } from '../../types/object/types.ts' */
|
|
50
38
|
import { maxLengthBytes } from '../../types/bit_vec/module.f.mjs'
|
|
51
39
|
|
|
52
40
|
/** @typedef {{ readonly listen: (port: number) => void }} _Server */
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
* Virtual Node-effect operations for filesystem and process tests.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { Vec } from '../../../types/bit_vec/types.ts'
|
|
7
|
+
* @import { MemOperationMap, RunInstance } from '../../mock/types.ts'
|
|
8
|
+
* @import { Key } from '../../memory/types.ts'
|
|
9
|
+
* @import { Dirent, FileStat, IoResult, Module, NodeOp, NodeProgramOptions, SandboxResult } from '../types.ts'
|
|
10
|
+
* @import { Dir, State, _Entity } from './types.ts'
|
|
5
11
|
*/
|
|
6
12
|
import type { RunInstance } from '../../mock/types.ts';
|
|
7
13
|
import type { NodeOp, NodeProgramOptions } from '../types.ts';
|
|
8
14
|
import type { State } from './types.ts';
|
|
9
|
-
/** @import { Key } from '../../memory/types.ts' */
|
|
10
|
-
/** @import { Dirent, FileStat, IoResult, Module, NodeOp, NodeProgramOptions, SandboxResult } from '../types.ts' */
|
|
11
|
-
/** @import { Dir, State, _Entity } from './types.ts' */
|
|
12
15
|
/** @type {State} */
|
|
13
16
|
export declare const emptyState: State;
|
|
14
17
|
/** @type {RunInstance<NodeOp, State>} */
|
|
@@ -2,20 +2,21 @@
|
|
|
2
2
|
* Virtual Node-effect operations for filesystem and process tests.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { Vec } from '../../../types/bit_vec/types.ts'
|
|
7
|
+
* @import { MemOperationMap, RunInstance } from '../../mock/types.ts'
|
|
8
|
+
* @import { Key } from '../../memory/types.ts'
|
|
9
|
+
* @import { Dirent, FileStat, IoResult, Module, NodeOp, NodeProgramOptions, SandboxResult } from '../types.ts'
|
|
10
|
+
* @import { Dir, State, _Entity } from './types.ts'
|
|
5
11
|
*/
|
|
6
12
|
|
|
7
13
|
import { todo } from '../../../asserts/module.f.mjs'
|
|
8
14
|
import { isProperPrefix, join, parse } from '../../../path/module.f.mjs'
|
|
9
15
|
import { utf8ToString } from '../../../text/module.f.mjs'
|
|
10
|
-
/** @import { Vec } from '../../../types/bit_vec/types.ts' */
|
|
11
16
|
import { empty, length, maxLengthBytes, msb, vec } from '../../../types/bit_vec/module.f.mjs'
|
|
12
17
|
import { error, ok } from '../../../types/result/module.f.mjs'
|
|
13
18
|
import { run } from '../../mock/module.f.mjs'
|
|
14
|
-
/** @import { MemOperationMap, RunInstance } from '../../mock/types.ts' */
|
|
15
19
|
import { asBase, asNominal } from '../../memory/module.f.mjs'
|
|
16
|
-
/** @import { Key } from '../../memory/types.ts' */
|
|
17
|
-
/** @import { Dirent, FileStat, IoResult, Module, NodeOp, NodeProgramOptions, SandboxResult } from '../types.ts' */
|
|
18
|
-
/** @import { Dir, State, _Entity } from './types.ts' */
|
|
19
20
|
|
|
20
21
|
/** @type {State} */
|
|
21
22
|
export const emptyState = {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* @import { Dir, JsModule } from './types.ts'
|
|
3
|
+
*/
|
|
2
4
|
export declare const proof: {
|
|
3
5
|
rm: {
|
|
4
6
|
success: () => void;
|
|
@@ -6,6 +8,7 @@ export declare const proof: {
|
|
|
6
8
|
isDirectory: () => void;
|
|
7
9
|
};
|
|
8
10
|
writeFileOnDirectory: () => void;
|
|
11
|
+
writeFileOverJsModule: () => void;
|
|
9
12
|
readdirRecursive: () => void;
|
|
10
13
|
accessNestedPathThroughFile: () => void;
|
|
11
14
|
readFileIntoDir: () => void;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import { Dir, JsModule } from './types.ts'
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { assert, assertEq } from '../../../asserts/module.f.mjs'
|
|
2
6
|
import { access, awaitIfPromise, fetch, rm, writeFile, readFile, readdir, import_, rename, readBytes, writeBytes, stat } from '../module.f.mjs'
|
|
3
7
|
import { maxLengthBytes, vec, vec8 } from '../../../types/bit_vec/module.f.mjs'
|
|
4
8
|
import { emptyState, virtual } from './module.f.mjs'
|
|
5
|
-
/** @import { Dir, JsModule } from './types.ts' */
|
|
6
9
|
|
|
7
10
|
export const proof = {
|
|
8
11
|
rm: {
|
|
@@ -33,6 +36,15 @@ export const proof = {
|
|
|
33
36
|
const [, result] = virtual({ ...emptyState, root })(writeFile('mydir', vec8(0x42n)))
|
|
34
37
|
assert(result[0] === 'error')
|
|
35
38
|
},
|
|
39
|
+
writeFileOverJsModule: () => {
|
|
40
|
+
// writeFile onto a path currently holding a JsModule (function) covers the
|
|
41
|
+
// `!Array.isArray(file)` branch of writeFileOp: the entry exists but is
|
|
42
|
+
// neither undefined nor an array.
|
|
43
|
+
/** @type {Dir} */
|
|
44
|
+
const root = { 'a.f.ts': /** @type {JsModule} */ (() => ({})) }
|
|
45
|
+
const [, result] = virtual({ ...emptyState, root })(writeFile('a.f.ts', vec8(0x42n)))
|
|
46
|
+
assert(result[0] === 'error')
|
|
47
|
+
},
|
|
36
48
|
readdirRecursive: () => {
|
|
37
49
|
const file = /** @type {const} */ ([vec8(0x42n)])
|
|
38
50
|
/** @type {Dir} */
|
package/fjs/effects/proof.f.mjs
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import { Effect, Operation, OperationMap } from './types.ts'
|
|
3
|
+
*/
|
|
4
|
+
|
|
1
5
|
import { step, do_, foldStep, forEachStep, mapStep, match, okStep, history, pure, runPure, historyStep } from './module.f.mjs'
|
|
2
|
-
/** @import { Effect, Operation, OperationMap } from './types.ts' */
|
|
3
6
|
import { error, ok } from '../types/result/module.f.mjs'
|
|
4
7
|
import { assert, assertEq } from '../asserts/module.f.mjs'
|
|
5
8
|
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External-runner entry point: importing this module discovers every proof
|
|
3
|
+
* module and registers each test case with the active test runner. In this
|
|
4
|
+
* repository `node --test`, `bun test`, and `deno test` discover it by its
|
|
5
|
+
* `.test.` name; projects consuming the package re-export it from their own
|
|
6
|
+
* entry file with a bare side-effect import — see `README.md`.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External-runner entry point: importing this module discovers every proof
|
|
3
|
+
* module and registers each test case with the active test runner. In this
|
|
4
|
+
* repository `node --test`, `bun test`, and `deno test` discover it by its
|
|
5
|
+
* `.test.` name; projects consuming the package re-export it from their own
|
|
6
|
+
* entry file with a bare side-effect import — see `README.md`.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { runEffect } from '../effects/node/module.mjs'
|
|
10
|
+
import { register } from './module.f.mjs'
|
|
11
|
+
|
|
12
|
+
// Top-level `await`: every proof must be registered before the runner starts
|
|
13
|
+
// collecting tests.
|
|
14
|
+
await runEffect(register)
|
|
@@ -9,11 +9,16 @@
|
|
|
9
9
|
* scheduling and pass/fail counting.
|
|
10
10
|
*
|
|
11
11
|
* @module
|
|
12
|
+
*
|
|
13
|
+
* @import { Effect, Operation } from '../effects/types.ts'
|
|
14
|
+
* @import { LoadModuleOperations, ModuleMap } from '../dev/types.ts'
|
|
15
|
+
* @import { TestFn, TestEntry, TestSet, Path, Reporter, _TestState, _TestAndPath } from './types.ts'
|
|
16
|
+
* @import { All, Await, Env, NodeProgram, NodeProgramOptions, Program, Sandbox, SandboxResult, Test, TestContext, Write, WriteConsoles } from '../effects/node/types.ts'
|
|
12
17
|
*/
|
|
13
|
-
import type { All, Await, NodeProgram, NodeProgramOptions, Program, Sandbox, SandboxResult, Test, TestContext, Write } from '../effects/node/types.ts';
|
|
14
18
|
import type { Effect, Operation } from '../effects/types.ts';
|
|
15
19
|
import type { LoadModuleOperations, ModuleMap } from '../dev/types.ts';
|
|
16
20
|
import type { TestEntry, TestSet, Path, Reporter, _TestAndPath } from './types.ts';
|
|
21
|
+
import type { All, Await, NodeProgram, NodeProgramOptions, Program, Sandbox, SandboxResult, Test, TestContext, Write } from '../effects/node/types.ts';
|
|
17
22
|
/**
|
|
18
23
|
* Converts an arbitrary JS value into a `TestSet`.
|
|
19
24
|
*
|