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
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UTF-16 utilities: convert between strings, UTF-16 code units, and Unicode
|
|
3
|
-
* code points, including surrogate-pair encoding/decoding via streaming
|
|
4
|
-
* `stateScan` operations.
|
|
5
|
-
*
|
|
6
|
-
* @module
|
|
7
|
-
*/
|
|
8
|
-
import { map, reduce, flatMap, empty, } from '../../types/list/module.f.js';
|
|
9
|
-
import { concat } from '../../types/function/operator/module.f.js';
|
|
10
|
-
import { contains } from '../../types/range/module.f.js';
|
|
11
|
-
import { fn } from '../../types/function/module.f.js';
|
|
12
|
-
import { decoder, errorMask, isBmpCodePoint, isHighSurrogate, isLowSurrogate, isSupplementaryPlane, } from '../code_point/module.f.js';
|
|
13
|
-
/**
|
|
14
|
-
* The BMP / surrogate / supplementary-plane predicates used below live in
|
|
15
|
-
* `code_point`, the shared Unicode contract; see that module for their ranges.
|
|
16
|
-
*
|
|
17
|
-
* Converts a Unicode code point to its corresponding UTF-16 representation.
|
|
18
|
-
*
|
|
19
|
-
* This function handles:
|
|
20
|
-
* 1. Code points in the Basic Multilingual Plane (BMP) [0x0000–0xFFFF],
|
|
21
|
-
* which map directly to a single 16-bit value (U16).
|
|
22
|
-
* 2. Supplementary Plane code points [0x10000–0x10FFFF],
|
|
23
|
-
* which are represented as surrogate pairs in UTF-16.
|
|
24
|
-
*
|
|
25
|
-
* @param codePoint - A valid Unicode code point.
|
|
26
|
-
* @returns A list of 16-bit unsigned integers (U16) representing the UTF-16 encoding
|
|
27
|
-
* of the input code point. If the code point is in the BMP range, a single U16
|
|
28
|
-
* value is returned. For code points in the supplementary planes, two U16
|
|
29
|
-
* values (a high and a low surrogate) are returned.
|
|
30
|
-
* @example
|
|
31
|
-
*
|
|
32
|
-
* ```ts
|
|
33
|
-
* const exampleCodePoints: List<CodePoint> = [
|
|
34
|
-
* 0x0041, // 'A' (BMP, single U16)
|
|
35
|
-
* 0x1F600, // 😀 (Emoji, supplementary plane, surrogate pair)
|
|
36
|
-
* 0xD7FF, // Last code point in the low BMP range
|
|
37
|
-
* 0xE000, // First code point in the high BMP range
|
|
38
|
-
* 0x10FFFF, // Maximum valid code point in Unicode
|
|
39
|
-
* 0x110000, // Invalid code point (outside Unicode range)
|
|
40
|
-
* ]
|
|
41
|
-
* exampleCodePoints.forEach((codePoint) => {
|
|
42
|
-
* const utf16Result = codePointToUtf16(codePoint)
|
|
43
|
-
* console.log(`Code Point: U+${codePoint.toString(16).toUpperCase()}`)
|
|
44
|
-
* console.log(`UTF-16: ${utf16Result.map(u16 => u16.toString(16).toUpperCase()).join(' ')}`)
|
|
45
|
-
* })
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
const codePointToUtf16 = (codePoint) => {
|
|
49
|
-
if (isBmpCodePoint(codePoint)) {
|
|
50
|
-
return [codePoint];
|
|
51
|
-
}
|
|
52
|
-
if (isSupplementaryPlane(codePoint)) {
|
|
53
|
-
const n = codePoint - 0x1_0000;
|
|
54
|
-
const high = (n >> 10) + 0xd800;
|
|
55
|
-
const low = (n & 0b0011_1111_1111) + 0xdc00;
|
|
56
|
-
return [high, low];
|
|
57
|
-
}
|
|
58
|
-
return [codePoint & 0xffff];
|
|
59
|
-
};
|
|
60
|
-
/**
|
|
61
|
-
* Converts a UTF-16 sequence to its corresponding Unicode code points.
|
|
62
|
-
*
|
|
63
|
-
* This function handles:
|
|
64
|
-
* 1. Single U16 values in the Basic Multilingual Plane (BMP) [0x0000–0xFFFF].
|
|
65
|
-
* 2. Surrogate pairs representing code points in the Supplementary Plane [0x10000–0x10FFFF].
|
|
66
|
-
* 3. Invalid input sequences by applying an error mask to the resulting code point.
|
|
67
|
-
*
|
|
68
|
-
* @param utf16 - A list of UTF-16 code units (U16) to convert.
|
|
69
|
-
* @returns A list of Unicode code points. Each code point corresponds to one or more U16
|
|
70
|
-
* values in the input. Invalid sequences are marked with the `errorMask`.
|
|
71
|
-
* @example
|
|
72
|
-
*
|
|
73
|
-
* ```ts
|
|
74
|
-
* const exampleUtf16: List<U16> = [
|
|
75
|
-
* 0x0041, // 'A' (BMP, single U16)
|
|
76
|
-
* 0xD83D, 0xDE00, // 😀 (Emoji, surrogate pair)
|
|
77
|
-
* 0xD800, // Unpaired high surrogate
|
|
78
|
-
* 0xDC00, // Unpaired low surrogate
|
|
79
|
-
* ]
|
|
80
|
-
*
|
|
81
|
-
* const codePoints = toCodePointList(exampleUtf16)
|
|
82
|
-
* codePoints.forEach((codePoint) => {
|
|
83
|
-
* if (codePoint & errorMask) {
|
|
84
|
-
* console.log(`Invalid sequence detected: ${codePoint.toString(16).toUpperCase()}`)
|
|
85
|
-
* } else {
|
|
86
|
-
* console.log(`Code Point: U+${codePoint.toString(16).toUpperCase()}`)
|
|
87
|
-
* }
|
|
88
|
-
* })
|
|
89
|
-
* ```
|
|
90
|
-
*/
|
|
91
|
-
export const fromCodePointList = flatMap(codePointToUtf16);
|
|
92
|
-
/**
|
|
93
|
-
* Validates whether a given 16-bit unsigned integer (U16) falls within the valid range for UTF-16 code units.
|
|
94
|
-
*
|
|
95
|
-
* UTF-16 uses 16-bit code units to encode characters. The valid range for these code units is [0x0000, 0xFFFF].
|
|
96
|
-
* This function is used to verify that a number is within this range.
|
|
97
|
-
*
|
|
98
|
-
* @param i - A 16-bit unsigned integer (U16) to validate.
|
|
99
|
-
* @returns A boolean value indicating whether the input is a valid UTF-16 code unit.
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
*
|
|
103
|
-
* ```ts
|
|
104
|
-
* const validU16 = u16(0x0041) // true: U+0041 ('A')
|
|
105
|
-
* const invalidU16 = u16(0x110000) // false: Value is outside the valid range
|
|
106
|
-
* const edgeCaseLow = u16(0x0000) // true: Minimum valid value for UTF-16
|
|
107
|
-
* const edgeCaseHigh = u16(0xFFFF) // true: Maximum valid value for UTF-16
|
|
108
|
-
* ```
|
|
109
|
-
*/
|
|
110
|
-
const u16 = contains(0x0000, 0xFFFF);
|
|
111
|
-
/**
|
|
112
|
-
* A stateful operation that converts a UTF-16 word (U16) to a list of Unicode code points (CodePoint),
|
|
113
|
-
* while maintaining the state of surrogate pair decoding.
|
|
114
|
-
*
|
|
115
|
-
* This operation processes UTF-16 code units and decodes them into Unicode code points. It handles:
|
|
116
|
-
* 1. BMP code points (single U16).
|
|
117
|
-
* 2. Surrogate pairs (two U16s representing a single code point in the supplementary planes).
|
|
118
|
-
* 3. Invalid or malformed code units.
|
|
119
|
-
*
|
|
120
|
-
* It also manages the internal state, which is necessary to handle surrogate pairs. If the state is null,
|
|
121
|
-
* it expects a valid BMP code point or a high surrogate. If the state is not null, it processes a low surrogate
|
|
122
|
-
* and combines the pair into a single supplementary code point.
|
|
123
|
-
*
|
|
124
|
-
* @param state - The current state of the UTF-16 decoding operation.
|
|
125
|
-
* This can be either `null` (no state) or the previous high surrogate value.
|
|
126
|
-
* @param word - The current UTF-16 word (U16) to process.
|
|
127
|
-
* @returns A tuple where the first element is a list of decoded Unicode code points (`CodePoint`), and
|
|
128
|
-
* the second element is the updated state. If the word is invalid, an error code `0xffffffff` is returned.
|
|
129
|
-
*
|
|
130
|
-
* @example
|
|
131
|
-
*
|
|
132
|
-
* ```ts
|
|
133
|
-
* const state: Utf16State = null;
|
|
134
|
-
* const word: U16 = 0xD83D; // High surrogate for 😀 emoji
|
|
135
|
-
* const [decodedCodePoints, newState] = utf16ByteToCodePointOp(word, state);
|
|
136
|
-
* ```
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
*
|
|
140
|
-
* ```ts
|
|
141
|
-
* const state: Utf16State = 0xD83D; // High surrogate already stored
|
|
142
|
-
* const word: U16 = 0xDC00; // Low surrogate for 😀 emoji
|
|
143
|
-
* const [decodedCodePoints, newState] = utf16ByteToCodePointOp(word, state);
|
|
144
|
-
* ```
|
|
145
|
-
*/
|
|
146
|
-
const utf16ByteToCodePointOp = (word, state) => {
|
|
147
|
-
if (!u16(word)) {
|
|
148
|
-
return [[0xffffffff], state];
|
|
149
|
-
}
|
|
150
|
-
if (state === null) {
|
|
151
|
-
if (isBmpCodePoint(word)) {
|
|
152
|
-
return [[word], null];
|
|
153
|
-
}
|
|
154
|
-
if (isHighSurrogate(word)) {
|
|
155
|
-
return [[], word];
|
|
156
|
-
}
|
|
157
|
-
return [[word | errorMask], null];
|
|
158
|
-
}
|
|
159
|
-
if (isLowSurrogate(word)) {
|
|
160
|
-
const high = state - 0xd800;
|
|
161
|
-
const low = word - 0xdc00;
|
|
162
|
-
return [[(high << 10) + low + 0x10000], null];
|
|
163
|
-
}
|
|
164
|
-
if (isBmpCodePoint(word)) {
|
|
165
|
-
return [[state | errorMask, word], null];
|
|
166
|
-
}
|
|
167
|
-
if (isHighSurrogate(word)) {
|
|
168
|
-
return [[state | errorMask], word];
|
|
169
|
-
}
|
|
170
|
-
return [[state | errorMask, word | errorMask], null];
|
|
171
|
-
};
|
|
172
|
-
/**
|
|
173
|
-
* Handles the EOF (end-of-file) condition during UTF-16 decoding.
|
|
174
|
-
*
|
|
175
|
-
* If there is no pending state (`state === null`), it simply returns an empty list
|
|
176
|
-
* of code points, indicating no further input to process. If there is a pending state,
|
|
177
|
-
* it is treated as an unpaired surrogate, and the `errorMask` is applied to flag
|
|
178
|
-
* the invalid sequence.
|
|
179
|
-
*
|
|
180
|
-
* @param state - The current UTF-16 decoding state. This can be:
|
|
181
|
-
* - `null`: No pending surrogate to process.
|
|
182
|
-
* - A high surrogate (0xD800–0xDBFF) left from an earlier input, waiting for a low surrogate.
|
|
183
|
-
* @returns A tuple:
|
|
184
|
-
* - The first element is a list of code points. If there’s a pending state, it is returned
|
|
185
|
-
* with the `errorMask` applied.
|
|
186
|
-
* - The second element is the next state, which will always be `null` because EOF means no
|
|
187
|
-
* further processing.
|
|
188
|
-
*
|
|
189
|
-
* @example
|
|
190
|
-
*
|
|
191
|
-
* ```js
|
|
192
|
-
* const eofState = utf16EofToCodePointOp(0xD800) // Unpaired high surrogate
|
|
193
|
-
* const validState = utf16EofToCodePointOp(null) // No pending state
|
|
194
|
-
* ```
|
|
195
|
-
*/
|
|
196
|
-
const utf16EofToCodePointOp = (state) => [state === null ? empty : [state | errorMask], null];
|
|
197
|
-
/**
|
|
198
|
-
* Converts a list of UTF-16 code units to a list of Unicode code points (CodePoint).
|
|
199
|
-
* This function processes each UTF-16 code unit, decoding them into their corresponding Unicode code points.
|
|
200
|
-
* The input list of `U16` values may represent characters in the Basic Multilingual Plane (BMP) or supplementary planes,
|
|
201
|
-
* with surrogate pairs handled correctly. The function also handles EOF (`null`).
|
|
202
|
-
* @param input - A list of UTF-16 code units (`U16`), possibly containing surrogate pairs.
|
|
203
|
-
* @returns A list of Unicode code points (`CodePoint`), one for each valid code unit or surrogate pair.
|
|
204
|
-
*
|
|
205
|
-
* @example
|
|
206
|
-
*
|
|
207
|
-
* ```ts
|
|
208
|
-
* const utf16List: List<U16> = [0x0041, 0xD83D, 0xDE00] // 'A' and 😀 (surrogate pair)
|
|
209
|
-
* const codePoints = toCodePointList(utf16List)
|
|
210
|
-
* ```
|
|
211
|
-
*/
|
|
212
|
-
export const toCodePointList = decoder(utf16ByteToCodePointOp, utf16EofToCodePointOp);
|
|
213
|
-
/**
|
|
214
|
-
* Converts a string to a list of UTF-16 code units (U16).
|
|
215
|
-
*
|
|
216
|
-
* This function processes each character in the input string and converts it to its corresponding UTF-16 code unit(s).
|
|
217
|
-
* Characters in the Basic Multilingual Plane (BMP) will produce a single `U16`, while supplementary plane characters
|
|
218
|
-
* (those requiring surrogate pairs) will produce two `U16` values.
|
|
219
|
-
* @param s - The input string to convert to UTF-16 code units.
|
|
220
|
-
* @returns A list of UTF-16 code units (`U16`) representing the string.
|
|
221
|
-
*
|
|
222
|
-
* @example
|
|
223
|
-
*
|
|
224
|
-
* ```js
|
|
225
|
-
* const inputString = "Hello, 😀"
|
|
226
|
-
* const utf16List = stringToList(inputString)
|
|
227
|
-
* ```
|
|
228
|
-
*/
|
|
229
|
-
export const stringToList = (s) => {
|
|
230
|
-
const at = (i) => {
|
|
231
|
-
const first = s.charCodeAt(i);
|
|
232
|
-
return isNaN(first) ? empty : { first, tail: () => at(i + 1) };
|
|
233
|
-
};
|
|
234
|
-
return at(0);
|
|
235
|
-
};
|
|
236
|
-
/**
|
|
237
|
-
* Converts a string to a list of Unicode code points (CodePoint).
|
|
238
|
-
* This function first converts the string to a list of UTF-16 code units (U16) using `stringToList`,
|
|
239
|
-
* then it converts the UTF-16 code units to Unicode code points using `toCodePointList`. This is useful for handling
|
|
240
|
-
* Unicode characters, including supplementary characters represented by surrogate pairs in UTF-16.
|
|
241
|
-
*
|
|
242
|
-
* @param input - The input string to convert.
|
|
243
|
-
* @returns A list of Unicode code points (`CodePoint`) corresponding to the characters in the string.
|
|
244
|
-
*
|
|
245
|
-
* @example
|
|
246
|
-
*
|
|
247
|
-
* ```js
|
|
248
|
-
* const inputString = "Hello, 😀"
|
|
249
|
-
* const codePoints = stringToCodePointList(inputString)
|
|
250
|
-
* ```
|
|
251
|
-
*/
|
|
252
|
-
export const stringToCodePointList = (input) => toCodePointList(stringToList(input));
|
|
253
|
-
/**
|
|
254
|
-
* Converts a list of UTF-16 code units (U16) to a string.
|
|
255
|
-
* This function takes a list of `U16` values (UTF-16 code units) and reconstructs the original string by mapping
|
|
256
|
-
* each code unit back to its character using `String.fromCharCode`. The resulting characters are concatenated
|
|
257
|
-
* to form the final string.
|
|
258
|
-
*
|
|
259
|
-
* @param input - A list of UTF-16 code units (`U16`).
|
|
260
|
-
* @returns A string representing the characters encoded by the input UTF-16 code units.
|
|
261
|
-
*
|
|
262
|
-
* @example
|
|
263
|
-
*
|
|
264
|
-
* ```ts
|
|
265
|
-
* const utf16List: List<U16> = [0x0041, 0x0042, 0x0043] // 'ABC'
|
|
266
|
-
* const outputString = listToString(utf16List)
|
|
267
|
-
* ```
|
|
268
|
-
*/
|
|
269
|
-
export const listToString = fn(map(String.fromCharCode))
|
|
270
|
-
.map(reduce(concat)(''))
|
|
271
|
-
.result;
|
|
272
|
-
/**
|
|
273
|
-
* Converts a list of Unicode code points (CodePoint) to a string.
|
|
274
|
-
* This function first converts the list of Unicode code points to a list of UTF-16 code units using `fromCodePointList`,
|
|
275
|
-
* then it uses `listToString` to reconstruct the string from the UTF-16 code units.
|
|
276
|
-
*
|
|
277
|
-
* @param input - A list of Unicode code points (`CodePoint`).
|
|
278
|
-
* @returns A string representing the characters encoded by the input code points.
|
|
279
|
-
*
|
|
280
|
-
* @example
|
|
281
|
-
*
|
|
282
|
-
* ```ts
|
|
283
|
-
* const codePoints: List<CodePoint> = [0x48, 0x65, 0x6C, 0x6C, 0x6F]
|
|
284
|
-
* const outputString = codePointListToString(codePoints)
|
|
285
|
-
* ```
|
|
286
|
-
*/
|
|
287
|
-
export const codePointListToString = (input) => listToString(fromCodePointList(input));
|
|
288
|
-
/**
|
|
289
|
-
* Converts a single Unicode code point to a string — the scalar counterpart of
|
|
290
|
-
* {@link codePointListToString}, for callers that hold one code point rather
|
|
291
|
-
* than a list of them and would otherwise wrap it in a single-element list.
|
|
292
|
-
*
|
|
293
|
-
* Input outside the assignable range — a surrogate, a value above
|
|
294
|
-
* `0x10FFFF`, or a negative one — is truncated to its low 16 bits and encoded
|
|
295
|
-
* as that code unit, rather than rejected. This matches
|
|
296
|
-
* {@link codePointListToString}, which reports malformed input through the
|
|
297
|
-
* decoder's `errorMask` on the way *in* rather than through a failure on the
|
|
298
|
-
* way out.
|
|
299
|
-
*
|
|
300
|
-
* @param codePoint - A Unicode code point (`CodePoint`).
|
|
301
|
-
* @returns The one- or two-code-unit string encoding it.
|
|
302
|
-
*
|
|
303
|
-
* @example
|
|
304
|
-
*
|
|
305
|
-
* ```ts
|
|
306
|
-
* codePointToString(0x48) // 'H'
|
|
307
|
-
* codePointToString(0x1F600) // the 😀 surrogate pair
|
|
308
|
-
* codePointToString(0x110000) // '\u0000' — out of range, low 16 bits kept
|
|
309
|
-
* ```
|
|
310
|
-
*/
|
|
311
|
-
export const codePointToString = (codePoint) => String.fromCharCode(...codePointToUtf16(codePoint));
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare const proof: {
|
|
2
|
-
toCodePointList: (() => void)[];
|
|
3
|
-
fromCodePointList: (() => void)[];
|
|
4
|
-
string: (() => void)[];
|
|
5
|
-
stringToList: (() => void)[];
|
|
6
|
-
listToString: (() => void)[];
|
|
7
|
-
stringToCodePointList: (() => void)[];
|
|
8
|
-
codePointListToString: (() => void)[];
|
|
9
|
-
codePointToString: (() => void)[];
|
|
10
|
-
};
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { toCodePointList, fromCodePointList, stringToList, listToString, stringToCodePointList, codePointListToString, codePointToString } from './module.f.js';
|
|
2
|
-
import { stringify as jsonStringify } from '../../media/json/module.f.js';
|
|
3
|
-
import { sort } from '../../types/object/module.f.js';
|
|
4
|
-
import { toArray } from '../../types/list/module.f.js';
|
|
5
|
-
import { assertEq } from '../../asserts/module.f.js';
|
|
6
|
-
const stringify = (a) => jsonStringify(sort)(a);
|
|
7
|
-
export const proof = {
|
|
8
|
-
toCodePointList: [
|
|
9
|
-
() => {
|
|
10
|
-
const result = stringify(toArray(toCodePointList([-1, 65536])));
|
|
11
|
-
assertEq(result, '[4294967295,4294967295]');
|
|
12
|
-
},
|
|
13
|
-
() => {
|
|
14
|
-
const result = stringify(toArray(toCodePointList([0, 36, 8364, 55295, 57344, 65535])));
|
|
15
|
-
assertEq(result, '[0,36,8364,55295,57344,65535]');
|
|
16
|
-
},
|
|
17
|
-
() => {
|
|
18
|
-
const result = stringify(toArray(toCodePointList([56320, 57343])));
|
|
19
|
-
assertEq(result, '[-2147427328,-2147426305]');
|
|
20
|
-
},
|
|
21
|
-
() => {
|
|
22
|
-
const result = stringify(toArray(toCodePointList([55296, 56320, 55297, 56375, 55378, 57186, 56319, 57343])));
|
|
23
|
-
assertEq(result, '[65536,66615,150370,1114111]');
|
|
24
|
-
},
|
|
25
|
-
() => {
|
|
26
|
-
const result = stringify(toArray(toCodePointList([55296, 55296])));
|
|
27
|
-
assertEq(result, '[-2147428352,-2147428352]');
|
|
28
|
-
},
|
|
29
|
-
() => {
|
|
30
|
-
const result = stringify(toArray(toCodePointList([55296, 0])));
|
|
31
|
-
assertEq(result, '[-2147428352,0]');
|
|
32
|
-
},
|
|
33
|
-
() => {
|
|
34
|
-
const result = stringify(toArray(toCodePointList([56320])));
|
|
35
|
-
assertEq(result, '[-2147427328]');
|
|
36
|
-
},
|
|
37
|
-
() => {
|
|
38
|
-
const result = stringify(toArray(toCodePointList([56320, 0])));
|
|
39
|
-
assertEq(result, '[-2147427328,0]');
|
|
40
|
-
}
|
|
41
|
-
],
|
|
42
|
-
fromCodePointList: [
|
|
43
|
-
() => {
|
|
44
|
-
const result = stringify(toArray(fromCodePointList([0])));
|
|
45
|
-
assertEq(result, '[0]');
|
|
46
|
-
},
|
|
47
|
-
() => {
|
|
48
|
-
const result = stringify(toArray(fromCodePointList([0x24])));
|
|
49
|
-
assertEq(result, '[36]');
|
|
50
|
-
},
|
|
51
|
-
() => {
|
|
52
|
-
const result = stringify(toArray(fromCodePointList([0x20AC])));
|
|
53
|
-
assertEq(result, '[8364]');
|
|
54
|
-
},
|
|
55
|
-
() => {
|
|
56
|
-
const result = stringify(toArray(fromCodePointList([0xd7ff])));
|
|
57
|
-
assertEq(result, '[55295]');
|
|
58
|
-
},
|
|
59
|
-
() => {
|
|
60
|
-
const result = stringify(toArray(fromCodePointList([0xe000])));
|
|
61
|
-
assertEq(result, '[57344]');
|
|
62
|
-
},
|
|
63
|
-
() => {
|
|
64
|
-
const result = stringify(toArray(fromCodePointList([0xffff])));
|
|
65
|
-
assertEq(result, '[65535]');
|
|
66
|
-
},
|
|
67
|
-
() => {
|
|
68
|
-
const result = stringify(toArray(fromCodePointList([0x10000])));
|
|
69
|
-
assertEq(result, '[55296,56320]');
|
|
70
|
-
},
|
|
71
|
-
() => {
|
|
72
|
-
const result = stringify(toArray(fromCodePointList([0x10437])));
|
|
73
|
-
assertEq(result, '[55297,56375]');
|
|
74
|
-
},
|
|
75
|
-
() => {
|
|
76
|
-
const result = stringify(toArray(fromCodePointList([0x24B62])));
|
|
77
|
-
assertEq(result, '[55378,57186]');
|
|
78
|
-
},
|
|
79
|
-
() => {
|
|
80
|
-
const result = stringify(toArray(fromCodePointList([0x10ffff])));
|
|
81
|
-
assertEq(result, '[56319,57343]');
|
|
82
|
-
},
|
|
83
|
-
() => {
|
|
84
|
-
const result = stringify(toArray(fromCodePointList([-1, 0xd800, 0xdfff, 0x110000])));
|
|
85
|
-
assertEq(result, '[65535,55296,57343,0]');
|
|
86
|
-
}
|
|
87
|
-
],
|
|
88
|
-
string: [
|
|
89
|
-
() => {
|
|
90
|
-
const utf16List = stringToList("Hello world!😂🚜🚲");
|
|
91
|
-
const result = listToString(utf16List);
|
|
92
|
-
assertEq(result, "Hello world!😂🚜🚲");
|
|
93
|
-
},
|
|
94
|
-
() => {
|
|
95
|
-
const cpList = stringToCodePointList("Hello world!😂🚜🚲");
|
|
96
|
-
const result = codePointListToString(cpList);
|
|
97
|
-
assertEq(result, "Hello world!😂🚜🚲");
|
|
98
|
-
},
|
|
99
|
-
() => {
|
|
100
|
-
const a = stringToList("Hello world!😂🚜🚲");
|
|
101
|
-
const b = toCodePointList(a);
|
|
102
|
-
const c = fromCodePointList(b);
|
|
103
|
-
const result = listToString(c);
|
|
104
|
-
assertEq(result, "Hello world!😂🚜🚲");
|
|
105
|
-
}
|
|
106
|
-
],
|
|
107
|
-
stringToList: [
|
|
108
|
-
() => {
|
|
109
|
-
const inputString = "Hello, i like js";
|
|
110
|
-
const utf16List = stringToList(inputString);
|
|
111
|
-
},
|
|
112
|
-
() => {
|
|
113
|
-
const inputString = "😇🤬🫥😑🫠";
|
|
114
|
-
const utf16List = stringToList(inputString);
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
listToString: [
|
|
118
|
-
() => {
|
|
119
|
-
const utf16List = [0x0041, 0x0042, 0x0043];
|
|
120
|
-
const outputString = listToString(utf16List);
|
|
121
|
-
}
|
|
122
|
-
],
|
|
123
|
-
stringToCodePointList: [
|
|
124
|
-
() => {
|
|
125
|
-
const inputString = "Hello, 😀";
|
|
126
|
-
const codePoints = stringToCodePointList(inputString);
|
|
127
|
-
}
|
|
128
|
-
],
|
|
129
|
-
codePointListToString: [
|
|
130
|
-
() => {
|
|
131
|
-
const codePoints = [0x48, 0x65, 0x6C, 0x6C, 0x6F];
|
|
132
|
-
const outputString = codePointListToString(codePoints);
|
|
133
|
-
}
|
|
134
|
-
],
|
|
135
|
-
codePointToString: [
|
|
136
|
-
() => { assertEq(codePointToString(0x48), 'H'); },
|
|
137
|
-
// supplementary plane: one code point, two code units
|
|
138
|
-
() => { assertEq(codePointToString(0x1f600), '😀'); },
|
|
139
|
-
// a surrogate is not a code point; it round-trips as its own code unit
|
|
140
|
-
() => { assertEq(codePointToString(0xd800), '\ud800'); },
|
|
141
|
-
// above the maximum code point, the low 16 bits are kept
|
|
142
|
-
() => { assertEq(codePointToString(0x110000), '\u0000'); },
|
|
143
|
-
]
|
|
144
|
-
};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UTF-8 byte-level encoding and decoding utilities for FunctionalScript streams.
|
|
3
|
-
*
|
|
4
|
-
* @module
|
|
5
|
-
*/
|
|
6
|
-
import { type List, type Thunk } from '../../types/list/module.f.ts';
|
|
7
|
-
import type { StateScan } from '../../types/function/operator/module.f.ts';
|
|
8
|
-
import type { Array1, Array2, Array3 } from '../../types/array/module.f.ts';
|
|
9
|
-
import { type Vec } from '../../types/bit_vec/module.f.ts';
|
|
10
|
-
/**
|
|
11
|
-
* An unsigned 8-bit integer, represents a single byte.
|
|
12
|
-
*/
|
|
13
|
-
export type U8 = number;
|
|
14
|
-
/**
|
|
15
|
-
* A singed 32-bit integer.
|
|
16
|
-
*/
|
|
17
|
-
export type I32 = number;
|
|
18
|
-
/**
|
|
19
|
-
* Represents an unsigned 8-bit type - U8 or the end-of-file indicator.
|
|
20
|
-
* The U8 represents the byte itself, and null indicates that reading does not return anything else.
|
|
21
|
-
*/
|
|
22
|
-
export type ByteOrEof = U8 | null;
|
|
23
|
-
/**
|
|
24
|
-
* Represents the state of a UTF-8 decoding operation that contains at least one byte.
|
|
25
|
-
*/
|
|
26
|
-
export type Utf8NonEmptyState = Array1<number> | Array2<number> | Array3<number>;
|
|
27
|
-
/**
|
|
28
|
-
* Represents the state of a UTF-8 decoding operation, which can be either `null` (no state)
|
|
29
|
-
* or a non-empty state containing one or more bytes.
|
|
30
|
-
*/
|
|
31
|
-
export type Utf8State = null | Utf8NonEmptyState;
|
|
32
|
-
/**
|
|
33
|
-
* Maps a list of Unicode code points to a stream of UTF-8 bytes.
|
|
34
|
-
*
|
|
35
|
-
* @param input - A list of Unicode code points to be converted.
|
|
36
|
-
* @returns A thunk that lazily produces a sequence of UTF-8 bytes.
|
|
37
|
-
*/
|
|
38
|
-
export declare const fromCodePointList: (input: List<number>) => Thunk<U8>;
|
|
39
|
-
/**
|
|
40
|
-
* Converts a non-empty UTF-8 decoding state to an error code.
|
|
41
|
-
*
|
|
42
|
-
* @param state - A non-empty UTF-8 decoding state.
|
|
43
|
-
* @returns An I32 error code derived from the invalid UTF-8 state.
|
|
44
|
-
*/
|
|
45
|
-
export declare const utf8StateToError: (state: Utf8NonEmptyState) => I32;
|
|
46
|
-
/**
|
|
47
|
-
* Decodes a byte into a Unicode code point, using a given UTF-8 state.
|
|
48
|
-
*
|
|
49
|
-
* Rejects overlong 3-/4-byte encodings (Unicode Table 3-7): a lead `E0` must
|
|
50
|
-
* be followed by a continuation `>= 0xA0`, and a lead `F0` by a continuation
|
|
51
|
-
* `>= 0x90`. It does not itself reject surrogates (`ED A0..BF`) or code
|
|
52
|
-
* points above `U+10FFFF` (`F4 90..BF`); {@link fromVec}'s
|
|
53
|
-
* `isValidCodePoint` pass filters those out of the raw code-point stream.
|
|
54
|
-
*
|
|
55
|
-
* @param state - The current UTF-8 decoding state.
|
|
56
|
-
* @param byte - A single byte to decode.
|
|
57
|
-
* @returns A tuple containing:
|
|
58
|
-
* - A list of decoded Unicode code points or error codes.
|
|
59
|
-
* - The updated UTF-8 state.
|
|
60
|
-
*/
|
|
61
|
-
export declare const utf8ByteToCodePointOp: StateScan<number, Utf8State, readonly I32[]>;
|
|
62
|
-
/**
|
|
63
|
-
* Handles the end-of-file (EOF) case for UTF-8 decoding.
|
|
64
|
-
*
|
|
65
|
-
* @param state - The current UTF-8 decoding state.
|
|
66
|
-
* @returns A tuple containing:
|
|
67
|
-
* - A list of decoded Unicode code points or error codes.
|
|
68
|
-
* - The reset UTF-8 state (`null`).
|
|
69
|
-
*/
|
|
70
|
-
export declare const utf8EofToCodePointOp: (state: Utf8State) => readonly [List<I32>, Utf8State];
|
|
71
|
-
/**
|
|
72
|
-
* Converts a list of UTF-8 bytes into a list of Unicode code points.
|
|
73
|
-
*
|
|
74
|
-
* @param input - A list of UTF-8 bytes.
|
|
75
|
-
* @returns A list of Unicode code points or error codes.
|
|
76
|
-
*/
|
|
77
|
-
export declare const toCodePointList: (input: List<U8>) => List<I32>;
|
|
78
|
-
/**
|
|
79
|
-
* Returns the decoded string if `v` is valid UTF-8, or `null` otherwise.
|
|
80
|
-
* Rejects non-octet Vecs, invalid byte sequences, surrogates, and out-of-range
|
|
81
|
-
* code points.
|
|
82
|
-
*/
|
|
83
|
-
export declare const fromVec: (v: Vec) => string | null;
|