goscript 0.1.0 → 0.1.2
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 +267 -255
- package/cmd/goscript/cmd-test.go +286 -0
- package/cmd/goscript/cmd-test_test.go +76 -0
- package/cmd/goscript/cmd_compile.go +9 -0
- package/cmd/goscript/main.go +1 -0
- package/compiler/build-flags.go +38 -0
- package/compiler/compile-request.go +33 -0
- package/compiler/compiler.go +1 -1
- package/compiler/compliance_test.go +0 -10
- package/compiler/config.go +2 -0
- package/compiler/gotest/owner.go +24 -0
- package/compiler/gotest/package-result.go +69 -0
- package/compiler/gotest/request.go +210 -0
- package/compiler/gotest/result.go +28 -0
- package/compiler/gotest/runner.go +1225 -0
- package/compiler/gotest/runner_test.go +1271 -0
- package/compiler/gotest/test.go +9 -0
- package/compiler/index.test.ts +1 -1
- package/compiler/lowered-program.go +80 -21
- package/compiler/lowering.go +6754 -602
- package/compiler/override-facts.go +357 -0
- package/compiler/override-registry.go +52 -190
- package/compiler/override-registry_test.go +182 -0
- package/compiler/package-graph.go +50 -27
- package/compiler/package-graph_test.go +99 -9
- package/compiler/package-test-function.go +9 -0
- package/compiler/package-test-graph-package.go +40 -0
- package/compiler/package-test-graph-variant.go +129 -0
- package/compiler/package-test-graph.go +112 -0
- package/compiler/package-test-graph_test.go +202 -0
- package/compiler/runtime-contract.go +229 -29
- package/compiler/runtime-contract_test.go +44 -30
- package/compiler/semantic-model-types.go +25 -6
- package/compiler/semantic-model.go +819 -74
- package/compiler/semantic-model_test.go +104 -0
- package/compiler/service.go +10 -4
- package/compiler/skeleton_test.go +2777 -524
- package/compiler/tsworkspace/owner-process-unix_test.go +72 -0
- package/compiler/tsworkspace/owner.go +342 -0
- package/compiler/tsworkspace/owner_test.go +93 -0
- package/compiler/tsworkspace/result.go +17 -0
- package/compiler/tsworkspace/tool-process-other.go +14 -0
- package/compiler/tsworkspace/tool-process-unix.go +19 -0
- package/compiler/typescript-emitter.go +576 -86
- package/compiler/wasm/compile.go +1 -1
- package/compiler/wasm/compile_test.go +61 -11
- package/compiler/wasm_api.go +172 -7
- package/dist/gs/builtin/builtin.d.ts +40 -3
- package/dist/gs/builtin/builtin.js +430 -22
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/channel.d.ts +32 -10
- package/dist/gs/builtin/channel.js +119 -25
- package/dist/gs/builtin/channel.js.map +1 -1
- package/dist/gs/builtin/defer.d.ts +1 -0
- package/dist/gs/builtin/defer.js +12 -2
- package/dist/gs/builtin/defer.js.map +1 -1
- package/dist/gs/builtin/hostio.d.ts +9 -0
- package/dist/gs/builtin/hostio.js +25 -0
- package/dist/gs/builtin/hostio.js.map +1 -1
- package/dist/gs/builtin/map.js +40 -6
- package/dist/gs/builtin/map.js.map +1 -1
- package/dist/gs/builtin/print.js.map +1 -1
- package/dist/gs/builtin/slice.d.ts +64 -10
- package/dist/gs/builtin/slice.js +619 -244
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/builtin/type.d.ts +7 -2
- package/dist/gs/builtin/type.js +128 -29
- package/dist/gs/builtin/type.js.map +1 -1
- package/dist/gs/builtin/varRef.d.ts +7 -0
- package/dist/gs/builtin/varRef.js +23 -0
- package/dist/gs/builtin/varRef.js.map +1 -1
- package/dist/gs/bytes/buffer.gs.js +74 -70
- package/dist/gs/bytes/buffer.gs.js.map +1 -1
- package/dist/gs/bytes/iter.gs.js +13 -13
- package/dist/gs/bytes/iter.gs.js.map +1 -1
- package/dist/gs/bytes/reader.gs.js +20 -18
- package/dist/gs/bytes/reader.gs.js.map +1 -1
- package/dist/gs/compress/zlib/index.d.ts +26 -0
- package/dist/gs/compress/zlib/index.js +168 -0
- package/dist/gs/compress/zlib/index.js.map +1 -0
- package/dist/gs/context/context.d.ts +6 -5
- package/dist/gs/context/context.js +17 -12
- package/dist/gs/context/context.js.map +1 -1
- package/dist/gs/crypto/ecdh/index.d.ts +52 -0
- package/dist/gs/crypto/ecdh/index.js +226 -0
- package/dist/gs/crypto/ecdh/index.js.map +1 -0
- package/dist/gs/crypto/ed25519/index.d.ts +34 -0
- package/dist/gs/crypto/ed25519/index.js +160 -0
- package/dist/gs/crypto/ed25519/index.js.map +1 -0
- package/dist/gs/crypto/internal/constanttime/index.d.ts +4 -0
- package/dist/gs/crypto/internal/constanttime/index.js +18 -0
- package/dist/gs/crypto/internal/constanttime/index.js.map +1 -0
- package/dist/gs/crypto/internal/fips140deps/byteorder/index.d.ts +1 -0
- package/dist/gs/crypto/internal/fips140deps/byteorder/index.js +2 -0
- package/dist/gs/crypto/internal/fips140deps/byteorder/index.js.map +1 -0
- package/dist/gs/crypto/internal/fips140deps/godebug/index.d.ts +1 -0
- package/dist/gs/crypto/internal/fips140deps/godebug/index.js +2 -0
- package/dist/gs/crypto/internal/fips140deps/godebug/index.js.map +1 -0
- package/dist/gs/crypto/rand/index.d.ts +2 -0
- package/dist/gs/crypto/rand/index.js +85 -0
- package/dist/gs/crypto/rand/index.js.map +1 -1
- package/dist/gs/crypto/sha256/index.d.ts +8 -0
- package/dist/gs/crypto/sha256/index.js +118 -0
- package/dist/gs/crypto/sha256/index.js.map +1 -0
- package/dist/gs/crypto/sha512/index.d.ts +14 -0
- package/dist/gs/crypto/sha512/index.js +129 -0
- package/dist/gs/crypto/sha512/index.js.map +1 -0
- package/dist/gs/embed/index.d.ts +7 -0
- package/dist/gs/embed/index.js +16 -0
- package/dist/gs/embed/index.js.map +1 -0
- package/dist/gs/encoding/json/index.d.ts +4 -0
- package/dist/gs/encoding/json/index.js +33 -0
- package/dist/gs/encoding/json/index.js.map +1 -1
- package/dist/gs/errors/errors.d.ts +4 -0
- package/dist/gs/errors/errors.js +108 -4
- package/dist/gs/errors/errors.js.map +1 -1
- package/dist/gs/fmt/fmt.d.ts +4 -4
- package/dist/gs/fmt/fmt.js +42 -11
- package/dist/gs/fmt/fmt.js.map +1 -1
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.d.ts +37 -2
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js +245 -1
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js.map +1 -1
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.d.ts +189 -0
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.js +861 -0
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.js.map +1 -0
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.d.ts +217 -0
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js +814 -0
- package/dist/gs/github.com/aperturerobotics/starpc/srpc/index.js.map +1 -0
- package/dist/gs/github.com/aperturerobotics/util/conc/index.d.ts +20 -0
- package/dist/gs/github.com/aperturerobotics/util/conc/index.js +134 -0
- package/dist/gs/github.com/aperturerobotics/util/conc/index.js.map +1 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/browser.js.map +1 -1
- package/dist/gs/github.com/hack-pad/safejs/internal/catch/index.d.ts +3 -0
- package/dist/gs/github.com/hack-pad/safejs/internal/catch/index.js +50 -0
- package/dist/gs/github.com/hack-pad/safejs/internal/catch/index.js.map +1 -0
- package/dist/gs/github.com/klauspost/compress/internal/le/index.d.ts +9 -0
- package/dist/gs/github.com/klauspost/compress/internal/le/index.js +72 -0
- package/dist/gs/github.com/klauspost/compress/internal/le/index.js.map +1 -0
- package/dist/gs/github.com/mr-tron/base58/base58/index.d.ts +27 -0
- package/dist/gs/github.com/mr-tron/base58/base58/index.js +172 -0
- package/dist/gs/github.com/mr-tron/base58/base58/index.js.map +1 -0
- package/dist/gs/github.com/zeebo/blake3/internal/consts/index.d.ts +21 -0
- package/dist/gs/github.com/zeebo/blake3/internal/consts/index.js +22 -0
- package/dist/gs/github.com/zeebo/blake3/internal/consts/index.js.map +1 -0
- package/dist/gs/go/internal/scannerhooks/index.d.ts +3 -0
- package/dist/gs/go/internal/scannerhooks/index.js +5 -0
- package/dist/gs/go/internal/scannerhooks/index.js.map +1 -0
- package/dist/gs/go/scanner/index.d.ts +13 -0
- package/dist/gs/go/scanner/index.js +35 -0
- package/dist/gs/go/scanner/index.js.map +1 -1
- package/dist/gs/go/token/index.d.ts +156 -0
- package/dist/gs/go/token/index.js +507 -4
- package/dist/gs/go/token/index.js.map +1 -1
- package/dist/gs/hash/fnv/index.d.ts +57 -0
- package/dist/gs/hash/fnv/index.js +299 -0
- package/dist/gs/hash/fnv/index.js.map +1 -0
- package/dist/gs/hash/index.d.ts +17 -0
- package/dist/gs/hash/index.js +94 -0
- package/dist/gs/hash/index.js.map +1 -0
- package/dist/gs/internal/abi/index.d.ts +4 -0
- package/dist/gs/internal/abi/index.js +10 -0
- package/dist/gs/internal/abi/index.js.map +1 -1
- package/dist/gs/internal/bytealg/index.d.ts +2 -0
- package/dist/gs/internal/bytealg/index.js +14 -0
- package/dist/gs/internal/bytealg/index.js.map +1 -1
- package/dist/gs/internal/byteorder/index.d.ts +8 -2
- package/dist/gs/internal/byteorder/index.js +56 -25
- package/dist/gs/internal/byteorder/index.js.map +1 -1
- package/dist/gs/internal/godebug/index.d.ts +12 -0
- package/dist/gs/internal/godebug/index.js +30 -0
- package/dist/gs/internal/godebug/index.js.map +1 -0
- package/dist/gs/io/fs/index.d.ts +1 -0
- package/dist/gs/io/fs/index.js +1 -0
- package/dist/gs/io/fs/index.js.map +1 -1
- package/dist/gs/io/fs/readlink.d.ts +8 -0
- package/dist/gs/io/fs/readlink.js +60 -0
- package/dist/gs/io/fs/readlink.js.map +1 -0
- package/dist/gs/io/fs/walk.d.ts +3 -3
- package/dist/gs/io/fs/walk.js +7 -7
- package/dist/gs/io/fs/walk.js.map +1 -1
- package/dist/gs/io/io.d.ts +40 -6
- package/dist/gs/io/io.js +151 -26
- package/dist/gs/io/io.js.map +1 -1
- package/dist/gs/iter/iter.d.ts +3 -2
- package/dist/gs/iter/iter.js.map +1 -1
- package/dist/gs/maps/iter.d.ts +5 -5
- package/dist/gs/maps/iter.js +48 -21
- package/dist/gs/maps/iter.js.map +1 -1
- package/dist/gs/maps/maps.d.ts +6 -6
- package/dist/gs/maps/maps.js +1 -1
- package/dist/gs/maps/maps.js.map +1 -1
- package/dist/gs/math/bits/index.d.ts +13 -4
- package/dist/gs/math/bits/index.js +70 -48
- package/dist/gs/math/bits/index.js.map +1 -1
- package/dist/gs/math/const.gs.d.ts +5 -5
- package/dist/gs/math/const.gs.js +4 -4
- package/dist/gs/math/const.gs.js.map +1 -1
- package/dist/gs/mime/index.d.ts +1 -0
- package/dist/gs/mime/index.js +52 -0
- package/dist/gs/mime/index.js.map +1 -0
- package/dist/gs/net/http/httptest/index.d.ts +30 -0
- package/dist/gs/net/http/httptest/index.js +101 -0
- package/dist/gs/net/http/httptest/index.js.map +1 -0
- package/dist/gs/net/http/index.d.ts +131 -0
- package/dist/gs/net/http/index.js +307 -0
- package/dist/gs/net/http/index.js.map +1 -0
- package/dist/gs/net/http/pprof/index.d.ts +8 -0
- package/dist/gs/net/http/pprof/index.js +59 -0
- package/dist/gs/net/http/pprof/index.js.map +1 -0
- package/dist/gs/os/dir_unix.gs.js +2 -2
- package/dist/gs/os/dir_unix.gs.js.map +1 -1
- package/dist/gs/os/error.gs.js +9 -7
- package/dist/gs/os/error.gs.js.map +1 -1
- package/dist/gs/os/types_js.gs.js +95 -15
- package/dist/gs/os/types_js.gs.js.map +1 -1
- package/dist/gs/path/filepath/match.js +165 -3
- package/dist/gs/path/filepath/match.js.map +1 -1
- package/dist/gs/path/filepath/path.d.ts +8 -4
- package/dist/gs/path/filepath/path.js +192 -8
- package/dist/gs/path/filepath/path.js.map +1 -1
- package/dist/gs/path/path.d.ts +4 -1
- package/dist/gs/path/path.js +16 -4
- package/dist/gs/path/path.js.map +1 -1
- package/dist/gs/reflect/index.d.ts +4 -3
- package/dist/gs/reflect/index.js +3 -2
- package/dist/gs/reflect/index.js.map +1 -1
- package/dist/gs/reflect/iter.js +2 -2
- package/dist/gs/reflect/iter.js.map +1 -1
- package/dist/gs/reflect/map.js +29 -0
- package/dist/gs/reflect/map.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +31 -9
- package/dist/gs/reflect/type.js +536 -43
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/reflect/types.d.ts +1 -0
- package/dist/gs/reflect/types.js +3 -1
- package/dist/gs/reflect/types.js.map +1 -1
- package/dist/gs/reflect/value.d.ts +4 -1
- package/dist/gs/reflect/value.js +39 -1
- package/dist/gs/reflect/value.js.map +1 -1
- package/dist/gs/reflect/visiblefields.js +1 -1
- package/dist/gs/reflect/visiblefields.js.map +1 -1
- package/dist/gs/runtime/debug/index.d.ts +41 -0
- package/dist/gs/runtime/debug/index.js +66 -0
- package/dist/gs/runtime/debug/index.js.map +1 -0
- package/dist/gs/runtime/pprof/index.d.ts +20 -0
- package/dist/gs/runtime/pprof/index.js +85 -0
- package/dist/gs/runtime/pprof/index.js.map +1 -0
- package/dist/gs/runtime/runtime.d.ts +35 -3
- package/dist/gs/runtime/runtime.js +72 -0
- package/dist/gs/runtime/runtime.js.map +1 -1
- package/dist/gs/runtime/trace/index.d.ts +19 -0
- package/dist/gs/runtime/trace/index.js +64 -0
- package/dist/gs/runtime/trace/index.js.map +1 -0
- package/dist/gs/slices/slices.d.ts +42 -8
- package/dist/gs/slices/slices.js +425 -11
- package/dist/gs/slices/slices.js.map +1 -1
- package/dist/gs/sort/slice.gs.d.ts +5 -3
- package/dist/gs/sort/slice.gs.js +60 -22
- package/dist/gs/sort/slice.gs.js.map +1 -1
- package/dist/gs/sort/sort.gs.d.ts +4 -4
- package/dist/gs/sort/sort.gs.js +11 -8
- package/dist/gs/sort/sort.gs.js.map +1 -1
- package/dist/gs/strings/builder.d.ts +1 -1
- package/dist/gs/strings/builder.js +29 -19
- package/dist/gs/strings/builder.js.map +1 -1
- package/dist/gs/strings/iter.js +140 -75
- package/dist/gs/strings/iter.js.map +1 -1
- package/dist/gs/strings/replace.js +2 -2
- package/dist/gs/strings/replace.js.map +1 -1
- package/dist/gs/strings/strings.js +52 -6
- package/dist/gs/strings/strings.js.map +1 -1
- package/dist/gs/sync/atomic/type.gs.d.ts +9 -8
- package/dist/gs/sync/atomic/type.gs.js +0 -2
- package/dist/gs/sync/atomic/type.gs.js.map +1 -1
- package/dist/gs/sync/sync.d.ts +8 -3
- package/dist/gs/sync/sync.js +66 -11
- package/dist/gs/sync/sync.js.map +1 -1
- package/dist/gs/syscall/constants.d.ts +36 -24
- package/dist/gs/syscall/constants.js +12 -0
- package/dist/gs/syscall/constants.js.map +1 -1
- package/dist/gs/syscall/errors.d.ts +117 -111
- package/dist/gs/syscall/errors.js +45 -0
- package/dist/gs/syscall/errors.js.map +1 -1
- package/dist/gs/syscall/fs.d.ts +37 -0
- package/dist/gs/syscall/fs.js +102 -0
- package/dist/gs/syscall/fs.js.map +1 -1
- package/dist/gs/syscall/js/index.d.ts +90 -0
- package/dist/gs/syscall/js/index.js +383 -0
- package/dist/gs/syscall/js/index.js.map +1 -0
- package/dist/gs/syscall/types.d.ts +26 -1
- package/dist/gs/syscall/types.js +45 -1
- package/dist/gs/syscall/types.js.map +1 -1
- package/dist/gs/testing/index.d.ts +1 -0
- package/dist/gs/testing/index.js +2 -0
- package/dist/gs/testing/index.js.map +1 -0
- package/dist/gs/testing/testing.d.ts +78 -0
- package/dist/gs/testing/testing.js +318 -0
- package/dist/gs/testing/testing.js.map +1 -0
- package/dist/gs/time/time.d.ts +41 -4
- package/dist/gs/time/time.js +227 -36
- package/dist/gs/time/time.js.map +1 -1
- package/dist/gs/unicode/unicode.d.ts +23 -1
- package/dist/gs/unicode/unicode.js +79 -10
- package/dist/gs/unicode/unicode.js.map +1 -1
- package/dist/gs/unicode/utf8/utf8.d.ts +4 -4
- package/dist/gs/unicode/utf8/utf8.js +24 -11
- package/dist/gs/unicode/utf8/utf8.js.map +1 -1
- package/dist/gs/unique/index.d.ts +11 -0
- package/dist/gs/unique/index.js +76 -0
- package/dist/gs/unique/index.js.map +1 -0
- package/go.mod +8 -8
- package/go.sum +14 -14
- package/gs/builtin/builtin.ts +585 -27
- package/gs/builtin/channel.ts +183 -29
- package/gs/builtin/defer.ts +13 -2
- package/gs/builtin/hostio.test.ts +1 -0
- package/gs/builtin/hostio.ts +38 -0
- package/gs/builtin/map.ts +46 -6
- package/gs/builtin/print.ts +12 -3
- package/gs/builtin/runtime-contract.test.ts +383 -10
- package/gs/builtin/slice.test.ts +70 -0
- package/gs/builtin/slice.ts +785 -265
- package/gs/builtin/type.ts +160 -41
- package/gs/builtin/varRef.ts +40 -1
- package/gs/bytes/buffer.gs.ts +74 -70
- package/gs/bytes/iter.gs.ts +13 -14
- package/gs/bytes/meta.json +8 -3
- package/gs/bytes/reader.gs.ts +20 -19
- package/gs/compress/zlib/index.test.ts +28 -0
- package/gs/compress/zlib/index.ts +200 -0
- package/gs/compress/zlib/meta.json +3 -0
- package/gs/context/context.test.ts +71 -0
- package/gs/context/context.ts +30 -29
- package/gs/crypto/ecdh/index.test.ts +43 -0
- package/gs/crypto/ecdh/index.ts +274 -0
- package/gs/crypto/ed25519/index.test.ts +41 -0
- package/gs/crypto/ed25519/index.ts +238 -0
- package/gs/crypto/ed25519/meta.json +13 -0
- package/gs/crypto/internal/constanttime/index.test.ts +25 -0
- package/gs/crypto/internal/constanttime/index.ts +22 -0
- package/gs/crypto/internal/fips140deps/byteorder/index.ts +1 -0
- package/gs/crypto/internal/fips140deps/godebug/index.ts +1 -0
- package/gs/crypto/rand/index.test.ts +89 -1
- package/gs/crypto/rand/index.ts +103 -1
- package/gs/crypto/rand/meta.json +4 -1
- package/gs/crypto/sha256/index.test.ts +78 -0
- package/gs/crypto/sha256/index.ts +150 -0
- package/gs/crypto/sha256/meta.json +9 -0
- package/gs/crypto/sha512/index.test.ts +31 -0
- package/gs/crypto/sha512/index.ts +161 -0
- package/gs/crypto/sha512/meta.json +11 -0
- package/gs/embed/index.ts +20 -0
- package/gs/embed/meta.json +5 -0
- package/gs/encoding/json/index.test.ts +39 -3
- package/gs/encoding/json/index.ts +45 -3
- package/gs/errors/errors.test.ts +85 -0
- package/gs/errors/errors.ts +132 -4
- package/gs/fmt/fmt.test.ts +3 -1
- package/gs/fmt/fmt.ts +55 -19
- package/gs/github.com/aperturerobotics/protobuf-go-lite/index.test.ts +128 -1
- package/gs/github.com/aperturerobotics/protobuf-go-lite/index.ts +342 -4
- package/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.test.ts +180 -0
- package/gs/github.com/aperturerobotics/protobuf-go-lite/json/index.ts +1084 -0
- package/gs/github.com/aperturerobotics/starpc/srpc/index.test.ts +31 -0
- package/gs/github.com/aperturerobotics/starpc/srpc/index.ts +1233 -0
- package/gs/github.com/aperturerobotics/starpc/srpc/meta.json +46 -0
- package/gs/github.com/aperturerobotics/util/conc/index.test.ts +30 -0
- package/gs/github.com/aperturerobotics/util/conc/index.ts +172 -0
- package/gs/github.com/aperturerobotics/util/conc/meta.json +9 -0
- package/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/browser.ts +1 -4
- package/gs/github.com/hack-pad/safejs/internal/catch/index.test.ts +35 -0
- package/gs/github.com/hack-pad/safejs/internal/catch/index.ts +65 -0
- package/gs/github.com/hack-pad/safejs/internal/catch/meta.json +9 -0
- package/gs/github.com/klauspost/compress/internal/le/index.test.ts +37 -0
- package/gs/github.com/klauspost/compress/internal/le/index.ts +115 -0
- package/gs/github.com/mr-tron/base58/base58/index.test.ts +70 -0
- package/gs/github.com/mr-tron/base58/base58/index.ts +231 -0
- package/gs/github.com/mr-tron/base58/base58/meta.json +3 -0
- package/gs/github.com/zeebo/blake3/internal/consts/index.test.ts +46 -0
- package/gs/github.com/zeebo/blake3/internal/consts/index.ts +26 -0
- package/gs/go/internal/scannerhooks/index.test.ts +14 -0
- package/gs/go/internal/scannerhooks/index.ts +9 -0
- package/gs/go/scanner/index.test.ts +22 -0
- package/gs/go/scanner/index.ts +47 -0
- package/gs/go/token/index.test.ts +47 -1
- package/gs/go/token/index.ts +583 -4
- package/gs/hash/fnv/index.test.ts +67 -0
- package/gs/hash/fnv/index.ts +351 -0
- package/gs/hash/fnv/meta.json +3 -0
- package/gs/hash/index.test.ts +37 -0
- package/gs/hash/index.ts +118 -0
- package/gs/hash/meta.json +5 -0
- package/gs/internal/abi/index.test.ts +18 -0
- package/gs/internal/abi/index.ts +14 -0
- package/gs/internal/bytealg/index.test.ts +18 -0
- package/gs/internal/bytealg/index.ts +16 -0
- package/gs/internal/byteorder/index.test.ts +39 -0
- package/gs/internal/byteorder/index.ts +100 -27
- package/gs/internal/godebug/index.test.ts +16 -0
- package/gs/internal/godebug/index.ts +35 -0
- package/gs/io/fs/index.ts +1 -0
- package/gs/io/fs/meta.json +5 -0
- package/gs/io/fs/readlink.test.ts +43 -0
- package/gs/io/fs/readlink.ts +69 -0
- package/gs/io/fs/walk.test.ts +61 -0
- package/gs/io/fs/walk.ts +17 -9
- package/gs/io/io.ts +177 -31
- package/gs/io/meta.json +10 -2
- package/gs/iter/iter.ts +8 -2
- package/gs/maps/iter.ts +75 -26
- package/gs/maps/maps.test.ts +23 -0
- package/gs/maps/maps.ts +13 -11
- package/gs/math/bits/index.test.ts +20 -0
- package/gs/math/bits/index.ts +107 -64
- package/gs/math/const.gs.test.ts +11 -5
- package/gs/math/const.gs.ts +5 -6
- package/gs/mime/index.ts +60 -0
- package/gs/net/http/httptest/index.test.ts +53 -0
- package/gs/net/http/httptest/index.ts +120 -0
- package/gs/net/http/index.test.ts +148 -0
- package/gs/net/http/index.ts +432 -0
- package/gs/net/http/meta.json +6 -0
- package/gs/net/http/pprof/index.test.ts +47 -0
- package/gs/net/http/pprof/index.ts +65 -0
- package/gs/os/dir_unix.gs.ts +2 -3
- package/gs/os/error.gs.ts +9 -10
- package/gs/os/error.test.ts +41 -0
- package/gs/os/file_unix_js.test.ts +55 -0
- package/gs/os/tempfile.gs.test.ts +37 -10
- package/gs/os/types_js.gs.ts +96 -17
- package/gs/path/filepath/match.test.ts +31 -12
- package/gs/path/filepath/match.ts +181 -3
- package/gs/path/filepath/meta.json +6 -0
- package/gs/path/filepath/path.test.ts +80 -0
- package/gs/path/filepath/path.ts +244 -11
- package/gs/path/path.ts +20 -5
- package/gs/reflect/field.test.ts +63 -0
- package/gs/reflect/index.ts +5 -1
- package/gs/reflect/iter.ts +2 -2
- package/gs/reflect/map.test.ts +42 -1
- package/gs/reflect/map.ts +39 -0
- package/gs/reflect/type.ts +728 -65
- package/gs/reflect/typefor.test.ts +100 -0
- package/gs/reflect/types.ts +3 -1
- package/gs/reflect/value.ts +50 -1
- package/gs/reflect/visiblefields.ts +1 -1
- package/gs/runtime/debug/index.test.ts +45 -0
- package/gs/runtime/debug/index.ts +96 -0
- package/gs/runtime/pprof/index.test.ts +36 -0
- package/gs/runtime/pprof/index.ts +104 -0
- package/gs/runtime/pprof/meta.json +6 -0
- package/gs/runtime/runtime.test.ts +19 -0
- package/gs/runtime/runtime.ts +98 -3
- package/gs/runtime/trace/index.test.ts +45 -0
- package/gs/runtime/trace/index.ts +97 -0
- package/gs/runtime/trace/meta.json +7 -0
- package/gs/slices/meta.json +2 -1
- package/gs/slices/slices.test.ts +180 -0
- package/gs/slices/slices.ts +502 -15
- package/gs/sort/meta.json +7 -0
- package/gs/sort/slice.gs.ts +85 -26
- package/gs/sort/slice.test.ts +40 -0
- package/gs/sort/sort.gs.ts +16 -13
- package/gs/strings/builder.test.ts +8 -0
- package/gs/strings/builder.ts +33 -20
- package/gs/strings/iter.test.ts +5 -7
- package/gs/strings/iter.ts +146 -71
- package/gs/strings/replace.test.ts +1 -4
- package/gs/strings/replace.ts +6 -6
- package/gs/strings/strings.test.ts +4 -0
- package/gs/strings/strings.ts +54 -6
- package/gs/sync/atomic/type.gs.ts +13 -14
- package/gs/sync/meta.json +3 -1
- package/gs/sync/sync.test.ts +69 -1
- package/gs/sync/sync.ts +72 -13
- package/gs/syscall/constants.ts +39 -24
- package/gs/syscall/errors.ts +165 -112
- package/gs/syscall/fs.ts +195 -0
- package/gs/syscall/js/index.ts +485 -0
- package/gs/syscall/js/meta.json +4 -0
- package/gs/syscall/net.test.ts +111 -0
- package/gs/syscall/types.ts +63 -2
- package/gs/testing/index.ts +1 -0
- package/gs/testing/meta.json +5 -0
- package/gs/testing/testing.test.ts +146 -0
- package/gs/testing/testing.ts +399 -0
- package/gs/time/meta.json +2 -2
- package/gs/time/time.test.ts +110 -0
- package/gs/time/time.ts +309 -57
- package/gs/unicode/unicode.test.ts +36 -0
- package/gs/unicode/unicode.ts +115 -9
- package/gs/unicode/utf8/utf8.test.ts +13 -0
- package/gs/unicode/utf8/utf8.ts +28 -16
- package/gs/unique/index.ts +98 -0
- package/package.json +3 -2
|
@@ -1,5 +1,184 @@
|
|
|
1
1
|
import * as $ from '@goscript/builtin/index.js';
|
|
2
|
+
export const ILLEGAL = 0;
|
|
3
|
+
export const EOF = 1;
|
|
4
|
+
export const COMMENT = 2;
|
|
5
|
+
const literal_beg = 3;
|
|
6
|
+
export const IDENT = 4;
|
|
7
|
+
export const INT = 5;
|
|
8
|
+
export const FLOAT = 6;
|
|
9
|
+
export const IMAG = 7;
|
|
10
|
+
export const CHAR = 8;
|
|
11
|
+
export const STRING = 9;
|
|
12
|
+
const literal_end = 10;
|
|
13
|
+
const operator_beg = 11;
|
|
14
|
+
export const ADD = 12;
|
|
15
|
+
export const SUB = 13;
|
|
16
|
+
export const MUL = 14;
|
|
17
|
+
export const QUO = 15;
|
|
18
|
+
export const REM = 16;
|
|
19
|
+
export const AND = 17;
|
|
20
|
+
export const OR = 18;
|
|
21
|
+
export const XOR = 19;
|
|
22
|
+
export const SHL = 20;
|
|
23
|
+
export const SHR = 21;
|
|
24
|
+
export const AND_NOT = 22;
|
|
25
|
+
export const ADD_ASSIGN = 23;
|
|
26
|
+
export const SUB_ASSIGN = 24;
|
|
27
|
+
export const MUL_ASSIGN = 25;
|
|
28
|
+
export const QUO_ASSIGN = 26;
|
|
29
|
+
export const REM_ASSIGN = 27;
|
|
30
|
+
export const AND_ASSIGN = 28;
|
|
31
|
+
export const OR_ASSIGN = 29;
|
|
32
|
+
export const XOR_ASSIGN = 30;
|
|
33
|
+
export const SHL_ASSIGN = 31;
|
|
34
|
+
export const SHR_ASSIGN = 32;
|
|
35
|
+
export const AND_NOT_ASSIGN = 33;
|
|
36
|
+
export const LAND = 34;
|
|
37
|
+
export const LOR = 35;
|
|
38
|
+
export const ARROW = 36;
|
|
39
|
+
export const INC = 37;
|
|
40
|
+
export const DEC = 38;
|
|
41
|
+
export const EQL = 39;
|
|
42
|
+
export const LSS = 40;
|
|
43
|
+
export const GTR = 41;
|
|
44
|
+
export const ASSIGN = 42;
|
|
45
|
+
export const NOT = 43;
|
|
46
|
+
export const NEQ = 44;
|
|
47
|
+
export const LEQ = 45;
|
|
48
|
+
export const GEQ = 46;
|
|
49
|
+
export const DEFINE = 47;
|
|
50
|
+
export const ELLIPSIS = 48;
|
|
51
|
+
export const LPAREN = 49;
|
|
52
|
+
export const LBRACK = 50;
|
|
53
|
+
export const LBRACE = 51;
|
|
54
|
+
export const COMMA = 52;
|
|
55
|
+
export const PERIOD = 53;
|
|
56
|
+
export const RPAREN = 54;
|
|
57
|
+
export const RBRACK = 55;
|
|
58
|
+
export const RBRACE = 56;
|
|
59
|
+
export const SEMICOLON = 57;
|
|
60
|
+
export const COLON = 58;
|
|
61
|
+
const operator_end = 59;
|
|
62
|
+
const keyword_beg = 60;
|
|
63
|
+
export const BREAK = 61;
|
|
64
|
+
export const CASE = 62;
|
|
65
|
+
export const CHAN = 63;
|
|
66
|
+
export const CONST = 64;
|
|
67
|
+
export const CONTINUE = 65;
|
|
68
|
+
export const DEFAULT = 66;
|
|
69
|
+
export const DEFER = 67;
|
|
70
|
+
export const ELSE = 68;
|
|
71
|
+
export const FALLTHROUGH = 69;
|
|
72
|
+
export const FOR = 70;
|
|
73
|
+
export const FUNC = 71;
|
|
74
|
+
export const GO = 72;
|
|
75
|
+
export const GOTO = 73;
|
|
76
|
+
export const IF = 74;
|
|
77
|
+
export const IMPORT = 75;
|
|
78
|
+
export const INTERFACE = 76;
|
|
79
|
+
export const MAP = 77;
|
|
80
|
+
export const PACKAGE = 78;
|
|
81
|
+
export const RANGE = 79;
|
|
82
|
+
export const RETURN = 80;
|
|
83
|
+
export const SELECT = 81;
|
|
84
|
+
export const STRUCT = 82;
|
|
85
|
+
export const SWITCH = 83;
|
|
86
|
+
export const TYPE = 84;
|
|
87
|
+
export const VAR = 85;
|
|
88
|
+
const keyword_end = 86;
|
|
89
|
+
export const TILDE = 88;
|
|
90
|
+
export const LowestPrec = 0;
|
|
91
|
+
export const UnaryPrec = 6;
|
|
92
|
+
export const HighestPrec = 7;
|
|
2
93
|
export const NoPos = 0;
|
|
94
|
+
const tokenStrings = new Map([
|
|
95
|
+
[ILLEGAL, 'ILLEGAL'],
|
|
96
|
+
[EOF, 'EOF'],
|
|
97
|
+
[COMMENT, 'COMMENT'],
|
|
98
|
+
[IDENT, 'IDENT'],
|
|
99
|
+
[INT, 'INT'],
|
|
100
|
+
[FLOAT, 'FLOAT'],
|
|
101
|
+
[IMAG, 'IMAG'],
|
|
102
|
+
[CHAR, 'CHAR'],
|
|
103
|
+
[STRING, 'STRING'],
|
|
104
|
+
[ADD, '+'],
|
|
105
|
+
[SUB, '-'],
|
|
106
|
+
[MUL, '*'],
|
|
107
|
+
[QUO, '/'],
|
|
108
|
+
[REM, '%'],
|
|
109
|
+
[AND, '&'],
|
|
110
|
+
[OR, '|'],
|
|
111
|
+
[XOR, '^'],
|
|
112
|
+
[SHL, '<<'],
|
|
113
|
+
[SHR, '>>'],
|
|
114
|
+
[AND_NOT, '&^'],
|
|
115
|
+
[ADD_ASSIGN, '+='],
|
|
116
|
+
[SUB_ASSIGN, '-='],
|
|
117
|
+
[MUL_ASSIGN, '*='],
|
|
118
|
+
[QUO_ASSIGN, '/='],
|
|
119
|
+
[REM_ASSIGN, '%='],
|
|
120
|
+
[AND_ASSIGN, '&='],
|
|
121
|
+
[OR_ASSIGN, '|='],
|
|
122
|
+
[XOR_ASSIGN, '^='],
|
|
123
|
+
[SHL_ASSIGN, '<<='],
|
|
124
|
+
[SHR_ASSIGN, '>>='],
|
|
125
|
+
[AND_NOT_ASSIGN, '&^='],
|
|
126
|
+
[LAND, '&&'],
|
|
127
|
+
[LOR, '||'],
|
|
128
|
+
[ARROW, '<-'],
|
|
129
|
+
[INC, '++'],
|
|
130
|
+
[DEC, '--'],
|
|
131
|
+
[EQL, '=='],
|
|
132
|
+
[LSS, '<'],
|
|
133
|
+
[GTR, '>'],
|
|
134
|
+
[ASSIGN, '='],
|
|
135
|
+
[NOT, '!'],
|
|
136
|
+
[NEQ, '!='],
|
|
137
|
+
[LEQ, '<='],
|
|
138
|
+
[GEQ, '>='],
|
|
139
|
+
[DEFINE, ':='],
|
|
140
|
+
[ELLIPSIS, '...'],
|
|
141
|
+
[LPAREN, '('],
|
|
142
|
+
[LBRACK, '['],
|
|
143
|
+
[LBRACE, '{'],
|
|
144
|
+
[COMMA, ','],
|
|
145
|
+
[PERIOD, '.'],
|
|
146
|
+
[RPAREN, ')'],
|
|
147
|
+
[RBRACK, ']'],
|
|
148
|
+
[RBRACE, '}'],
|
|
149
|
+
[SEMICOLON, ';'],
|
|
150
|
+
[COLON, ':'],
|
|
151
|
+
[BREAK, 'break'],
|
|
152
|
+
[CASE, 'case'],
|
|
153
|
+
[CHAN, 'chan'],
|
|
154
|
+
[CONST, 'const'],
|
|
155
|
+
[CONTINUE, 'continue'],
|
|
156
|
+
[DEFAULT, 'default'],
|
|
157
|
+
[DEFER, 'defer'],
|
|
158
|
+
[ELSE, 'else'],
|
|
159
|
+
[FALLTHROUGH, 'fallthrough'],
|
|
160
|
+
[FOR, 'for'],
|
|
161
|
+
[FUNC, 'func'],
|
|
162
|
+
[GO, 'go'],
|
|
163
|
+
[GOTO, 'goto'],
|
|
164
|
+
[IF, 'if'],
|
|
165
|
+
[IMPORT, 'import'],
|
|
166
|
+
[INTERFACE, 'interface'],
|
|
167
|
+
[MAP, 'map'],
|
|
168
|
+
[PACKAGE, 'package'],
|
|
169
|
+
[RANGE, 'range'],
|
|
170
|
+
[RETURN, 'return'],
|
|
171
|
+
[SELECT, 'select'],
|
|
172
|
+
[STRUCT, 'struct'],
|
|
173
|
+
[SWITCH, 'switch'],
|
|
174
|
+
[TYPE, 'type'],
|
|
175
|
+
[VAR, 'var'],
|
|
176
|
+
[TILDE, '~'],
|
|
177
|
+
]);
|
|
178
|
+
const keywords = new Map();
|
|
179
|
+
for (let tok = keyword_beg + 1; tok < keyword_end; tok++) {
|
|
180
|
+
keywords.set(tokenStrings.get(tok), tok);
|
|
181
|
+
}
|
|
3
182
|
export class Position {
|
|
4
183
|
get Filename() {
|
|
5
184
|
return this._fields.Filename.value;
|
|
@@ -70,13 +249,337 @@ export function Position_IsValid(pos) {
|
|
|
70
249
|
return pos.Line > 0;
|
|
71
250
|
}
|
|
72
251
|
export function Position_String(pos) {
|
|
252
|
+
let text = pos.Filename;
|
|
73
253
|
if (!Position_IsValid(pos)) {
|
|
74
|
-
return '-';
|
|
254
|
+
return text === '' ? '-' : text;
|
|
255
|
+
}
|
|
256
|
+
if (text !== '') {
|
|
257
|
+
text += ':';
|
|
75
258
|
}
|
|
76
|
-
|
|
259
|
+
text += `${pos.Line}`;
|
|
77
260
|
if (pos.Column > 0) {
|
|
78
|
-
|
|
261
|
+
text += `:${pos.Column}`;
|
|
262
|
+
}
|
|
263
|
+
return text;
|
|
264
|
+
}
|
|
265
|
+
export class File {
|
|
266
|
+
nameValue;
|
|
267
|
+
baseValue;
|
|
268
|
+
sizeValue;
|
|
269
|
+
linesValue;
|
|
270
|
+
infosValue;
|
|
271
|
+
constructor(init) {
|
|
272
|
+
this.nameValue = init?.name ?? '';
|
|
273
|
+
this.baseValue = init?.base ?? 0;
|
|
274
|
+
this.sizeValue = init?.size ?? 0;
|
|
275
|
+
this.linesValue = init?.lines?.slice() ?? [0];
|
|
276
|
+
this.infosValue = init?.infos?.slice() ?? [];
|
|
277
|
+
}
|
|
278
|
+
clone() {
|
|
279
|
+
return new File({
|
|
280
|
+
name: this.nameValue,
|
|
281
|
+
base: this.baseValue,
|
|
282
|
+
size: this.sizeValue,
|
|
283
|
+
lines: this.linesValue,
|
|
284
|
+
infos: this.infosValue,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
Name() {
|
|
288
|
+
return this.nameValue;
|
|
289
|
+
}
|
|
290
|
+
Base() {
|
|
291
|
+
return this.baseValue;
|
|
292
|
+
}
|
|
293
|
+
Size() {
|
|
294
|
+
return this.sizeValue;
|
|
295
|
+
}
|
|
296
|
+
End() {
|
|
297
|
+
return this.baseValue + this.sizeValue;
|
|
298
|
+
}
|
|
299
|
+
LineCount() {
|
|
300
|
+
return this.linesValue.length;
|
|
301
|
+
}
|
|
302
|
+
AddLine(offset) {
|
|
303
|
+
const last = this.linesValue[this.linesValue.length - 1];
|
|
304
|
+
if ((this.linesValue.length === 0 || last < offset) &&
|
|
305
|
+
offset < this.sizeValue) {
|
|
306
|
+
this.linesValue.push(offset);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
MergeLine(line) {
|
|
310
|
+
if (line < 1 || line >= this.linesValue.length) {
|
|
311
|
+
$.panic(`invalid line number ${line}`);
|
|
312
|
+
}
|
|
313
|
+
this.linesValue.splice(line, 1);
|
|
314
|
+
}
|
|
315
|
+
Lines() {
|
|
316
|
+
return $.arrayToSlice(this.linesValue.slice());
|
|
317
|
+
}
|
|
318
|
+
SetLines(lines) {
|
|
319
|
+
const next = $.asArray(lines);
|
|
320
|
+
for (let i = 0; i < next.length; i++) {
|
|
321
|
+
if ((i > 0 && next[i] <= next[i - 1]) || this.sizeValue <= next[i]) {
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
this.linesValue = next.slice();
|
|
326
|
+
return true;
|
|
327
|
+
}
|
|
328
|
+
SetLinesForContent(content) {
|
|
329
|
+
const lines = [];
|
|
330
|
+
let line = 0;
|
|
331
|
+
for (let offset = 0; offset < $.len(content); offset++) {
|
|
332
|
+
if (line >= 0) {
|
|
333
|
+
lines.push(line);
|
|
334
|
+
}
|
|
335
|
+
line = -1;
|
|
336
|
+
if (content[offset] === 10) {
|
|
337
|
+
line = offset + 1;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
this.linesValue = lines;
|
|
341
|
+
}
|
|
342
|
+
LineStart(line) {
|
|
343
|
+
if (line < 1 || line > this.linesValue.length) {
|
|
344
|
+
$.panic(`invalid line number ${line}`);
|
|
345
|
+
}
|
|
346
|
+
return this.baseValue + this.linesValue[line - 1];
|
|
347
|
+
}
|
|
348
|
+
AddLineInfo(offset, filename, line) {
|
|
349
|
+
this.AddLineColumnInfo(offset, filename, line, 1);
|
|
350
|
+
}
|
|
351
|
+
AddLineColumnInfo(offset, filename, line, column) {
|
|
352
|
+
const last = this.infosValue[this.infosValue.length - 1];
|
|
353
|
+
if ((this.infosValue.length === 0 || last.Offset < offset) &&
|
|
354
|
+
offset < this.sizeValue) {
|
|
355
|
+
this.infosValue.push({
|
|
356
|
+
Offset: offset,
|
|
357
|
+
Filename: filename,
|
|
358
|
+
Line: line,
|
|
359
|
+
Column: column,
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
Pos(offset) {
|
|
364
|
+
return this.baseValue + this.fixOffset(offset);
|
|
365
|
+
}
|
|
366
|
+
Offset(pos) {
|
|
367
|
+
return this.fixOffset(pos - this.baseValue);
|
|
368
|
+
}
|
|
369
|
+
Line(pos) {
|
|
370
|
+
return this.Position(pos).Line;
|
|
371
|
+
}
|
|
372
|
+
PositionFor(pos, adjusted) {
|
|
373
|
+
if (pos === NoPos) {
|
|
374
|
+
return new Position();
|
|
375
|
+
}
|
|
376
|
+
return this.position(pos, adjusted);
|
|
377
|
+
}
|
|
378
|
+
Position(pos) {
|
|
379
|
+
return this.PositionFor(pos, true);
|
|
380
|
+
}
|
|
381
|
+
fixOffset(offset) {
|
|
382
|
+
if (offset < 0) {
|
|
383
|
+
return 0;
|
|
384
|
+
}
|
|
385
|
+
if (offset > this.sizeValue) {
|
|
386
|
+
return this.sizeValue;
|
|
387
|
+
}
|
|
388
|
+
return offset;
|
|
389
|
+
}
|
|
390
|
+
position(pos, adjusted) {
|
|
391
|
+
const offset = this.fixOffset(pos - this.baseValue);
|
|
392
|
+
let filename = this.nameValue;
|
|
393
|
+
let line = 0;
|
|
394
|
+
let column = 0;
|
|
395
|
+
const lineIndex = searchInts(this.linesValue, offset);
|
|
396
|
+
if (lineIndex >= 0) {
|
|
397
|
+
line = lineIndex + 1;
|
|
398
|
+
column = offset - this.linesValue[lineIndex] + 1;
|
|
399
|
+
}
|
|
400
|
+
if (adjusted && this.infosValue.length > 0) {
|
|
401
|
+
const infoIndex = searchLineInfos(this.infosValue, offset);
|
|
402
|
+
if (infoIndex >= 0) {
|
|
403
|
+
const info = this.infosValue[infoIndex];
|
|
404
|
+
filename = info.Filename;
|
|
405
|
+
const baseLineIndex = searchInts(this.linesValue, info.Offset);
|
|
406
|
+
if (baseLineIndex >= 0) {
|
|
407
|
+
const delta = line - (baseLineIndex + 1);
|
|
408
|
+
line = info.Line + delta;
|
|
409
|
+
if (info.Column === 0) {
|
|
410
|
+
column = 0;
|
|
411
|
+
}
|
|
412
|
+
else if (delta === 0) {
|
|
413
|
+
column = info.Column + (offset - info.Offset);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
return $.markAsStructValue(new Position({
|
|
419
|
+
Filename: filename,
|
|
420
|
+
Offset: offset,
|
|
421
|
+
Line: line,
|
|
422
|
+
Column: column,
|
|
423
|
+
}));
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
export class FileSet {
|
|
427
|
+
baseValue;
|
|
428
|
+
files;
|
|
429
|
+
constructor(init) {
|
|
430
|
+
this.baseValue = init?.base ?? 1;
|
|
431
|
+
this.files = init?.files?.slice() ?? [];
|
|
432
|
+
}
|
|
433
|
+
clone() {
|
|
434
|
+
return new FileSet({
|
|
435
|
+
base: this.baseValue,
|
|
436
|
+
files: this.files,
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
Base() {
|
|
440
|
+
return this.baseValue;
|
|
441
|
+
}
|
|
442
|
+
AddFile(filename, base, size) {
|
|
443
|
+
if (base < 0) {
|
|
444
|
+
base = this.baseValue;
|
|
445
|
+
}
|
|
446
|
+
if (base < this.baseValue) {
|
|
447
|
+
$.panic(`invalid base ${base}`);
|
|
448
|
+
}
|
|
449
|
+
if (size < 0) {
|
|
450
|
+
$.panic(`invalid size ${size}`);
|
|
451
|
+
}
|
|
452
|
+
const file = new File({ name: filename, base, size });
|
|
453
|
+
this.files.push(file);
|
|
454
|
+
this.files.sort((left, right) => left.Base() - right.Base());
|
|
455
|
+
this.baseValue = base + size + 1;
|
|
456
|
+
return file;
|
|
457
|
+
}
|
|
458
|
+
AddExistingFiles(...files) {
|
|
459
|
+
for (const file of files) {
|
|
460
|
+
if (file != null && !this.files.includes(file)) {
|
|
461
|
+
this.files.push(file);
|
|
462
|
+
this.baseValue = Math.max(this.baseValue, file.Base() + file.Size() + 1);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
this.files.sort((left, right) => left.Base() - right.Base());
|
|
466
|
+
}
|
|
467
|
+
RemoveFile(file) {
|
|
468
|
+
this.files = this.files.filter((candidate) => candidate !== file);
|
|
469
|
+
}
|
|
470
|
+
Iterate(yieldFile) {
|
|
471
|
+
for (const file of this.files.slice()) {
|
|
472
|
+
if (!yieldFile(file)) {
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
File(pos) {
|
|
478
|
+
if (pos === NoPos) {
|
|
479
|
+
return null;
|
|
480
|
+
}
|
|
481
|
+
return (this.files.find((file) => file.Base() <= pos && pos <= file.End()) ?? null);
|
|
482
|
+
}
|
|
483
|
+
PositionFor(pos, adjusted) {
|
|
484
|
+
const file = this.File(pos);
|
|
485
|
+
if (file === null) {
|
|
486
|
+
return new Position();
|
|
487
|
+
}
|
|
488
|
+
return file.PositionFor(pos, adjusted);
|
|
489
|
+
}
|
|
490
|
+
Position(pos) {
|
|
491
|
+
return this.PositionFor(pos, true);
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
export function NewFileSet() {
|
|
495
|
+
return new FileSet();
|
|
496
|
+
}
|
|
497
|
+
export function Pos_IsValid(pos) {
|
|
498
|
+
return pos !== NoPos;
|
|
499
|
+
}
|
|
500
|
+
export function Token_String(tok) {
|
|
501
|
+
return tokenStrings.get(tok) ?? `token(${tok})`;
|
|
502
|
+
}
|
|
503
|
+
export function Token_Precedence(tok) {
|
|
504
|
+
switch (tok) {
|
|
505
|
+
case LOR:
|
|
506
|
+
return 1;
|
|
507
|
+
case LAND:
|
|
508
|
+
return 2;
|
|
509
|
+
case EQL:
|
|
510
|
+
case NEQ:
|
|
511
|
+
case LSS:
|
|
512
|
+
case LEQ:
|
|
513
|
+
case GTR:
|
|
514
|
+
case GEQ:
|
|
515
|
+
return 3;
|
|
516
|
+
case ADD:
|
|
517
|
+
case SUB:
|
|
518
|
+
case OR:
|
|
519
|
+
case XOR:
|
|
520
|
+
return 4;
|
|
521
|
+
case MUL:
|
|
522
|
+
case QUO:
|
|
523
|
+
case REM:
|
|
524
|
+
case SHL:
|
|
525
|
+
case SHR:
|
|
526
|
+
case AND:
|
|
527
|
+
case AND_NOT:
|
|
528
|
+
return 5;
|
|
529
|
+
default:
|
|
530
|
+
return LowestPrec;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
export function Token_IsLiteral(tok) {
|
|
534
|
+
return literal_beg < tok && tok < literal_end;
|
|
535
|
+
}
|
|
536
|
+
export function Token_IsOperator(tok) {
|
|
537
|
+
return (operator_beg < tok && tok < operator_end) || tok === TILDE;
|
|
538
|
+
}
|
|
539
|
+
export function Token_IsKeyword(tok) {
|
|
540
|
+
return keyword_beg < tok && tok < keyword_end;
|
|
541
|
+
}
|
|
542
|
+
export function Lookup(ident) {
|
|
543
|
+
return keywords.get(ident) ?? IDENT;
|
|
544
|
+
}
|
|
545
|
+
export function IsExported(name) {
|
|
546
|
+
return /^\p{Lu}/u.test(name);
|
|
547
|
+
}
|
|
548
|
+
export function IsKeyword(name) {
|
|
549
|
+
return keywords.has(name);
|
|
550
|
+
}
|
|
551
|
+
export function IsIdentifier(name) {
|
|
552
|
+
if (name === '' || IsKeyword(name)) {
|
|
553
|
+
return false;
|
|
554
|
+
}
|
|
555
|
+
return /^[$_\p{L}][$_\p{L}\p{N}]*$/u.test(name);
|
|
556
|
+
}
|
|
557
|
+
function searchInts(values, offset) {
|
|
558
|
+
let low = 0;
|
|
559
|
+
let high = values.length;
|
|
560
|
+
while (low < high) {
|
|
561
|
+
const mid = Math.floor((low + high) / 2);
|
|
562
|
+
if (values[mid] > offset) {
|
|
563
|
+
high = mid;
|
|
564
|
+
}
|
|
565
|
+
else {
|
|
566
|
+
low = mid + 1;
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
return low - 1;
|
|
570
|
+
}
|
|
571
|
+
function searchLineInfos(values, offset) {
|
|
572
|
+
let low = 0;
|
|
573
|
+
let high = values.length;
|
|
574
|
+
while (low < high) {
|
|
575
|
+
const mid = Math.floor((low + high) / 2);
|
|
576
|
+
if (values[mid].Offset > offset) {
|
|
577
|
+
high = mid;
|
|
578
|
+
}
|
|
579
|
+
else {
|
|
580
|
+
low = mid + 1;
|
|
581
|
+
}
|
|
79
582
|
}
|
|
80
|
-
return
|
|
583
|
+
return low - 1;
|
|
81
584
|
}
|
|
82
585
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/go/token/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/go/token/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,4BAA4B,CAAA;AAK/C,MAAM,CAAC,MAAM,OAAO,GAAU,CAAC,CAAA;AAC/B,MAAM,CAAC,MAAM,GAAG,GAAU,CAAC,CAAA;AAC3B,MAAM,CAAC,MAAM,OAAO,GAAU,CAAC,CAAA;AAC/B,MAAM,WAAW,GAAU,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,KAAK,GAAU,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAU,CAAC,CAAA;AAC3B,MAAM,CAAC,MAAM,KAAK,GAAU,CAAC,CAAA;AAC7B,MAAM,CAAC,MAAM,IAAI,GAAU,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAU,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,MAAM,GAAU,CAAC,CAAA;AAC9B,MAAM,WAAW,GAAU,EAAE,CAAA;AAC7B,MAAM,YAAY,GAAU,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,EAAE,GAAU,EAAE,CAAA;AAC3B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,SAAS,GAAU,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,UAAU,GAAU,EAAE,CAAA;AACnC,MAAM,CAAC,MAAM,cAAc,GAAU,EAAE,CAAA;AACvC,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAU,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAU,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,CAAA;AAC9B,MAAM,YAAY,GAAU,EAAE,CAAA;AAC9B,MAAM,WAAW,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,QAAQ,GAAU,EAAE,CAAA;AACjC,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,WAAW,GAAU,EAAE,CAAA;AACpC,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,EAAE,GAAU,EAAE,CAAA;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,EAAE,GAAU,EAAE,CAAA;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAU,EAAE,CAAA;AAClC,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,CAAC,MAAM,OAAO,GAAU,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,CAAA;AAC9B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,MAAM,GAAU,EAAE,CAAA;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAU,EAAE,CAAA;AAC5B,MAAM,WAAW,GAAU,EAAE,CAAA;AAC7B,MAAM,CAAC,MAAM,KAAK,GAAU,EAAE,CAAA;AAE9B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAA;AAC3B,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAA;AAC1B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAA;AAC5B,MAAM,CAAC,MAAM,KAAK,GAAQ,CAAC,CAAA;AAE3B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAgB;IAC1C,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,GAAG,EAAE,KAAK,CAAC;IACZ,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,GAAG,EAAE,KAAK,CAAC;IACZ,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,EAAE,EAAE,GAAG,CAAC;IACT,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,OAAO,EAAE,IAAI,CAAC;IACf,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,SAAS,EAAE,IAAI,CAAC;IACjB,CAAC,UAAU,EAAE,IAAI,CAAC;IAClB,CAAC,UAAU,EAAE,KAAK,CAAC;IACnB,CAAC,UAAU,EAAE,KAAK,CAAC;IACnB,CAAC,cAAc,EAAE,KAAK,CAAC;IACvB,CAAC,IAAI,EAAE,IAAI,CAAC;IACZ,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,KAAK,EAAE,IAAI,CAAC;IACb,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,IAAI,CAAC;IACX,CAAC,MAAM,EAAE,IAAI,CAAC;IACd,CAAC,QAAQ,EAAE,KAAK,CAAC;IACjB,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,MAAM,EAAE,GAAG,CAAC;IACb,CAAC,SAAS,EAAE,GAAG,CAAC;IAChB,CAAC,KAAK,EAAE,GAAG,CAAC;IACZ,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,QAAQ,EAAE,UAAU,CAAC;IACtB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,WAAW,EAAE,aAAa,CAAC;IAC5B,CAAC,GAAG,EAAE,KAAK,CAAC;IACZ,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,EAAE,IAAI,CAAC;IACV,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,EAAE,IAAI,CAAC;IACV,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,SAAS,EAAE,WAAW,CAAC;IACxB,CAAC,GAAG,EAAE,KAAK,CAAC;IACZ,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,KAAK,EAAE,OAAO,CAAC;IAChB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,MAAM,EAAE,QAAQ,CAAC;IAClB,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,KAAK,CAAC;IACZ,CAAC,KAAK,EAAE,GAAG,CAAC;CACb,CAAC,CAAA;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAiB,CAAA;AACzC,KAAK,IAAI,GAAG,GAAG,WAAW,GAAG,CAAC,EAAE,GAAG,GAAG,WAAW,EAAE,GAAG,EAAE,EAAE,CAAC;IACzD,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAE,EAAE,GAAG,CAAC,CAAA;AAC3C,CAAC;AASD,MAAM,OAAO,QAAQ;IACnB,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAA;IACpC,CAAC;IAED,IAAW,QAAQ,CAAC,KAAa;QAC/B,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAA;IACrC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;IAClC,CAAC;IAED,IAAW,MAAM,CAAC,KAAa;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IACnC,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAA;IAChC,CAAC;IAED,IAAW,IAAI,CAAC,KAAa;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACjC,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAA;IAClC,CAAC;IAED,IAAW,MAAM,CAAC,KAAa;QAC7B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IACnC,CAAC;IAEM,OAAO,CAKb;IAED,YACE,IAKE;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;YACxC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;YACnC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;YAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;SACpC,CAAA;IACH,CAAC;IAEM,KAAK;QACV,OAAO,CAAC,CAAC,iBAAiB,CACxB,IAAI,QAAQ,CAAC;YACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CACH,CAAA;IACH,CAAC;IAEM,OAAO;QACZ,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAC/B,CAAC;IAEM,MAAM;QACX,OAAO,eAAe,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,kBAAkB,CACtC,mBAAmB,EACnB,IAAI,QAAQ,EAAE,EACd;QACE;YACE,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;SAC9D;QACD;YACE,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC;SAChE;KACF,EACD,QAAQ,EACR;QACE,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;QACpD,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;QAC/C,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;KAChD,CACF,CAAA;CACF;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAa;IAC5C,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,CAAA;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAa;IAC3C,IAAI,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAA;IACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;IACjC,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,IAAI,GAAG,CAAA;IACb,CAAC;IACD,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAA;IACrB,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnB,IAAI,IAAI,IAAI,GAAG,CAAC,MAAM,EAAE,CAAA;IAC1B,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,OAAO,IAAI;IACP,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACjB,UAAU,CAAU;IACpB,UAAU,CAAY;IAE9B,YACE,IAME;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAA;QACjC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAC9C,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,IAAI,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,KAAK,EAAE,IAAI,CAAC,UAAU;SACvB,CAAC,CAAA;IACJ,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAEM,GAAG;QACR,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;IACxC,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAA;IAC/B,CAAC;IAEM,OAAO,CAAC,MAAc;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxD,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,GAAG,MAAM,CAAC;YAC/C,MAAM,GAAG,IAAI,CAAC,SAAS,EACvB,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/C,CAAC,CAAC,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IACjC,CAAC;IAEM,KAAK;QACV,OAAO,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;IAChD,CAAC;IAEM,QAAQ,CAAC,KAAsB;QACpC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnE,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC9B,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,kBAAkB,CAAC,OAAwB;QAChD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;YACvD,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC;gBACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;YACD,IAAI,GAAG,CAAC,CAAC,CAAA;YACT,IAAI,OAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC5B,IAAI,GAAG,MAAM,GAAG,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;IACzB,CAAC;IAEM,SAAS,CAAC,IAAY;QAC3B,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC9C,CAAC,CAAC,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAA;IACnD,CAAC;IAEM,WAAW,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAY;QAC/D,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IACnD,CAAC;IAEM,iBAAiB,CACtB,MAAc,EACd,QAAgB,EAChB,IAAY,EACZ,MAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxD,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACtD,MAAM,GAAG,IAAI,CAAC,SAAS,EACvB,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,MAAM;gBACd,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,MAAM;aACf,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEM,GAAG,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;IAEM,MAAM,CAAC,GAAQ;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAC7C,CAAC;IAEM,IAAI,CAAC,GAAQ;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA;IAChC,CAAC;IAEM,WAAW,CAAC,GAAQ,EAAE,QAAiB;QAC5C,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,OAAO,IAAI,QAAQ,EAAE,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACrC,CAAC;IAEM,QAAQ,CAAC,GAAQ;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;IAEO,SAAS,CAAC,MAAc;QAC9B,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,CAAA;QACV,CAAC;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,QAAQ,CAAC,GAAQ,EAAE,QAAiB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;QACnD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAA;QAC7B,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACrD,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,IAAI,GAAG,SAAS,GAAG,CAAC,CAAA;YACpB,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAClD,CAAC;QACD,IAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;YAC1D,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;gBACvC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;gBACxB,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;gBAC9D,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;oBACvB,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,aAAa,GAAG,CAAC,CAAC,CAAA;oBACxC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;oBACxB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACtB,MAAM,GAAG,CAAC,CAAA;oBACZ,CAAC;yBAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;wBACvB,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,iBAAiB,CACxB,IAAI,QAAQ,CAAC;YACX,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM;SACf,CAAC,CACH,CAAA;IACH,CAAC;CACF;AAED,MAAM,OAAO,OAAO;IACV,SAAS,CAAQ;IACjB,KAAK,CAAQ;IAErB,YAAY,IAA+C;QACzD,IAAI,CAAC,SAAS,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IACzC,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,OAAO,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,SAAS;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;IACJ,CAAC;IAEM,IAAI;QACT,OAAO,IAAI,CAAC,SAAS,CAAA;IACvB,CAAC;IAEM,OAAO,CAAC,QAAgB,EAAE,IAAY,EAAE,IAAY;QACzD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,IAAI,GAAG,IAAI,CAAC,SAAS,CAAA;QACvB,CAAC;QACD,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAC1B,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;QACjC,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACb,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAA;QACjC,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;QACrD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAA;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IAEM,gBAAgB,CAAC,GAAG,KAAa;QACtC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;YAC1E,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAC9D,CAAC;IAEM,UAAU,CAAC,IAAU;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,IAAI,CAAC,CAAA;IACnE,CAAC;IAEM,OAAO,CAAC,SAAkC;QAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAEM,IAAI,CAAC,GAAQ;QAClB,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,OAAO,CACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAC3E,CAAA;IACH,CAAC;IAEM,WAAW,CAAC,GAAQ,EAAE,QAAiB;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,QAAQ,EAAE,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IACxC,CAAC;IAEM,QAAQ,CAAC,GAAQ;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;IACpC,CAAC;CACF;AAED,MAAM,UAAU,UAAU;IACxB,OAAO,IAAI,OAAO,EAAE,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAQ;IAClC,OAAO,GAAG,KAAK,KAAK,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAU;IACrC,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,SAAS,GAAG,GAAG,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAU;IACzC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,GAAG;YACN,OAAO,CAAC,CAAA;QACV,KAAK,IAAI;YACP,OAAO,CAAC,CAAA;QACV,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG;YACN,OAAO,CAAC,CAAA;QACV,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,EAAE,CAAC;QACR,KAAK,GAAG;YACN,OAAO,CAAC,CAAA;QACV,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,GAAG,CAAC;QACT,KAAK,OAAO;YACV,OAAO,CAAC,CAAA;QACV;YACE,OAAO,UAAU,CAAA;IACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAU;IACxC,OAAO,WAAW,GAAG,GAAG,IAAI,GAAG,GAAG,WAAW,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAU;IACzC,OAAO,CAAC,YAAY,GAAG,GAAG,IAAI,GAAG,GAAG,YAAY,CAAC,IAAI,GAAG,KAAK,KAAK,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAU;IACxC,OAAO,WAAW,GAAG,GAAG,IAAI,GAAG,GAAG,WAAW,CAAA;AAC/C,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAa;IAClC,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,IAAI,KAAK,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,UAAU,CAAC,MAAgB,EAAE,MAAc;IAClD,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAA;IACxB,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC;YACzB,IAAI,GAAG,GAAG,CAAA;QACZ,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,CAAA;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAAkB,EAAE,MAAc;IACzD,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,IAAI,GAAG,MAAM,CAAC,MAAM,CAAA;IACxB,OAAO,GAAG,GAAG,IAAI,EAAE,CAAC;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QACxC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;YAChC,IAAI,GAAG,GAAG,CAAA;QACZ,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;QACf,CAAC;IACH,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,CAAA;AAChB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as $ from '@goscript/builtin/index.js';
|
|
2
|
+
declare class FNV32 {
|
|
3
|
+
private readonly alternate;
|
|
4
|
+
private readonly magic;
|
|
5
|
+
private hash;
|
|
6
|
+
constructor(alternate: boolean, magic: Uint8Array);
|
|
7
|
+
Write(data: $.Bytes): [number, $.GoError];
|
|
8
|
+
Sum(prefix: $.Bytes | null): Promise<$.Bytes>;
|
|
9
|
+
Sum32(): number;
|
|
10
|
+
Reset(): void;
|
|
11
|
+
Size(): number;
|
|
12
|
+
BlockSize(): number;
|
|
13
|
+
AppendBinary(prefix: $.Bytes | null): [$.Bytes, $.GoError];
|
|
14
|
+
MarshalBinary(): [$.Bytes, $.GoError];
|
|
15
|
+
UnmarshalBinary(data: $.Bytes): $.GoError;
|
|
16
|
+
Clone(): [FNV32, $.GoError];
|
|
17
|
+
}
|
|
18
|
+
declare class FNV64 {
|
|
19
|
+
private readonly alternate;
|
|
20
|
+
private readonly magic;
|
|
21
|
+
private hash;
|
|
22
|
+
constructor(alternate: boolean, magic: Uint8Array);
|
|
23
|
+
Write(data: $.Bytes): [number, $.GoError];
|
|
24
|
+
Sum(prefix: $.Bytes | null): Promise<$.Bytes>;
|
|
25
|
+
Sum64(): bigint;
|
|
26
|
+
Reset(): void;
|
|
27
|
+
Size(): number;
|
|
28
|
+
BlockSize(): number;
|
|
29
|
+
AppendBinary(prefix: $.Bytes | null): [$.Bytes, $.GoError];
|
|
30
|
+
MarshalBinary(): [$.Bytes, $.GoError];
|
|
31
|
+
UnmarshalBinary(data: $.Bytes): $.GoError;
|
|
32
|
+
Clone(): [FNV64, $.GoError];
|
|
33
|
+
}
|
|
34
|
+
declare class FNV128 {
|
|
35
|
+
private readonly alternate;
|
|
36
|
+
private readonly magic;
|
|
37
|
+
private hash;
|
|
38
|
+
constructor(alternate: boolean, magic: Uint8Array);
|
|
39
|
+
Write(data: $.Bytes): [number, $.GoError];
|
|
40
|
+
Sum(prefix: $.Bytes | null): Promise<$.Bytes>;
|
|
41
|
+
Reset(): void;
|
|
42
|
+
Size(): number;
|
|
43
|
+
BlockSize(): number;
|
|
44
|
+
AppendBinary(prefix: $.Bytes | null): [$.Bytes, $.GoError];
|
|
45
|
+
MarshalBinary(): [$.Bytes, $.GoError];
|
|
46
|
+
UnmarshalBinary(data: $.Bytes): $.GoError;
|
|
47
|
+
Clone(): [FNV128, $.GoError];
|
|
48
|
+
private high;
|
|
49
|
+
private low;
|
|
50
|
+
}
|
|
51
|
+
export declare function New32(): FNV32;
|
|
52
|
+
export declare function New32a(): FNV32;
|
|
53
|
+
export declare function New64(): FNV64;
|
|
54
|
+
export declare function New64a(): FNV64;
|
|
55
|
+
export declare function New128(): FNV128;
|
|
56
|
+
export declare function New128a(): FNV128;
|
|
57
|
+
export {};
|