functionalscript 0.43.0 → 0.44.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.mjs +309 -0
- package/fjs/asn.1/types.d.ts +37 -0
- package/fjs/asn.1/types.js +6 -0
- package/fjs/asserts/module.f.d.mts +37 -0
- package/fjs/asserts/module.f.mjs +49 -0
- package/fjs/asserts/proof.f.mjs +19 -0
- package/fjs/asserts/types.d.ts +11 -0
- package/fjs/asserts/types.js +6 -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 +2 -0
- package/fjs/basen/base128/proof.f.mjs +30 -0
- package/fjs/basen/base64/module.f.d.mts +14 -0
- package/fjs/basen/base64/module.f.mjs +71 -0
- package/fjs/basen/base64/proof.f.d.mts +17 -0
- package/fjs/basen/base64/proof.f.mjs +147 -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 +8 -0
- package/fjs/basen/cbase32/proof.f.mjs +77 -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/basen/types.js +6 -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 +160 -0
- package/fjs/bnf/data/types.d.ts +35 -0
- package/fjs/bnf/data/types.js +6 -0
- package/fjs/bnf/descent/module.f.d.mts +33 -0
- package/fjs/bnf/descent/module.f.mjs +212 -0
- package/fjs/bnf/descent/proof.f.d.mts +13 -0
- package/fjs/bnf/descent/proof.f.mjs +351 -0
- package/fjs/bnf/descent/types.d.ts +71 -0
- package/fjs/bnf/descent/types.js +6 -0
- package/fjs/bnf/ll1/module.f.d.mts +41 -0
- package/fjs/bnf/ll1/module.f.mjs +199 -0
- package/fjs/bnf/ll1/proof.f.d.mts +16 -0
- package/fjs/bnf/ll1/proof.f.mjs +352 -0
- package/fjs/bnf/ll1/types.d.ts +59 -0
- package/fjs/bnf/ll1/types.js +6 -0
- package/fjs/bnf/module.f.d.mts +164 -0
- package/fjs/bnf/module.f.mjs +298 -0
- package/fjs/bnf/proof.f.d.mts +17 -0
- package/fjs/bnf/proof.f.mjs +89 -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 +35 -0
- package/fjs/bnf/token_symbol/module.f.mjs +62 -0
- package/fjs/bnf/token_symbol/proof.f.mjs +43 -0
- package/fjs/bnf/token_symbol/types.d.ts +27 -0
- package/fjs/bnf/token_symbol/types.js +6 -0
- package/fjs/bnf/types.d.ts +67 -0
- package/fjs/bnf/types.js +6 -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 +18 -0
- package/fjs/cas/cli/proof.f.mjs +118 -0
- package/fjs/cas/evo/module.f.d.mts +163 -0
- package/fjs/cas/evo/module.f.mjs +556 -0
- package/fjs/cas/evo/proof.f.d.mts +55 -0
- package/fjs/cas/evo/proof.f.mjs +749 -0
- package/fjs/cas/evo/types.d.ts +111 -0
- package/fjs/cas/evo/types.js +7 -0
- package/fjs/cas/module.f.d.mts +68 -0
- package/fjs/cas/module.f.mjs +363 -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/cas/types.js +6 -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 +87 -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 +28 -0
- package/fjs/ci/nix/proof.f.mjs +146 -0
- package/fjs/ci/nix/types.d.ts +16 -0
- package/fjs/ci/nix/types.js +6 -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 +20 -0
- package/fjs/ci/proof.f.mjs +219 -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/ci/types.js +6 -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 +16 -0
- package/fjs/cli/proof.f.mjs +130 -0
- package/fjs/cli/types.d.ts +15 -0
- package/fjs/cli/types.js +6 -0
- package/fjs/common/monoid/module.f.d.mts +87 -0
- package/fjs/common/monoid/module.f.mjs +104 -0
- package/fjs/common/monoid/proof.f.d.mts +10 -0
- package/fjs/common/monoid/proof.f.mjs +58 -0
- package/fjs/common/monoid/types.d.ts +50 -0
- package/fjs/common/monoid/types.js +6 -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/pow/types.js +6 -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 +9 -0
- package/fjs/crypto/secp/proof.f.mjs +137 -0
- package/fjs/crypto/secp/types.d.ts +36 -0
- package/fjs/crypto/secp/types.js +6 -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 +32 -0
- package/fjs/crypto/sha2/proof.f.mjs +144 -0
- package/fjs/crypto/sha2/types.d.ts +57 -0
- package/fjs/crypto/sha2/types.js +6 -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/sign/types.js +6 -0
- package/fjs/crypto/vdf/module.f.d.mts +15 -0
- package/fjs/crypto/vdf/module.f.mjs +84 -0
- package/fjs/crypto/vdf/proof.f.mjs +106 -0
- package/fjs/crypto/vdf/types.d.ts +18 -0
- package/fjs/crypto/vdf/types.js +6 -0
- package/fjs/dev/module.f.d.mts +56 -0
- package/fjs/dev/module.f.mjs +170 -0
- package/fjs/dev/package_json/module.f.d.mts +32 -0
- package/fjs/dev/package_json/module.f.mjs +37 -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/types.js +6 -0
- package/fjs/dev/update/module.f.d.mts +19 -0
- package/fjs/dev/update/module.f.mjs +36 -0
- package/fjs/dev/update/proof.f.d.mts +7 -0
- package/fjs/dev/update/proof.f.mjs +36 -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/ast/types.js +8 -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 +75 -0
- package/fjs/djs/parser/module.f.mjs +547 -0
- package/fjs/djs/parser/proof.f.mjs +543 -0
- package/fjs/djs/parser/types.d.ts +11 -0
- package/fjs/djs/parser/types.js +7 -0
- package/fjs/djs/proof.f.mjs +52 -0
- package/fjs/djs/serializer/module.f.d.mts +30 -0
- package/fjs/djs/serializer/module.f.mjs +206 -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 +624 -0
- package/fjs/djs/tokenizer/proof.f.mjs +980 -0
- package/fjs/djs/tokenizer/types.d.ts +20 -0
- package/fjs/djs/tokenizer/types.js +7 -0
- package/fjs/djs/transpiler/module.f.d.mts +44 -0
- package/fjs/djs/transpiler/module.f.mjs +141 -0
- package/fjs/djs/transpiler/proof.f.mjs +76 -0
- package/fjs/djs/types.d.ts +13 -0
- package/fjs/djs/types.js +7 -0
- package/fjs/effects/eff/module.f.d.mts +10 -0
- package/fjs/effects/eff/module.f.mjs +68 -0
- package/fjs/effects/eff/proof.f.d.mts +12 -0
- package/fjs/effects/eff/proof.f.mjs +66 -0
- package/fjs/effects/eff/types.d.ts +71 -0
- package/fjs/effects/eff/types.js +6 -0
- package/fjs/effects/list/module.f.d.mts +24 -0
- package/fjs/effects/list/module.f.mjs +34 -0
- package/fjs/effects/list/types.d.ts +26 -0
- package/fjs/effects/list/types.js +6 -0
- package/fjs/effects/memory/module.f.d.mts +32 -0
- package/fjs/effects/memory/module.f.mjs +44 -0
- package/fjs/effects/memory/proof.f.d.mts +12 -0
- package/fjs/effects/memory/proof.f.mjs +83 -0
- package/fjs/effects/memory/types.d.ts +18 -0
- package/fjs/effects/memory/types.js +6 -0
- package/fjs/effects/mock/module.f.d.mts +6 -0
- package/fjs/effects/mock/module.f.mjs +26 -0
- package/fjs/effects/mock/types.d.ts +15 -0
- package/fjs/effects/mock/types.js +6 -0
- package/fjs/effects/module.d.mts +7 -0
- package/fjs/effects/module.f.d.mts +350 -0
- package/fjs/effects/module.f.mjs +382 -0
- package/fjs/effects/module.mjs +18 -0
- package/fjs/effects/node/memory/module.d.mts +24 -0
- package/fjs/effects/node/memory/module.mjs +59 -0
- package/fjs/effects/node/memory/proof.mjs +43 -0
- package/fjs/effects/node/module.d.mts +54 -0
- package/fjs/effects/node/module.f.d.mts +172 -0
- package/fjs/effects/node/module.f.mjs +354 -0
- package/fjs/effects/node/module.mjs +393 -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/types.js +6 -0
- package/fjs/effects/node/virtual/module.f.d.mts +31 -0
- package/fjs/effects/node/virtual/module.f.mjs +434 -0
- package/fjs/effects/node/virtual/proof.f.d.mts +35 -0
- package/fjs/effects/node/virtual/proof.f.mjs +226 -0
- package/fjs/effects/node/virtual/types.d.ts +39 -0
- package/fjs/effects/node/virtual/types.js +7 -0
- package/fjs/effects/proof.f.d.mts +62 -0
- package/fjs/effects/proof.f.mjs +231 -0
- package/fjs/effects/types.d.ts +115 -0
- package/fjs/effects/types.js +6 -0
- package/fjs/emergent_testing/all.test.js +2 -2
- 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 +150 -0
- package/fjs/emergent_testing/module.f.mjs +414 -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/emergent_testing/types.js +6 -0
- package/fjs/fsc/bnf.f.d.mts +3 -0
- package/fjs/fsc/bnf.f.mjs +77 -0
- package/fjs/fsc/json.f.d.mts +13 -0
- package/fjs/fsc/json.f.mjs +124 -0
- package/fjs/fsc/module.f.d.mts +14 -0
- package/fjs/fsc/module.f.mjs +138 -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.mjs +146 -0
- package/fjs/js/tokenizer/module.f.d.mts +19 -0
- package/fjs/js/tokenizer/module.f.mjs +795 -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/js/tokenizer/types.js +6 -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 +32 -0
- package/fjs/mcp/module.f.mjs +96 -0
- package/fjs/mcp/proof.f.d.mts +46 -0
- package/fjs/mcp/proof.f.mjs +725 -0
- package/fjs/media/html/module.f.d.mts +43 -0
- package/fjs/media/html/module.f.mjs +167 -0
- package/fjs/media/html/proof.f.mjs +77 -0
- package/fjs/media/html/types.d.ts +19 -0
- package/fjs/media/html/types.js +6 -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 +219 -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 +34 -0
- package/fjs/media/json/parser/types.js +6 -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 +26 -0
- package/fjs/media/json/rtti/proof.f.mjs +86 -0
- package/fjs/media/json/schema/module.f.d.mts +79 -0
- package/fjs/media/json/schema/module.f.mjs +144 -0
- package/fjs/media/json/schema/proof.f.d.mts +40 -0
- package/fjs/media/json/schema/proof.f.mjs +93 -0
- package/fjs/media/json/serializer/module.f.d.mts +27 -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 +17 -0
- package/fjs/media/json/tokenizer/module.f.mjs +77 -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/tokenizer/types.js +6 -0
- package/fjs/media/json/types.d.ts +25 -0
- package/fjs/media/json/types.js +13 -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 +14 -0
- package/fjs/media/nix/module.f.mjs +261 -0
- package/fjs/media/nix/proof.f.mjs +181 -0
- package/fjs/media/nix/types.d.ts +22 -0
- package/fjs/media/nix/types.js +6 -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 +119 -0
- package/fjs/media/revision/module.f.mjs +166 -0
- package/fjs/media/revision/proof.f.d.mts +42 -0
- package/fjs/media/revision/proof.f.mjs +228 -0
- package/fjs/media/revision/types.d.ts +16 -0
- package/fjs/media/revision/types.js +8 -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 +97 -0
- package/fjs/media/type/module.f.mjs +281 -0
- package/fjs/media/type/proof.f.mjs +285 -0
- package/fjs/media/type/types.d.ts +67 -0
- package/fjs/media/type/types.js +6 -0
- package/fjs/media/types.d.ts +26 -0
- package/fjs/media/types.js +7 -0
- package/fjs/module.f.d.mts +3 -0
- package/fjs/module.f.mjs +60 -0
- package/fjs/module.mjs +6 -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/types.js +11 -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 +55 -0
- package/fjs/path/module.f.mjs +96 -0
- package/fjs/path/proof.f.mjs +125 -0
- package/fjs/proof.f.mjs +48 -0
- package/fjs/protocol/json_rpc/module.f.d.mts +127 -0
- package/fjs/protocol/json_rpc/module.f.mjs +112 -0
- package/fjs/protocol/json_rpc/proof.f.mjs +84 -0
- package/fjs/protocol/json_rpc/types.d.ts +30 -0
- package/fjs/protocol/json_rpc/types.js +8 -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 +53 -0
- package/fjs/protocol/mcp/proof.f.mjs +312 -0
- package/fjs/protocol/mcp/stdio/module.f.d.mts +52 -0
- package/fjs/protocol/mcp/stdio/module.f.mjs +132 -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/types.d.ts +59 -0
- package/fjs/protocol/mcp/types.js +8 -0
- package/fjs/sul/id/module.f.d.mts +37 -0
- package/fjs/sul/id/module.f.mjs +143 -0
- package/fjs/sul/id/proof.f.mjs +72 -0
- package/fjs/sul/id/types.d.ts +8 -0
- package/fjs/sul/id/types.js +6 -0
- package/fjs/sul/level/hash/module.f.d.mts +37 -0
- package/fjs/sul/level/hash/module.f.mjs +61 -0
- package/fjs/sul/level/hash/proof.f.d.mts +15 -0
- package/fjs/sul/level/hash/proof.f.mjs +131 -0
- package/fjs/sul/level/hash/types.d.ts +20 -0
- package/fjs/sul/level/hash/types.js +6 -0
- package/fjs/sul/level/literal/module.f.d.mts +54 -0
- package/fjs/sul/level/literal/module.f.mjs +120 -0
- package/fjs/sul/level/literal/proof.f.mjs +788 -0
- package/fjs/sul/level/literal/types.d.ts +31 -0
- package/fjs/sul/level/literal/types.js +6 -0
- package/fjs/sul/module.f.d.mts +25 -0
- package/fjs/sul/module.f.mjs +69 -0
- package/fjs/sul/proof.f.d.mts +11 -0
- package/fjs/sul/proof.f.mjs +62 -0
- package/fjs/sul/types.d.ts +19 -0
- package/fjs/sul/types.js +6 -0
- package/fjs/text/ascii/module.f.d.mts +136 -0
- package/fjs/text/ascii/module.f.mjs +224 -0
- package/fjs/text/ascii/proof.f.mjs +16 -0
- package/fjs/text/code_point/module.f.d.mts +74 -0
- package/fjs/text/code_point/module.f.mjs +139 -0
- package/fjs/text/code_point/proof.f.mjs +80 -0
- package/fjs/text/module.f.d.mts +39 -0
- package/fjs/text/module.f.mjs +61 -0
- package/fjs/text/proof.f.mjs +48 -0
- package/fjs/text/sgr/module.f.d.mts +58 -0
- package/fjs/text/sgr/module.f.mjs +99 -0
- package/fjs/text/sgr/proof.f.mjs +39 -0
- package/fjs/text/sgr/types.d.ts +12 -0
- package/fjs/text/sgr/types.js +6 -0
- package/fjs/text/types.d.ts +13 -0
- package/fjs/text/types.js +6 -0
- package/fjs/text/utf16/module.f.d.mts +147 -0
- package/fjs/text/utf16/module.f.mjs +350 -0
- package/fjs/text/utf16/proof.f.d.mts +11 -0
- package/fjs/text/utf16/proof.f.mjs +158 -0
- package/fjs/text/utf16/types.d.ts +19 -0
- package/fjs/text/utf16/types.js +6 -0
- package/fjs/text/utf8/module.f.d.mts +69 -0
- package/fjs/text/utf8/module.f.mjs +280 -0
- package/fjs/text/utf8/proof.f.mjs +217 -0
- package/fjs/text/utf8/types.d.ts +26 -0
- package/fjs/text/utf8/types.js +6 -0
- package/fjs/types/array/module.f.d.mts +68 -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/array/types.js +6 -0
- package/fjs/types/bigfloat/module.f.d.mts +14 -0
- package/fjs/types/bigfloat/module.f.mjs +99 -0
- package/fjs/types/bigfloat/proof.f.mjs +218 -0
- package/fjs/types/bigfloat/types.d.ts +6 -0
- package/fjs/types/bigfloat/types.js +6 -0
- package/fjs/types/bigint/benchmark.d.mts +1 -0
- package/fjs/types/bigint/benchmark.mjs +205 -0
- package/fjs/types/bigint/module.f.d.mts +176 -0
- package/fjs/types/bigint/module.f.mjs +289 -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/bigint/types.js +6 -0
- package/fjs/types/bit_vec/module.f.d.mts +199 -0
- package/fjs/types/bit_vec/module.f.mjs +485 -0
- package/fjs/types/bit_vec/proof.f.mjs +495 -0
- package/fjs/types/bit_vec/types.d.ts +51 -0
- package/fjs/types/bit_vec/types.js +6 -0
- package/fjs/types/btree/find/module.f.d.mts +15 -0
- package/fjs/types/btree/find/module.f.mjs +80 -0
- package/fjs/types/btree/find/proof.f.d.mts +4 -0
- package/fjs/types/btree/find/proof.f.mjs +121 -0
- package/fjs/types/btree/find/types.d.ts +22 -0
- package/fjs/types/btree/find/types.js +6 -0
- package/fjs/types/btree/module.f.d.mts +10 -0
- package/fjs/types/btree/module.f.mjs +39 -0
- package/fjs/types/btree/proof.f.d.mts +14 -0
- package/fjs/types/btree/proof.f.mjs +85 -0
- package/fjs/types/btree/remove/module.f.d.mts +21 -0
- package/fjs/types/btree/remove/module.f.mjs +187 -0
- package/fjs/types/btree/remove/proof.f.mjs +472 -0
- package/fjs/types/btree/set/module.f.d.mts +5 -0
- package/fjs/types/btree/set/module.f.mjs +117 -0
- package/fjs/types/btree/set/proof.f.mjs +427 -0
- package/fjs/types/btree/types/module.f.d.mts +19 -0
- package/fjs/types/btree/types/module.f.mjs +19 -0
- package/fjs/types/btree/types/types.d.ts +14 -0
- package/fjs/types/btree/types/types.js +6 -0
- package/fjs/types/byte_set/module.f.d.mts +26 -0
- package/fjs/types/byte_set/module.f.mjs +66 -0
- package/fjs/types/byte_set/proof.f.d.mts +12 -0
- package/fjs/types/byte_set/proof.f.mjs +84 -0
- package/fjs/types/byte_set/types.d.ts +6 -0
- package/fjs/types/byte_set/types.js +6 -0
- package/fjs/types/function/compare/module.f.d.mts +44 -0
- package/fjs/types/function/compare/module.f.mjs +71 -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/compare/types.js +6 -0
- package/fjs/types/function/module.f.d.mts +26 -0
- package/fjs/types/function/module.f.mjs +32 -0
- package/fjs/types/function/operator/module.f.d.mts +37 -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/operator/types.js +6 -0
- package/fjs/types/function/proof.f.mjs +16 -0
- package/fjs/types/function/types.d.ts +16 -0
- package/fjs/types/function/types.js +6 -0
- package/fjs/types/list/module.f.d.mts +88 -0
- package/fjs/types/list/module.f.mjs +309 -0
- package/fjs/types/list/proof.f.d.mts +32 -0
- package/fjs/types/list/proof.f.mjs +363 -0
- package/fjs/types/list/types.d.ts +36 -0
- package/fjs/types/list/types.js +6 -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 +30 -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/nibble_set/types.js +6 -0
- package/fjs/types/nominal/module.f.d.mts +9 -0
- package/fjs/types/nominal/module.f.mjs +16 -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/nominal/types.js +6 -0
- package/fjs/types/nullable/module.f.d.mts +38 -0
- package/fjs/types/nullable/module.f.mjs +53 -0
- package/fjs/types/nullable/proof.f.mjs +34 -0
- package/fjs/types/nullable/types.d.ts +6 -0
- package/fjs/types/nullable/types.js +6 -0
- package/fjs/types/number/module.f.d.mts +23 -0
- package/fjs/types/number/module.f.mjs +55 -0
- package/fjs/types/number/proof.f.mjs +204 -0
- package/fjs/types/object/module.f.d.mts +33 -0
- package/fjs/types/object/module.f.mjs +58 -0
- package/fjs/types/object/proof.f.d.mts +25 -0
- package/fjs/types/object/proof.f.mjs +26 -0
- package/fjs/types/object/types.d.ts +50 -0
- package/fjs/types/object/types.js +8 -0
- package/fjs/types/ordered_map/module.f.d.mts +21 -0
- package/fjs/types/ordered_map/module.f.mjs +54 -0
- package/fjs/types/ordered_map/proof.f.mjs +88 -0
- package/fjs/types/ordered_map/types.d.ts +8 -0
- package/fjs/types/ordered_map/types.js +6 -0
- package/fjs/types/patricia_trie/module.f.d.mts +19 -0
- package/fjs/types/patricia_trie/module.f.mjs +43 -0
- package/fjs/types/patricia_trie/proof.f.d.mts +14 -0
- package/fjs/types/patricia_trie/proof.f.mjs +148 -0
- package/fjs/types/patricia_trie/types.d.ts +34 -0
- package/fjs/types/patricia_trie/types.js +6 -0
- package/fjs/types/prime_field/module.f.d.mts +42 -0
- package/fjs/types/prime_field/module.f.mjs +136 -0
- package/fjs/types/prime_field/proof.f.mjs +131 -0
- package/fjs/types/prime_field/types.d.ts +38 -0
- package/fjs/types/prime_field/types.js +6 -0
- package/fjs/types/range/module.f.d.mts +11 -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/types.js +6 -0
- package/fjs/types/range_map/module.f.d.mts +72 -0
- package/fjs/types/range_map/module.f.mjs +130 -0
- package/fjs/types/range_map/proof.f.d.mts +7 -0
- package/fjs/types/range_map/proof.f.mjs +186 -0
- package/fjs/types/range_map/types.d.ts +56 -0
- package/fjs/types/range_map/types.js +6 -0
- package/fjs/types/range_set/module.f.d.mts +5 -0
- package/fjs/types/range_set/module.f.mjs +19 -0
- package/fjs/types/range_set/proof.f.mjs +26 -0
- package/fjs/types/result/module.d.mts +5 -0
- package/fjs/types/result/module.f.d.mts +59 -0
- package/fjs/types/result/module.f.mjs +67 -0
- package/fjs/types/result/module.mjs +22 -0
- package/fjs/types/result/proof.f.mjs +41 -0
- package/fjs/types/result/types.d.ts +17 -0
- package/fjs/types/result/types.js +6 -0
- package/fjs/types/rtti/common/module.f.d.mts +86 -0
- package/fjs/types/rtti/common/module.f.mjs +183 -0
- package/fjs/types/rtti/common/proof.f.d.mts +9 -0
- package/fjs/types/rtti/common/proof.f.mjs +64 -0
- package/fjs/types/rtti/common/types.d.ts +43 -0
- package/fjs/types/rtti/common/types.js +1 -0
- package/fjs/types/rtti/module.f.d.mts +76 -0
- package/fjs/types/rtti/module.f.mjs +110 -0
- package/fjs/types/rtti/parse/module.f.d.mts +9 -0
- package/fjs/types/rtti/parse/module.f.mjs +196 -0
- package/fjs/types/rtti/parse/proof.f.d.mts +122 -0
- package/fjs/types/rtti/parse/proof.f.mjs +363 -0
- package/fjs/types/rtti/parse/types.d.ts +12 -0
- package/fjs/types/rtti/parse/types.js +1 -0
- package/fjs/types/rtti/proof.f.d.mts +8 -0
- package/fjs/types/rtti/proof.f.mjs +20 -0
- package/fjs/types/rtti/ts/module.f.d.mts +34 -0
- package/fjs/types/rtti/ts/module.f.mjs +64 -0
- package/fjs/types/rtti/ts/proof.f.mjs +88 -0
- package/fjs/types/rtti/ts/types.d.ts +88 -0
- package/fjs/types/rtti/ts/types.js +1 -0
- package/fjs/types/rtti/types.d.ts +43 -0
- package/fjs/types/rtti/types.js +1 -0
- package/fjs/types/rtti/validate/module.f.d.mts +6 -0
- package/fjs/types/rtti/validate/module.f.mjs +169 -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/rtti/validate/types.js +1 -0
- package/fjs/types/sorted_list/module.f.d.mts +43 -0
- package/fjs/types/sorted_list/module.f.mjs +110 -0
- package/fjs/types/sorted_list/proof.f.d.mts +5 -0
- package/fjs/types/sorted_list/proof.f.mjs +52 -0
- package/fjs/types/sorted_list/types.d.ts +15 -0
- package/fjs/types/sorted_list/types.js +6 -0
- package/fjs/types/sorted_set/module.f.d.mts +24 -0
- package/fjs/types/sorted_set/module.f.mjs +56 -0
- package/fjs/types/sorted_set/proof.f.d.mts +7 -0
- package/fjs/types/sorted_set/proof.f.mjs +77 -0
- package/fjs/types/sorted_set/types.d.ts +6 -0
- package/fjs/types/sorted_set/types.js +6 -0
- package/fjs/types/string/module.f.d.mts +36 -0
- package/fjs/types/string/module.f.mjs +58 -0
- package/fjs/types/string/proof.f.mjs +76 -0
- package/fjs/types/string_set/module.f.d.mts +37 -0
- package/fjs/types/string_set/module.f.mjs +53 -0
- package/fjs/types/string_set/proof.f.mjs +46 -0
- package/fjs/types/string_set/types.d.ts +7 -0
- package/fjs/types/string_set/types.js +6 -0
- package/fjs/types/ts/module.f.d.mts +20 -0
- package/fjs/types/ts/module.f.mjs +51 -0
- package/fjs/types/ts/proof.f.mjs +97 -0
- package/fjs/types/ts/types.d.ts +16 -0
- package/fjs/types/ts/types.js +8 -0
- package/fjs/types/uint8array/module.f.d.mts +31 -0
- package/fjs/types/uint8array/module.f.mjs +53 -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 +8 -0
- package/fjs/website/module.f.mjs +24 -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.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.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 -222
- package/fjs/cas/evo/module.f.js +0 -454
- package/fjs/cas/evo/proof.f.d.ts +0 -43
- package/fjs/cas/evo/proof.f.js +0 -653
- 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.js +0 -556
- 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.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.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/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/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.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.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.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 -86
- package/fjs/media/revision/module.f.js +0 -131
- package/fjs/media/revision/proof.f.d.ts +0 -31
- package/fjs/media/revision/proof.f.js +0 -140
- 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.js +0 -213
- 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.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.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.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.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.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.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.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.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.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.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.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/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.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/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.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.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.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.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.js +0 -241
- package/todo/proof.f.d.ts +0 -20
- package/todo/proof.f.js +0 -62
- /package/fjs/asn.1/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/asserts/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /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/{todo/031-json.f.d.ts → fjs/ci/common/types.js} +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/parser/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/djs/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/djs/serializer/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/djs/tokenizer/{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/effects/node/memory/{proof.d.ts → proof.d.mts} +0 -0
- /package/fjs/fsc/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/fsm/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/media/html/{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/media/nix/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/media/type/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/{module.d.ts → module.d.mts} +0 -0
- /package/fjs/path/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/protocol/json_rpc/{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/sul/level/literal/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/text/ascii/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/text/code_point/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/text/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/text/sgr/{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/types/bigfloat/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/bit_vec/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/btree/remove/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/btree/set/{proof.f.d.ts → proof.f.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/types/nullable/{proof.f.d.ts → 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/option/{module.f.js → types.js} +0 -0
- /package/fjs/types/ordered_map/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/phantom/{module.f.d.ts → types.d.ts} +0 -0
- /package/fjs/types/phantom/{module.f.js → types.js} +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/{range/proof.f.d.ts → range_set/proof.f.d.mts} +0 -0
- /package/fjs/types/result/{proof.f.d.ts → proof.f.d.mts} +0 -0
- /package/fjs/types/rtti/ts/{proof.f.d.ts → 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/types/ts/{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,25 @@
|
|
|
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 type { Add } from './level/hash/types.ts';
|
|
9
|
+
import type { Id } from './id/types.ts';
|
|
10
|
+
import type { InternalState } from '../types/patricia_trie/types.ts';
|
|
11
|
+
import type { EncodeState, Encode } from './types.ts';
|
|
12
|
+
export type _HashState = InternalState<Id>;
|
|
13
|
+
/** @import { Id } from './id/types.ts' */
|
|
14
|
+
/** @import { InternalState } from '../types/patricia_trie/types.ts' */
|
|
15
|
+
/** @import { EncodeState, Encode } from './types.ts' */
|
|
16
|
+
/** @typedef {InternalState<Id>} _HashState */
|
|
17
|
+
/** @type {<S>(storage: S) => EncodeState<S>} */
|
|
18
|
+
export declare const emptyEncodeState: <S>(storage: S) => EncodeState<S>;
|
|
19
|
+
export declare const encode: <S>(
|
|
20
|
+
/**
|
|
21
|
+
* @template S
|
|
22
|
+
* @param {Add<S>} add
|
|
23
|
+
* @returns {Encode<S>}
|
|
24
|
+
*/
|
|
25
|
+
add: Add<S>) => Encode<S>;
|
|
@@ -0,0 +1,69 @@
|
|
|
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
|
+
|
|
9
|
+
import { emptyPipelineState, pipelineStep } from './level/literal/module.f.mjs'
|
|
10
|
+
import { encode as hashEncode } from './level/hash/module.f.mjs'
|
|
11
|
+
/** @import { Add } from './level/hash/types.ts' */
|
|
12
|
+
import { level3Id } from './id/module.f.mjs'
|
|
13
|
+
/** @import { Id } from './id/types.ts' */
|
|
14
|
+
/** @import { InternalState } from '../types/patricia_trie/types.ts' */
|
|
15
|
+
/** @import { EncodeState, Encode } from './types.ts' */
|
|
16
|
+
|
|
17
|
+
/** @typedef {InternalState<Id>} _HashState */
|
|
18
|
+
|
|
19
|
+
/** @type {<S>(storage: S) => EncodeState<S>} */
|
|
20
|
+
export const emptyEncodeState = storage =>
|
|
21
|
+
[emptyPipelineState, storage, []]
|
|
22
|
+
|
|
23
|
+
export const encode =
|
|
24
|
+
/**
|
|
25
|
+
* @template S
|
|
26
|
+
* @param {Add<S>} add
|
|
27
|
+
* @returns {Encode<S>}
|
|
28
|
+
*/
|
|
29
|
+
add => {
|
|
30
|
+
const step = hashEncode(add)
|
|
31
|
+
|
|
32
|
+
/** @typedef {readonly [Id | undefined, S, readonly _HashState[]]} _CascadeResult */
|
|
33
|
+
|
|
34
|
+
/** @type {(id0: Id, storage0: S, stacks0: readonly _HashState[]) => _CascadeResult} */
|
|
35
|
+
const cascade = (id0, storage0, stacks0) => {
|
|
36
|
+
let id = id0, storage = storage0, stacks = stacks0
|
|
37
|
+
for (let index = 0; ; index++) {
|
|
38
|
+
if (index >= stacks.length) {
|
|
39
|
+
const [, [newStorage, newStack]] = step(id, [storage, []])
|
|
40
|
+
return [id, newStorage, [...stacks, newStack]]
|
|
41
|
+
}
|
|
42
|
+
const [out, [newStorage, newStack]] = step(id, [storage, stacks[index]])
|
|
43
|
+
stacks = [...stacks.slice(0, index), newStack, ...stacks.slice(index + 1)]
|
|
44
|
+
storage = newStorage
|
|
45
|
+
if (out === undefined) return [undefined, storage, stacks]
|
|
46
|
+
id = out
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** @type {(bit: bigint, state: EncodeState<S>) => readonly [Id | undefined, EncodeState<S>]} */
|
|
51
|
+
const literalStep = (bit, state) => {
|
|
52
|
+
const [ps, storage, stacks] = state
|
|
53
|
+
const [l3Out, newPs] = pipelineStep(bit, ps)
|
|
54
|
+
if (l3Out === undefined) return [undefined, [newPs, storage, stacks]]
|
|
55
|
+
const [finalId, newStorage, newStacks] = cascade(level3Id(l3Out), storage, stacks)
|
|
56
|
+
return [finalId, [newPs, newStorage, newStacks]]
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return {
|
|
60
|
+
push: (bit, state) => literalStep(bit, state)[1],
|
|
61
|
+
end: state => {
|
|
62
|
+
let [id, s] = literalStep(1n, state)
|
|
63
|
+
while (id === undefined) {
|
|
64
|
+
[id, s] = literalStep(0n, s)
|
|
65
|
+
}
|
|
66
|
+
return id
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Id } from './id/types.ts';
|
|
2
|
+
export type _Merge = readonly [Id, Id, Id, boolean];
|
|
3
|
+
export declare const proof: {
|
|
4
|
+
deterministic: () => void;
|
|
5
|
+
distinct: () => void;
|
|
6
|
+
order_matters: () => void;
|
|
7
|
+
length_matters: () => void;
|
|
8
|
+
has_merges: () => void;
|
|
9
|
+
compress_correct: () => void;
|
|
10
|
+
isSymbol_terminal_only: () => void;
|
|
11
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { assert, assertEq } from '../asserts/module.f.mjs'
|
|
2
|
+
import { compress } from './id/module.f.mjs'
|
|
3
|
+
/** @import { Id } from './id/types.ts' */
|
|
4
|
+
import { encode, emptyEncodeState } from './module.f.mjs'
|
|
5
|
+
/** @import { Add } from './level/hash/types.ts' */
|
|
6
|
+
|
|
7
|
+
/** @typedef {readonly [Id, Id, Id, boolean]} _Merge */
|
|
8
|
+
|
|
9
|
+
/** @type {(bits: readonly bigint[]) => readonly [Id, readonly _Merge[]]} */
|
|
10
|
+
const run = bits => {
|
|
11
|
+
/** @type {_Merge[]} */
|
|
12
|
+
const log = []
|
|
13
|
+
/** @type {Add<null>} */
|
|
14
|
+
const add = (l, r, m, isSymbol) => { log.push([l, r, m, isSymbol]); return null }
|
|
15
|
+
const enc = encode(add)
|
|
16
|
+
let s = emptyEncodeState(null)
|
|
17
|
+
for (const b of bits) { s = enc.push(b, s) }
|
|
18
|
+
return [enc.end(s), log]
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** @type {(bits: readonly bigint[]) => Id} */
|
|
22
|
+
const id = bits => run(bits)[0]
|
|
23
|
+
|
|
24
|
+
/** @type {(n: number) => readonly bigint[]} */
|
|
25
|
+
const zeros = n => new Array(n).fill(0n)
|
|
26
|
+
|
|
27
|
+
export const proof = {
|
|
28
|
+
deterministic: () => {
|
|
29
|
+
assertEq(id(zeros(16)), id(zeros(16)))
|
|
30
|
+
},
|
|
31
|
+
|
|
32
|
+
distinct: () => {
|
|
33
|
+
assert(id([0n]) !== id([1n]))
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
order_matters: () => {
|
|
37
|
+
assert(id([0n, 1n]) !== id([1n, 0n]))
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
length_matters: () => {
|
|
41
|
+
assert(id(zeros(8)) !== id(zeros(16)))
|
|
42
|
+
},
|
|
43
|
+
|
|
44
|
+
// Enough bits to trigger at least one hash merge
|
|
45
|
+
has_merges: () => {
|
|
46
|
+
const [, log] = run(zeros(16))
|
|
47
|
+
assert(log.length > 0)
|
|
48
|
+
},
|
|
49
|
+
|
|
50
|
+
// Every recorded merge satisfies merged === compress(left, right)
|
|
51
|
+
compress_correct: () => {
|
|
52
|
+
const [, log] = run(zeros(16))
|
|
53
|
+
for (const [l, r, m] of log) { assertEq(m, compress(l, r)) }
|
|
54
|
+
},
|
|
55
|
+
|
|
56
|
+
// Patricia-trie internal merges are isSymbol=false; terminal merges are isSymbol=true
|
|
57
|
+
isSymbol_terminal_only: () => {
|
|
58
|
+
const [, log] = run(zeros(16))
|
|
59
|
+
assert(log.some(([, , , isSymbol]) => isSymbol))
|
|
60
|
+
assert(log.every(([l, r, m, isSymbol]) => !isSymbol || m === compress(l, r)))
|
|
61
|
+
},
|
|
62
|
+
}
|
|
@@ -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 {};
|
package/fjs/sul/types.js
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides ASCII code point constants and helpers for creating numeric code points and inclusive ranges.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type { Range } from '../../types/range/types.ts';
|
|
7
|
+
/** Returns the code point value of the first character in a string. @type {(s: string) => number} */
|
|
8
|
+
export declare const one: (s: string) => number;
|
|
9
|
+
/** Returns an inclusive code point range from the first two characters in a string. @type {(s: string) => Range} */
|
|
10
|
+
export declare const range: (s: string) => Range;
|
|
11
|
+
/** 0x08 */
|
|
12
|
+
export declare const backspace: number;
|
|
13
|
+
/** 0x09 */
|
|
14
|
+
export declare const ht: number;
|
|
15
|
+
/** 0x0A */
|
|
16
|
+
export declare const lf: number;
|
|
17
|
+
/** 0x0C */
|
|
18
|
+
export declare const ff: number;
|
|
19
|
+
/** 0x0D */
|
|
20
|
+
export declare const cr: number;
|
|
21
|
+
/** 0x20 */
|
|
22
|
+
export declare const space: number;
|
|
23
|
+
/** 0x21 */
|
|
24
|
+
export declare const exclamationMark: number;
|
|
25
|
+
/** 0x22 */
|
|
26
|
+
export declare const quotationMark: number;
|
|
27
|
+
/** 0x23 */
|
|
28
|
+
export declare const numberSign: number;
|
|
29
|
+
/** 0x24 */
|
|
30
|
+
export declare const dollarSign: number;
|
|
31
|
+
/** 0x25 */
|
|
32
|
+
export declare const percentSign: number;
|
|
33
|
+
/** 0x26 */
|
|
34
|
+
export declare const ampersand: number;
|
|
35
|
+
/** 0x27 */
|
|
36
|
+
export declare const apostrophe: number;
|
|
37
|
+
/** 0x28 */
|
|
38
|
+
export declare const leftParenthesis: number;
|
|
39
|
+
/** 0x29 */
|
|
40
|
+
export declare const rightParenthesis: number;
|
|
41
|
+
/** 0x2A */
|
|
42
|
+
export declare const asterisk: number;
|
|
43
|
+
/** 0x2B */
|
|
44
|
+
export declare const plusSign: number;
|
|
45
|
+
/** 0x2C */
|
|
46
|
+
export declare const comma: number;
|
|
47
|
+
/** 0x2D */
|
|
48
|
+
export declare const hyphenMinus: number;
|
|
49
|
+
/** 0x2E */
|
|
50
|
+
export declare const fullStop: number;
|
|
51
|
+
/** 0x2F */
|
|
52
|
+
export declare const solidus: number;
|
|
53
|
+
/** 0x30..0x39 */
|
|
54
|
+
export declare const digitRange: Range;
|
|
55
|
+
/** 0x30 */
|
|
56
|
+
export declare const digit0: number;
|
|
57
|
+
/** 0x31 */
|
|
58
|
+
export declare const digit1: number;
|
|
59
|
+
/** 0x32 */
|
|
60
|
+
export declare const digit2: number;
|
|
61
|
+
/** 0x33 */
|
|
62
|
+
export declare const digit3: number;
|
|
63
|
+
/** 0x34 */
|
|
64
|
+
export declare const digit4: number;
|
|
65
|
+
/** 0x35 */
|
|
66
|
+
export declare const digit5: number;
|
|
67
|
+
/** 0x36 */
|
|
68
|
+
export declare const digit6: number;
|
|
69
|
+
/** 0x37 */
|
|
70
|
+
export declare const digit7: number;
|
|
71
|
+
/** 0x38 */
|
|
72
|
+
export declare const digit8: number;
|
|
73
|
+
/** 0x39 */
|
|
74
|
+
export declare const digit9: number;
|
|
75
|
+
/** 0x3A */
|
|
76
|
+
export declare const colon: number;
|
|
77
|
+
/** 0x3B */
|
|
78
|
+
export declare const semicolon: number;
|
|
79
|
+
/** 0x3C */
|
|
80
|
+
export declare const lessThanSign: number;
|
|
81
|
+
/** 0x3D */
|
|
82
|
+
export declare const equalsSign: number;
|
|
83
|
+
/** 0x3E */
|
|
84
|
+
export declare const greaterThanSign: number;
|
|
85
|
+
/** 0x3F */
|
|
86
|
+
export declare const questionMark: number;
|
|
87
|
+
/** 0x40 */
|
|
88
|
+
export declare const commercialAt: number;
|
|
89
|
+
/** 0x41..0x5A */
|
|
90
|
+
export declare const latinCapitalLetterRange: Range;
|
|
91
|
+
/** 0x41 */
|
|
92
|
+
export declare const latinCapitalLetterA: number;
|
|
93
|
+
/** 0x45 */
|
|
94
|
+
export declare const latinCapitalLetterE: number;
|
|
95
|
+
/** 0x46 */
|
|
96
|
+
export declare const latinCapitalLetterF: number;
|
|
97
|
+
/** 0x5B */
|
|
98
|
+
export declare const leftSquareBracket: number;
|
|
99
|
+
/** 0x5C */
|
|
100
|
+
export declare const reverseSolidus: number;
|
|
101
|
+
/** 0x5D */
|
|
102
|
+
export declare const rightSquareBracket: number;
|
|
103
|
+
/** 0x5E */
|
|
104
|
+
export declare const circumflexAccent: number;
|
|
105
|
+
/** 0x5F */
|
|
106
|
+
export declare const lowLine: number;
|
|
107
|
+
/** 0x60 */
|
|
108
|
+
export declare const graveAccent: number;
|
|
109
|
+
/** 0x61..0x7A */
|
|
110
|
+
export declare const latinSmallLetterRange: Range;
|
|
111
|
+
/** 0x61 */
|
|
112
|
+
export declare const latinSmallLetterA: number;
|
|
113
|
+
/** 0x62 */
|
|
114
|
+
export declare const latinSmallLetterB: number;
|
|
115
|
+
/** 0x65 */
|
|
116
|
+
export declare const latinSmallLetterE: number;
|
|
117
|
+
/** 0x66 */
|
|
118
|
+
export declare const latinSmallLetterF: number;
|
|
119
|
+
/** 0x6E */
|
|
120
|
+
export declare const latinSmallLetterN: number;
|
|
121
|
+
/** 0x72 */
|
|
122
|
+
export declare const latinSmallLetterR: number;
|
|
123
|
+
/** 0x74 */
|
|
124
|
+
export declare const latinSmallLetterT: number;
|
|
125
|
+
/** 0x75 */
|
|
126
|
+
export declare const latinSmallLetterU: number;
|
|
127
|
+
/** 0x7A */
|
|
128
|
+
export declare const latinSmallLetterZ: number;
|
|
129
|
+
/** 0x7B */
|
|
130
|
+
export declare const leftCurlyBracket: number;
|
|
131
|
+
/** 0x7C */
|
|
132
|
+
export declare const verticalLine: number;
|
|
133
|
+
/** 0x7D */
|
|
134
|
+
export declare const rightCurlyBracket: number;
|
|
135
|
+
/** 0x7E */
|
|
136
|
+
export declare const tilde: number;
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides ASCII code point constants and helpers for creating numeric code points and inclusive ranges.
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/** @import { Range } from '../../types/range/types.ts' */
|
|
8
|
+
|
|
9
|
+
/** @type {(s: string) => (i: number) => number} */
|
|
10
|
+
const at = s => i => {
|
|
11
|
+
const r = s.codePointAt(i)
|
|
12
|
+
if (r === void 0) { throw s }
|
|
13
|
+
return r
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** Returns the code point value of the first character in a string. @type {(s: string) => number} */
|
|
17
|
+
export const one = s => at(s)(0)
|
|
18
|
+
|
|
19
|
+
/** Returns an inclusive code point range from the first two characters in a string. @type {(s: string) => Range} */
|
|
20
|
+
export const range = s => {
|
|
21
|
+
const f = at(s)
|
|
22
|
+
const f0 = f(0)
|
|
23
|
+
if (s.length === 1) { return [f0, f0] }
|
|
24
|
+
return [f0, f(1)]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// 0x00..
|
|
28
|
+
|
|
29
|
+
/** 0x08 */
|
|
30
|
+
export const backspace = one('\b')
|
|
31
|
+
|
|
32
|
+
/** 0x09 */
|
|
33
|
+
export const ht = one('\t')
|
|
34
|
+
|
|
35
|
+
/** 0x0A */
|
|
36
|
+
export const lf = one('\n')
|
|
37
|
+
|
|
38
|
+
/** 0x0C */
|
|
39
|
+
export const ff = one('\f')
|
|
40
|
+
|
|
41
|
+
/** 0x0D */
|
|
42
|
+
export const cr = one('\r')
|
|
43
|
+
|
|
44
|
+
// 0x20..
|
|
45
|
+
|
|
46
|
+
/** 0x20 */
|
|
47
|
+
export const space = one(' ')
|
|
48
|
+
|
|
49
|
+
/** 0x21 */
|
|
50
|
+
export const exclamationMark = one('!')
|
|
51
|
+
|
|
52
|
+
/** 0x22 */
|
|
53
|
+
export const quotationMark = one('"')
|
|
54
|
+
|
|
55
|
+
/** 0x23 */
|
|
56
|
+
export const numberSign = one('#')
|
|
57
|
+
|
|
58
|
+
/** 0x24 */
|
|
59
|
+
export const dollarSign = one('$')
|
|
60
|
+
|
|
61
|
+
/** 0x25 */
|
|
62
|
+
export const percentSign = one('%')
|
|
63
|
+
|
|
64
|
+
/** 0x26 */
|
|
65
|
+
export const ampersand = one('&')
|
|
66
|
+
|
|
67
|
+
/** 0x27 */
|
|
68
|
+
export const apostrophe = one("'")
|
|
69
|
+
|
|
70
|
+
/** 0x28 */
|
|
71
|
+
export const leftParenthesis = one('(')
|
|
72
|
+
|
|
73
|
+
/** 0x29 */
|
|
74
|
+
export const rightParenthesis = one(')')
|
|
75
|
+
|
|
76
|
+
/** 0x2A */
|
|
77
|
+
export const asterisk = one('*')
|
|
78
|
+
|
|
79
|
+
/** 0x2B */
|
|
80
|
+
export const plusSign = one('+')
|
|
81
|
+
|
|
82
|
+
/** 0x2C */
|
|
83
|
+
export const comma = one(',')
|
|
84
|
+
|
|
85
|
+
/** 0x2D */
|
|
86
|
+
export const hyphenMinus = one('-')
|
|
87
|
+
|
|
88
|
+
/** 0x2E */
|
|
89
|
+
export const fullStop = one('.')
|
|
90
|
+
|
|
91
|
+
/** 0x2F */
|
|
92
|
+
export const solidus = one('/')
|
|
93
|
+
|
|
94
|
+
// 0x30..
|
|
95
|
+
|
|
96
|
+
/** 0x30..0x39 */
|
|
97
|
+
export const digitRange = range('09')
|
|
98
|
+
|
|
99
|
+
/** 0x30 */
|
|
100
|
+
export const digit0 = one('0')
|
|
101
|
+
|
|
102
|
+
/** 0x31 */
|
|
103
|
+
export const digit1 = one('1')
|
|
104
|
+
|
|
105
|
+
/** 0x32 */
|
|
106
|
+
export const digit2 = one('2')
|
|
107
|
+
|
|
108
|
+
/** 0x33 */
|
|
109
|
+
export const digit3 = one('3')
|
|
110
|
+
|
|
111
|
+
/** 0x34 */
|
|
112
|
+
export const digit4 = one('4')
|
|
113
|
+
|
|
114
|
+
/** 0x35 */
|
|
115
|
+
export const digit5 = one('5')
|
|
116
|
+
|
|
117
|
+
/** 0x36 */
|
|
118
|
+
export const digit6 = one('6')
|
|
119
|
+
|
|
120
|
+
/** 0x37 */
|
|
121
|
+
export const digit7 = one('7')
|
|
122
|
+
|
|
123
|
+
/** 0x38 */
|
|
124
|
+
export const digit8 = one('8')
|
|
125
|
+
|
|
126
|
+
/** 0x39 */
|
|
127
|
+
export const digit9 = one('9')
|
|
128
|
+
|
|
129
|
+
/** 0x3A */
|
|
130
|
+
export const colon = one(':')
|
|
131
|
+
|
|
132
|
+
/** 0x3B */
|
|
133
|
+
export const semicolon = one(';')
|
|
134
|
+
|
|
135
|
+
/** 0x3C */
|
|
136
|
+
export const lessThanSign = one('<')
|
|
137
|
+
|
|
138
|
+
/** 0x3D */
|
|
139
|
+
export const equalsSign = one('=')
|
|
140
|
+
|
|
141
|
+
/** 0x3E */
|
|
142
|
+
export const greaterThanSign = one('>')
|
|
143
|
+
|
|
144
|
+
/** 0x3F */
|
|
145
|
+
export const questionMark = one('?')
|
|
146
|
+
|
|
147
|
+
// 0x40..
|
|
148
|
+
|
|
149
|
+
/** 0x40 */
|
|
150
|
+
export const commercialAt = one('@')
|
|
151
|
+
|
|
152
|
+
/** 0x41..0x5A */
|
|
153
|
+
export const latinCapitalLetterRange = range('AZ')
|
|
154
|
+
|
|
155
|
+
/** 0x41 */
|
|
156
|
+
export const latinCapitalLetterA = one('A')
|
|
157
|
+
|
|
158
|
+
/** 0x45 */
|
|
159
|
+
export const latinCapitalLetterE = one('E')
|
|
160
|
+
|
|
161
|
+
/** 0x46 */
|
|
162
|
+
export const latinCapitalLetterF = one('F')
|
|
163
|
+
|
|
164
|
+
/** 0x5B */
|
|
165
|
+
export const leftSquareBracket = one('[')
|
|
166
|
+
|
|
167
|
+
/** 0x5C */
|
|
168
|
+
export const reverseSolidus = one('\\')
|
|
169
|
+
|
|
170
|
+
/** 0x5D */
|
|
171
|
+
export const rightSquareBracket = one(']')
|
|
172
|
+
|
|
173
|
+
/** 0x5E */
|
|
174
|
+
export const circumflexAccent = one('^')
|
|
175
|
+
|
|
176
|
+
/** 0x5F */
|
|
177
|
+
export const lowLine = one('_')
|
|
178
|
+
|
|
179
|
+
// 0x60..
|
|
180
|
+
|
|
181
|
+
/** 0x60 */
|
|
182
|
+
export const graveAccent = one('`')
|
|
183
|
+
|
|
184
|
+
/** 0x61..0x7A */
|
|
185
|
+
export const latinSmallLetterRange = range('az')
|
|
186
|
+
|
|
187
|
+
/** 0x61 */
|
|
188
|
+
export const latinSmallLetterA = one('a')
|
|
189
|
+
|
|
190
|
+
/** 0x62 */
|
|
191
|
+
export const latinSmallLetterB = one('b')
|
|
192
|
+
|
|
193
|
+
/** 0x65 */
|
|
194
|
+
export const latinSmallLetterE = one('e')
|
|
195
|
+
|
|
196
|
+
/** 0x66 */
|
|
197
|
+
export const latinSmallLetterF = one('f')
|
|
198
|
+
|
|
199
|
+
/** 0x6E */
|
|
200
|
+
export const latinSmallLetterN = one('n')
|
|
201
|
+
|
|
202
|
+
/** 0x72 */
|
|
203
|
+
export const latinSmallLetterR = one('r')
|
|
204
|
+
|
|
205
|
+
/** 0x74 */
|
|
206
|
+
export const latinSmallLetterT = one('t')
|
|
207
|
+
|
|
208
|
+
/** 0x75 */
|
|
209
|
+
export const latinSmallLetterU = one('u')
|
|
210
|
+
|
|
211
|
+
/** 0x7A */
|
|
212
|
+
export const latinSmallLetterZ = one('z')
|
|
213
|
+
|
|
214
|
+
/** 0x7B */
|
|
215
|
+
export const leftCurlyBracket = one('{')
|
|
216
|
+
|
|
217
|
+
/** 0x7C */
|
|
218
|
+
export const verticalLine = one('|')
|
|
219
|
+
|
|
220
|
+
/** 0x7D */
|
|
221
|
+
export const rightCurlyBracket = one('}')
|
|
222
|
+
|
|
223
|
+
/** 0x7E */
|
|
224
|
+
export const tilde = one('~')
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { one, range } from './module.f.mjs'
|
|
2
|
+
import { stringify as jsonStringify } from '../../media/json/module.f.mjs'
|
|
3
|
+
import { sort } from '../../types/object/module.f.mjs'
|
|
4
|
+
import { assertEq } from '../../asserts/module.f.mjs'
|
|
5
|
+
|
|
6
|
+
const stringify = jsonStringify(sort)
|
|
7
|
+
|
|
8
|
+
export const proof = {
|
|
9
|
+
range: () => {
|
|
10
|
+
const r = stringify(range("A"))
|
|
11
|
+
assertEq(r, '[65,65]')
|
|
12
|
+
},
|
|
13
|
+
throw: {
|
|
14
|
+
oneThrowsOnEmpty: () => one(''),
|
|
15
|
+
},
|
|
16
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared Unicode code-point contract for the UTF-8 and UTF-16 decoders: the
|
|
3
|
+
* error-tag mask used to flag invalid sequences, the streaming `decoder`
|
|
4
|
+
* factory that wraps a per-unit step and an end-of-input step into a single
|
|
5
|
+
* `List`-to-`List` conversion, and the code-point classification predicates
|
|
6
|
+
* (BMP / surrogate / supplementary-plane / overall validity) that both codecs
|
|
7
|
+
* share.
|
|
8
|
+
*
|
|
9
|
+
* @module
|
|
10
|
+
*/
|
|
11
|
+
import type { List } from '../../types/list/types.ts';
|
|
12
|
+
import type { StateScan } from '../../types/function/operator/types.ts';
|
|
13
|
+
/**
|
|
14
|
+
* Error mask used to tag invalid code points or encoding errors. A decoded
|
|
15
|
+
* value with this bit set represents a malformed unit rather than a valid
|
|
16
|
+
* code point.
|
|
17
|
+
*/
|
|
18
|
+
export declare const errorMask = 2147483648;
|
|
19
|
+
/**
|
|
20
|
+
* Builds a streaming decoder from the two direction-specific steps.
|
|
21
|
+
*
|
|
22
|
+
* Decoding starts from the empty (`null`) state. The input is processed unit by
|
|
23
|
+
* unit through `byteOp`, then a trailing end-of-input marker drives `eofOp` to
|
|
24
|
+
* flush any leftover decoding state.
|
|
25
|
+
*
|
|
26
|
+
* @template Unit
|
|
27
|
+
* @template S
|
|
28
|
+
* @template Cp
|
|
29
|
+
* @param {StateScan<Unit, S | null, List<Cp>>} byteOp - The per-unit decoding step.
|
|
30
|
+
* @param {(state: S | null) => readonly [List<Cp>, S | null]} eofOp - The end-of-input step that flushes the remaining state.
|
|
31
|
+
* @returns {(input: List<Unit>) => List<Cp>} A function converting a list of code units into a list of code points.
|
|
32
|
+
*/
|
|
33
|
+
export declare const decoder: <Unit, S, Cp>(byteOp: StateScan<Unit, S | null, List<Cp>>, eofOp: (state: S | null) => readonly [List<Cp>, S | null]) => (input: List<Unit>) => List<Cp>;
|
|
34
|
+
/**
|
|
35
|
+
* Checks whether the 16-bit word (U16) is a high surrogate.
|
|
36
|
+
* Range: 0xD800 - 0xDBFF.
|
|
37
|
+
*/
|
|
38
|
+
export declare const isHighSurrogate: (i: number) => boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Checks whether the 16-bit word (U16) is a low surrogate.
|
|
41
|
+
* Range: 0xDC00 - 0xDFFF.
|
|
42
|
+
*/
|
|
43
|
+
export declare const isLowSurrogate: (i: number) => boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Checks whether the code point is in the BMP range.
|
|
46
|
+
* BMP is the main Unicode plane that covers code points 0x0000 - 0xFFFF, except
|
|
47
|
+
* for the range of surrogates.
|
|
48
|
+
*
|
|
49
|
+
* @type {(codePoint: number) => boolean}
|
|
50
|
+
*/
|
|
51
|
+
export declare const isBmpCodePoint: (codePoint: number) => boolean;
|
|
52
|
+
/**
|
|
53
|
+
* Checks whether the code point belongs to a supplementary (additional) Unicode
|
|
54
|
+
* plane. Supplementary planes cover code points from 0x010000 to 0x10FFFF.
|
|
55
|
+
*/
|
|
56
|
+
export declare const isSupplementaryPlane: (i: number) => boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Checks whether the code point is a valid scalar value: within the assignable
|
|
59
|
+
* Unicode range (0x0000 - 0x10FFFF) and not a surrogate.
|
|
60
|
+
*
|
|
61
|
+
* @type {(c: number) => boolean}
|
|
62
|
+
*/
|
|
63
|
+
export declare const isValidCodePoint: (c: number) => boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Checks whether the code point is a *text* code point — distinct from
|
|
66
|
+
* {@link isValidCodePoint}, which gates well-formedness for decoding. A code
|
|
67
|
+
* point is text unless it is a control character: the controls are 0x0000 -
|
|
68
|
+
* 0x001F, 0x007F (DEL), and 0x0080 - 0x009F (C1), minus the whitespace block
|
|
69
|
+
* 0x0009 - 0x000D (TAB, LF, VT, FF, CR), which is legitimate in text. Every
|
|
70
|
+
* code point at or above 0x0020 that is not DEL or a C1 control is text.
|
|
71
|
+
*
|
|
72
|
+
* @type {(c: number) => boolean}
|
|
73
|
+
*/
|
|
74
|
+
export declare const isTextCodePoint: (c: number) => boolean;
|