functionalscript 0.43.1 → 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/README.md +53 -21
- package/fjs/asn.1/module.f.d.mts +123 -0
- package/fjs/asn.1/module.f.mjs +459 -0
- package/fjs/asn.1/proof.f.d.mts +53 -0
- package/fjs/asn.1/proof.f.mjs +321 -0
- package/fjs/asn.1/types.d.ts +37 -0
- package/fjs/asserts/module.f.d.mts +51 -0
- package/fjs/asserts/module.f.mjs +69 -0
- package/fjs/asserts/proof.f.d.mts +14 -0
- package/fjs/asserts/proof.f.mjs +33 -0
- package/fjs/asserts/types.d.ts +11 -0
- package/fjs/basen/base128/module.f.d.mts +22 -0
- package/fjs/basen/base128/module.f.mjs +51 -0
- package/fjs/basen/base128/proof.f.d.mts +4 -0
- package/fjs/basen/base128/proof.f.mjs +32 -0
- package/fjs/basen/base64/module.f.d.mts +14 -0
- package/fjs/basen/base64/module.f.mjs +75 -0
- package/fjs/basen/base64/proof.f.d.mts +19 -0
- package/fjs/basen/base64/proof.f.mjs +150 -0
- package/fjs/basen/cbase32/module.f.d.mts +18 -0
- package/fjs/basen/cbase32/module.f.mjs +61 -0
- package/fjs/basen/cbase32/proof.f.d.mts +10 -0
- package/fjs/basen/cbase32/proof.f.mjs +79 -0
- package/fjs/basen/module.f.d.mts +30 -0
- package/fjs/basen/module.f.mjs +88 -0
- package/fjs/basen/proof.f.mjs +69 -0
- package/fjs/basen/types.d.ts +14 -0
- package/fjs/bnf/data/module.f.d.mts +47 -0
- package/fjs/bnf/data/module.f.mjs +188 -0
- package/fjs/bnf/data/proof.f.d.mts +13 -0
- package/fjs/bnf/data/proof.f.mjs +159 -0
- package/fjs/bnf/data/types.d.ts +35 -0
- package/fjs/bnf/descent/module.f.d.mts +48 -0
- package/fjs/bnf/descent/module.f.mjs +289 -0
- package/fjs/bnf/descent/proof.f.d.mts +14 -0
- package/fjs/bnf/descent/proof.f.mjs +427 -0
- package/fjs/bnf/descent/types.d.ts +79 -0
- package/fjs/bnf/ll1/module.f.d.mts +67 -0
- package/fjs/bnf/ll1/module.f.mjs +341 -0
- package/fjs/bnf/ll1/proof.f.d.mts +18 -0
- package/fjs/bnf/ll1/proof.f.mjs +413 -0
- package/fjs/bnf/ll1/types.d.ts +65 -0
- package/fjs/bnf/module.f.d.mts +173 -0
- package/fjs/bnf/module.f.mjs +339 -0
- package/fjs/bnf/proof.f.d.mts +19 -0
- package/fjs/bnf/proof.f.mjs +165 -0
- package/fjs/bnf/testlib.f.d.mts +10 -0
- package/fjs/bnf/testlib.f.mjs +196 -0
- package/fjs/bnf/token_symbol/module.f.d.mts +36 -0
- package/fjs/bnf/token_symbol/module.f.mjs +63 -0
- package/fjs/bnf/token_symbol/proof.f.mjs +46 -0
- package/fjs/bnf/token_symbol/types.d.ts +27 -0
- package/fjs/bnf/types.d.ts +74 -0
- package/fjs/cas/cli/module.f.d.mts +17 -0
- package/fjs/cas/cli/module.f.mjs +73 -0
- package/fjs/cas/cli/proof.f.d.mts +20 -0
- package/fjs/cas/cli/proof.f.mjs +120 -0
- package/fjs/cas/evo/module.f.d.mts +157 -0
- package/fjs/cas/evo/module.f.mjs +563 -0
- package/fjs/cas/evo/proof.f.d.mts +55 -0
- package/fjs/cas/evo/proof.f.mjs +752 -0
- package/fjs/cas/evo/types.d.ts +111 -0
- package/fjs/cas/module.f.d.mts +68 -0
- package/fjs/cas/module.f.mjs +350 -0
- package/fjs/cas/proof.f.d.mts +29 -0
- package/fjs/cas/proof.f.mjs +371 -0
- package/fjs/cas/types.d.ts +35 -0
- package/fjs/ci/bun/module.f.d.mts +11 -0
- package/fjs/ci/bun/module.f.mjs +20 -0
- package/fjs/ci/common/module.f.d.mts +80 -0
- package/fjs/ci/common/module.f.mjs +88 -0
- package/fjs/ci/common/types.d.ts +27 -0
- package/fjs/ci/config/module.f.d.mts +45 -0
- package/fjs/ci/config/module.f.mjs +89 -0
- package/fjs/ci/deno/module.f.d.mts +16 -0
- package/fjs/ci/deno/module.f.mjs +29 -0
- package/fjs/ci/deno/proof.f.d.mts +4 -0
- package/fjs/ci/deno/proof.f.mjs +26 -0
- package/fjs/ci/module.f.d.mts +19 -0
- package/fjs/ci/module.f.mjs +89 -0
- package/fjs/ci/nix/module.f.d.mts +69 -0
- package/fjs/ci/nix/module.f.mjs +136 -0
- package/fjs/ci/nix/proof.f.d.mts +30 -0
- package/fjs/ci/nix/proof.f.mjs +146 -0
- package/fjs/ci/nix/types.d.ts +16 -0
- package/fjs/ci/node/module.f.d.mts +48 -0
- package/fjs/ci/node/module.f.mjs +139 -0
- package/fjs/ci/node/proof.f.mjs +18 -0
- package/fjs/ci/proof.f.d.mts +22 -0
- package/fjs/ci/proof.f.mjs +220 -0
- package/fjs/ci/rust/module.f.d.mts +15 -0
- package/fjs/ci/rust/module.f.mjs +108 -0
- package/fjs/ci/types.d.ts +9 -0
- package/fjs/cli/module.f.d.mts +16 -0
- package/fjs/cli/module.f.mjs +51 -0
- package/fjs/cli/proof.f.d.mts +18 -0
- package/fjs/cli/proof.f.mjs +132 -0
- package/fjs/cli/types.d.ts +15 -0
- package/fjs/common/monoid/module.f.d.mts +145 -0
- package/fjs/common/monoid/module.f.mjs +267 -0
- package/fjs/common/monoid/proof.f.d.mts +21 -0
- package/fjs/common/monoid/proof.f.mjs +142 -0
- package/fjs/common/monoid/types.d.ts +73 -0
- package/fjs/crypto/hmac/module.f.d.mts +32 -0
- package/fjs/crypto/hmac/module.f.mjs +65 -0
- package/fjs/crypto/hmac/proof.f.mjs +34 -0
- package/fjs/crypto/pow/module.f.d.mts +43 -0
- package/fjs/crypto/pow/module.f.mjs +93 -0
- package/fjs/crypto/pow/proof.f.mjs +121 -0
- package/fjs/crypto/pow/types.d.ts +19 -0
- package/fjs/crypto/secp/module.f.d.mts +61 -0
- package/fjs/crypto/secp/module.f.mjs +204 -0
- package/fjs/crypto/secp/proof.f.d.mts +11 -0
- package/fjs/crypto/secp/proof.f.mjs +139 -0
- package/fjs/crypto/secp/types.d.ts +36 -0
- package/fjs/crypto/sha2/module.f.d.mts +80 -0
- package/fjs/crypto/sha2/module.f.mjs +431 -0
- package/fjs/crypto/sha2/proof.f.d.mts +34 -0
- package/fjs/crypto/sha2/proof.f.mjs +146 -0
- package/fjs/crypto/sha2/types.d.ts +57 -0
- package/fjs/crypto/sign/module.f.d.mts +46 -0
- package/fjs/crypto/sign/module.f.mjs +189 -0
- package/fjs/crypto/sign/proof.f.d.mts +17 -0
- package/fjs/crypto/sign/proof.f.mjs +604 -0
- package/fjs/crypto/sign/types.d.ts +13 -0
- package/fjs/crypto/vdf/module.f.d.mts +34 -0
- package/fjs/crypto/vdf/module.f.mjs +86 -0
- package/fjs/crypto/vdf/proof.f.mjs +106 -0
- package/fjs/crypto/vdf/types.d.ts +18 -0
- package/fjs/dev/module.f.d.mts +59 -0
- package/fjs/dev/module.f.mjs +171 -0
- package/fjs/dev/package_json/module.f.d.mts +39 -0
- package/fjs/dev/package_json/module.f.mjs +40 -0
- package/fjs/dev/package_json/proof.f.mjs +32 -0
- package/fjs/dev/proof.f.d.mts +13 -0
- package/fjs/dev/proof.f.mjs +78 -0
- package/fjs/dev/types.d.ts +14 -0
- package/fjs/dev/update/module.f.d.mts +22 -0
- package/fjs/dev/update/module.f.mjs +37 -0
- package/fjs/dev/update/proof.f.d.mts +10 -0
- package/fjs/dev/update/proof.f.mjs +35 -0
- package/fjs/djs/ast/module.f.d.mts +35 -0
- package/fjs/djs/ast/module.f.mjs +82 -0
- package/fjs/djs/ast/proof.f.mjs +48 -0
- package/fjs/djs/ast/types.d.ts +54 -0
- package/fjs/djs/examples/input.f.mjs +4 -0
- package/fjs/djs/examples/m.f.mjs +1 -0
- package/fjs/djs/module.f.d.mts +17 -0
- package/fjs/djs/module.f.mjs +47 -0
- package/fjs/djs/parser/module.f.d.mts +78 -0
- package/fjs/djs/parser/module.f.mjs +565 -0
- package/fjs/djs/parser/proof.f.d.mts +17 -0
- package/fjs/djs/parser/proof.f.mjs +555 -0
- package/fjs/djs/parser/types.d.ts +11 -0
- package/fjs/djs/proof.f.d.mts +13 -0
- package/fjs/djs/proof.f.mjs +55 -0
- package/fjs/djs/serializer/module.f.d.mts +30 -0
- package/fjs/djs/serializer/module.f.mjs +207 -0
- package/fjs/djs/serializer/proof.f.mjs +116 -0
- package/fjs/djs/tokenizer/module.f.d.mts +65 -0
- package/fjs/djs/tokenizer/module.f.mjs +632 -0
- package/fjs/djs/tokenizer/proof.f.d.mts +17 -0
- package/fjs/djs/tokenizer/proof.f.mjs +992 -0
- package/fjs/djs/tokenizer/types.d.ts +20 -0
- package/fjs/djs/transpiler/module.f.d.mts +33 -0
- package/fjs/djs/transpiler/module.f.mjs +122 -0
- package/fjs/djs/transpiler/proof.f.mjs +76 -0
- package/fjs/djs/transpiler/types.d.ts +25 -0
- package/fjs/djs/types.d.ts +13 -0
- package/fjs/effects/eff/module.f.d.mts +20 -0
- package/fjs/effects/eff/module.f.mjs +70 -0
- package/fjs/effects/eff/proof.f.d.mts +15 -0
- package/fjs/effects/eff/proof.f.mjs +69 -0
- package/fjs/effects/eff/types.d.ts +71 -0
- package/fjs/effects/list/module.f.d.mts +32 -0
- package/fjs/effects/list/module.f.mjs +36 -0
- package/fjs/effects/list/types.d.ts +26 -0
- package/fjs/effects/memory/module.f.d.mts +34 -0
- package/fjs/effects/memory/module.f.mjs +45 -0
- package/fjs/effects/memory/proof.f.d.mts +16 -0
- package/fjs/effects/memory/proof.f.mjs +86 -0
- package/fjs/effects/memory/types.d.ts +18 -0
- package/fjs/effects/mock/module.f.d.mts +14 -0
- package/fjs/effects/mock/module.f.mjs +28 -0
- package/fjs/effects/mock/types.d.ts +15 -0
- package/fjs/effects/module.d.mts +15 -0
- package/fjs/effects/module.f.d.mts +352 -0
- package/fjs/effects/module.f.mjs +383 -0
- package/fjs/effects/module.mjs +26 -0
- package/fjs/effects/node/memory/module.d.mts +27 -0
- package/fjs/effects/node/memory/module.mjs +60 -0
- package/fjs/effects/node/memory/proof.d.mts +12 -0
- package/fjs/effects/node/memory/proof.mjs +44 -0
- package/fjs/effects/node/module.d.mts +59 -0
- package/fjs/effects/node/module.f.d.mts +177 -0
- package/fjs/effects/node/module.f.mjs +348 -0
- package/fjs/effects/node/module.mjs +381 -0
- package/fjs/effects/node/proof.f.d.mts +76 -0
- package/fjs/effects/node/proof.f.mjs +444 -0
- package/fjs/effects/node/types.d.ts +203 -0
- package/fjs/effects/node/virtual/module.f.d.mts +34 -0
- package/fjs/effects/node/virtual/module.f.mjs +435 -0
- package/fjs/effects/node/virtual/proof.f.d.mts +38 -0
- package/fjs/effects/node/virtual/proof.f.mjs +238 -0
- package/fjs/effects/node/virtual/types.d.ts +39 -0
- package/fjs/effects/proof.f.d.mts +65 -0
- package/fjs/effects/proof.f.mjs +234 -0
- package/fjs/effects/types.d.ts +115 -0
- package/fjs/emergent_testing/all.test.d.mts +8 -0
- package/fjs/emergent_testing/all.test.mjs +14 -0
- package/fjs/emergent_testing/example.f.d.mts +16 -0
- package/fjs/emergent_testing/example.f.mjs +34 -0
- package/fjs/emergent_testing/module.f.d.mts +155 -0
- package/fjs/emergent_testing/module.f.mjs +388 -0
- package/fjs/emergent_testing/proof.f.d.mts +97 -0
- package/fjs/emergent_testing/proof.f.mjs +518 -0
- package/fjs/emergent_testing/types.d.ts +53 -0
- package/fjs/fsc/bnf.f.d.mts +6 -0
- package/fjs/fsc/bnf.f.mjs +80 -0
- package/fjs/fsc/json.f.d.mts +16 -0
- package/fjs/fsc/json.f.mjs +127 -0
- package/fjs/fsc/module.f.d.mts +23 -0
- package/fjs/fsc/module.f.mjs +140 -0
- package/fjs/fsc/proof.f.mjs +119 -0
- package/fjs/fsm/module.f.d.mts +27 -0
- package/fjs/fsm/module.f.mjs +99 -0
- package/fjs/fsm/proof.f.d.mts +7 -0
- package/fjs/fsm/proof.f.mjs +149 -0
- package/fjs/js/tokenizer/module.f.d.mts +26 -0
- package/fjs/js/tokenizer/module.f.mjs +759 -0
- package/fjs/js/tokenizer/proof.f.d.mts +12 -0
- package/fjs/js/tokenizer/proof.f.mjs +681 -0
- package/fjs/js/tokenizer/types.d.ts +193 -0
- package/fjs/mcp/cas/module.f.d.mts +156 -0
- package/fjs/mcp/cas/module.f.mjs +302 -0
- package/fjs/mcp/evo/module.f.d.mts +88 -0
- package/fjs/mcp/evo/module.f.mjs +153 -0
- package/fjs/mcp/evo/proof.f.d.mts +17 -0
- package/fjs/mcp/evo/proof.f.mjs +166 -0
- package/fjs/mcp/module.f.d.mts +67 -0
- package/fjs/mcp/module.f.mjs +98 -0
- package/fjs/mcp/proof.f.d.mts +56 -0
- package/fjs/mcp/proof.f.mjs +718 -0
- package/fjs/media/html/module.f.d.mts +55 -0
- package/fjs/media/html/module.f.mjs +169 -0
- package/fjs/media/html/proof.f.d.mts +19 -0
- package/fjs/media/html/proof.f.mjs +80 -0
- package/fjs/media/html/types.d.ts +19 -0
- package/fjs/media/json/module.f.d.mts +48 -0
- package/fjs/media/json/module.f.mjs +104 -0
- package/fjs/media/json/parser/module.f.d.mts +30 -0
- package/fjs/media/json/parser/module.f.mjs +236 -0
- package/fjs/media/json/parser/proof.f.d.mts +8 -0
- package/fjs/media/json/parser/proof.f.mjs +314 -0
- package/fjs/media/json/parser/types.d.ts +39 -0
- package/fjs/media/json/proof.f.mjs +79 -0
- package/fjs/media/json/rtti/module.f.d.mts +38 -0
- package/fjs/media/json/rtti/module.f.mjs +51 -0
- package/fjs/media/json/rtti/proof.f.d.mts +29 -0
- package/fjs/media/json/rtti/proof.f.mjs +86 -0
- package/fjs/media/json/schema/module.f.d.mts +113 -0
- package/fjs/media/json/schema/module.f.mjs +309 -0
- package/fjs/media/json/schema/proof.f.d.mts +81 -0
- package/fjs/media/json/schema/proof.f.mjs +305 -0
- package/fjs/media/json/serializer/module.f.d.mts +40 -0
- package/fjs/media/json/serializer/module.f.mjs +131 -0
- package/fjs/media/json/serializer/proof.f.mjs +92 -0
- package/fjs/media/json/tokenizer/module.f.d.mts +25 -0
- package/fjs/media/json/tokenizer/module.f.mjs +96 -0
- package/fjs/media/json/tokenizer/proof.f.d.mts +8 -0
- package/fjs/media/json/tokenizer/proof.f.mjs +291 -0
- package/fjs/media/json/tokenizer/types.d.ts +17 -0
- package/fjs/media/json/types.d.ts +25 -0
- package/fjs/media/module.f.d.mts +116 -0
- package/fjs/media/module.f.mjs +152 -0
- package/fjs/media/nix/module.f.d.mts +27 -0
- package/fjs/media/nix/module.f.mjs +263 -0
- package/fjs/media/nix/proof.f.d.mts +35 -0
- package/fjs/media/nix/proof.f.mjs +184 -0
- package/fjs/media/nix/types.d.ts +22 -0
- package/fjs/media/proof.f.d.mts +19 -0
- package/fjs/media/proof.f.mjs +159 -0
- package/fjs/media/revision/module.f.d.mts +124 -0
- package/fjs/media/revision/module.f.mjs +163 -0
- package/fjs/media/revision/proof.f.d.mts +46 -0
- package/fjs/media/revision/proof.f.mjs +231 -0
- package/fjs/media/revision/types.d.ts +16 -0
- package/fjs/media/rust/module.f.d.mts +61 -0
- package/fjs/media/rust/module.f.mjs +93 -0
- package/fjs/media/rust/proof.f.d.mts +17 -0
- package/fjs/media/rust/proof.f.mjs +50 -0
- package/fjs/media/type/module.f.d.mts +114 -0
- package/fjs/media/type/module.f.mjs +265 -0
- package/fjs/media/type/proof.f.d.mts +56 -0
- package/fjs/media/type/proof.f.mjs +325 -0
- package/fjs/media/type/types.d.ts +67 -0
- package/fjs/media/types.d.ts +26 -0
- package/fjs/module.d.mts +7 -0
- package/fjs/module.f.d.mts +11 -0
- package/fjs/module.f.mjs +62 -0
- package/fjs/module.mjs +12 -0
- package/fjs/nanvm/module.f.d.mts +54 -0
- package/fjs/nanvm/module.f.mjs +240 -0
- package/fjs/nanvm/proof.f.d.mts +41 -0
- package/fjs/nanvm/proof.f.mjs +173 -0
- package/fjs/nanvm/rust/module.f.d.mts +54 -0
- package/fjs/nanvm/rust/module.f.mjs +166 -0
- package/fjs/nanvm/rust/proof.f.d.mts +21 -0
- package/fjs/nanvm/rust/proof.f.mjs +119 -0
- package/fjs/nanvm/types.d.ts +105 -0
- package/fjs/nanvm/update/module.f.d.mts +23 -0
- package/fjs/nanvm/update/module.f.mjs +33 -0
- package/fjs/nanvm/update/proof.f.d.mts +9 -0
- package/fjs/nanvm/update/proof.f.mjs +32 -0
- package/fjs/path/module.f.d.mts +63 -0
- package/fjs/path/module.f.mjs +98 -0
- package/fjs/path/proof.f.mjs +125 -0
- package/fjs/proof.f.d.mts +13 -0
- package/fjs/proof.f.mjs +51 -0
- package/fjs/protocol/json_rpc/module.f.d.mts +127 -0
- package/fjs/protocol/json_rpc/module.f.mjs +115 -0
- package/fjs/protocol/json_rpc/proof.f.d.mts +41 -0
- package/fjs/protocol/json_rpc/proof.f.mjs +105 -0
- package/fjs/protocol/json_rpc/types.d.ts +30 -0
- package/fjs/protocol/mcp/module.f.d.mts +227 -0
- package/fjs/protocol/mcp/module.f.mjs +369 -0
- package/fjs/protocol/mcp/proof.f.d.mts +57 -0
- package/fjs/protocol/mcp/proof.f.mjs +335 -0
- package/fjs/protocol/mcp/stdio/module.f.d.mts +50 -0
- package/fjs/protocol/mcp/stdio/module.f.mjs +125 -0
- package/fjs/protocol/mcp/stdio/proof.f.d.mts +20 -0
- package/fjs/protocol/mcp/stdio/proof.f.mjs +190 -0
- package/fjs/protocol/mcp/stdio/types.d.ts +14 -0
- package/fjs/protocol/mcp/types.d.ts +59 -0
- package/fjs/sul/id/module.f.d.mts +42 -0
- package/fjs/sul/id/module.f.mjs +144 -0
- package/fjs/sul/id/proof.f.mjs +72 -0
- package/fjs/sul/id/types.d.ts +8 -0
- package/fjs/sul/level/hash/module.f.d.mts +40 -0
- package/fjs/sul/level/hash/module.f.mjs +62 -0
- package/fjs/sul/level/hash/proof.f.d.mts +19 -0
- package/fjs/sul/level/hash/proof.f.mjs +134 -0
- package/fjs/sul/level/hash/types.d.ts +20 -0
- package/fjs/sul/level/literal/module.f.d.mts +57 -0
- package/fjs/sul/level/literal/module.f.mjs +121 -0
- package/fjs/sul/level/literal/proof.f.d.mts +15 -0
- package/fjs/sul/level/literal/proof.f.mjs +791 -0
- package/fjs/sul/level/literal/types.d.ts +31 -0
- package/fjs/sul/module.f.d.mts +27 -0
- package/fjs/sul/module.f.mjs +70 -0
- package/fjs/sul/proof.f.d.mts +15 -0
- package/fjs/sul/proof.f.mjs +65 -0
- package/fjs/sul/types.d.ts +19 -0
- package/fjs/text/ascii/module.f.d.mts +162 -0
- package/fjs/text/ascii/module.f.mjs +272 -0
- package/fjs/text/ascii/proof.f.d.mts +16 -0
- package/fjs/text/ascii/proof.f.mjs +48 -0
- package/fjs/text/code_point/module.f.d.mts +92 -0
- package/fjs/text/code_point/module.f.mjs +155 -0
- package/fjs/text/code_point/proof.f.d.mts +9 -0
- package/fjs/text/code_point/proof.f.mjs +108 -0
- package/fjs/text/module.f.d.mts +41 -0
- package/fjs/text/module.f.mjs +62 -0
- package/fjs/text/proof.f.d.mts +13 -0
- package/fjs/text/proof.f.mjs +51 -0
- package/fjs/text/sgr/module.f.d.mts +61 -0
- package/fjs/text/sgr/module.f.mjs +100 -0
- package/fjs/text/sgr/proof.f.d.mts +4 -0
- package/fjs/text/sgr/proof.f.mjs +42 -0
- package/fjs/text/sgr/types.d.ts +12 -0
- package/fjs/text/types.d.ts +13 -0
- package/fjs/text/utf16/module.f.d.mts +151 -0
- package/fjs/text/utf16/module.f.mjs +348 -0
- package/fjs/text/utf16/proof.f.d.mts +13 -0
- package/fjs/text/utf16/proof.f.mjs +175 -0
- package/fjs/text/utf16/types.d.ts +19 -0
- package/fjs/text/utf8/module.f.d.mts +73 -0
- package/fjs/text/utf8/module.f.mjs +278 -0
- package/fjs/text/utf8/proof.f.mjs +217 -0
- package/fjs/text/utf8/types.d.ts +26 -0
- package/fjs/types/array/module.f.d.mts +69 -0
- package/fjs/types/array/module.f.mjs +101 -0
- package/fjs/types/array/proof.f.mjs +98 -0
- package/fjs/types/array/types.d.ts +13 -0
- package/fjs/types/bigfloat/module.f.d.mts +34 -0
- package/fjs/types/bigfloat/module.f.mjs +125 -0
- package/fjs/types/bigfloat/proof.f.d.mts +6 -0
- package/fjs/types/bigfloat/proof.f.mjs +264 -0
- package/fjs/types/bigfloat/types.d.ts +6 -0
- package/fjs/types/bigint/benchmark.mjs +205 -0
- package/fjs/types/bigint/module.f.d.mts +180 -0
- package/fjs/types/bigint/module.f.mjs +290 -0
- package/fjs/types/bigint/proof.f.d.mts +39 -0
- package/fjs/types/bigint/proof.f.mjs +443 -0
- package/fjs/types/bigint/types.d.ts +14 -0
- package/fjs/types/bit_vec/module.f.d.mts +195 -0
- package/fjs/types/bit_vec/module.f.mjs +475 -0
- package/fjs/types/bit_vec/proof.f.d.mts +71 -0
- package/fjs/types/bit_vec/proof.f.mjs +521 -0
- package/fjs/types/bit_vec/types.d.ts +51 -0
- package/fjs/types/btree/find/module.f.d.mts +19 -0
- package/fjs/types/btree/find/module.f.mjs +80 -0
- package/fjs/types/btree/find/proof.f.d.mts +8 -0
- package/fjs/types/btree/find/proof.f.mjs +123 -0
- package/fjs/types/btree/find/types.d.ts +22 -0
- package/fjs/types/btree/module.f.d.mts +13 -0
- package/fjs/types/btree/module.f.mjs +40 -0
- package/fjs/types/btree/proof.f.d.mts +18 -0
- package/fjs/types/btree/proof.f.mjs +87 -0
- package/fjs/types/btree/remove/module.f.d.mts +32 -0
- package/fjs/types/btree/remove/module.f.mjs +187 -0
- package/fjs/types/btree/remove/proof.f.d.mts +12 -0
- package/fjs/types/btree/remove/proof.f.mjs +475 -0
- package/fjs/types/btree/set/module.f.d.mts +14 -0
- package/fjs/types/btree/set/module.f.mjs +116 -0
- package/fjs/types/btree/set/proof.f.d.mts +4 -0
- package/fjs/types/btree/set/proof.f.mjs +430 -0
- package/fjs/types/btree/types/module.f.d.mts +20 -0
- package/fjs/types/btree/types/module.f.mjs +20 -0
- package/fjs/types/btree/types/types.d.ts +14 -0
- package/fjs/types/byte_set/module.f.d.mts +35 -0
- package/fjs/types/byte_set/module.f.mjs +68 -0
- package/fjs/types/byte_set/proof.f.d.mts +14 -0
- package/fjs/types/byte_set/proof.f.mjs +86 -0
- package/fjs/types/byte_set/types.d.ts +6 -0
- package/fjs/types/function/compare/module.f.d.mts +45 -0
- package/fjs/types/function/compare/module.f.mjs +72 -0
- package/fjs/types/function/compare/proof.f.mjs +50 -0
- package/fjs/types/function/compare/types.d.ts +22 -0
- package/fjs/types/function/module.f.d.mts +33 -0
- package/fjs/types/function/module.f.mjs +39 -0
- package/fjs/types/function/operator/module.f.d.mts +38 -0
- package/fjs/types/function/operator/module.f.mjs +55 -0
- package/fjs/types/function/operator/proof.f.mjs +76 -0
- package/fjs/types/function/operator/types.d.ts +39 -0
- package/fjs/types/function/proof.f.mjs +16 -0
- package/fjs/types/function/types.d.ts +16 -0
- package/fjs/types/list/module.f.d.mts +95 -0
- package/fjs/types/list/module.f.mjs +311 -0
- package/fjs/types/list/proof.f.d.mts +35 -0
- package/fjs/types/list/proof.f.mjs +365 -0
- package/fjs/types/list/types.d.ts +36 -0
- package/fjs/types/map/module.f.d.mts +13 -0
- package/fjs/types/map/module.f.mjs +42 -0
- package/fjs/types/map/proof.f.mjs +25 -0
- package/fjs/types/nibble_set/module.f.d.mts +31 -0
- package/fjs/types/nibble_set/module.f.mjs +43 -0
- package/fjs/types/nibble_set/proof.f.mjs +59 -0
- package/fjs/types/nibble_set/types.d.ts +9 -0
- package/fjs/types/nominal/module.f.d.mts +10 -0
- package/fjs/types/nominal/module.f.mjs +17 -0
- package/fjs/types/nominal/proof.f.d.mts +7 -0
- package/fjs/types/nominal/proof.f.mjs +79 -0
- package/fjs/types/nominal/types.d.ts +25 -0
- package/fjs/types/nullable/module.f.d.mts +44 -0
- package/fjs/types/nullable/module.f.mjs +55 -0
- package/fjs/types/nullable/proof.f.mjs +34 -0
- package/fjs/types/nullable/types.d.ts +6 -0
- package/fjs/types/number/module.f.d.mts +27 -0
- package/fjs/types/number/module.f.mjs +56 -0
- package/fjs/types/number/proof.f.mjs +204 -0
- package/fjs/types/object/module.f.d.mts +45 -0
- package/fjs/types/object/module.f.mjs +67 -0
- package/fjs/types/object/proof.f.d.mts +28 -0
- package/fjs/types/object/proof.f.mjs +29 -0
- 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/object/types.d.ts +50 -0
- package/fjs/types/ordered_map/module.f.d.mts +26 -0
- package/fjs/types/ordered_map/module.f.mjs +55 -0
- package/fjs/types/ordered_map/proof.f.d.mts +8 -0
- package/fjs/types/ordered_map/proof.f.mjs +91 -0
- package/fjs/types/ordered_map/types.d.ts +8 -0
- package/fjs/types/patricia_trie/module.f.d.mts +20 -0
- package/fjs/types/patricia_trie/module.f.mjs +43 -0
- package/fjs/types/patricia_trie/proof.f.d.mts +17 -0
- package/fjs/types/patricia_trie/proof.f.mjs +151 -0
- package/fjs/types/patricia_trie/types.d.ts +34 -0
- package/fjs/types/prime_field/module.f.d.mts +44 -0
- package/fjs/types/prime_field/module.f.mjs +137 -0
- package/fjs/types/prime_field/proof.f.mjs +131 -0
- package/fjs/types/prime_field/types.d.ts +38 -0
- package/fjs/types/range/module.f.d.mts +12 -0
- package/fjs/types/range/module.f.mjs +13 -0
- package/fjs/types/range/proof.f.mjs +10 -0
- package/fjs/types/range/types.d.ts +6 -0
- package/fjs/types/range_map/module.f.d.mts +78 -0
- package/fjs/types/range_map/module.f.mjs +127 -0
- package/fjs/types/range_map/proof.f.d.mts +11 -0
- package/fjs/types/range_map/proof.f.mjs +188 -0
- package/fjs/types/range_map/types.d.ts +56 -0
- package/fjs/types/range_set/module.f.d.mts +10 -0
- package/fjs/types/range_set/module.f.mjs +20 -0
- package/fjs/types/range_set/proof.f.d.mts +4 -0
- package/fjs/types/range_set/proof.f.mjs +29 -0
- package/fjs/types/result/module.d.mts +13 -0
- package/fjs/types/result/module.f.d.mts +89 -0
- package/fjs/types/result/module.f.mjs +97 -0
- package/fjs/types/result/module.mjs +30 -0
- package/fjs/types/result/proof.f.d.mts +17 -0
- package/fjs/types/result/proof.f.mjs +61 -0
- package/fjs/types/result/types.d.ts +17 -0
- package/fjs/types/rtti/common/module.f.d.mts +119 -0
- package/fjs/types/rtti/common/module.f.mjs +185 -0
- package/fjs/types/rtti/common/proof.f.d.mts +13 -0
- package/fjs/types/rtti/common/proof.f.mjs +67 -0
- package/fjs/types/rtti/common/types.d.ts +43 -0
- 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 +83 -0
- package/fjs/types/rtti/module.f.mjs +112 -0
- package/fjs/types/rtti/parse/module.f.d.mts +47 -0
- package/fjs/types/rtti/parse/module.f.mjs +198 -0
- package/fjs/types/rtti/parse/proof.f.d.mts +122 -0
- package/fjs/types/rtti/parse/proof.f.mjs +343 -0
- package/fjs/types/rtti/parse/types.d.ts +12 -0
- package/fjs/types/rtti/proof.f.d.mts +10 -0
- package/fjs/types/rtti/proof.f.mjs +22 -0
- package/fjs/types/rtti/ts/module.f.d.mts +93 -0
- package/fjs/types/rtti/ts/module.f.mjs +296 -0
- package/fjs/types/rtti/ts/proof.f.d.mts +103 -0
- package/fjs/types/rtti/ts/proof.f.mjs +236 -0
- package/fjs/types/rtti/ts/types.d.ts +99 -0
- package/fjs/types/rtti/types.d.ts +83 -0
- package/fjs/types/rtti/validate/module.f.d.mts +41 -0
- package/fjs/types/rtti/validate/module.f.mjs +171 -0
- package/fjs/types/rtti/validate/proof.f.d.mts +125 -0
- package/fjs/types/rtti/validate/proof.f.mjs +437 -0
- package/fjs/types/rtti/validate/types.d.ts +6 -0
- package/fjs/types/sorted_list/module.f.d.mts +46 -0
- package/fjs/types/sorted_list/module.f.mjs +119 -0
- package/fjs/types/sorted_list/proof.f.d.mts +7 -0
- package/fjs/types/sorted_list/proof.f.mjs +54 -0
- package/fjs/types/sorted_list/types.d.ts +15 -0
- package/fjs/types/sorted_set/module.f.d.mts +54 -0
- package/fjs/types/sorted_set/module.f.mjs +58 -0
- package/fjs/types/sorted_set/proof.f.d.mts +9 -0
- package/fjs/types/sorted_set/proof.f.mjs +79 -0
- package/fjs/types/sorted_set/types.d.ts +6 -0
- package/fjs/types/string/module.f.d.mts +40 -0
- package/fjs/types/string/module.f.mjs +59 -0
- package/fjs/types/string/proof.f.mjs +76 -0
- package/fjs/types/string_set/module.f.d.mts +39 -0
- package/fjs/types/string_set/module.f.mjs +54 -0
- package/fjs/types/string_set/proof.f.mjs +46 -0
- package/fjs/types/string_set/types.d.ts +7 -0
- package/fjs/types/ts/module.f.d.mts +22 -0
- package/fjs/types/ts/module.f.mjs +51 -0
- package/fjs/types/ts/proof.f.d.mts +39 -0
- package/fjs/types/ts/proof.f.mjs +102 -0
- package/fjs/types/ts/types.d.ts +21 -0
- package/fjs/types/uint8array/module.f.d.mts +42 -0
- package/fjs/types/uint8array/module.f.mjs +58 -0
- package/fjs/types/uint8array/proof.f.d.mts +17 -0
- package/fjs/types/uint8array/proof.f.mjs +73 -0
- package/fjs/website/module.f.d.mts +11 -0
- package/fjs/website/module.f.mjs +25 -0
- package/fjs/website/proof.f.mjs +14 -0
- package/package.json +12 -10
- package/todo/proof.f.d.mts +22 -0
- package/todo/proof.f.mjs +59 -0
- package/fjs/asn.1/module.f.d.ts +0 -62
- package/fjs/asn.1/module.f.js +0 -278
- package/fjs/asn.1/proof.f.d.ts +0 -48
- package/fjs/asn.1/proof.f.js +0 -285
- package/fjs/asserts/module.f.d.ts +0 -36
- package/fjs/asserts/module.f.js +0 -39
- package/fjs/asserts/proof.f.d.ts +0 -11
- package/fjs/asserts/proof.f.js +0 -18
- package/fjs/base_n/module.f.d.ts +0 -45
- package/fjs/base_n/module.f.js +0 -72
- package/fjs/base_n/proof.f.js +0 -73
- package/fjs/basen/base128/module.f.d.ts +0 -20
- package/fjs/basen/base128/module.f.js +0 -43
- package/fjs/basen/base128/proof.f.js +0 -26
- package/fjs/basen/base64/module.f.d.ts +0 -9
- package/fjs/basen/base64/module.f.js +0 -71
- package/fjs/basen/base64/proof.f.d.ts +0 -16
- package/fjs/basen/base64/proof.f.js +0 -139
- package/fjs/basen/cbase32/module.f.d.ts +0 -11
- package/fjs/basen/cbase32/module.f.js +0 -55
- package/fjs/basen/cbase32/proof.f.d.ts +0 -7
- package/fjs/basen/cbase32/proof.f.js +0 -62
- package/fjs/bnf/data/module.f.d.ts +0 -52
- package/fjs/bnf/data/module.f.js +0 -143
- package/fjs/bnf/data/proof.f.d.ts +0 -8
- package/fjs/bnf/data/proof.f.js +0 -169
- package/fjs/bnf/descent/module.f.d.ts +0 -87
- package/fjs/bnf/descent/module.f.js +0 -149
- package/fjs/bnf/descent/proof.f.d.ts +0 -7
- package/fjs/bnf/descent/proof.f.js +0 -368
- package/fjs/bnf/ll1/module.f.d.ts +0 -72
- package/fjs/bnf/ll1/module.f.js +0 -155
- package/fjs/bnf/ll1/proof.f.d.ts +0 -10
- package/fjs/bnf/ll1/proof.f.js +0 -375
- package/fjs/bnf/module.f.d.ts +0 -165
- package/fjs/bnf/module.f.js +0 -174
- package/fjs/bnf/proof.f.d.ts +0 -12
- package/fjs/bnf/proof.f.js +0 -69
- package/fjs/bnf/testlib.f.d.ts +0 -3
- package/fjs/bnf/testlib.f.js +0 -138
- package/fjs/bnf/token_symbol/module.f.d.ts +0 -38
- package/fjs/bnf/token_symbol/module.f.js +0 -48
- package/fjs/bnf/token_symbol/proof.f.js +0 -37
- package/fjs/cas/cli/module.f.d.ts +0 -6
- package/fjs/cas/cli/module.f.js +0 -53
- package/fjs/cas/cli/proof.f.d.ts +0 -17
- package/fjs/cas/cli/proof.f.js +0 -112
- package/fjs/cas/evo/module.f.d.ts +0 -223
- package/fjs/cas/evo/module.f.js +0 -455
- package/fjs/cas/evo/proof.f.d.ts +0 -47
- package/fjs/cas/evo/proof.f.js +0 -707
- package/fjs/cas/module.f.d.ts +0 -64
- package/fjs/cas/module.f.js +0 -255
- package/fjs/cas/proof.f.d.ts +0 -18
- package/fjs/cas/proof.f.js +0 -305
- package/fjs/ci/bun/module.f.d.ts +0 -2
- package/fjs/ci/bun/module.f.js +0 -15
- package/fjs/ci/common/module.f.d.ts +0 -88
- package/fjs/ci/common/module.f.js +0 -63
- package/fjs/ci/config/module.f.d.ts +0 -45
- package/fjs/ci/config/module.f.js +0 -80
- package/fjs/ci/deno/module.f.d.ts +0 -10
- package/fjs/ci/deno/module.f.js +0 -28
- package/fjs/ci/deno/proof.f.d.ts +0 -5
- package/fjs/ci/deno/proof.f.js +0 -26
- package/fjs/ci/module.f.d.ts +0 -13
- package/fjs/ci/module.f.js +0 -58
- package/fjs/ci/nix/module.f.d.ts +0 -61
- package/fjs/ci/nix/module.f.js +0 -92
- package/fjs/ci/nix/proof.f.d.ts +0 -23
- package/fjs/ci/nix/proof.f.js +0 -109
- package/fjs/ci/node/module.f.d.ts +0 -28
- package/fjs/ci/node/module.f.js +0 -92
- package/fjs/ci/node/proof.f.js +0 -17
- package/fjs/ci/proof.f.d.ts +0 -18
- package/fjs/ci/proof.f.js +0 -182
- package/fjs/ci/rust/module.f.d.ts +0 -3
- package/fjs/ci/rust/module.f.js +0 -75
- package/fjs/cli/module.f.d.ts +0 -11
- package/fjs/cli/module.f.js +0 -34
- package/fjs/cli/proof.f.d.ts +0 -14
- package/fjs/cli/proof.f.js +0 -111
- package/fjs/common/monoid/module.f.d.ts +0 -126
- package/fjs/common/monoid/module.f.js +0 -88
- package/fjs/common/monoid/proof.f.d.ts +0 -9
- package/fjs/common/monoid/proof.f.js +0 -48
- package/fjs/crypto/hmac/module.f.d.ts +0 -29
- package/fjs/crypto/hmac/module.f.js +0 -56
- package/fjs/crypto/hmac/proof.f.js +0 -32
- package/fjs/crypto/pow/module.f.d.ts +0 -37
- package/fjs/crypto/pow/module.f.js +0 -72
- package/fjs/crypto/pow/proof.f.js +0 -111
- package/fjs/crypto/secp/module.f.d.ts +0 -85
- package/fjs/crypto/secp/module.f.js +0 -176
- package/fjs/crypto/secp/proof.f.d.ts +0 -8
- package/fjs/crypto/secp/proof.f.js +0 -124
- package/fjs/crypto/sha2/module.f.d.ts +0 -102
- package/fjs/crypto/sha2/module.f.js +0 -266
- package/fjs/crypto/sha2/proof.f.d.ts +0 -31
- package/fjs/crypto/sha2/proof.f.js +0 -139
- package/fjs/crypto/sign/module.f.d.ts +0 -33
- package/fjs/crypto/sign/module.f.js +0 -163
- package/fjs/crypto/sign/proof.f.d.ts +0 -11
- package/fjs/crypto/sign/proof.f.js +0 -562
- package/fjs/crypto/vdf/module.f.d.ts +0 -21
- package/fjs/crypto/vdf/module.f.js +0 -57
- package/fjs/crypto/vdf/proof.f.js +0 -94
- package/fjs/dev/module.f.d.ts +0 -57
- package/fjs/dev/module.f.js +0 -135
- package/fjs/dev/package_json/module.f.d.ts +0 -16
- package/fjs/dev/package_json/module.f.js +0 -24
- package/fjs/dev/package_json/proof.f.js +0 -28
- package/fjs/dev/proof.f.d.ts +0 -13
- package/fjs/dev/proof.f.js +0 -77
- package/fjs/dev/update/module.f.d.ts +0 -11
- package/fjs/dev/update/module.f.js +0 -20
- package/fjs/dev/update/proof.f.d.ts +0 -7
- package/fjs/dev/update/proof.f.js +0 -35
- package/fjs/djs/ast/module.f.d.ts +0 -62
- package/fjs/djs/ast/module.f.js +0 -61
- package/fjs/djs/ast/proof.f.js +0 -49
- package/fjs/djs/examples/input.f.js +0 -4
- package/fjs/djs/examples/m.f.js +0 -1
- package/fjs/djs/module.f.d.ts +0 -17
- package/fjs/djs/module.f.js +0 -22
- package/fjs/djs/parser/module.f.d.ts +0 -23
- package/fjs/djs/parser/module.f.js +0 -410
- package/fjs/djs/parser/proof.f.d.ts +0 -14
- package/fjs/djs/parser/proof.f.js +0 -556
- package/fjs/djs/proof.f.d.ts +0 -10
- package/fjs/djs/proof.f.js +0 -50
- package/fjs/djs/serializer/module.f.d.ts +0 -17
- package/fjs/djs/serializer/module.f.js +0 -173
- package/fjs/djs/serializer/proof.f.js +0 -133
- package/fjs/djs/tokenizer/module.f.d.ts +0 -24
- package/fjs/djs/tokenizer/module.f.js +0 -472
- package/fjs/djs/tokenizer/proof.f.d.ts +0 -14
- package/fjs/djs/tokenizer/proof.f.js +0 -1211
- package/fjs/djs/transpiler/module.f.d.ts +0 -41
- package/fjs/djs/transpiler/module.f.js +0 -88
- package/fjs/djs/transpiler/proof.f.js +0 -67
- package/fjs/effects/eff/module.f.d.ts +0 -72
- package/fjs/effects/eff/module.f.js +0 -46
- package/fjs/effects/eff/proof.f.d.ts +0 -11
- package/fjs/effects/eff/proof.f.js +0 -58
- package/fjs/effects/list/module.f.d.ts +0 -37
- package/fjs/effects/list/module.f.js +0 -17
- package/fjs/effects/memory/module.f.d.ts +0 -37
- package/fjs/effects/memory/module.f.js +0 -24
- package/fjs/effects/memory/proof.f.d.ts +0 -6
- package/fjs/effects/memory/proof.f.js +0 -50
- package/fjs/effects/mock/module.f.d.ts +0 -16
- package/fjs/effects/mock/module.f.js +0 -20
- package/fjs/effects/module.d.ts +0 -2
- package/fjs/effects/module.f.d.ts +0 -408
- package/fjs/effects/module.f.js +0 -312
- package/fjs/effects/module.js +0 -11
- package/fjs/effects/node/memory/module.d.ts +0 -20
- package/fjs/effects/node/memory/module.js +0 -44
- package/fjs/effects/node/memory/proof.d.ts +0 -10
- package/fjs/effects/node/memory/proof.js +0 -29
- package/fjs/effects/node/module.d.ts +0 -20
- package/fjs/effects/node/module.f.d.ts +0 -300
- package/fjs/effects/node/module.f.js +0 -171
- package/fjs/effects/node/module.js +0 -305
- package/fjs/effects/node/proof.f.d.ts +0 -69
- package/fjs/effects/node/proof.f.js +0 -409
- package/fjs/effects/node/virtual/module.f.d.ts +0 -49
- package/fjs/effects/node/virtual/module.f.js +0 -440
- package/fjs/effects/node/virtual/proof.f.d.ts +0 -33
- package/fjs/effects/node/virtual/proof.f.js +0 -186
- package/fjs/effects/proof.f.d.ts +0 -56
- package/fjs/effects/proof.f.js +0 -200
- package/fjs/emergent_testing/all.test.js +0 -5
- package/fjs/emergent_testing/example.f.d.ts +0 -13
- package/fjs/emergent_testing/example.f.js +0 -31
- package/fjs/emergent_testing/module.f.d.ts +0 -140
- package/fjs/emergent_testing/module.f.js +0 -289
- package/fjs/emergent_testing/proof.f.d.ts +0 -67
- package/fjs/emergent_testing/proof.f.js +0 -416
- 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/fsc/bnf.f.d.ts +0 -2
- package/fjs/fsc/bnf.f.js +0 -42
- package/fjs/fsc/json.f.d.ts +0 -7
- package/fjs/fsc/json.f.js +0 -64
- package/fjs/fsc/module.f.d.ts +0 -11
- package/fjs/fsc/module.f.js +0 -73
- package/fjs/fsc/proof.f.js +0 -104
- package/fjs/fsm/module.f.d.ts +0 -17
- package/fjs/fsm/module.f.js +0 -55
- package/fjs/fsm/proof.f.d.ts +0 -4
- package/fjs/fsm/proof.f.js +0 -126
- package/fjs/js/tokenizer/module.f.d.ts +0 -104
- package/fjs/js/tokenizer/module.f.js +0 -547
- package/fjs/js/tokenizer/proof.f.d.ts +0 -9
- package/fjs/js/tokenizer/proof.f.js +0 -986
- package/fjs/mcp/cas/module.f.d.ts +0 -27
- package/fjs/mcp/cas/module.f.js +0 -232
- package/fjs/mcp/evo/module.f.d.ts +0 -32
- package/fjs/mcp/evo/module.f.js +0 -99
- package/fjs/mcp/evo/proof.f.d.ts +0 -12
- package/fjs/mcp/evo/proof.f.js +0 -147
- package/fjs/mcp/module.f.d.ts +0 -56
- package/fjs/mcp/module.f.js +0 -69
- package/fjs/mcp/proof.f.d.ts +0 -45
- package/fjs/mcp/proof.f.js +0 -535
- package/fjs/media/html/module.f.d.ts +0 -52
- package/fjs/media/html/module.f.js +0 -117
- package/fjs/media/html/proof.f.d.ts +0 -16
- package/fjs/media/html/proof.f.js +0 -65
- package/fjs/media/json/module.f.d.ts +0 -64
- package/fjs/media/json/module.f.js +0 -109
- package/fjs/media/json/parser/module.f.d.ts +0 -21
- package/fjs/media/json/parser/module.f.js +0 -194
- package/fjs/media/json/parser/proof.f.d.ts +0 -5
- package/fjs/media/json/parser/proof.f.js +0 -314
- package/fjs/media/json/proof.f.js +0 -98
- package/fjs/media/json/schema/module.f.d.ts +0 -78
- package/fjs/media/json/schema/module.f.js +0 -96
- package/fjs/media/json/schema/proof.f.d.ts +0 -36
- package/fjs/media/json/schema/proof.f.js +0 -83
- package/fjs/media/json/serializer/module.f.d.ts +0 -28
- package/fjs/media/json/serializer/module.f.js +0 -73
- package/fjs/media/json/serializer/proof.f.js +0 -94
- package/fjs/media/json/tokenizer/module.f.d.ts +0 -15
- package/fjs/media/json/tokenizer/module.f.js +0 -63
- package/fjs/media/json/tokenizer/proof.f.d.ts +0 -5
- package/fjs/media/json/tokenizer/proof.f.js +0 -417
- package/fjs/media/module.f.d.ts +0 -119
- package/fjs/media/module.f.js +0 -88
- package/fjs/media/nix/module.f.d.ts +0 -30
- package/fjs/media/nix/module.f.js +0 -166
- package/fjs/media/nix/proof.f.d.ts +0 -32
- package/fjs/media/nix/proof.f.js +0 -127
- package/fjs/media/proof.f.d.ts +0 -19
- package/fjs/media/proof.f.js +0 -127
- package/fjs/media/revision/module.f.d.ts +0 -94
- package/fjs/media/revision/module.f.js +0 -143
- package/fjs/media/revision/proof.f.d.ts +0 -42
- package/fjs/media/revision/proof.f.js +0 -190
- package/fjs/media/type/module.f.d.ts +0 -135
- package/fjs/media/type/module.f.js +0 -231
- package/fjs/media/type/proof.f.d.ts +0 -40
- package/fjs/media/type/proof.f.js +0 -213
- package/fjs/module.d.ts +0 -2
- package/fjs/module.f.d.ts +0 -2
- package/fjs/module.f.js +0 -50
- package/fjs/module.js +0 -4
- package/fjs/path/module.f.d.ts +0 -46
- package/fjs/path/module.f.js +0 -71
- package/fjs/path/proof.f.js +0 -119
- package/fjs/proof.f.d.ts +0 -9
- package/fjs/proof.f.js +0 -38
- package/fjs/protocol/json_rpc/module.f.d.ts +0 -114
- package/fjs/protocol/json_rpc/module.f.js +0 -89
- package/fjs/protocol/json_rpc/proof.f.d.ts +0 -35
- package/fjs/protocol/json_rpc/proof.f.js +0 -68
- package/fjs/protocol/mcp/module.f.d.ts +0 -239
- package/fjs/protocol/mcp/module.f.js +0 -272
- package/fjs/protocol/mcp/proof.f.d.ts +0 -34
- package/fjs/protocol/mcp/proof.f.js +0 -208
- package/fjs/protocol/mcp/stdio/module.f.d.ts +0 -47
- package/fjs/protocol/mcp/stdio/module.f.js +0 -78
- package/fjs/protocol/mcp/stdio/proof.f.d.ts +0 -13
- package/fjs/protocol/mcp/stdio/proof.f.js +0 -143
- package/fjs/sul/id/module.f.d.ts +0 -33
- package/fjs/sul/id/module.f.js +0 -93
- package/fjs/sul/id/proof.f.js +0 -61
- package/fjs/sul/level/hash/module.f.d.ts +0 -38
- package/fjs/sul/level/hash/module.f.js +0 -43
- package/fjs/sul/level/hash/proof.f.d.ts +0 -13
- package/fjs/sul/level/hash/proof.f.js +0 -112
- package/fjs/sul/level/literal/module.f.d.ts +0 -64
- package/fjs/sul/level/literal/module.f.js +0 -88
- package/fjs/sul/level/literal/proof.f.d.ts +0 -12
- package/fjs/sul/level/literal/proof.f.js +0 -714
- package/fjs/sul/module.f.d.ts +0 -23
- package/fjs/sul/module.f.js +0 -46
- package/fjs/sul/proof.f.d.ts +0 -9
- package/fjs/sul/proof.f.js +0 -47
- package/fjs/text/ascii/module.f.d.ts +0 -136
- package/fjs/text/ascii/module.f.js +0 -154
- package/fjs/text/ascii/proof.f.d.ts +0 -6
- package/fjs/text/ascii/proof.f.js +0 -14
- package/fjs/text/code_point/module.f.d.ts +0 -65
- package/fjs/text/code_point/module.f.js +0 -103
- package/fjs/text/code_point/proof.f.d.ts +0 -8
- package/fjs/text/code_point/proof.f.js +0 -72
- package/fjs/text/module.f.d.ts +0 -40
- package/fjs/text/module.f.js +0 -43
- package/fjs/text/proof.f.d.ts +0 -10
- package/fjs/text/proof.f.js +0 -44
- package/fjs/text/sgr/module.f.d.ts +0 -53
- package/fjs/text/sgr/module.f.js +0 -63
- package/fjs/text/sgr/proof.f.js +0 -33
- package/fjs/text/utf16/module.f.d.ts +0 -161
- package/fjs/text/utf16/module.f.js +0 -311
- package/fjs/text/utf16/proof.f.d.ts +0 -10
- package/fjs/text/utf16/proof.f.js +0 -144
- package/fjs/text/utf8/module.f.d.ts +0 -83
- package/fjs/text/utf8/module.f.js +0 -247
- package/fjs/text/utf8/proof.f.js +0 -217
- package/fjs/types/array/module.f.d.ts +0 -49
- package/fjs/types/array/module.f.js +0 -42
- package/fjs/types/array/proof.f.js +0 -92
- package/fjs/types/bigfloat/module.f.d.ts +0 -6
- package/fjs/types/bigfloat/module.f.js +0 -69
- package/fjs/types/bigfloat/proof.f.d.ts +0 -5
- package/fjs/types/bigfloat/proof.f.js +0 -217
- package/fjs/types/bigint/module.f.d.ts +0 -172
- package/fjs/types/bigint/module.f.js +0 -251
- package/fjs/types/bigint/proof.f.d.ts +0 -37
- package/fjs/types/bigint/proof.f.js +0 -400
- package/fjs/types/bit_vec/module.f.d.ts +0 -302
- package/fjs/types/bit_vec/module.f.js +0 -375
- package/fjs/types/bit_vec/proof.f.d.ts +0 -65
- package/fjs/types/bit_vec/proof.f.js +0 -465
- package/fjs/types/btree/find/module.f.d.ts +0 -25
- package/fjs/types/btree/find/module.f.js +0 -80
- package/fjs/types/btree/find/proof.f.d.ts +0 -3
- package/fjs/types/btree/find/proof.f.js +0 -108
- package/fjs/types/btree/module.f.d.ts +0 -9
- package/fjs/types/btree/module.f.js +0 -33
- package/fjs/types/btree/proof.f.d.ts +0 -13
- package/fjs/types/btree/proof.f.js +0 -64
- package/fjs/types/btree/remove/module.f.d.ts +0 -14
- package/fjs/types/btree/remove/module.f.js +0 -186
- package/fjs/types/btree/remove/proof.f.d.ts +0 -9
- package/fjs/types/btree/remove/proof.f.js +0 -484
- package/fjs/types/btree/set/module.f.d.ts +0 -8
- package/fjs/types/btree/set/module.f.js +0 -128
- package/fjs/types/btree/set/proof.f.d.ts +0 -1
- package/fjs/types/btree/set/proof.f.js +0 -368
- package/fjs/types/btree/types/module.f.d.ts +0 -23
- package/fjs/types/btree/types/module.f.js +0 -9
- package/fjs/types/byte_set/module.f.d.ts +0 -16
- package/fjs/types/byte_set/module.f.js +0 -30
- package/fjs/types/byte_set/proof.f.d.ts +0 -11
- package/fjs/types/byte_set/proof.f.js +0 -79
- package/fjs/types/function/compare/module.f.d.ts +0 -49
- package/fjs/types/function/compare/module.f.js +0 -51
- package/fjs/types/function/compare/proof.f.js +0 -47
- package/fjs/types/function/module.f.d.ts +0 -28
- package/fjs/types/function/module.f.js +0 -19
- package/fjs/types/function/operator/module.f.d.ts +0 -48
- package/fjs/types/function/operator/module.f.js +0 -16
- package/fjs/types/function/operator/proof.f.js +0 -53
- package/fjs/types/function/proof.f.js +0 -10
- package/fjs/types/list/module.f.d.ts +0 -75
- package/fjs/types/list/module.f.js +0 -190
- package/fjs/types/list/proof.f.d.ts +0 -31
- package/fjs/types/list/proof.f.js +0 -330
- package/fjs/types/map/module.f.d.ts +0 -2
- package/fjs/types/map/module.f.js +0 -22
- package/fjs/types/map/proof.f.js +0 -22
- package/fjs/types/nibble_set/module.f.d.ts +0 -27
- package/fjs/types/nibble_set/module.f.js +0 -25
- package/fjs/types/nibble_set/proof.f.js +0 -60
- package/fjs/types/nominal/module.f.d.ts +0 -22
- package/fjs/types/nominal/module.f.js +0 -13
- package/fjs/types/nominal/proof.f.d.ts +0 -4
- package/fjs/types/nominal/proof.f.js +0 -48
- package/fjs/types/nullable/module.f.d.ts +0 -21
- package/fjs/types/nullable/module.f.js +0 -29
- package/fjs/types/nullable/proof.f.d.ts +0 -1
- package/fjs/types/nullable/proof.f.js +0 -29
- package/fjs/types/number/module.f.d.ts +0 -16
- package/fjs/types/number/module.f.js +0 -30
- package/fjs/types/number/proof.f.js +0 -124
- package/fjs/types/object/module.f.d.ts +0 -54
- package/fjs/types/object/module.f.js +0 -25
- package/fjs/types/object/proof.f.d.ts +0 -4
- package/fjs/types/object/proof.f.js +0 -14
- package/fjs/types/option/module.f.js +0 -6
- package/fjs/types/ordered_map/module.f.d.ts +0 -17
- package/fjs/types/ordered_map/module.f.js +0 -22
- package/fjs/types/ordered_map/proof.f.d.ts +0 -5
- package/fjs/types/ordered_map/proof.f.js +0 -73
- package/fjs/types/patricia_trie/module.f.d.ts +0 -25
- package/fjs/types/patricia_trie/module.f.js +0 -35
- package/fjs/types/patricia_trie/proof.f.d.ts +0 -13
- package/fjs/types/patricia_trie/proof.f.js +0 -121
- package/fjs/types/phantom/module.f.js +0 -11
- package/fjs/types/prime_field/module.f.d.ts +0 -62
- package/fjs/types/prime_field/module.f.js +0 -112
- package/fjs/types/prime_field/proof.f.js +0 -128
- package/fjs/types/range/module.f.d.ts +0 -8
- package/fjs/types/range/module.f.js +0 -2
- package/fjs/types/range/proof.f.d.ts +0 -1
- package/fjs/types/range/proof.f.js +0 -9
- package/fjs/types/range_map/module.f.d.ts +0 -92
- package/fjs/types/range_map/module.f.js +0 -82
- package/fjs/types/range_map/proof.f.d.ts +0 -6
- package/fjs/types/range_map/proof.f.js +0 -151
- package/fjs/types/range_set/module.f.d.ts +0 -5
- package/fjs/types/range_set/module.f.js +0 -16
- package/fjs/types/range_set/proof.f.d.ts +0 -1
- package/fjs/types/range_set/proof.f.js +0 -19
- package/fjs/types/result/module.d.ts +0 -3
- package/fjs/types/result/module.f.d.ts +0 -61
- package/fjs/types/result/module.f.js +0 -54
- package/fjs/types/result/module.js +0 -19
- package/fjs/types/result/proof.f.d.ts +0 -12
- package/fjs/types/result/proof.f.js +0 -31
- package/fjs/types/rtti/common/module.f.d.ts +0 -121
- package/fjs/types/rtti/common/module.f.js +0 -94
- package/fjs/types/rtti/common/proof.f.d.ts +0 -8
- package/fjs/types/rtti/common/proof.f.js +0 -51
- package/fjs/types/rtti/module.f.d.ts +0 -75
- package/fjs/types/rtti/module.f.js +0 -34
- package/fjs/types/rtti/parse/module.f.d.ts +0 -36
- package/fjs/types/rtti/parse/module.f.js +0 -114
- package/fjs/types/rtti/parse/proof.f.d.ts +0 -115
- package/fjs/types/rtti/parse/proof.f.js +0 -334
- package/fjs/types/rtti/proof.f.d.ts +0 -5
- package/fjs/types/rtti/proof.f.js +0 -16
- package/fjs/types/rtti/ts/module.f.d.ts +0 -118
- package/fjs/types/rtti/ts/module.f.js +0 -59
- package/fjs/types/rtti/ts/proof.f.d.ts +0 -59
- package/fjs/types/rtti/ts/proof.f.js +0 -75
- package/fjs/types/rtti/validate/module.f.d.ts +0 -4
- package/fjs/types/rtti/validate/module.f.js +0 -74
- package/fjs/types/rtti/validate/proof.f.d.ts +0 -118
- package/fjs/types/rtti/validate/proof.f.js +0 -349
- package/fjs/types/sorted_list/module.f.d.ts +0 -26
- package/fjs/types/sorted_list/module.f.js +0 -51
- package/fjs/types/sorted_list/proof.f.d.ts +0 -4
- package/fjs/types/sorted_list/proof.f.js +0 -46
- package/fjs/types/sorted_set/module.f.d.ts +0 -33
- package/fjs/types/sorted_set/module.f.js +0 -5
- package/fjs/types/sorted_set/proof.f.d.ts +0 -6
- package/fjs/types/sorted_set/proof.f.js +0 -67
- package/fjs/types/string/module.f.d.ts +0 -24
- package/fjs/types/string/module.f.js +0 -35
- package/fjs/types/string/proof.f.js +0 -77
- package/fjs/types/string_set/module.f.d.ts +0 -30
- package/fjs/types/string_set/module.f.js +0 -37
- package/fjs/types/string_set/proof.f.js +0 -43
- package/fjs/types/ts/module.f.d.ts +0 -23
- package/fjs/types/ts/module.f.js +0 -27
- package/fjs/types/ts/proof.f.d.ts +0 -38
- package/fjs/types/ts/proof.f.js +0 -86
- package/fjs/types/uint8array/module.f.d.ts +0 -13
- package/fjs/types/uint8array/module.f.js +0 -34
- package/fjs/types/uint8array/proof.f.d.ts +0 -17
- package/fjs/types/uint8array/proof.f.js +0 -64
- package/fjs/website/module.f.d.ts +0 -3
- package/fjs/website/module.f.js +0 -14
- package/fjs/website/proof.f.js +0 -13
- package/nanvm-lib/tests/proof.f.d.ts +0 -122
- package/nanvm-lib/tests/proof.f.js +0 -330
- package/todo/031-json.f.d.ts +0 -1
- package/todo/031-json.f.js +0 -241
- package/todo/proof.f.d.ts +0 -20
- package/todo/proof.f.js +0 -62
- /package/fjs/{base_n/proof.f.d.ts → basen/proof.f.d.mts} +0 -0
- /package/fjs/bnf/token_symbol/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/ci/node/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/crypto/hmac/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/crypto/pow/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/crypto/vdf/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/dev/package_json/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/djs/ast/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/djs/examples/{input.f.d.ts → input.f.d.mts} +0 -0
- /package/fjs/djs/examples/{m.f.d.ts → m.f.d.mts} +0 -0
- /package/fjs/djs/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/djs/transpiler/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/fsc/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/media/json/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/media/json/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/path/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/sul/id/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/text/utf8/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/array/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/{emergent_testing/all.test.d.ts → types/bigint/benchmark.d.mts} +0 -0
- /package/fjs/{basen/base128/proof.f.d.ts → types/function/compare/proof.f.d.mts} +0 -0
- /package/fjs/types/function/operator/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/function/{compare/proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/map/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/nibble_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/{text/sgr/proof.f.d.ts → types/nullable/proof.f.d.mts} +0 -0
- /package/fjs/types/number/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/option/{module.f.d.ts → types.d.ts} +0 -0
- /package/fjs/types/phantom/{module.f.d.ts → types.d.ts} +0 -0
- /package/fjs/types/prime_field/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/{function/proof.f.d.ts → range/proof.f.d.mts} +0 -0
- /package/fjs/types/string/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/string_set/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/website/{proof.f.d.ts → proof.f.d.mts} +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-level API for the literal SUL level encoding.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type { Vec } from '../../../types/bit_vec/types.ts';
|
|
7
|
+
import type { Func } from '../../../types/function/types.ts';
|
|
8
|
+
import type { StateScan } from '../../../types/function/operator/types.ts';
|
|
9
|
+
import type { List } from '../../../types/list/types.ts';
|
|
10
|
+
export type Word = readonly bigint[];
|
|
11
|
+
/**
|
|
12
|
+
* Streaming encoder state: `[last, part]`.
|
|
13
|
+
* - `last` — the most recently consumed input symbol, or `undefined` before any symbol is seen.
|
|
14
|
+
* - `part` — accumulated index offset from the decreasing prefix consumed so far.
|
|
15
|
+
*/
|
|
16
|
+
export type EncodeState = readonly [bigint | undefined, bigint];
|
|
17
|
+
/**
|
|
18
|
+
* A literal SUL level with finite alphabet `[0, n)`.
|
|
19
|
+
*/
|
|
20
|
+
export type Level = {
|
|
21
|
+
/** Number of valid words whose first symbol is ≤ `i`. */
|
|
22
|
+
readonly sum: (i: bigint) => bigint;
|
|
23
|
+
/** Inverse of {@link Level.encode}: restores the complete word from a symbol. */
|
|
24
|
+
readonly decode: (i: bigint) => List<bigint>;
|
|
25
|
+
/** Streaming encoder: processes one input symbol at a time, emitting an output symbol only
|
|
26
|
+
* when the terminating symbol `t >= last` arrives. */
|
|
27
|
+
readonly encode: StateScan<bigint, EncodeState, bigint | undefined>;
|
|
28
|
+
};
|
|
29
|
+
/** Combined encoder state for the three-level literal pipeline (L1 → L2 → L3). */
|
|
30
|
+
export type PipelineState = readonly [EncodeState, EncodeState, EncodeState];
|
|
31
|
+
export type LiteralToVec = Func<bigint, Vec>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming encoder for the full SUL pipeline.
|
|
3
|
+
* Processes bits one at a time through literal levels L1→L2→L3, then through a dynamic array of hash levels.
|
|
4
|
+
* See `./types.ts` for the `EncodeState`/`Encode` type-level API.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*
|
|
8
|
+
* @import { Add } from './level/hash/types.ts'
|
|
9
|
+
* @import { Id } from './id/types.ts'
|
|
10
|
+
* @import { InternalState } from '../types/patricia_trie/types.ts'
|
|
11
|
+
* @import { EncodeState, Encode } from './types.ts'
|
|
12
|
+
*/
|
|
13
|
+
import type { Add } from './level/hash/types.ts';
|
|
14
|
+
import type { Id } from './id/types.ts';
|
|
15
|
+
import type { InternalState } from '../types/patricia_trie/types.ts';
|
|
16
|
+
import type { EncodeState, Encode } from './types.ts';
|
|
17
|
+
export type _HashState = InternalState<Id>;
|
|
18
|
+
/** @typedef {InternalState<Id>} _HashState */
|
|
19
|
+
/** @type {<S>(storage: S) => EncodeState<S>} */
|
|
20
|
+
export declare const emptyEncodeState: <S>(storage: S) => EncodeState<S>;
|
|
21
|
+
export declare const encode: <S>(
|
|
22
|
+
/**
|
|
23
|
+
* @template S
|
|
24
|
+
* @param {Add<S>} add
|
|
25
|
+
* @returns {Encode<S>}
|
|
26
|
+
*/
|
|
27
|
+
add: Add<S>) => Encode<S>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming encoder for the full SUL pipeline.
|
|
3
|
+
* Processes bits one at a time through literal levels L1→L2→L3, then through a dynamic array of hash levels.
|
|
4
|
+
* See `./types.ts` for the `EncodeState`/`Encode` type-level API.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*
|
|
8
|
+
* @import { Add } from './level/hash/types.ts'
|
|
9
|
+
* @import { Id } from './id/types.ts'
|
|
10
|
+
* @import { InternalState } from '../types/patricia_trie/types.ts'
|
|
11
|
+
* @import { EncodeState, Encode } from './types.ts'
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { emptyPipelineState, pipelineStep } from './level/literal/module.f.mjs'
|
|
15
|
+
import { encode as hashEncode } from './level/hash/module.f.mjs'
|
|
16
|
+
import { level3Id } from './id/module.f.mjs'
|
|
17
|
+
|
|
18
|
+
/** @typedef {InternalState<Id>} _HashState */
|
|
19
|
+
|
|
20
|
+
/** @type {<S>(storage: S) => EncodeState<S>} */
|
|
21
|
+
export const emptyEncodeState = storage =>
|
|
22
|
+
[emptyPipelineState, storage, []]
|
|
23
|
+
|
|
24
|
+
export const encode =
|
|
25
|
+
/**
|
|
26
|
+
* @template S
|
|
27
|
+
* @param {Add<S>} add
|
|
28
|
+
* @returns {Encode<S>}
|
|
29
|
+
*/
|
|
30
|
+
add => {
|
|
31
|
+
const step = hashEncode(add)
|
|
32
|
+
|
|
33
|
+
/** @typedef {readonly [Id | undefined, S, readonly _HashState[]]} _CascadeResult */
|
|
34
|
+
|
|
35
|
+
/** @type {(id0: Id, storage0: S, stacks0: readonly _HashState[]) => _CascadeResult} */
|
|
36
|
+
const cascade = (id0, storage0, stacks0) => {
|
|
37
|
+
let id = id0, storage = storage0, stacks = stacks0
|
|
38
|
+
for (let index = 0; ; index++) {
|
|
39
|
+
if (index >= stacks.length) {
|
|
40
|
+
const [, [newStorage, newStack]] = step(id, [storage, []])
|
|
41
|
+
return [id, newStorage, [...stacks, newStack]]
|
|
42
|
+
}
|
|
43
|
+
const [out, [newStorage, newStack]] = step(id, [storage, stacks[index]])
|
|
44
|
+
stacks = [...stacks.slice(0, index), newStack, ...stacks.slice(index + 1)]
|
|
45
|
+
storage = newStorage
|
|
46
|
+
if (out === undefined) return [undefined, storage, stacks]
|
|
47
|
+
id = out
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/** @type {(bit: bigint, state: EncodeState<S>) => readonly [Id | undefined, EncodeState<S>]} */
|
|
52
|
+
const literalStep = (bit, state) => {
|
|
53
|
+
const [ps, storage, stacks] = state
|
|
54
|
+
const [l3Out, newPs] = pipelineStep(bit, ps)
|
|
55
|
+
if (l3Out === undefined) return [undefined, [newPs, storage, stacks]]
|
|
56
|
+
const [finalId, newStorage, newStacks] = cascade(level3Id(l3Out), storage, stacks)
|
|
57
|
+
return [finalId, [newPs, newStorage, newStacks]]
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
return {
|
|
61
|
+
push: (bit, state) => literalStep(bit, state)[1],
|
|
62
|
+
end: state => {
|
|
63
|
+
let [id, s] = literalStep(1n, state)
|
|
64
|
+
while (id === undefined) {
|
|
65
|
+
[id, s] = literalStep(0n, s)
|
|
66
|
+
}
|
|
67
|
+
return id
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import { Id } from './id/types.ts'
|
|
3
|
+
* @import { Add } from './level/hash/types.ts'
|
|
4
|
+
*/
|
|
5
|
+
import type { Id } from './id/types.ts';
|
|
6
|
+
export type _Merge = readonly [Id, Id, Id, boolean];
|
|
7
|
+
export declare const proof: {
|
|
8
|
+
deterministic: () => void;
|
|
9
|
+
distinct: () => void;
|
|
10
|
+
order_matters: () => void;
|
|
11
|
+
length_matters: () => void;
|
|
12
|
+
has_merges: () => void;
|
|
13
|
+
compress_correct: () => void;
|
|
14
|
+
isSymbol_terminal_only: () => void;
|
|
15
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @import { Id } from './id/types.ts'
|
|
3
|
+
* @import { Add } from './level/hash/types.ts'
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { assert, assertEq } from '../asserts/module.f.mjs'
|
|
7
|
+
import { compress } from './id/module.f.mjs'
|
|
8
|
+
import { encode, emptyEncodeState } from './module.f.mjs'
|
|
9
|
+
|
|
10
|
+
/** @typedef {readonly [Id, Id, Id, boolean]} _Merge */
|
|
11
|
+
|
|
12
|
+
/** @type {(bits: readonly bigint[]) => readonly [Id, readonly _Merge[]]} */
|
|
13
|
+
const run = bits => {
|
|
14
|
+
/** @type {_Merge[]} */
|
|
15
|
+
const log = []
|
|
16
|
+
/** @type {Add<null>} */
|
|
17
|
+
const add = (l, r, m, isSymbol) => { log.push([l, r, m, isSymbol]); return null }
|
|
18
|
+
const enc = encode(add)
|
|
19
|
+
let s = emptyEncodeState(null)
|
|
20
|
+
for (const b of bits) { s = enc.push(b, s) }
|
|
21
|
+
return [enc.end(s), log]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** @type {(bits: readonly bigint[]) => Id} */
|
|
25
|
+
const id = bits => run(bits)[0]
|
|
26
|
+
|
|
27
|
+
/** @type {(n: number) => readonly bigint[]} */
|
|
28
|
+
const zeros = n => new Array(n).fill(0n)
|
|
29
|
+
|
|
30
|
+
export const proof = {
|
|
31
|
+
deterministic: () => {
|
|
32
|
+
assertEq(id(zeros(16)), id(zeros(16)))
|
|
33
|
+
},
|
|
34
|
+
|
|
35
|
+
distinct: () => {
|
|
36
|
+
assert(id([0n]) !== id([1n]))
|
|
37
|
+
},
|
|
38
|
+
|
|
39
|
+
order_matters: () => {
|
|
40
|
+
assert(id([0n, 1n]) !== id([1n, 0n]))
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
length_matters: () => {
|
|
44
|
+
assert(id(zeros(8)) !== id(zeros(16)))
|
|
45
|
+
},
|
|
46
|
+
|
|
47
|
+
// Enough bits to trigger at least one hash merge
|
|
48
|
+
has_merges: () => {
|
|
49
|
+
const [, log] = run(zeros(16))
|
|
50
|
+
assert(log.length > 0)
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
// Every recorded merge satisfies merged === compress(left, right)
|
|
54
|
+
compress_correct: () => {
|
|
55
|
+
const [, log] = run(zeros(16))
|
|
56
|
+
for (const [l, r, m] of log) { assertEq(m, compress(l, r)) }
|
|
57
|
+
},
|
|
58
|
+
|
|
59
|
+
// Patricia-trie internal merges are isSymbol=false; terminal merges are isSymbol=true
|
|
60
|
+
isSymbol_terminal_only: () => {
|
|
61
|
+
const [, log] = run(zeros(16))
|
|
62
|
+
assert(log.some(([, , , isSymbol]) => isSymbol))
|
|
63
|
+
assert(log.every(([l, r, m, isSymbol]) => !isSymbol || m === compress(l, r)))
|
|
64
|
+
},
|
|
65
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-level API for the full SUL streaming encoder.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type { InternalState } from '../types/patricia_trie/types.ts';
|
|
7
|
+
import type { PipelineState } from './level/literal/types.ts';
|
|
8
|
+
import type { Id } from './id/types.ts';
|
|
9
|
+
type HashState = InternalState<Id>;
|
|
10
|
+
export type EncodeState<S> = readonly [
|
|
11
|
+
PipelineState,
|
|
12
|
+
S,
|
|
13
|
+
readonly HashState[]
|
|
14
|
+
];
|
|
15
|
+
export type Encode<S> = {
|
|
16
|
+
readonly push: (bit: bigint, state: EncodeState<S>) => EncodeState<S>;
|
|
17
|
+
readonly end: (state: EncodeState<S>) => Id;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides ASCII code point constants and helpers for creating numeric code points and inclusive ranges.
|
|
3
|
+
*
|
|
4
|
+
* It also owns the hexadecimal digit codec (`hexDigitValue` /
|
|
5
|
+
* `hexDigitCodePoint`), so no consumer has to rederive the `'0'`, `'a' - 10`
|
|
6
|
+
* and `'A' - 10` offsets for itself.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*
|
|
10
|
+
* @import { Nullable } from '../../types/nullable/types.ts'
|
|
11
|
+
* @import { Range } from '../../types/range/types.ts'
|
|
12
|
+
*/
|
|
13
|
+
import type { Nullable } from '../../types/nullable/types.ts';
|
|
14
|
+
import type { Range } from '../../types/range/types.ts';
|
|
15
|
+
/** Returns the code point value of the first character in a string. @type {(s: string) => number} */
|
|
16
|
+
export declare const one: (s: string) => number;
|
|
17
|
+
/** Returns an inclusive code point range from the first two characters in a string. @type {(s: string) => Range} */
|
|
18
|
+
export declare const range: (s: string) => Range;
|
|
19
|
+
/** 0x08 */
|
|
20
|
+
export declare const backspace: number;
|
|
21
|
+
/** 0x09 */
|
|
22
|
+
export declare const ht: number;
|
|
23
|
+
/** 0x0A */
|
|
24
|
+
export declare const lf: number;
|
|
25
|
+
/** 0x0C */
|
|
26
|
+
export declare const ff: number;
|
|
27
|
+
/** 0x0D */
|
|
28
|
+
export declare const cr: number;
|
|
29
|
+
/** 0x20 */
|
|
30
|
+
export declare const space: number;
|
|
31
|
+
/** 0x21 */
|
|
32
|
+
export declare const exclamationMark: number;
|
|
33
|
+
/** 0x22 */
|
|
34
|
+
export declare const quotationMark: number;
|
|
35
|
+
/** 0x23 */
|
|
36
|
+
export declare const numberSign: number;
|
|
37
|
+
/** 0x24 */
|
|
38
|
+
export declare const dollarSign: number;
|
|
39
|
+
/** 0x25 */
|
|
40
|
+
export declare const percentSign: number;
|
|
41
|
+
/** 0x26 */
|
|
42
|
+
export declare const ampersand: number;
|
|
43
|
+
/** 0x27 */
|
|
44
|
+
export declare const apostrophe: number;
|
|
45
|
+
/** 0x28 */
|
|
46
|
+
export declare const leftParenthesis: number;
|
|
47
|
+
/** 0x29 */
|
|
48
|
+
export declare const rightParenthesis: number;
|
|
49
|
+
/** 0x2A */
|
|
50
|
+
export declare const asterisk: number;
|
|
51
|
+
/** 0x2B */
|
|
52
|
+
export declare const plusSign: number;
|
|
53
|
+
/** 0x2C */
|
|
54
|
+
export declare const comma: number;
|
|
55
|
+
/** 0x2D */
|
|
56
|
+
export declare const hyphenMinus: number;
|
|
57
|
+
/** 0x2E */
|
|
58
|
+
export declare const fullStop: number;
|
|
59
|
+
/** 0x2F */
|
|
60
|
+
export declare const solidus: number;
|
|
61
|
+
/** 0x30..0x39 */
|
|
62
|
+
export declare const digitRange: Range;
|
|
63
|
+
/** 0x30 */
|
|
64
|
+
export declare const digit0: number;
|
|
65
|
+
/** 0x31 */
|
|
66
|
+
export declare const digit1: number;
|
|
67
|
+
/** 0x32 */
|
|
68
|
+
export declare const digit2: number;
|
|
69
|
+
/** 0x33 */
|
|
70
|
+
export declare const digit3: number;
|
|
71
|
+
/** 0x34 */
|
|
72
|
+
export declare const digit4: number;
|
|
73
|
+
/** 0x35 */
|
|
74
|
+
export declare const digit5: number;
|
|
75
|
+
/** 0x36 */
|
|
76
|
+
export declare const digit6: number;
|
|
77
|
+
/** 0x37 */
|
|
78
|
+
export declare const digit7: number;
|
|
79
|
+
/** 0x38 */
|
|
80
|
+
export declare const digit8: number;
|
|
81
|
+
/** 0x39 */
|
|
82
|
+
export declare const digit9: number;
|
|
83
|
+
/** 0x3A */
|
|
84
|
+
export declare const colon: number;
|
|
85
|
+
/** 0x3B */
|
|
86
|
+
export declare const semicolon: number;
|
|
87
|
+
/** 0x3C */
|
|
88
|
+
export declare const lessThanSign: number;
|
|
89
|
+
/** 0x3D */
|
|
90
|
+
export declare const equalsSign: number;
|
|
91
|
+
/** 0x3E */
|
|
92
|
+
export declare const greaterThanSign: number;
|
|
93
|
+
/** 0x3F */
|
|
94
|
+
export declare const questionMark: number;
|
|
95
|
+
/** 0x40 */
|
|
96
|
+
export declare const commercialAt: number;
|
|
97
|
+
/** 0x41..0x5A */
|
|
98
|
+
export declare const latinCapitalLetterRange: Range;
|
|
99
|
+
/** 0x41 */
|
|
100
|
+
export declare const latinCapitalLetterA: number;
|
|
101
|
+
/** 0x45 */
|
|
102
|
+
export declare const latinCapitalLetterE: number;
|
|
103
|
+
/** 0x46 */
|
|
104
|
+
export declare const latinCapitalLetterF: number;
|
|
105
|
+
/** 0x41..0x46, the uppercase hexadecimal digits. */
|
|
106
|
+
export declare const latinCapitalLetterAFRange: Range;
|
|
107
|
+
/** 0x5B */
|
|
108
|
+
export declare const leftSquareBracket: number;
|
|
109
|
+
/** 0x5C */
|
|
110
|
+
export declare const reverseSolidus: number;
|
|
111
|
+
/** 0x5D */
|
|
112
|
+
export declare const rightSquareBracket: number;
|
|
113
|
+
/** 0x5E */
|
|
114
|
+
export declare const circumflexAccent: number;
|
|
115
|
+
/** 0x5F */
|
|
116
|
+
export declare const lowLine: number;
|
|
117
|
+
/** 0x60 */
|
|
118
|
+
export declare const graveAccent: number;
|
|
119
|
+
/** 0x61..0x7A */
|
|
120
|
+
export declare const latinSmallLetterRange: Range;
|
|
121
|
+
/** 0x61 */
|
|
122
|
+
export declare const latinSmallLetterA: number;
|
|
123
|
+
/** 0x62 */
|
|
124
|
+
export declare const latinSmallLetterB: number;
|
|
125
|
+
/** 0x65 */
|
|
126
|
+
export declare const latinSmallLetterE: number;
|
|
127
|
+
/** 0x66 */
|
|
128
|
+
export declare const latinSmallLetterF: number;
|
|
129
|
+
/** 0x61..0x66, the lowercase hexadecimal digits. */
|
|
130
|
+
export declare const latinSmallLetterAFRange: Range;
|
|
131
|
+
/** 0x6E */
|
|
132
|
+
export declare const latinSmallLetterN: number;
|
|
133
|
+
/** 0x72 */
|
|
134
|
+
export declare const latinSmallLetterR: number;
|
|
135
|
+
/** 0x74 */
|
|
136
|
+
export declare const latinSmallLetterT: number;
|
|
137
|
+
/** 0x75 */
|
|
138
|
+
export declare const latinSmallLetterU: number;
|
|
139
|
+
/** 0x7A */
|
|
140
|
+
export declare const latinSmallLetterZ: number;
|
|
141
|
+
/** 0x7B */
|
|
142
|
+
export declare const leftCurlyBracket: number;
|
|
143
|
+
/** 0x7C */
|
|
144
|
+
export declare const verticalLine: number;
|
|
145
|
+
/** 0x7D */
|
|
146
|
+
export declare const rightCurlyBracket: number;
|
|
147
|
+
/** 0x7E */
|
|
148
|
+
export declare const tilde: number;
|
|
149
|
+
/**
|
|
150
|
+
* The value `0..15` denoted by a hexadecimal digit code point, or `null` when
|
|
151
|
+
* the code point is not one of `0-9`, `a-f`, `A-F`.
|
|
152
|
+
*
|
|
153
|
+
* @type {(codePoint: number) => Nullable<number>}
|
|
154
|
+
*/
|
|
155
|
+
export declare const hexDigitValue: (codePoint: number) => Nullable<number>;
|
|
156
|
+
/**
|
|
157
|
+
* The lowercase hexadecimal digit code point denoting a value in `0..15`.
|
|
158
|
+
* `hexDigitValue(hexDigitCodePoint(v))` is `v` for every such value.
|
|
159
|
+
*
|
|
160
|
+
* @type {(value: number) => number}
|
|
161
|
+
*/
|
|
162
|
+
export declare const hexDigitCodePoint: (value: number) => number;
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides ASCII code point constants and helpers for creating numeric code points and inclusive ranges.
|
|
3
|
+
*
|
|
4
|
+
* It also owns the hexadecimal digit codec (`hexDigitValue` /
|
|
5
|
+
* `hexDigitCodePoint`), so no consumer has to rederive the `'0'`, `'a' - 10`
|
|
6
|
+
* and `'A' - 10` offsets for itself.
|
|
7
|
+
*
|
|
8
|
+
* @module
|
|
9
|
+
*
|
|
10
|
+
* @import { Nullable } from '../../types/nullable/types.ts'
|
|
11
|
+
* @import { Range } from '../../types/range/types.ts'
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { contains } from '../../types/range/module.f.mjs'
|
|
15
|
+
|
|
16
|
+
/** @type {(s: string) => (i: number) => number} */
|
|
17
|
+
const at = s => i => {
|
|
18
|
+
const r = s.codePointAt(i)
|
|
19
|
+
if (r === void 0) { throw s }
|
|
20
|
+
return r
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** Returns the code point value of the first character in a string. @type {(s: string) => number} */
|
|
24
|
+
export const one = s => at(s)(0)
|
|
25
|
+
|
|
26
|
+
/** Returns an inclusive code point range from the first two characters in a string. @type {(s: string) => Range} */
|
|
27
|
+
export const range = s => {
|
|
28
|
+
const f = at(s)
|
|
29
|
+
const f0 = f(0)
|
|
30
|
+
if (s.length === 1) { return [f0, f0] }
|
|
31
|
+
return [f0, f(1)]
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// 0x00..
|
|
35
|
+
|
|
36
|
+
/** 0x08 */
|
|
37
|
+
export const backspace = one('\b')
|
|
38
|
+
|
|
39
|
+
/** 0x09 */
|
|
40
|
+
export const ht = one('\t')
|
|
41
|
+
|
|
42
|
+
/** 0x0A */
|
|
43
|
+
export const lf = one('\n')
|
|
44
|
+
|
|
45
|
+
/** 0x0C */
|
|
46
|
+
export const ff = one('\f')
|
|
47
|
+
|
|
48
|
+
/** 0x0D */
|
|
49
|
+
export const cr = one('\r')
|
|
50
|
+
|
|
51
|
+
// 0x20..
|
|
52
|
+
|
|
53
|
+
/** 0x20 */
|
|
54
|
+
export const space = one(' ')
|
|
55
|
+
|
|
56
|
+
/** 0x21 */
|
|
57
|
+
export const exclamationMark = one('!')
|
|
58
|
+
|
|
59
|
+
/** 0x22 */
|
|
60
|
+
export const quotationMark = one('"')
|
|
61
|
+
|
|
62
|
+
/** 0x23 */
|
|
63
|
+
export const numberSign = one('#')
|
|
64
|
+
|
|
65
|
+
/** 0x24 */
|
|
66
|
+
export const dollarSign = one('$')
|
|
67
|
+
|
|
68
|
+
/** 0x25 */
|
|
69
|
+
export const percentSign = one('%')
|
|
70
|
+
|
|
71
|
+
/** 0x26 */
|
|
72
|
+
export const ampersand = one('&')
|
|
73
|
+
|
|
74
|
+
/** 0x27 */
|
|
75
|
+
export const apostrophe = one("'")
|
|
76
|
+
|
|
77
|
+
/** 0x28 */
|
|
78
|
+
export const leftParenthesis = one('(')
|
|
79
|
+
|
|
80
|
+
/** 0x29 */
|
|
81
|
+
export const rightParenthesis = one(')')
|
|
82
|
+
|
|
83
|
+
/** 0x2A */
|
|
84
|
+
export const asterisk = one('*')
|
|
85
|
+
|
|
86
|
+
/** 0x2B */
|
|
87
|
+
export const plusSign = one('+')
|
|
88
|
+
|
|
89
|
+
/** 0x2C */
|
|
90
|
+
export const comma = one(',')
|
|
91
|
+
|
|
92
|
+
/** 0x2D */
|
|
93
|
+
export const hyphenMinus = one('-')
|
|
94
|
+
|
|
95
|
+
/** 0x2E */
|
|
96
|
+
export const fullStop = one('.')
|
|
97
|
+
|
|
98
|
+
/** 0x2F */
|
|
99
|
+
export const solidus = one('/')
|
|
100
|
+
|
|
101
|
+
// 0x30..
|
|
102
|
+
|
|
103
|
+
/** 0x30..0x39 */
|
|
104
|
+
export const digitRange = range('09')
|
|
105
|
+
|
|
106
|
+
/** 0x30 */
|
|
107
|
+
export const digit0 = one('0')
|
|
108
|
+
|
|
109
|
+
/** 0x31 */
|
|
110
|
+
export const digit1 = one('1')
|
|
111
|
+
|
|
112
|
+
/** 0x32 */
|
|
113
|
+
export const digit2 = one('2')
|
|
114
|
+
|
|
115
|
+
/** 0x33 */
|
|
116
|
+
export const digit3 = one('3')
|
|
117
|
+
|
|
118
|
+
/** 0x34 */
|
|
119
|
+
export const digit4 = one('4')
|
|
120
|
+
|
|
121
|
+
/** 0x35 */
|
|
122
|
+
export const digit5 = one('5')
|
|
123
|
+
|
|
124
|
+
/** 0x36 */
|
|
125
|
+
export const digit6 = one('6')
|
|
126
|
+
|
|
127
|
+
/** 0x37 */
|
|
128
|
+
export const digit7 = one('7')
|
|
129
|
+
|
|
130
|
+
/** 0x38 */
|
|
131
|
+
export const digit8 = one('8')
|
|
132
|
+
|
|
133
|
+
/** 0x39 */
|
|
134
|
+
export const digit9 = one('9')
|
|
135
|
+
|
|
136
|
+
/** 0x3A */
|
|
137
|
+
export const colon = one(':')
|
|
138
|
+
|
|
139
|
+
/** 0x3B */
|
|
140
|
+
export const semicolon = one(';')
|
|
141
|
+
|
|
142
|
+
/** 0x3C */
|
|
143
|
+
export const lessThanSign = one('<')
|
|
144
|
+
|
|
145
|
+
/** 0x3D */
|
|
146
|
+
export const equalsSign = one('=')
|
|
147
|
+
|
|
148
|
+
/** 0x3E */
|
|
149
|
+
export const greaterThanSign = one('>')
|
|
150
|
+
|
|
151
|
+
/** 0x3F */
|
|
152
|
+
export const questionMark = one('?')
|
|
153
|
+
|
|
154
|
+
// 0x40..
|
|
155
|
+
|
|
156
|
+
/** 0x40 */
|
|
157
|
+
export const commercialAt = one('@')
|
|
158
|
+
|
|
159
|
+
/** 0x41..0x5A */
|
|
160
|
+
export const latinCapitalLetterRange = range('AZ')
|
|
161
|
+
|
|
162
|
+
/** 0x41 */
|
|
163
|
+
export const latinCapitalLetterA = one('A')
|
|
164
|
+
|
|
165
|
+
/** 0x45 */
|
|
166
|
+
export const latinCapitalLetterE = one('E')
|
|
167
|
+
|
|
168
|
+
/** 0x46 */
|
|
169
|
+
export const latinCapitalLetterF = one('F')
|
|
170
|
+
|
|
171
|
+
/** 0x41..0x46, the uppercase hexadecimal digits. */
|
|
172
|
+
export const latinCapitalLetterAFRange = range('AF')
|
|
173
|
+
|
|
174
|
+
/** 0x5B */
|
|
175
|
+
export const leftSquareBracket = one('[')
|
|
176
|
+
|
|
177
|
+
/** 0x5C */
|
|
178
|
+
export const reverseSolidus = one('\\')
|
|
179
|
+
|
|
180
|
+
/** 0x5D */
|
|
181
|
+
export const rightSquareBracket = one(']')
|
|
182
|
+
|
|
183
|
+
/** 0x5E */
|
|
184
|
+
export const circumflexAccent = one('^')
|
|
185
|
+
|
|
186
|
+
/** 0x5F */
|
|
187
|
+
export const lowLine = one('_')
|
|
188
|
+
|
|
189
|
+
// 0x60..
|
|
190
|
+
|
|
191
|
+
/** 0x60 */
|
|
192
|
+
export const graveAccent = one('`')
|
|
193
|
+
|
|
194
|
+
/** 0x61..0x7A */
|
|
195
|
+
export const latinSmallLetterRange = range('az')
|
|
196
|
+
|
|
197
|
+
/** 0x61 */
|
|
198
|
+
export const latinSmallLetterA = one('a')
|
|
199
|
+
|
|
200
|
+
/** 0x62 */
|
|
201
|
+
export const latinSmallLetterB = one('b')
|
|
202
|
+
|
|
203
|
+
/** 0x65 */
|
|
204
|
+
export const latinSmallLetterE = one('e')
|
|
205
|
+
|
|
206
|
+
/** 0x66 */
|
|
207
|
+
export const latinSmallLetterF = one('f')
|
|
208
|
+
|
|
209
|
+
/** 0x61..0x66, the lowercase hexadecimal digits. */
|
|
210
|
+
export const latinSmallLetterAFRange = range('af')
|
|
211
|
+
|
|
212
|
+
/** 0x6E */
|
|
213
|
+
export const latinSmallLetterN = one('n')
|
|
214
|
+
|
|
215
|
+
/** 0x72 */
|
|
216
|
+
export const latinSmallLetterR = one('r')
|
|
217
|
+
|
|
218
|
+
/** 0x74 */
|
|
219
|
+
export const latinSmallLetterT = one('t')
|
|
220
|
+
|
|
221
|
+
/** 0x75 */
|
|
222
|
+
export const latinSmallLetterU = one('u')
|
|
223
|
+
|
|
224
|
+
/** 0x7A */
|
|
225
|
+
export const latinSmallLetterZ = one('z')
|
|
226
|
+
|
|
227
|
+
/** 0x7B */
|
|
228
|
+
export const leftCurlyBracket = one('{')
|
|
229
|
+
|
|
230
|
+
/** 0x7C */
|
|
231
|
+
export const verticalLine = one('|')
|
|
232
|
+
|
|
233
|
+
/** 0x7D */
|
|
234
|
+
export const rightCurlyBracket = one('}')
|
|
235
|
+
|
|
236
|
+
/** 0x7E */
|
|
237
|
+
export const tilde = one('~')
|
|
238
|
+
|
|
239
|
+
// hexadecimal digits
|
|
240
|
+
|
|
241
|
+
const isDigit = contains(...digitRange)
|
|
242
|
+
|
|
243
|
+
const isLatinSmallLetterAF = contains(...latinSmallLetterAFRange)
|
|
244
|
+
|
|
245
|
+
const isLatinCapitalLetterAF = contains(...latinCapitalLetterAFRange)
|
|
246
|
+
|
|
247
|
+
/** The distance from a lowercase hexadecimal letter to the value it denotes. */
|
|
248
|
+
const latinSmallLetterAFOffset = latinSmallLetterA - 10
|
|
249
|
+
|
|
250
|
+
/** The distance from an uppercase hexadecimal letter to the value it denotes. */
|
|
251
|
+
const latinCapitalLetterAFOffset = latinCapitalLetterA - 10
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* The value `0..15` denoted by a hexadecimal digit code point, or `null` when
|
|
255
|
+
* the code point is not one of `0-9`, `a-f`, `A-F`.
|
|
256
|
+
*
|
|
257
|
+
* @type {(codePoint: number) => Nullable<number>}
|
|
258
|
+
*/
|
|
259
|
+
export const hexDigitValue = codePoint =>
|
|
260
|
+
isDigit(codePoint) ? codePoint - digit0
|
|
261
|
+
: isLatinSmallLetterAF(codePoint) ? codePoint - latinSmallLetterAFOffset
|
|
262
|
+
: isLatinCapitalLetterAF(codePoint) ? codePoint - latinCapitalLetterAFOffset
|
|
263
|
+
: null
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* The lowercase hexadecimal digit code point denoting a value in `0..15`.
|
|
267
|
+
* `hexDigitValue(hexDigitCodePoint(v))` is `v` for every such value.
|
|
268
|
+
*
|
|
269
|
+
* @type {(value: number) => number}
|
|
270
|
+
*/
|
|
271
|
+
export const hexDigitCodePoint = value =>
|
|
272
|
+
value < 10 ? digit0 + value : latinSmallLetterAFOffset + value
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const proof: {
|
|
2
|
+
range: () => void;
|
|
3
|
+
hexDigitValue: {
|
|
4
|
+
digit: () => void;
|
|
5
|
+
latinSmallLetterAF: () => void;
|
|
6
|
+
latinCapitalLetterAF: () => void;
|
|
7
|
+
notAHexDigit: () => void;
|
|
8
|
+
};
|
|
9
|
+
hexDigitCodePoint: {
|
|
10
|
+
lowercaseDigits: () => void;
|
|
11
|
+
roundTrip: () => void;
|
|
12
|
+
};
|
|
13
|
+
throw: {
|
|
14
|
+
oneThrowsOnEmpty: () => number;
|
|
15
|
+
};
|
|
16
|
+
};
|