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
|
@@ -28,11 +28,14 @@
|
|
|
28
28
|
* See `./types.ts` for the `Path`/`Result`/`Validate`/`ValidationError` type-level API.
|
|
29
29
|
*
|
|
30
30
|
* @module
|
|
31
|
+
*
|
|
32
|
+
* @import { Unknown } from '../ts/types.ts'
|
|
33
|
+
* @import { Info1, Struct, Tag1, Tuple, Type } from '../types.ts'
|
|
34
|
+
* @import { StringMap } from '../../object/types.ts'
|
|
35
|
+
* @import { Container, IsContainer, Validate, ValidateE, Visitor } from '../common/types.ts'
|
|
31
36
|
*/
|
|
32
|
-
|
|
33
|
-
/** @import { Info1, Struct, Tag1, Tuple, Type } from '../types.ts' */
|
|
37
|
+
|
|
34
38
|
import { ok } from '../../result/module.f.mjs'
|
|
35
|
-
/** @import { StringMap } from '../../object/types.ts' */
|
|
36
39
|
import {
|
|
37
40
|
constPrimitiveValidate,
|
|
38
41
|
eachEntry,
|
|
@@ -43,7 +46,6 @@ import {
|
|
|
43
46
|
verror,
|
|
44
47
|
visit,
|
|
45
48
|
} from '../common/module.f.mjs'
|
|
46
|
-
/** @import { Container, IsContainer, Validate, ValidateE, Visitor } from '../common/types.ts' */
|
|
47
49
|
|
|
48
50
|
export {
|
|
49
51
|
constPrimitiveValidate,
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
* Sorted immutable list helpers and merge operations.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { Cmp } from '../function/compare/types.ts'
|
|
7
|
+
* @import { List } from '../list/types.ts'
|
|
8
|
+
* @import { ReduceOp, SortedList, _MergeReduce } from './types.ts'
|
|
5
9
|
*/
|
|
6
10
|
import type { Cmp } from '../function/compare/types.ts';
|
|
7
11
|
import type { List } from '../list/types.ts';
|
|
8
12
|
import type { ReduceOp, SortedList, _MergeReduce } from './types.ts';
|
|
9
13
|
export type _SortedArray<T> = readonly T[];
|
|
10
|
-
/** @import { ReduceOp, SortedList, TailReduce, _MergeReduce } from './types.ts' */
|
|
11
14
|
/** @template T @typedef {readonly T[]} _SortedArray */
|
|
12
15
|
/**
|
|
13
16
|
* Two-way sorted-list merge.
|
|
@@ -2,14 +2,15 @@
|
|
|
2
2
|
* Sorted immutable list helpers and merge operations.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { Cmp } from '../function/compare/types.ts'
|
|
7
|
+
* @import { List } from '../list/types.ts'
|
|
8
|
+
* @import { ReduceOp, SortedList, _MergeReduce } from './types.ts'
|
|
5
9
|
*/
|
|
6
10
|
|
|
7
11
|
import { bsearch } from '../function/compare/module.f.mjs'
|
|
8
|
-
/** @import { Cmp } from '../function/compare/types.ts' */
|
|
9
12
|
import { next } from '../list/module.f.mjs'
|
|
10
|
-
/** @import { List } from '../list/types.ts' */
|
|
11
13
|
import { identity } from '../function/module.f.mjs'
|
|
12
|
-
/** @import { ReduceOp, SortedList, TailReduce, _MergeReduce } from './types.ts' */
|
|
13
14
|
|
|
14
15
|
/** @template T @typedef {readonly T[]} _SortedArray */
|
|
15
16
|
|
|
@@ -53,11 +54,7 @@ export const merge =
|
|
|
53
54
|
* @param {Cmp<T>} cmp
|
|
54
55
|
* @returns {(a: SortedList<T>) => (b: SortedList<T>) => SortedList<T>}
|
|
55
56
|
*/
|
|
56
|
-
cmp => {
|
|
57
|
-
/** @type {TailReduce<T, null>} */
|
|
58
|
-
const tailReduce = mergeTail
|
|
59
|
-
return genericMerge({ reduceOp: cmpReduce(cmp), tailReduce })(null)
|
|
60
|
-
}
|
|
57
|
+
cmp => genericMerge({ reduceOp: cmpReduce(cmp), tailReduce: keepTail })(null)
|
|
61
58
|
|
|
62
59
|
const cmpReduce =
|
|
63
60
|
/**
|
|
@@ -70,10 +67,22 @@ const cmpReduce =
|
|
|
70
67
|
return [sign === 1 ? b : a, sign, null]
|
|
71
68
|
}
|
|
72
69
|
|
|
73
|
-
/**
|
|
74
|
-
|
|
70
|
+
/**
|
|
71
|
+
* The two tail policies `genericMerge` takes, named for what they do with the
|
|
72
|
+
* list that has not been exhausted yet: `merge` keeps it, because everything
|
|
73
|
+
* still there belongs in the union, and `intersect` drops it, because with one
|
|
74
|
+
* side exhausted nothing remaining can be matched.
|
|
75
|
+
*
|
|
76
|
+
* Both are left to inference deliberately. An explicit
|
|
77
|
+
* `() => <T>(tail: List<T>) => List<T>` compiles here but introduces its own
|
|
78
|
+
* type parameter, which `genericMerge` then collects as an inference candidate
|
|
79
|
+
* alongside `reduceOp`'s; the best common supertype of the two is `unknown`, so
|
|
80
|
+
* `T` widens and both call sites fail to match their declared return type. With
|
|
81
|
+
* no annotation there is no second candidate and `reduceOp` alone fixes `T`.
|
|
82
|
+
*/
|
|
83
|
+
const keepTail = () => identity
|
|
75
84
|
|
|
76
|
-
const
|
|
85
|
+
const dropTail = () => () => null
|
|
77
86
|
|
|
78
87
|
const intersectReduce =
|
|
79
88
|
/**
|
|
@@ -92,7 +101,7 @@ export const intersect =
|
|
|
92
101
|
* @param {Cmp<T>} cmp
|
|
93
102
|
* @returns {(a: SortedList<T>) => (b: SortedList<T>) => SortedList<T>}
|
|
94
103
|
*/
|
|
95
|
-
cmp => genericMerge({ reduceOp: intersectReduce(cmp), tailReduce })(null)
|
|
104
|
+
cmp => genericMerge({ reduceOp: intersectReduce(cmp), tailReduce: dropTail })(null)
|
|
96
105
|
|
|
97
106
|
export const find =
|
|
98
107
|
/**
|
|
@@ -1,6 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A sorted set, implemented as a sorted array.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*
|
|
6
|
+
* @note
|
|
7
|
+
*
|
|
8
|
+
* All input arrays must be pre-sorted according to the provided comparison function (`Cmp<T>`).
|
|
9
|
+
* The correctness of these functions depend on this requirement.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* ```js
|
|
14
|
+
* import { union, intersect, has } from './module.f.mjs'
|
|
15
|
+
*
|
|
16
|
+
* const cmp = (a: number) => (b: number) => a < b ? -1 : a > b ? 1 : 0
|
|
17
|
+
*
|
|
18
|
+
* const setA = [1, 3, 5]
|
|
19
|
+
* const setB = [3, 4, 5]
|
|
20
|
+
*
|
|
21
|
+
* const unionSet = union(cmp)(setA)(setB) // [1, 3, 4, 5]
|
|
22
|
+
*
|
|
23
|
+
* const intersectionSet = intersect(cmp)(setA)(setB) // [3, 5]
|
|
24
|
+
*
|
|
25
|
+
* has(cmp)(3)(setA) // true
|
|
26
|
+
* has(cmp)(2)(setA) // false
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @import { Cmp } from '../function/compare/types.ts'
|
|
30
|
+
* @import { SortedSet } from './types.ts'
|
|
31
|
+
*/
|
|
1
32
|
import type { Cmp } from '../function/compare/types.ts';
|
|
2
33
|
import type { SortedSet } from './types.ts';
|
|
3
|
-
/** @import { SortedSet } from './types.ts' */
|
|
4
34
|
export declare const union: <T>(
|
|
5
35
|
/**
|
|
6
36
|
* @template T
|
|
@@ -25,11 +25,13 @@
|
|
|
25
25
|
* has(cmp)(3)(setA) // true
|
|
26
26
|
* has(cmp)(2)(setA) // false
|
|
27
27
|
* ```
|
|
28
|
+
*
|
|
29
|
+
* @import { Cmp } from '../function/compare/types.ts'
|
|
30
|
+
* @import { SortedSet } from './types.ts'
|
|
28
31
|
*/
|
|
29
|
-
|
|
32
|
+
|
|
30
33
|
import { toArray } from "../list/module.f.mjs"
|
|
31
34
|
import { merge, intersect as listIntersect, find } from '../sorted_list/module.f.mjs'
|
|
32
|
-
/** @import { SortedSet } from './types.ts' */
|
|
33
35
|
|
|
34
36
|
export const union =
|
|
35
37
|
/**
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
* repeat('abc')(3) // 'abcabcabc'
|
|
15
15
|
* cmp('apple')('banana') // -1
|
|
16
16
|
* ```
|
|
17
|
+
*
|
|
18
|
+
* @import { List } from '../list/types.ts'
|
|
19
|
+
* @import { Sign } from '../function/compare/types.ts'
|
|
20
|
+
* @import { Reduce } from '../function/operator/types.ts'
|
|
17
21
|
*/
|
|
18
22
|
import type { List } from '../list/types.ts';
|
|
19
23
|
import type { Sign } from '../function/compare/types.ts';
|
|
@@ -14,14 +14,15 @@
|
|
|
14
14
|
* repeat('abc')(3) // 'abcabcabc'
|
|
15
15
|
* cmp('apple')('banana') // -1
|
|
16
16
|
* ```
|
|
17
|
+
*
|
|
18
|
+
* @import { List } from '../list/types.ts'
|
|
19
|
+
* @import { Sign } from '../function/compare/types.ts'
|
|
20
|
+
* @import { Reduce } from '../function/operator/types.ts'
|
|
17
21
|
*/
|
|
18
22
|
|
|
19
|
-
/** @import { List } from '../list/types.ts' */
|
|
20
23
|
import { reduce as listReduce, repeat as listRepeat } from '../list/module.f.mjs'
|
|
21
24
|
import { compose } from '../function/module.f.mjs'
|
|
22
|
-
/** @import { Sign } from '../function/compare/types.ts' */
|
|
23
25
|
import { cmp as uCmp } from '../function/compare/module.f.mjs'
|
|
24
|
-
/** @import { Reduce } from '../function/operator/types.ts' */
|
|
25
26
|
import { join as joinOp } from '../function/operator/module.f.mjs'
|
|
26
27
|
import { fold } from '../../common/monoid/module.f.mjs'
|
|
27
28
|
|
|
@@ -19,10 +19,12 @@
|
|
|
19
19
|
* mySet = remove('banana')(mySet);
|
|
20
20
|
* if (contains('banana')(mySet)) { throw '4' }
|
|
21
21
|
* ```
|
|
22
|
+
*
|
|
23
|
+
* @import { List } from '../list/types.ts'
|
|
24
|
+
* @import { StringSet } from './types.ts'
|
|
22
25
|
*/
|
|
23
26
|
import type { List } from '../list/types.ts';
|
|
24
27
|
import type { StringSet } from './types.ts';
|
|
25
|
-
/** @import { StringSet } from './types.ts' */
|
|
26
28
|
/** @type {(s: StringSet) => List<string>} */
|
|
27
29
|
export declare const values: (s: StringSet) => List<string>;
|
|
28
30
|
/** @type {null} */
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
* mySet = remove('banana')(mySet);
|
|
20
20
|
* if (contains('banana')(mySet)) { throw '4' }
|
|
21
21
|
* ```
|
|
22
|
+
*
|
|
23
|
+
* @import { List } from '../list/types.ts'
|
|
24
|
+
* @import { StringSet } from './types.ts'
|
|
22
25
|
*/
|
|
23
26
|
|
|
24
27
|
import { empty as btEmpty, values as btValues } from '../btree/module.f.mjs'
|
|
@@ -26,10 +29,8 @@ import { find, isFound } from '../btree/find/module.f.mjs'
|
|
|
26
29
|
import { remove as btreeRemove } from '../btree/remove/module.f.mjs'
|
|
27
30
|
import { set as btreeSet } from '../btree/set/module.f.mjs'
|
|
28
31
|
import { cmp } from "../string/module.f.mjs"
|
|
29
|
-
/** @import { List } from '../list/types.ts' */
|
|
30
32
|
import { fold } from '../list/module.f.mjs'
|
|
31
33
|
import { compose } from '../function/module.f.mjs'
|
|
32
|
-
/** @import { StringSet } from './types.ts' */
|
|
33
34
|
|
|
34
35
|
/** @type {(s: StringSet) => List<string>} */
|
|
35
36
|
export const values = btValues
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* primitive literals, and unions as TypeScript type expressions.
|
|
5
5
|
*
|
|
6
6
|
* @module
|
|
7
|
+
*
|
|
8
|
+
* @import { Printer } from './types.ts'
|
|
7
9
|
*/
|
|
8
10
|
|
|
9
|
-
/** @import { Printer } from './types.ts' */
|
|
10
|
-
|
|
11
11
|
/** @type {(open: string, close: string) => (i: readonly string[]) => string} */
|
|
12
12
|
const complex = (open, close) => i =>
|
|
13
13
|
`${open}${i.join(',')}${close}`
|
|
@@ -24,7 +24,7 @@ export const printer = (mut = undefined) => {
|
|
|
24
24
|
return {
|
|
25
25
|
tuple: (mut ? complex('[', ']') : complex('readonly[', ']')),
|
|
26
26
|
struct: fields =>
|
|
27
|
-
structX(fields.map(([k, v]) => `${ro}${JSON.stringify(k)}:${v}`)),
|
|
27
|
+
structX(fields.map(([k, v, opt]) => `${ro}${JSON.stringify(k)}${opt === true ? '?' : ''}:${v}`)),
|
|
28
28
|
array: type => `${ro}(${type})[]`,
|
|
29
29
|
// `[k:string]?:` is invalid TypeScript — optional keys on an infinite
|
|
30
30
|
// key set require mapped-type syntax.
|
|
@@ -10,6 +10,7 @@ export declare const unionSingle: () => void;
|
|
|
10
10
|
export declare const unionMulti: () => void;
|
|
11
11
|
export declare const printerReadonlyTuple: () => void;
|
|
12
12
|
export declare const printerReadonlyStruct: () => void;
|
|
13
|
+
export declare const printerOptionalField: () => void;
|
|
13
14
|
export declare const printerReadonlyArray: () => void;
|
|
14
15
|
export declare const printerReadonlyRecord: () => void;
|
|
15
16
|
export declare const printerMutableTuple: () => void;
|
package/fjs/types/ts/proof.f.mjs
CHANGED
|
@@ -64,6 +64,11 @@ export const printerReadonlyStruct = () => {
|
|
|
64
64
|
if (r !== '{readonly"x":number,readonly"y":string}') { throw r }
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
export const printerOptionalField = () => {
|
|
68
|
+
const r = ro.struct([['x', 'number', true], ['y', 'string']])
|
|
69
|
+
if (r !== '{readonly"x"?:number,readonly"y":string}') { throw r }
|
|
70
|
+
}
|
|
71
|
+
|
|
67
72
|
export const printerReadonlyArray = () => {
|
|
68
73
|
const r = ro.array('string')
|
|
69
74
|
assertEq(r, 'readonly(string)[]')
|
package/fjs/types/ts/types.d.ts
CHANGED
|
@@ -5,12 +5,17 @@
|
|
|
5
5
|
* @module
|
|
6
6
|
*/
|
|
7
7
|
export type Equal<A, B> = (<T>() => T extends A ? 1 : 2) extends (<T>() => T extends B ? 1 : 2) ? true : false;
|
|
8
|
+
/**
|
|
9
|
+
* A `struct` field: the key, its type expression, and — when the third
|
|
10
|
+
* element is `true` — an optional-key marker (`"key"?: type`).
|
|
11
|
+
*/
|
|
12
|
+
export type StructField = readonly [string, string, true?];
|
|
8
13
|
/**
|
|
9
14
|
* Functions for emitting TypeScript type expression strings.
|
|
10
15
|
*/
|
|
11
16
|
export type Printer = {
|
|
12
17
|
readonly tuple: (types: readonly string[]) => string;
|
|
13
|
-
readonly struct: (fields: readonly
|
|
18
|
+
readonly struct: (fields: readonly StructField[]) => string;
|
|
14
19
|
readonly array: (type: string) => string;
|
|
15
20
|
readonly record: (type: string) => string;
|
|
16
21
|
};
|
|
@@ -8,17 +8,28 @@
|
|
|
8
8
|
* (e.g. `fromVec`/`toVec` when reading or writing files).
|
|
9
9
|
*
|
|
10
10
|
* @module
|
|
11
|
+
*
|
|
12
|
+
* @import { Vec } from '../bit_vec/types.ts'
|
|
13
|
+
* @import { List } from '../list/types.ts'
|
|
11
14
|
*/
|
|
12
15
|
import type { Vec } from '../bit_vec/types.ts';
|
|
13
16
|
import type { List } from '../list/types.ts';
|
|
17
|
+
/**
|
|
18
|
+
* Concatenates a list of `Uint8Array` values into one MSB-first bit vector.
|
|
19
|
+
*
|
|
20
|
+
* Throws if the result would exceed `maxLength`. The bound is not precomputed:
|
|
21
|
+
* `tryU8ListToVec` attempts the real conversion and reports `null` when it does
|
|
22
|
+
* not fit (AGENTS.md §5.6).
|
|
23
|
+
*
|
|
24
|
+
* @type {(input: List<Uint8Array>) => Vec}
|
|
25
|
+
*/
|
|
26
|
+
export declare const listToVec: (input: List<Uint8Array>) => Vec;
|
|
14
27
|
/**
|
|
15
28
|
* Converts a Uint8Array into an MSB-first bit vector.
|
|
16
29
|
*
|
|
17
30
|
* @type {(input: Uint8Array) => Vec}
|
|
18
31
|
*/
|
|
19
32
|
export declare const toVec: (input: Uint8Array) => Vec;
|
|
20
|
-
/** @type {(input: List<Uint8Array>) => Vec} */
|
|
21
|
-
export declare const listToVec: (input: List<Uint8Array>) => Vec;
|
|
22
33
|
/**
|
|
23
34
|
* Converts an MSB-first bit vector into a Uint8Array.
|
|
24
35
|
*
|
|
@@ -8,36 +8,41 @@
|
|
|
8
8
|
* (e.g. `fromVec`/`toVec` when reading or writing files).
|
|
9
9
|
*
|
|
10
10
|
* @module
|
|
11
|
+
*
|
|
12
|
+
* @import { Vec } from '../bit_vec/types.ts'
|
|
13
|
+
* @import { List } from '../list/types.ts'
|
|
11
14
|
*/
|
|
12
15
|
|
|
13
|
-
import {
|
|
16
|
+
import { assertNotNullish } from '../../asserts/module.f.mjs'
|
|
14
17
|
import { utf8, utf8ToString } from '../../text/module.f.mjs'
|
|
15
|
-
import {
|
|
16
|
-
/** @import { Vec } from '../bit_vec/types.ts' */
|
|
18
|
+
import { msb, tryU8ListToVec, u8List } from '../bit_vec/module.f.mjs'
|
|
17
19
|
import { compose } from '../function/module.f.mjs'
|
|
18
20
|
import { flat, fromArrayLike, iterable, map } from '../list/module.f.mjs'
|
|
19
|
-
/** @import { List } from '../list/types.ts' */
|
|
20
21
|
|
|
21
|
-
const u8ListToVecMsb = u8ListToVec(msb)
|
|
22
22
|
const tryU8ListToVecMsb = tryU8ListToVec(msb)
|
|
23
23
|
const u8ListMsb = u8List(msb)
|
|
24
24
|
|
|
25
|
+
const m = map(fromArrayLike)
|
|
26
|
+
|
|
25
27
|
/**
|
|
26
|
-
*
|
|
28
|
+
* Concatenates a list of `Uint8Array` values into one MSB-first bit vector.
|
|
27
29
|
*
|
|
28
|
-
*
|
|
30
|
+
* Throws if the result would exceed `maxLength`. The bound is not precomputed:
|
|
31
|
+
* `tryU8ListToVec` attempts the real conversion and reports `null` when it does
|
|
32
|
+
* not fit (AGENTS.md §5.6).
|
|
33
|
+
*
|
|
34
|
+
* @type {(input: List<Uint8Array>) => Vec}
|
|
29
35
|
*/
|
|
30
|
-
export const toVec = input => {
|
|
31
|
-
assert(input.length <= maxLengthBytes, "the array is too big")
|
|
32
|
-
return u8ListToVecMsb(fromArrayLike(input))
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const m = map(fromArrayLike)
|
|
36
|
-
|
|
37
|
-
/** @type {(input: List<Uint8Array>) => Vec} */
|
|
38
36
|
export const listToVec = input =>
|
|
39
37
|
assertNotNullish(tryU8ListToVecMsb(flat(m(input))), "the array is too big")
|
|
40
38
|
|
|
39
|
+
/**
|
|
40
|
+
* Converts a Uint8Array into an MSB-first bit vector.
|
|
41
|
+
*
|
|
42
|
+
* @type {(input: Uint8Array) => Vec}
|
|
43
|
+
*/
|
|
44
|
+
export const toVec = input => listToVec([input])
|
|
45
|
+
|
|
41
46
|
/**
|
|
42
47
|
* Converts an MSB-first bit vector into a Uint8Array.
|
|
43
48
|
*
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* Static website generation program for project landing content.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { WriteFile } from '../effects/node/types.ts'
|
|
7
|
+
* @import { Effect } from '../effects/types.ts'
|
|
5
8
|
*/
|
|
6
9
|
import type { WriteFile } from '../effects/node/types.ts';
|
|
7
10
|
import type { Effect } from '../effects/types.ts';
|
package/fjs/website/module.f.mjs
CHANGED
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
* Static website generation program for project landing content.
|
|
3
3
|
*
|
|
4
4
|
* @module
|
|
5
|
+
*
|
|
6
|
+
* @import { WriteFile } from '../effects/node/types.ts'
|
|
7
|
+
* @import { Effect } from '../effects/types.ts'
|
|
5
8
|
*/
|
|
6
9
|
|
|
7
10
|
import { htmlUtf8 } from '../media/html/module.f.mjs'
|
|
8
11
|
import { writeFile } from '../effects/node/module.f.mjs'
|
|
9
|
-
/** @import { WriteFile } from '../effects/node/types.ts' */
|
|
10
12
|
import { pure, step } from '../effects/module.f.mjs'
|
|
11
|
-
/** @import { Effect } from '../effects/types.ts' */
|
|
12
13
|
|
|
13
14
|
const html = htmlUtf8()(
|
|
14
15
|
['a',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "functionalscript",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"**/*.js",
|
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
],
|
|
11
11
|
"description": "FunctionalScript is a purely functional subset of JavaScript",
|
|
12
12
|
"scripts": {
|
|
13
|
-
"prepack": "tsc --noEmit false --emitDeclarationOnly && tsc
|
|
13
|
+
"prepack": "tsc --noEmit false --emitDeclarationOnly && tsc",
|
|
14
14
|
"test": "tsc && node ./fjs/module.mjs t",
|
|
15
|
-
"cov": "node --test --experimental-test-coverage --test-coverage-include=**/module.f.mjs fjs/emergent_testing/all.test.
|
|
15
|
+
"cov": "node --test --experimental-test-coverage --test-coverage-include=**/module.f.mjs fjs/emergent_testing/all.test.mjs",
|
|
16
16
|
"start": "node ./fjs/module.mjs",
|
|
17
17
|
"ci-update": "node ./fjs/module.mjs ci && node ./fjs/module.mjs r ./fjs/nanvm/update/module.f.mjs",
|
|
18
18
|
"dev-update": "node ./fjs/module.mjs r ./fjs/dev/update/module.f.mjs",
|
package/fjs/asn.1/types.js
DELETED
package/fjs/asserts/types.js
DELETED
package/fjs/basen/types.js
DELETED
package/fjs/bnf/data/types.js
DELETED
package/fjs/bnf/descent/types.js
DELETED
package/fjs/bnf/ll1/types.js
DELETED
package/fjs/bnf/types.js
DELETED
package/fjs/cas/evo/types.js
DELETED
package/fjs/cas/types.js
DELETED
package/fjs/ci/common/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/fjs/ci/nix/types.js
DELETED
package/fjs/ci/types.js
DELETED
package/fjs/cli/types.js
DELETED
package/fjs/crypto/pow/types.js
DELETED
package/fjs/crypto/secp/types.js
DELETED
package/fjs/crypto/sha2/types.js
DELETED
package/fjs/crypto/sign/types.js
DELETED
package/fjs/crypto/vdf/types.js
DELETED