@voxgig/sdkgen 4.30.0 → 4.30.1
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/bin/voxgig-sdkgen +1 -1
- package/package.json +1 -1
- package/project/.sdk/src/cmp/go/PrepareAuth_go.ts +45 -11
- package/project/.sdk/src/cmp/js/PrepareAuth_js.ts +52 -6
- package/project/.sdk/src/cmp/php/PrepareAuth_php.ts +46 -14
- package/project/.sdk/src/cmp/ts/PrepareAuth_ts.ts +51 -6
- package/project/.sdk/src/cmp/ts/ReadmeQuick_ts.ts +10 -3
- package/project/.sdk/tm/c/feature/secrets/plugin/capability.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/capability.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/catalog.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/catalog.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/config.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/config.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/depend.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/depend.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/env.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/env.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/export.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/export.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/graph.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/graph.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/host.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/host.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/order.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/order.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/point.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/point.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/ref.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/ref.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/resolve.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/resolve.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/types.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/types.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/value.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/value.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/version.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugin/version.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/aws.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/azuresecrets.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/boru.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/clock.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/doppler.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/encode.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/gcpsecrets.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/hashicorp.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/httpjson.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/infisical.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/minivault.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/onepassword.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/proc.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/secretspec.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/sekretoplugins.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/sha256.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/sigv4.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/support.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/plugins/tls.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/internal.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/json.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/providers.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.c +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/sekreto.h +2 -2
- package/project/.sdk/tm/c/feature/secrets/sekreto/util.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/json.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/omni.h +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/runner.c +2 -2
- package/project/.sdk/tm/c/tests/vendor/omni/util.c +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/capability.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/catalog.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/config.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/depend.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/env.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/export.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/graph.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/host.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/json.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/order.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/point.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/ref.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/resolve.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/types.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin/version.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/plugin.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/addr.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/chain.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/core.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/json.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/aws.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/azuresecrets.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/boru.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/doppler.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/gcpsecrets.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/hashicorp.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/httpjson.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/infisical.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/minivault.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/onepassword.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/proc.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/secretspec.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/plugins/sigv4.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/provider.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto/providers.clj +2 -2
- package/project/.sdk/tm/clojure/feature/secrets/voxgig/sekreto.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/json.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/runner.clj +2 -2
- package/project/.sdk/tm/clojure/test/vendor/omni/voxgig/omni/util.clj +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/capability.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/catalog.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/config.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/config.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/depend.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/env.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/env.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/export.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/export.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/graph.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/host.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/host.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/order.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/order.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/point.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/point.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/ref.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/resolve.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/types.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/types.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/value.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/value.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/version.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugin/version.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Aws.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Azuresecrets.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Boru.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Crypto.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Doppler.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Gcpsecrets.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Hashicorp.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Httpjson.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Infisical.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Minivault.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Minivault.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Onepassword.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Proc.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Secretspec.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Sigv4.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/plugins/Tls.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Json.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Provider.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Providers.hpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.cpp +2 -2
- package/project/.sdk/tm/cpp/feature/secrets/sekreto/Sekreto.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/json.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/omni.hpp +2 -2
- package/project/.sdk/tm/cpp/test/vendor/omni/util.hpp +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Capability.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Catalog.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Config.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Definition.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Depend.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Entry.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Env.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Export.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Graph.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Host.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Inst.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Json.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Order.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Plugin.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Point.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Refs.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Resolve.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Types.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugin/Version.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Aws.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/AzureSecrets.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Boru.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Child.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Doppler.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/GcpSecrets.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Hashicorp.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/HttpJson.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Infisical.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/MiniVault.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/OnePassword.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/SecretSpec.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/plugins/Sigv4.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Json.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Providers.cs +2 -2
- package/project/.sdk/tm/csharp/feature/secrets/sekreto/Sekreto.cs +2 -2
- package/project/.sdk/tm/csharp/test/vendor/omni/Runner.cs +2 -2
- package/project/.sdk/tm/csharp/test/vendor/omni/Util.cs +2 -2
- package/project/.sdk/tm/csharp/utility/struct/Struct.cs +4 -21
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/capability.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/catalog.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/config.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/depend.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/env.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/error.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/export.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/graph.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/host.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/inst.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/json.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/order.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/point.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/ref.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/resolve.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/types.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/version.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/plugin/voxgig_plugin.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/json.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/aws.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/azuresecrets.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/boru.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/doppler.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/gcpsecrets.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/hashicorp.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/http.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/httpjson.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/infisical.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/minivault.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/onepassword.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/proc.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/secretspec.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/plugins/sigv4.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/provider.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/providers.ex +2 -2
- package/project/.sdk/tm/elixir/lib/projectname/feature/secrets/sekreto/sekreto.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/json.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/runner.ex +2 -2
- package/project/.sdk/tm/elixir/test/vendor/omni/util.ex +2 -2
- package/project/.sdk/tm/go/feature/secrets/plugin/capability.go +2 -62
- package/project/.sdk/tm/go/feature/secrets/plugin/catalog.go +1 -20
- package/project/.sdk/tm/go/feature/secrets/plugin/config.go +18 -94
- package/project/.sdk/tm/go/feature/secrets/plugin/depend.go +1 -97
- package/project/.sdk/tm/go/feature/secrets/plugin/env.go +4 -44
- package/project/.sdk/tm/go/feature/secrets/plugin/export.go +1 -13
- package/project/.sdk/tm/go/feature/secrets/plugin/graph.go +1 -40
- package/project/.sdk/tm/go/feature/secrets/plugin/host.go +11 -301
- package/project/.sdk/tm/go/feature/secrets/plugin/order.go +1 -41
- package/project/.sdk/tm/go/feature/secrets/plugin/point.go +7 -56
- package/project/.sdk/tm/go/feature/secrets/plugin/ref.go +1 -24
- package/project/.sdk/tm/go/feature/secrets/plugin/resolve.go +1 -24
- package/project/.sdk/tm/go/feature/secrets/plugin/types.go +6 -116
- package/project/.sdk/tm/go/feature/secrets/plugin/util.go +1 -11
- package/project/.sdk/tm/go/feature/secrets/plugin/version.go +1 -30
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/aws.go +2 -17
- package/project/.sdk/tm/go/feature/secrets/plugins/aws/sigv4.go +4 -29
- package/project/.sdk/tm/go/feature/secrets/plugins/azuresecrets/azuresecrets.go +2 -13
- package/project/.sdk/tm/go/feature/secrets/plugins/boru/boru.go +2 -26
- package/project/.sdk/tm/go/feature/secrets/plugins/doppler/doppler.go +2 -8
- package/project/.sdk/tm/go/feature/secrets/plugins/gcpsecrets/gcpsecrets.go +2 -13
- package/project/.sdk/tm/go/feature/secrets/plugins/hashicorp/hashicorp.go +2 -16
- package/project/.sdk/tm/go/feature/secrets/plugins/httpjson/httpjson.go +2 -60
- package/project/.sdk/tm/go/feature/secrets/plugins/infisical/infisical.go +2 -8
- package/project/.sdk/tm/go/feature/secrets/plugins/minivault/format.go +2 -62
- package/project/.sdk/tm/go/feature/secrets/plugins/minivault/minivault.go +7 -184
- package/project/.sdk/tm/go/feature/secrets/plugins/onepassword/onepassword.go +2 -8
- package/project/.sdk/tm/go/feature/secrets/plugins/secretspec/secretspec.go +2 -36
- package/project/.sdk/tm/go/feature/secrets/sekreto/addr.go +2 -47
- package/project/.sdk/tm/go/feature/secrets/sekreto/providers.go +43 -170
- package/project/.sdk/tm/go/feature/secrets/sekreto/sekreto.go +4 -123
- package/project/.sdk/tm/go/test/omni/omni.go +2 -36
- package/project/.sdk/tm/go/test/omni/util.go +2 -17
- package/project/.sdk/tm/go/test/pipeline_test.go +4 -1
- package/project/.sdk/tm/go/utility/struct/voxgigstruct.go +11 -201
- package/project/.sdk/tm/java/feature/secrets/plugin/Capability.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Catalog.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Config.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Definition.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Depend.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Entry.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Env.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Export.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Graph.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Host.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Inst.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Json.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Order.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Plugin.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/PluginException.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Point.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Refs.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Resolve.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Types.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/plugin/Version.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Addr.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Builtins.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Json.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Provider.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Sekreto.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/Support.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Aws.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Azuresecrets.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Boru.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Doppler.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Gcpsecrets.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Hashicorp.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Httpjson.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Infisical.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Minivault.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Onepassword.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Proc.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Secretspec.java +2 -2
- package/project/.sdk/tm/java/feature/secrets/sekreto/plugins/Sigv4.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Json.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Runner.java +2 -2
- package/project/.sdk/tm/java/test/vendor/omni/Util.java +2 -2
- package/project/.sdk/tm/java/utility/struct/Struct.java +1 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/capability.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/catalog.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/config.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/depend.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/env.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/export.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/graph.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/host.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/index.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/order.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/point.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/ref.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/resolve.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/types.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/plugin/version.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/Sekreto.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/index.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/aws.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/azuresecrets.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/boru.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/doppler.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/gcpsecrets.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/hashicorp.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/httpjson.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/infisical.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/minivault.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/onepassword.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/secretspec.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/plugins/sigv4.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/addr.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/builtin.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/dotenv.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/env.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/file.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/memory.js +2 -2
- package/project/.sdk/tm/js/src/feature/secrets/sekreto/provider/support.js +2 -2
- package/project/.sdk/tm/js/src/utility/StructUtility.js +1 -2
- package/project/.sdk/tm/js/test/pipeline.test.js +9 -1
- package/project/.sdk/tm/js/test/vendor/omni/index.js +1 -1
- package/project/.sdk/tm/js/test/vendor/omni/runner.js +1 -1
- package/project/.sdk/tm/js/test/vendor/omni/util.js +1 -1
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Capability.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Catalog.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Config.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Depend.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Env.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Export.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Graph.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Host.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Json.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Order.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Plugin.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Point.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Refs.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Resolve.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Types.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/plugin/Version.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Json.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Provider.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Providers.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Sekreto.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Spec.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/Support.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Aws.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Azuresecrets.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Boru.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Doppler.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Gcpsecrets.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Hashicorp.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Httpjson.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Infisical.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Minivault.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Onepassword.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Secretspec.kt +2 -2
- package/project/.sdk/tm/kotlin/feature/secrets/sekreto/plugins/Sigv4.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Json.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Runner.kt +2 -2
- package/project/.sdk/tm/kotlin/test/vendor/omni/Util.kt +2 -2
- package/project/.sdk/tm/kotlin/utility/struct/Struct.kt +1 -1
- package/project/.sdk/tm/lua/feature/secrets/native/sekretonet.c +2 -2
- package/project/.sdk/tm/lua/feature/secrets/native/sekretovault.c +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/capability.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/catalog.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/config.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/depend.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/env.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/export.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/graph.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/host.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/json.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/order.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/point.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/ref.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/resolve.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/types.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin/version.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/plugin.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/addr.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/err.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/name.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/aws.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/azuresecrets.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/boru.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/crypto.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/doppler.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/gcpsecrets.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/hashicorp.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/httpjson.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/infisical.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/json.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/minivault.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/net.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/onepassword.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/secretspec.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/sigv4.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/plugins/support.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto/providers.lua +2 -2
- package/project/.sdk/tm/lua/feature/secrets/sekreto.lua +2 -2
- package/project/.sdk/tm/lua/test/pipeline_test.lua +3 -1
- package/project/.sdk/tm/lua/test/vendor/omni/json.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/regex.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/runner.lua +2 -2
- package/project/.sdk/tm/lua/test/vendor/omni/util.lua +2 -2
- package/project/.sdk/tm/lua/utility/struct/regex.lua +1 -1
- package/project/.sdk/tm/lua/utility/struct/struct.lua +1 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/capability.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/catalog.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/config.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/defs.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/depend.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/env.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/export.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/graph.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/host.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/order.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/point.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/ref.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/resolve.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/types.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/value.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugin/version.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/aws.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/azuresecrets.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/boru.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/crypto.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/doppler.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/gcpsecrets.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/hashicorp.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/http.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/httpjson.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/infisical.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/minivault.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/minivault_stubs.c +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/onepassword.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/runcmd.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/secretspec.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/sigv4.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/plugins/tls_stubs.c +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/json.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/provider.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/secret.ml +2 -2
- package/project/.sdk/tm/ocaml/feature/secrets/sekreto/sekreto.ml +2 -2
- package/project/.sdk/tm/ocaml/test/vendor/omni/omni.ml +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Capability.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Catalog.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Config.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Depend.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Env.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Export.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Graph.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Host.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Order.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Point.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Ref.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Resolve.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Types.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin/Version.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugin/Voxgig/Plugin.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Aws.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Azuresecrets.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Boru.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Doppler.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Gcpsecrets.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Hashicorp.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Httpjson.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Infisical.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Minivault.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Onepassword.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Proc.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Secretspec.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/plugins/Voxgig/Sekreto/Plugins/Sigv4.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Addr.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto/Providers.pm +2 -2
- package/project/.sdk/tm/perl/feature/secrets/sekreto/Voxgig/Sekreto.pm +2 -2
- package/project/.sdk/tm/perl/lib/Voxgig/Struct.pm +8 -3
- package/project/.sdk/tm/perl/t/pipeline.t +3 -1
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Runner.pm +1 -1
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni/Util.pm +1 -1
- package/project/.sdk/tm/perl/t/vendor/omni/Voxgig/Omni.pm +1 -1
- package/project/.sdk/tm/php/feature/secrets/plugin/Capability.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Catalog.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Config.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Depend.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Env.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Export.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Graph.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Host.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Order.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Point.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Ref.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Resolve.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Types.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/Version.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/plugin/plugin.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/aws.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/azuresecrets.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/boru.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/doppler.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/gcpsecrets.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/hashicorp.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/httpjson.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/infisical.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/minivault.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/onepassword.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/runcmd.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/secretspec.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/plugins/sigv4.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Addr.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Providers.php +2 -2
- package/project/.sdk/tm/php/feature/secrets/sekreto/src/Sekreto.php +2 -2
- package/project/.sdk/tm/php/test/PipelineTest.php +7 -2
- package/project/.sdk/tm/php/test/vendor/omni/Runner.php +2 -2
- package/project/.sdk/tm/php/test/vendor/omni/Util.php +2 -2
- package/project/.sdk/tm/php/utility/struct/Struct.php +0 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/__init__.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/capability.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/catalog.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/config.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/depend.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/env.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/export.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/graph.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/host.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/order.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/point.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/ref.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/resolve.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/types.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_plugin/version.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/__init__.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/addr.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/aws.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/azuresecrets.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/boru.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/doppler.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/hashicorp.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/httpjson.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/infisical.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/minivault.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/onepassword.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/secretspec.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/plugins/sigv4.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/providers.py +1 -1
- package/project/.sdk/tm/py/pkg/feature/secrets/voxgig_sekreto/sekreto.py +1 -1
- package/project/.sdk/tm/py/pkg/utility/voxgig_struct/voxgig_struct.py +1 -2
- package/project/.sdk/tm/py/test/test_pipeline.py +3 -1
- package/project/.sdk/tm/py/test/voxgig_omni/__init__.py +1 -1
- package/project/.sdk/tm/py/test/voxgig_omni/runner.py +1 -1
- package/project/.sdk/tm/py/test/voxgig_omni/util.py +1 -1
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/capability.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/catalog.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/config.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/depend.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/env.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/export.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/graph.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/host.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/order.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/point.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/ref.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/resolve.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/types.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin/version.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_plugin.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/addr.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/aws.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/azuresecrets.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/boru.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/doppler.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/gcpsecrets.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/hashicorp.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/httpjson.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/infisical.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/minivault.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/onepassword.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/secretspec.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/plugins/sigv4.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/providers.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto/sekreto.rb +2 -2
- package/project/.sdk/tm/rb/feature/secrets/voxgig_sekreto.rb +2 -2
- package/project/.sdk/tm/rb/test/pipeline_test.rb +3 -1
- package/project/.sdk/tm/rb/test/vendor/omni/runner.rb +2 -2
- package/project/.sdk/tm/rb/test/vendor/omni/util.rb +2 -2
- package/project/.sdk/tm/rb/test/vendor/omni/voxgig_omni.rb +2 -2
- package/project/.sdk/tm/rb/utility/struct/voxgig_struct.rb +0 -1
- package/project/.sdk/tm/rust/feature/secrets/plugin/capability.rs +2 -43
- package/project/.sdk/tm/rust/feature/secrets/plugin/catalog.rs +2 -10
- package/project/.sdk/tm/rust/feature/secrets/plugin/config.rs +12 -57
- package/project/.sdk/tm/rust/feature/secrets/plugin/depend.rs +2 -83
- package/project/.sdk/tm/rust/feature/secrets/plugin/env.rs +2 -35
- package/project/.sdk/tm/rust/feature/secrets/plugin/export.rs +2 -13
- package/project/.sdk/tm/rust/feature/secrets/plugin/graph.rs +2 -27
- package/project/.sdk/tm/rust/feature/secrets/plugin/host.rs +2 -173
- package/project/.sdk/tm/rust/feature/secrets/plugin/mod.rs +2 -2
- package/project/.sdk/tm/rust/feature/secrets/plugin/order.rs +2 -40
- package/project/.sdk/tm/rust/feature/secrets/plugin/point.rs +2 -31
- package/project/.sdk/tm/rust/feature/secrets/plugin/refs.rs +2 -28
- package/project/.sdk/tm/rust/feature/secrets/plugin/resolve.rs +2 -14
- package/project/.sdk/tm/rust/feature/secrets/plugin/types.rs +2 -28
- package/project/.sdk/tm/rust/feature/secrets/plugin/value.rs +2 -29
- package/project/.sdk/tm/rust/feature/secrets/plugin/version.rs +2 -21
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/crypto.rs +3 -18
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws/sigv4.rs +2 -24
- package/project/.sdk/tm/rust/feature/secrets/plugins/aws.rs +2 -21
- package/project/.sdk/tm/rust/feature/secrets/plugins/azuresecrets.rs +2 -13
- package/project/.sdk/tm/rust/feature/secrets/plugins/boru.rs +2 -28
- package/project/.sdk/tm/rust/feature/secrets/plugins/doppler.rs +2 -8
- package/project/.sdk/tm/rust/feature/secrets/plugins/gcpsecrets.rs +2 -13
- package/project/.sdk/tm/rust/feature/secrets/plugins/hashicorp.rs +2 -16
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/http.rs +2 -92
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson/json.rs +2 -8
- package/project/.sdk/tm/rust/feature/secrets/plugins/httpjson.rs +2 -31
- package/project/.sdk/tm/rust/feature/secrets/plugins/infisical.rs +2 -8
- package/project/.sdk/tm/rust/feature/secrets/plugins/minivault/format.rs +2 -58
- package/project/.sdk/tm/rust/feature/secrets/plugins/minivault.rs +3 -139
- package/project/.sdk/tm/rust/feature/secrets/plugins/onepassword.rs +2 -8
- package/project/.sdk/tm/rust/feature/secrets/plugins/secretspec.rs +2 -39
- package/project/.sdk/tm/rust/feature/secrets/sekreto/addr.rs +2 -54
- package/project/.sdk/tm/rust/feature/secrets/sekreto/mod.rs +2 -31
- package/project/.sdk/tm/rust/feature/secrets/sekreto/providers.rs +2 -129
- package/project/.sdk/tm/rust/feature/secrets/sekreto/sekreto.rs +2 -101
- package/project/.sdk/tm/rust/tests/vendor/omni/json.rs +2 -8
- package/project/.sdk/tm/rust/tests/vendor/omni/mod.rs +3 -19
- package/project/.sdk/tm/rust/tests/vendor/omni/regex.rs +2 -12
- package/project/.sdk/tm/rust/tests/vendor/omni/runner.rs +2 -64
- package/project/.sdk/tm/rust/tests/vendor/omni/util.rs +2 -7
- package/project/.sdk/tm/scala/feature/secrets/plugin/Capability.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Config.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Depend.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Env.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Export.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Graph.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Host.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Json.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Order.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Plugin.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Point.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Refs.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Resolve.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Types.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Value.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/plugin/Version.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Json.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Provider.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Providers.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Sekreto.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Spec.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/Support.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Aws.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Azuresecrets.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Boru.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Doppler.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Gcpsecrets.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Hashicorp.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Httpjson.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Infisical.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Minivault.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Onepassword.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Secretspec.scala +2 -2
- package/project/.sdk/tm/scala/feature/secrets/sekreto/plugins/Sigv4.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Json.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Runner.scala +2 -2
- package/project/.sdk/tm/scala/sdktest/vendor/omni/Util.scala +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Capability.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Catalog.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Config.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Depend.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Env.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Export.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Graph.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Host.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Json.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Order.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Point.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Refs.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Resolve.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Types.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Value.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugin/Version.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Aws.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Azuresecrets.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Boru.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Crypto.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Doppler.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Gcpsecrets.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Hashicorp.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Httpjson.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Infisical.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Onepassword.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Proc.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Secretspec.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/plugins/Sigv4.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Addr.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Json.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Provider.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Providers.swift +2 -2
- package/project/.sdk/tm/swift/Sources/ProjectNameSDK/feature/secrets/sekreto/Sekreto.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Json.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Runner.swift +2 -2
- package/project/.sdk/tm/swift/Tests/vendor/omni/Util.swift +2 -2
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Capability.ts +1 -48
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Catalog.ts +1 -7
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Config.ts +17 -77
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Depend.ts +1 -89
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Env.ts +1 -37
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Export.ts +1 -23
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/FeatureHost.ts +1 -178
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Graph.ts +1 -44
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Host.ts +4 -351
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Order.ts +1 -53
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Point.ts +2 -40
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Ref.ts +1 -31
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Resolve.ts +1 -20
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Types.ts +1 -44
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/Version.ts +1 -34
- package/project/.sdk/tm/ts/src/feature/secrets/plugin/index.ts +1 -5
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/Sekreto.ts +2 -131
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/index.ts +1 -21
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/aws.ts +1 -16
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/azuresecrets.ts +1 -12
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/boru.ts +1 -27
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/doppler.ts +1 -7
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/gcpsecrets.ts +1 -12
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/hashicorp.ts +1 -15
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/httpjson.ts +1 -35
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/infisical.ts +1 -7
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/minivault.ts +1 -212
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/onepassword.ts +1 -7
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/secretspec.ts +1 -23
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/plugins/sigv4.ts +2 -32
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/addr.ts +1 -45
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/builtin.ts +1 -10
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/dotenv.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/env.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/file.ts +1 -9
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/memory.ts +1 -1
- package/project/.sdk/tm/ts/src/feature/secrets/sekreto/provider/support.ts +1 -108
- package/project/.sdk/tm/ts/src/utility/StructUtility.ts +35 -393
- package/project/.sdk/tm/ts/test/pipeline.test.ts +3 -1
- package/project/.sdk/tm/ts/test/vendor/omni/Runner.ts +1 -59
- package/project/.sdk/tm/ts/test/vendor/omni/Util.ts +1 -19
- package/project/.sdk/tm/ts/test/vendor/omni/index.ts +1 -1
- package/project/.sdk/tm/zig/feature/secrets/plugin/capability.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/catalog.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/config.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/depend.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/env.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/export.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/graph.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/host.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/inst.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/order.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/plugin.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/point.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/ref.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/resolve.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/types.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/value.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugin/version.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/aws.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/azuresecrets.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/boru.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/doppler.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/gcpsecrets.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/hashicorp.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/httpjson.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/infisical.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/minivault.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/onepassword.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/secretspec.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/plugins/sigv4.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/sekreto/addr.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/sekreto/builtins.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/sekreto/provider.zig +2 -2
- package/project/.sdk/tm/zig/feature/secrets/sekreto/sekreto.zig +2 -2
- package/project/.sdk/tm/zig/test/vendor/omni/omni.zig +2 -2
- package/project/.sdk/tm/zig/test/vendor/omni/regex.zig +2 -2
- package/project/.sdk/tm/zig/utility/voxgigstruct/regex.zig +2 -2
- package/project/.sdk/tm/zig/utility/voxgigstruct/struct.zig +2 -2
- package/project/sdkgen-package.json +1 -1
|
@@ -1,61 +1,8 @@
|
|
|
1
1
|
// VENDORED: @voxgig/struct 0.3.4 (typescript/src/StructUtility.ts)
|
|
2
|
-
// Source: https://github.com/voxgig/struct @
|
|
2
|
+
// Source: https://github.com/voxgig/struct @ 3a42881b1d26c75ebbed9f1897f0ba94cf3cf780 [tag: sdk-20260925-1316-0]
|
|
3
3
|
// License: MIT (c) voxgig - see repository LICENSE. Do not edit: resync from upstream.
|
|
4
4
|
/* Copyright (c) 2025-2026 Voxgig Ltd. MIT LICENSE. */
|
|
5
5
|
|
|
6
|
-
// VERSION: @voxgig/struct 0.3.6
|
|
7
|
-
|
|
8
|
-
/* Voxgig Struct
|
|
9
|
-
* =============
|
|
10
|
-
*
|
|
11
|
-
* Utility functions to manipulate in-memory JSON-like data
|
|
12
|
-
* structures. These structures assumed to be composed of nested
|
|
13
|
-
* "nodes", where a node is a list or map, and has named or indexed
|
|
14
|
-
* fields. The general design principle is "by-example". Transform
|
|
15
|
-
* specifications mirror the desired output. This implementation is
|
|
16
|
-
* designed for porting to multiple language, and to be tolerant of
|
|
17
|
-
* undefined values.
|
|
18
|
-
*
|
|
19
|
-
* Main utilities
|
|
20
|
-
* - getpath: get the value at a key path deep inside an object.
|
|
21
|
-
* - merge: merge multiple nodes, overriding values in earlier nodes.
|
|
22
|
-
* - walk: walk a node tree, applying a function at each node and leaf.
|
|
23
|
-
* - inject: inject values from a data store into a new data structure.
|
|
24
|
-
* - transform: transform a data structure to an example structure.
|
|
25
|
-
* - validate: valiate a data structure against a shape specification.
|
|
26
|
-
*
|
|
27
|
-
* Minor utilities
|
|
28
|
-
* - isnode, islist, ismap, iskey, isfunc: identify value kinds.
|
|
29
|
-
* - isempty: undefined values, or empty nodes.
|
|
30
|
-
* - keysof: sorted list of node keys (ascending).
|
|
31
|
-
* - haskey: true if key value is defined.
|
|
32
|
-
* - clone: create a copy of a JSON-like data structure.
|
|
33
|
-
* - items: list entries of a map or list as [key, value] pairs.
|
|
34
|
-
* - getprop: safely get a property value by key.
|
|
35
|
-
* - setprop: safely set a property value by key.
|
|
36
|
-
* - stringify: human-friendly string version of a value.
|
|
37
|
-
* - escre: escape a regular expresion string.
|
|
38
|
-
* - escurl: escape a url.
|
|
39
|
-
* - join: join parts of a url, merging forward slashes.
|
|
40
|
-
*
|
|
41
|
-
* This set of functions and supporting utilities is designed to work
|
|
42
|
-
* uniformly across many languages, meaning that some code that may be
|
|
43
|
-
* functionally redundant in specific languages is still retained to
|
|
44
|
-
* keep the code human comparable.
|
|
45
|
-
*
|
|
46
|
-
* NOTE: Lists are assumed to be mutable and reference stable.
|
|
47
|
-
*
|
|
48
|
-
* NOTE: In this code JSON nulls are in general *not* considered the
|
|
49
|
-
* same as the undefined value in the given language. However most
|
|
50
|
-
* JSON parsers do use the undefined value to represent JSON
|
|
51
|
-
* null. This is ambiguous as JSON null is a separate value, not an
|
|
52
|
-
* undefined value. You should convert such values to a special value
|
|
53
|
-
* to represent JSON null, if this ambiguity creates issues
|
|
54
|
-
* (thankfully in most APIs, JSON nulls are not used). For example,
|
|
55
|
-
* the unit tests use the string "__NULL__" where necessary.
|
|
56
|
-
*
|
|
57
|
-
*/
|
|
58
|
-
|
|
59
6
|
// String constants are explicitly defined.
|
|
60
7
|
|
|
61
8
|
// Mode value for inject step (bitfield).
|
|
@@ -63,7 +10,6 @@ const M_KEYPRE = 1
|
|
|
63
10
|
const M_KEYPOST = 2
|
|
64
11
|
const M_VAL = 4
|
|
65
12
|
|
|
66
|
-
// Special strings.
|
|
67
13
|
const S_BKEY = '`$KEY`'
|
|
68
14
|
const S_BANNO = '`$ANNO`'
|
|
69
15
|
const S_BEXACT = '`$EXACT`'
|
|
@@ -74,7 +20,6 @@ const S_DTOP = '$TOP'
|
|
|
74
20
|
const S_DERRS = '$ERRS'
|
|
75
21
|
const S_DSPEC = '$SPEC'
|
|
76
22
|
|
|
77
|
-
// General strings.
|
|
78
23
|
const S_list = 'list'
|
|
79
24
|
const S_base = 'base'
|
|
80
25
|
const S_boolean = 'boolean'
|
|
@@ -94,7 +39,6 @@ const S_map = 'map'
|
|
|
94
39
|
const S_scalar = 'scalar'
|
|
95
40
|
const S_node = 'node'
|
|
96
41
|
|
|
97
|
-
// Character strings.
|
|
98
42
|
const S_BT = '`'
|
|
99
43
|
const S_CN = ':'
|
|
100
44
|
const S_CS = ']'
|
|
@@ -108,7 +52,6 @@ const S_SP = ' '
|
|
|
108
52
|
const S_CM = ','
|
|
109
53
|
const S_VIZ = ': '
|
|
110
54
|
|
|
111
|
-
// Types
|
|
112
55
|
let t = 31
|
|
113
56
|
const T_any = (1 << t--) - 1
|
|
114
57
|
const T_noval = 1 << t-- // Means property absent, undefined. Also NOT a scalar!
|
|
@@ -119,7 +62,7 @@ const T_number = 1 << t--
|
|
|
119
62
|
const T_string = 1 << t--
|
|
120
63
|
const T_function = 1 << t--
|
|
121
64
|
const T_symbol = 1 << t--
|
|
122
|
-
const T_null = 1 << t--
|
|
65
|
+
const T_null = 1 << t--
|
|
123
66
|
t -= 7
|
|
124
67
|
const T_list = 1 << t--
|
|
125
68
|
const T_map = 1 << t--
|
|
@@ -160,25 +103,22 @@ const TYPENAME = [
|
|
|
160
103
|
// The standard undefined value for this language.
|
|
161
104
|
const NONE = undefined
|
|
162
105
|
|
|
163
|
-
// Private markers
|
|
164
106
|
const SKIP = { '`$SKIP`': true }
|
|
165
107
|
const DELETE = { '`$DELETE`': true }
|
|
166
108
|
|
|
167
|
-
|
|
168
|
-
const R_INTEGER_KEY = /^[-0-9]+$/ // Match integer keys (including <0).
|
|
109
|
+
const R_INTEGER_KEY = /^[-0-9]+$/
|
|
169
110
|
const R_ESCAPE_REGEXP = /[.*+?^${}()|[\]\\]/g // Chars that need escaping in regexp.
|
|
170
|
-
const R_QUOTES = /"/g
|
|
171
|
-
const R_DOT = /\./g
|
|
172
|
-
const R_CLONE_REF = /^`\$REF:([0-9]+)`$/
|
|
173
|
-
const R_META_PATH = /^([^$]+)\$([=~])(.+)$/
|
|
174
|
-
const R_DOUBLE_DOLLAR = /\$\$/g
|
|
175
|
-
const R_TRANSFORM_NAME = /`\$([A-Z]+)`/g
|
|
176
|
-
const R_INJECTION_FULL = /^`(\$[A-Z]+|[^`]*)[0-9]*`$/
|
|
177
|
-
const R_BT_ESCAPE = /\$BT/g
|
|
178
|
-
const R_DS_ESCAPE = /\$DS/g
|
|
179
|
-
const R_INJECTION_PARTIAL = /`([^`]+)`/g
|
|
180
|
-
|
|
181
|
-
// Default max depth (for walk etc).
|
|
111
|
+
const R_QUOTES = /"/g
|
|
112
|
+
const R_DOT = /\./g
|
|
113
|
+
const R_CLONE_REF = /^`\$REF:([0-9]+)`$/
|
|
114
|
+
const R_META_PATH = /^([^$]+)\$([=~])(.+)$/
|
|
115
|
+
const R_DOUBLE_DOLLAR = /\$\$/g
|
|
116
|
+
const R_TRANSFORM_NAME = /`\$([A-Z]+)`/g
|
|
117
|
+
const R_INJECTION_FULL = /^`(\$[A-Z]+|[^`]*)[0-9]*`$/
|
|
118
|
+
const R_BT_ESCAPE = /\$BT/g
|
|
119
|
+
const R_DS_ESCAPE = /\$DS/g
|
|
120
|
+
const R_INJECTION_PARTIAL = /`([^`]+)`/g
|
|
121
|
+
|
|
182
122
|
const MAXDEPTH = 32
|
|
183
123
|
|
|
184
124
|
// Keys are strings for maps, or integers for lists.
|
|
@@ -187,36 +127,21 @@ type PropKey = string | number
|
|
|
187
127
|
// Type that can be indexed by both string and number keys.
|
|
188
128
|
type Indexable = { [key: string]: any } & { [key: number]: any }
|
|
189
129
|
|
|
190
|
-
// For each key in a node (map or list), perform value injections in
|
|
191
|
-
// three phases: on key value, before child, and then on key value again.
|
|
192
|
-
// This mode is passed via the Injection structure.
|
|
193
130
|
type InjectMode = number
|
|
194
131
|
|
|
195
132
|
// Handle value injections using backtick escape sequences:
|
|
196
133
|
// - `a.b.c`: insert value at {a:{b:{c:1}}}
|
|
197
134
|
// - `$FOO`: apply transform FOO
|
|
198
135
|
type Injector = (
|
|
199
|
-
inj: Injection,
|
|
200
|
-
val: any,
|
|
136
|
+
inj: Injection,
|
|
137
|
+
val: any,
|
|
201
138
|
ref: string, // Original injection reference string.
|
|
202
|
-
store: any,
|
|
139
|
+
store: any,
|
|
203
140
|
) => any
|
|
204
141
|
|
|
205
142
|
// Apply a custom modification to injections.
|
|
206
|
-
type Modify = (
|
|
207
|
-
|
|
208
|
-
key?: PropKey, // Value key, if any,
|
|
209
|
-
parent?: any, // Parent node, if any.
|
|
210
|
-
inj?: Injection, // Injection state, if any.
|
|
211
|
-
store?: any, // Store, if any
|
|
212
|
-
) => void
|
|
213
|
-
|
|
214
|
-
// Function applied to each node and leaf when walking a node structure depth first.
|
|
215
|
-
// For {a:{b:1}} the call sequence args will be: b, 1, {b:1}, [a,b].
|
|
216
|
-
// NOTE: the `path` array passed to the callback is reused across calls during
|
|
217
|
-
// a single walk (one shared array per depth). It is valid only for the
|
|
218
|
-
// duration of the callback invocation. If a callback needs to retain the
|
|
219
|
-
// path, it MUST clone it (e.g. `path.slice()`).
|
|
143
|
+
type Modify = (val: any, key?: PropKey, parent?: any, inj?: Injection, store?: any) => void
|
|
144
|
+
|
|
220
145
|
type WalkApply = (
|
|
221
146
|
// Map keys are strings, list keys are numbers, top key is NONE
|
|
222
147
|
key: string | number | undefined,
|
|
@@ -271,7 +196,6 @@ function isempty(val: any) {
|
|
|
271
196
|
)
|
|
272
197
|
}
|
|
273
198
|
|
|
274
|
-
// Value is a function.
|
|
275
199
|
function isfunc(val: any): val is (...args: any[]) => any {
|
|
276
200
|
return S_function === typeof val
|
|
277
201
|
}
|
|
@@ -298,13 +222,6 @@ function size(val: any): number {
|
|
|
298
222
|
}
|
|
299
223
|
}
|
|
300
224
|
|
|
301
|
-
// Extract part of an array or string into a new value, from the start
|
|
302
|
-
// point to the end point. If no end is specified, extract to the
|
|
303
|
-
// full length of the value. Negative arguments count from the end of
|
|
304
|
-
// the value. For numbers, perform min and max bounding, where start
|
|
305
|
-
// is inclusive, and end is *exclusive*.
|
|
306
|
-
// NOTE: input lists are not mutated by default. Use the mutate
|
|
307
|
-
// argument to mutate lists in place.
|
|
308
225
|
function slice<V>(val: V, start?: number, end?: number, mutate?: boolean): V {
|
|
309
226
|
if (S_number === typeof val) {
|
|
310
227
|
start = null == start || S_number !== typeof start ? Number.MIN_SAFE_INTEGER : start
|
|
@@ -367,7 +284,6 @@ function slice<V>(val: V, start?: number, end?: number, mutate?: boolean): V {
|
|
|
367
284
|
return val
|
|
368
285
|
}
|
|
369
286
|
|
|
370
|
-
// String padding.
|
|
371
287
|
function pad(str: any, padding?: number, padchar?: string): string {
|
|
372
288
|
str = S_string === typeof str ? str : stringify(str)
|
|
373
289
|
padding = null == padding ? 44 : padding
|
|
@@ -536,11 +452,6 @@ function items(val: any, apply?: (item: [string, any]) => any): any[] {
|
|
|
536
452
|
return out
|
|
537
453
|
}
|
|
538
454
|
|
|
539
|
-
// To replicate the array spread operator:
|
|
540
|
-
// a=1, b=[2,3], c=[4,5]
|
|
541
|
-
// [a,...b,c] -> [1,2,3,[4,5]]
|
|
542
|
-
// flatten([a,b,[c]]) -> [1,2,3,[4,5]]
|
|
543
|
-
// NOTE: [c] ensures c is not expanded
|
|
544
455
|
function flatten(list: any[], depth?: number) {
|
|
545
456
|
if (!islist(list)) {
|
|
546
457
|
return list
|
|
@@ -561,7 +472,6 @@ function filter(val: any, check: (item: [string, any]) => boolean): any[] {
|
|
|
561
472
|
return out
|
|
562
473
|
}
|
|
563
474
|
|
|
564
|
-
// Escape regular expression.
|
|
565
475
|
function escre(s: string) {
|
|
566
476
|
return re_replace(R_ESCAPE_REGEXP, s, '\\$&')
|
|
567
477
|
}
|
|
@@ -571,7 +481,6 @@ function re_escape(s: string) {
|
|
|
571
481
|
return escre(s)
|
|
572
482
|
}
|
|
573
483
|
|
|
574
|
-
// Escape URLs.
|
|
575
484
|
function escurl(s: string) {
|
|
576
485
|
s = null == s ? S_MT : s
|
|
577
486
|
return encodeURIComponent(s)
|
|
@@ -583,8 +492,6 @@ function escurl(s: string) {
|
|
|
583
492
|
// uses these helpers instead of host-language regex methods directly.
|
|
584
493
|
// ===========================================================================
|
|
585
494
|
|
|
586
|
-
// Compile a regex (or return as-is if already compiled). Cached behaviour is
|
|
587
|
-
// up to the port; in TS we just construct a RegExp.
|
|
588
495
|
function re_compile(pattern: string | RegExp, flags?: string): RegExp {
|
|
589
496
|
if (pattern instanceof RegExp) {
|
|
590
497
|
return pattern
|
|
@@ -640,7 +547,6 @@ function re_replace(
|
|
|
640
547
|
return input.replace(re, replacement)
|
|
641
548
|
}
|
|
642
549
|
|
|
643
|
-
// Boolean test for any match.
|
|
644
550
|
function re_test(pattern: string | RegExp, input: string): boolean {
|
|
645
551
|
const re = pattern instanceof RegExp ? pattern : new RegExp(pattern)
|
|
646
552
|
return re.test(input)
|
|
@@ -703,9 +609,6 @@ function join(arr: any[], sep?: string, url?: boolean) {
|
|
|
703
609
|
return out
|
|
704
610
|
}
|
|
705
611
|
|
|
706
|
-
// Output JSON in a "standard" format, with 2 space indents, each property on a new line,
|
|
707
|
-
// and spaces after {[: and before ]}. Any "wierd" values (NaN, etc) are output as null.
|
|
708
|
-
// In general, the behaivor of of JavaScript's JSON.stringify(val,null,2) is followed.
|
|
709
612
|
function jsonify(val: any, flags?: { indent?: number; offset?: number }) {
|
|
710
613
|
let str = S_null
|
|
711
614
|
|
|
@@ -904,26 +807,11 @@ function jt(...v: any[]): any[] {
|
|
|
904
807
|
return a
|
|
905
808
|
}
|
|
906
809
|
|
|
907
|
-
// Safely delete a property from an object or array element.
|
|
908
|
-
// Undefined arguments and invalid keys are ignored.
|
|
909
|
-
// Returns the (possibly modified) parent.
|
|
910
|
-
// For objects, the property is deleted using the delete operator.
|
|
911
|
-
// For arrays, the element at the index is removed and remaining elements are shifted down.
|
|
912
|
-
// NOTE: parent list may be new list, thus update references.
|
|
913
810
|
function delprop<PARENT>(parent: PARENT, key: any): PARENT {
|
|
914
811
|
if (!iskey(key)) {
|
|
915
812
|
return parent
|
|
916
813
|
}
|
|
917
814
|
|
|
918
|
-
// A condensed structure is a DAG: one subtree can be reached by many
|
|
919
|
-
// references, so an in-place write would be visible through all of them.
|
|
920
|
-
// Raising is the decided contract (design Q1) - it can be relaxed to
|
|
921
|
-
// copy-on-write later without breaking any caller, where the reverse is not
|
|
922
|
-
// true. expand() gives an ordinary mutable copy.
|
|
923
|
-
//
|
|
924
|
-
// Checked AFTER the key validation: both helpers define an invalid key as
|
|
925
|
-
// ignored, so a call that cannot write must not start throwing merely
|
|
926
|
-
// because the store is condensed.
|
|
927
815
|
if (iscondensed(parent as any)) {
|
|
928
816
|
throw new Error(
|
|
929
817
|
'struct: condensed structures are immutable - ' + 'expand() first, then modify the copy',
|
|
@@ -934,7 +822,6 @@ function delprop<PARENT>(parent: PARENT, key: any): PARENT {
|
|
|
934
822
|
key = strkey(key)
|
|
935
823
|
delete (parent as any)[key]
|
|
936
824
|
} else if (islist(parent)) {
|
|
937
|
-
// Ensure key is an integer.
|
|
938
825
|
let keyI = +key
|
|
939
826
|
|
|
940
827
|
if (isNaN(keyI)) {
|
|
@@ -967,15 +854,6 @@ function setprop<PARENT>(parent: PARENT, key: any, val: any): PARENT {
|
|
|
967
854
|
return parent
|
|
968
855
|
}
|
|
969
856
|
|
|
970
|
-
// A condensed structure is a DAG: one subtree can be reached by many
|
|
971
|
-
// references, so an in-place write would be visible through all of them.
|
|
972
|
-
// Raising is the decided contract (design Q1) - it can be relaxed to
|
|
973
|
-
// copy-on-write later without breaking any caller, where the reverse is not
|
|
974
|
-
// true. expand() gives an ordinary mutable copy.
|
|
975
|
-
//
|
|
976
|
-
// Checked AFTER the key validation: both helpers define an invalid key as
|
|
977
|
-
// ignored, so a call that cannot write must not start throwing merely
|
|
978
|
-
// because the store is condensed.
|
|
979
857
|
if (iscondensed(parent as any)) {
|
|
980
858
|
throw new Error(
|
|
981
859
|
'struct: condensed structures are immutable - ' + 'expand() first, then modify the copy',
|
|
@@ -987,7 +865,6 @@ function setprop<PARENT>(parent: PARENT, key: any, val: any): PARENT {
|
|
|
987
865
|
const pany = parent as any
|
|
988
866
|
pany[key] = val
|
|
989
867
|
} else if (islist(parent)) {
|
|
990
|
-
// Ensure key is an integer.
|
|
991
868
|
let keyI = +key
|
|
992
869
|
|
|
993
870
|
if (isNaN(keyI)) {
|
|
@@ -996,15 +873,10 @@ function setprop<PARENT>(parent: PARENT, key: any, val: any): PARENT {
|
|
|
996
873
|
|
|
997
874
|
keyI = Math.floor(keyI)
|
|
998
875
|
|
|
999
|
-
// TODO: DELETE list element
|
|
1000
|
-
|
|
1001
876
|
// Set or append value at position keyI, or append if keyI out of bounds.
|
|
1002
877
|
if (0 <= keyI) {
|
|
1003
878
|
parent[slice(keyI, 0, size(parent) + 1)] = val
|
|
1004
|
-
}
|
|
1005
|
-
|
|
1006
|
-
// Prepend value if keyI is negative
|
|
1007
|
-
else {
|
|
879
|
+
} else {
|
|
1008
880
|
parent.unshift(val)
|
|
1009
881
|
}
|
|
1010
882
|
}
|
|
@@ -1012,26 +884,15 @@ function setprop<PARENT>(parent: PARENT, key: any, val: any): PARENT {
|
|
|
1012
884
|
return parent
|
|
1013
885
|
}
|
|
1014
886
|
|
|
1015
|
-
// Walk a data structure depth first, applying a function to each value.
|
|
1016
|
-
// The `path` argument passed to the before/after callbacks is a single
|
|
1017
|
-
// mutable array per depth, shared across all callback invocations for the
|
|
1018
|
-
// lifetime of this top-level walk call. Callbacks that need to store the
|
|
1019
|
-
// path MUST clone it (e.g. `path.slice()`); the contents will otherwise
|
|
1020
|
-
// be overwritten by subsequent visits.
|
|
1021
887
|
function walk(
|
|
1022
|
-
// These arguments are the public interface.
|
|
1023
888
|
val: any,
|
|
1024
889
|
|
|
1025
|
-
// Before descending into a node.
|
|
1026
890
|
before?: WalkApply,
|
|
1027
891
|
|
|
1028
|
-
// After descending into a node.
|
|
1029
892
|
after?: WalkApply,
|
|
1030
893
|
|
|
1031
|
-
// Maximum recursive depth, default: 32. Use null for infinite depth.
|
|
1032
894
|
maxdepth?: number,
|
|
1033
895
|
|
|
1034
|
-
// These areguments are used for recursive state.
|
|
1035
896
|
key?: string | number,
|
|
1036
897
|
parent?: any,
|
|
1037
898
|
path?: string[],
|
|
@@ -1092,11 +953,9 @@ function walk(
|
|
|
1092
953
|
// override each other, and do *not* merge. The first element is
|
|
1093
954
|
// modified.
|
|
1094
955
|
function merge(val: any, maxdepth?: number): any {
|
|
1095
|
-
// const md: number = null == maxdepth ? MAXDEPTH : maxdepth < 0 ? 0 : maxdepth
|
|
1096
956
|
const md: number = slice(maxdepth ?? MAXDEPTH, 0)
|
|
1097
957
|
let out: any = NONE
|
|
1098
958
|
|
|
1099
|
-
// Handle edge cases.
|
|
1100
959
|
if (!islist(val)) {
|
|
1101
960
|
return val
|
|
1102
961
|
}
|
|
@@ -1110,14 +969,12 @@ function merge(val: any, maxdepth?: number): any {
|
|
|
1110
969
|
return list[0]
|
|
1111
970
|
}
|
|
1112
971
|
|
|
1113
|
-
// Merge a list of values.
|
|
1114
972
|
out = getprop(list, 0, {})
|
|
1115
973
|
|
|
1116
974
|
for (let oI = 1; oI < lenlist; oI++) {
|
|
1117
975
|
const obj = list[oI]
|
|
1118
976
|
|
|
1119
977
|
if (!isnode(obj)) {
|
|
1120
|
-
// Nodes win.
|
|
1121
978
|
out = obj
|
|
1122
979
|
} else {
|
|
1123
980
|
// Current value at path end in overriding node.
|
|
@@ -1131,10 +988,7 @@ function merge(val: any, maxdepth?: number): any {
|
|
|
1131
988
|
|
|
1132
989
|
if (md <= pI) {
|
|
1133
990
|
setprop(cur[pI - 1], key, val)
|
|
1134
|
-
}
|
|
1135
|
-
|
|
1136
|
-
// Scalars just override directly.
|
|
1137
|
-
else if (!isnode(val)) {
|
|
991
|
+
} else if (!isnode(val)) {
|
|
1138
992
|
cur[pI] = val
|
|
1139
993
|
}
|
|
1140
994
|
|
|
@@ -1154,10 +1008,7 @@ function merge(val: any, maxdepth?: number): any {
|
|
|
1154
1008
|
// Matching override and destination so continue with their values.
|
|
1155
1009
|
else if (vtype === typify(tval)) {
|
|
1156
1010
|
cur[pI] = tval
|
|
1157
|
-
}
|
|
1158
|
-
|
|
1159
|
-
// Override wins.
|
|
1160
|
-
else {
|
|
1011
|
+
} else {
|
|
1161
1012
|
cur[pI] = val
|
|
1162
1013
|
|
|
1163
1014
|
// No need to descend when override wins (destination is discarded).
|
|
@@ -1186,7 +1037,6 @@ function merge(val: any, maxdepth?: number): any {
|
|
|
1186
1037
|
|
|
1187
1038
|
// Walk overriding node, creating paths in output as needed.
|
|
1188
1039
|
out = walk(obj, before, after, maxdepth)
|
|
1189
|
-
// console.log('WALK-DONE', out, obj)
|
|
1190
1040
|
}
|
|
1191
1041
|
}
|
|
1192
1042
|
|
|
@@ -1252,7 +1102,6 @@ function setpath(
|
|
|
1252
1102
|
}
|
|
1253
1103
|
|
|
1254
1104
|
function getpath(store: any, path: number | string | string[], injdef?: Partial<Injection>) {
|
|
1255
|
-
// Operate on a string array.
|
|
1256
1105
|
const parts = islist(path)
|
|
1257
1106
|
? path
|
|
1258
1107
|
: 'string' === typeof path
|
|
@@ -1285,7 +1134,6 @@ function getpath(store: any, path: number | string | string[], injdef?: Partial<
|
|
|
1285
1134
|
store = expand(store)
|
|
1286
1135
|
}
|
|
1287
1136
|
|
|
1288
|
-
// let root = store
|
|
1289
1137
|
let val = store
|
|
1290
1138
|
const base = getprop(injdef, S_base)
|
|
1291
1139
|
const src = getprop(store, base, store)
|
|
@@ -1296,7 +1144,6 @@ function getpath(store: any, path: number | string | string[], injdef?: Partial<
|
|
|
1296
1144
|
if (null == path || null == store || (1 === numparts && S_MT === parts[0])) {
|
|
1297
1145
|
val = src
|
|
1298
1146
|
} else if (0 < numparts) {
|
|
1299
|
-
// Check for $ACTIONs
|
|
1300
1147
|
if (1 === numparts) {
|
|
1301
1148
|
val = getprop(store, parts[0])
|
|
1302
1149
|
}
|
|
@@ -1348,7 +1195,6 @@ function getpath(store: any, path: number | string | string[], injdef?: Partial<
|
|
|
1348
1195
|
if (0 === ascends) {
|
|
1349
1196
|
val = dparent
|
|
1350
1197
|
} else {
|
|
1351
|
-
// const fullpath = slice(dpath, 0 - ascends).concat(parts.slice(pI + 1))
|
|
1352
1198
|
const fullpath = flatten([slice(dpath, 0 - ascends), parts.slice(pI + 1)])
|
|
1353
1199
|
|
|
1354
1200
|
if (ascends <= size(dpath)) {
|
|
@@ -1376,15 +1222,9 @@ function getpath(store: any, path: number | string | string[], injdef?: Partial<
|
|
|
1376
1222
|
val = handler(injdef, val, ref, store)
|
|
1377
1223
|
}
|
|
1378
1224
|
|
|
1379
|
-
// console.log('GETPATH', path, val)
|
|
1380
|
-
|
|
1381
1225
|
return val
|
|
1382
1226
|
}
|
|
1383
1227
|
|
|
1384
|
-
// Inject values from a data store into a node recursively, resolving
|
|
1385
|
-
// paths against the store, or current if they are local. The modify
|
|
1386
|
-
// argument allows custom modification of the result. The inj
|
|
1387
|
-
// (Injection) argument is used to maintain recursive state.
|
|
1388
1228
|
function inject(val: any, store: any, injdef?: Partial<Injection>) {
|
|
1389
1229
|
const valtype = typeof val
|
|
1390
1230
|
let inj: Injection = injdef as Injection
|
|
@@ -1392,7 +1232,6 @@ function inject(val: any, store: any, injdef?: Partial<Injection>) {
|
|
|
1392
1232
|
// Create state if at root of injection. The input value is placed
|
|
1393
1233
|
// inside a virtual parent holder to simplify edge cases.
|
|
1394
1234
|
if (NONE === injdef || null == injdef.mode) {
|
|
1395
|
-
// Set up state assuming we are starting in the virtual parent.
|
|
1396
1235
|
inj = new Injection(val, { [S_DTOP]: val })
|
|
1397
1236
|
inj.dparent = store
|
|
1398
1237
|
inj.errs = getprop(store, S_DERRS, [])
|
|
@@ -1411,13 +1250,7 @@ function inject(val: any, store: any, injdef?: Partial<Injection>) {
|
|
|
1411
1250
|
// console.log('INJ-START', val, inj.mode, inj.key, inj.val,
|
|
1412
1251
|
// 't=', inj.path, 'P=', inj.parent, 'dp=', inj.dparent, 'ST=', store.$TOP)
|
|
1413
1252
|
|
|
1414
|
-
// Descend into node.
|
|
1415
1253
|
if (isnode(val)) {
|
|
1416
|
-
// Keys are sorted alphanumerically to ensure determinism.
|
|
1417
|
-
// Injection transforms ($FOO) are processed *after* other keys.
|
|
1418
|
-
// NOTE: the optional digits suffix of the transform can thus be
|
|
1419
|
-
// used to order the transforms.
|
|
1420
|
-
|
|
1421
1254
|
let nodekeys: any[]
|
|
1422
1255
|
nodekeys = keysof(val)
|
|
1423
1256
|
|
|
@@ -1430,10 +1263,6 @@ function inject(val: any, store: any, injdef?: Partial<Injection>) {
|
|
|
1430
1263
|
nodekeys = keysof(val)
|
|
1431
1264
|
}
|
|
1432
1265
|
|
|
1433
|
-
// Each child key-value pair is processed in three injection phases:
|
|
1434
|
-
// 1. inj.mode=M_KEYPRE - Key string is injected, returning a possibly altered key.
|
|
1435
|
-
// 2. inj.mode=M_VAL - The child value is injected.
|
|
1436
|
-
// 3. inj.mode=M_KEYPOST - Key string is injected again, allowing child mutation.
|
|
1437
1266
|
for (let nkI = 0; nkI < nodekeys.length; nkI++) {
|
|
1438
1267
|
const childinj = inj.child(nkI, nodekeys)
|
|
1439
1268
|
const nodekey = childinj.key
|
|
@@ -1468,10 +1297,7 @@ function inject(val: any, store: any, injdef?: Partial<Injection>) {
|
|
|
1468
1297
|
nodekeys = childinj.keys
|
|
1469
1298
|
}
|
|
1470
1299
|
}
|
|
1471
|
-
}
|
|
1472
|
-
|
|
1473
|
-
// Inject paths into string scalars.
|
|
1474
|
-
else if (S_string === valtype) {
|
|
1300
|
+
} else if (S_string === valtype) {
|
|
1475
1301
|
inj.mode = M_VAL
|
|
1476
1302
|
val = _injectstr(val, store, inj)
|
|
1477
1303
|
if (SKIP !== val) {
|
|
@@ -1479,7 +1305,6 @@ function inject(val: any, store: any, injdef?: Partial<Injection>) {
|
|
|
1479
1305
|
}
|
|
1480
1306
|
}
|
|
1481
1307
|
|
|
1482
|
-
// Custom modification.
|
|
1483
1308
|
if (inj.modify && SKIP !== val) {
|
|
1484
1309
|
const mkey = inj.key
|
|
1485
1310
|
const mparent = inj.parent
|
|
@@ -1488,24 +1313,18 @@ function inject(val: any, store: any, injdef?: Partial<Injection>) {
|
|
|
1488
1313
|
inj.modify(mval, mkey, mparent, inj, store)
|
|
1489
1314
|
}
|
|
1490
1315
|
|
|
1491
|
-
// console.log('INJ-VAL', val)
|
|
1492
|
-
|
|
1493
1316
|
inj.val = val
|
|
1494
1317
|
|
|
1495
|
-
// Original val reference may no longer be correct.
|
|
1496
|
-
// This return value is only used as the top level result.
|
|
1497
1318
|
return _lookup(inj.parent, S_DTOP)
|
|
1498
1319
|
}
|
|
1499
1320
|
|
|
1500
1321
|
// The transform_* functions are special command inject handlers (see Injector).
|
|
1501
1322
|
|
|
1502
|
-
// Delete a key from a map or list.
|
|
1503
1323
|
const transform_DELETE: Injector = (inj: Injection) => {
|
|
1504
1324
|
inj.setval(NONE)
|
|
1505
1325
|
return NONE
|
|
1506
1326
|
}
|
|
1507
1327
|
|
|
1508
|
-
// Copy value from source data.
|
|
1509
1328
|
const transform_COPY: Injector = (inj: Injection, _val: any) => {
|
|
1510
1329
|
const ijname = 'COPY'
|
|
1511
1330
|
|
|
@@ -1536,8 +1355,6 @@ const transform_KEY: Injector = (inj: Injection) => {
|
|
|
1536
1355
|
return getprop(inj.dparent, keyspec)
|
|
1537
1356
|
}
|
|
1538
1357
|
|
|
1539
|
-
// Key is defined within general purpose $META object.
|
|
1540
|
-
// return getprop(getprop(parent, S_BANNO), S_KEY, getprop(path, path.length - 2))
|
|
1541
1358
|
return _lookup(_lookup(parent, S_BANNO), S_KEY) ?? getelem(path, -2)
|
|
1542
1359
|
}
|
|
1543
1360
|
|
|
@@ -1574,8 +1391,6 @@ const transform_MERGE: Injector = (inj: Injection) => {
|
|
|
1574
1391
|
// Remove the $MERGE command from a parent map.
|
|
1575
1392
|
inj.setval(NONE)
|
|
1576
1393
|
|
|
1577
|
-
// Literals in the parent have precedence, but we still merge onto
|
|
1578
|
-
// the parent object, so that node tree references are not changed.
|
|
1579
1394
|
const mergelist = flatten([[parent], args, [clone(parent)]])
|
|
1580
1395
|
|
|
1581
1396
|
merge(mergelist)
|
|
@@ -1596,14 +1411,12 @@ const transform_EACH: Injector = (inj: Injection, _val: any, _ref: string, store
|
|
|
1596
1411
|
// Remove remaining keys to avoid spurious processing.
|
|
1597
1412
|
slice(inj.keys, 0, 1, true)
|
|
1598
1413
|
|
|
1599
|
-
// const [err, srcpath, child] = injectorArgs([T_string, T_any], inj)
|
|
1600
1414
|
const [err, srcpath, child] = injectorArgs([T_string, T_any], slice(inj.parent, 1))
|
|
1601
1415
|
if (NONE !== err) {
|
|
1602
1416
|
inj.errs.push('$' + ijname + ': ' + err)
|
|
1603
1417
|
return NONE
|
|
1604
1418
|
}
|
|
1605
1419
|
|
|
1606
|
-
// Source data.
|
|
1607
1420
|
const srcstore = getprop(store, inj.base, store)
|
|
1608
1421
|
|
|
1609
1422
|
const src = getpath(srcstore, srcpath, inj)
|
|
@@ -1643,7 +1456,6 @@ const transform_EACH: Injector = (inj: Injection, _val: any, _ref: string, store
|
|
|
1643
1456
|
const tpath = slice(inj.path, -1)
|
|
1644
1457
|
const dpath = flatten([S_DTOP, srcpath.split(S_DT), '$:' + ckey])
|
|
1645
1458
|
|
|
1646
|
-
// Parent structure.
|
|
1647
1459
|
tcur = { [ckey]: tcur }
|
|
1648
1460
|
|
|
1649
1461
|
if (1 < size(tpath)) {
|
|
@@ -1667,10 +1479,8 @@ const transform_EACH: Injector = (inj: Injection, _val: any, _ref: string, store
|
|
|
1667
1479
|
rval = tinj.val
|
|
1668
1480
|
}
|
|
1669
1481
|
|
|
1670
|
-
// _updateAncestors(inj, target, tkey, rval)
|
|
1671
1482
|
setprop(target, tkey, rval)
|
|
1672
1483
|
|
|
1673
|
-
// Prevent callee from damaging first list entry (since we are in `val` mode).
|
|
1674
1484
|
return rval[0]
|
|
1675
1485
|
}
|
|
1676
1486
|
|
|
@@ -1685,7 +1495,6 @@ const transform_PACK: Injector = (inj: Injection, _val: any, _ref: string, store
|
|
|
1685
1495
|
return NONE
|
|
1686
1496
|
}
|
|
1687
1497
|
|
|
1688
|
-
// Get arguments.
|
|
1689
1498
|
const args = getprop(parent, key)
|
|
1690
1499
|
const [err, srcpath, origchildspec] = injectorArgs([T_string, T_any], args)
|
|
1691
1500
|
if (NONE !== err) {
|
|
@@ -1693,16 +1502,13 @@ const transform_PACK: Injector = (inj: Injection, _val: any, _ref: string, store
|
|
|
1693
1502
|
return NONE
|
|
1694
1503
|
}
|
|
1695
1504
|
|
|
1696
|
-
// Find key and target node.
|
|
1697
1505
|
const tkey = getelem(path, -2)
|
|
1698
1506
|
const pathsize = size(path)
|
|
1699
1507
|
const target = getelem(nodes, pathsize - 2, () => getelem(nodes, pathsize - 1))
|
|
1700
1508
|
|
|
1701
|
-
// Source data
|
|
1702
1509
|
const srcstore = getprop(store, inj.base, store)
|
|
1703
1510
|
let src = getpath(srcstore, srcpath, inj)
|
|
1704
1511
|
|
|
1705
|
-
// Prepare source as a list.
|
|
1706
1512
|
if (!islist(src)) {
|
|
1707
1513
|
if (ismap(src)) {
|
|
1708
1514
|
src = items(src, (item: [string, any]) => {
|
|
@@ -1718,13 +1524,11 @@ const transform_PACK: Injector = (inj: Injection, _val: any, _ref: string, store
|
|
|
1718
1524
|
return NONE
|
|
1719
1525
|
}
|
|
1720
1526
|
|
|
1721
|
-
// Get keypath.
|
|
1722
1527
|
const keypath = getprop(origchildspec, S_BKEY)
|
|
1723
1528
|
const childspec = delprop(origchildspec, S_BKEY)
|
|
1724
1529
|
|
|
1725
1530
|
const child = getprop(childspec, S_BVAL, childspec)
|
|
1726
1531
|
|
|
1727
|
-
// Build parallel target object.
|
|
1728
1532
|
const tval: any = {}
|
|
1729
1533
|
|
|
1730
1534
|
items(src, (item: [string, any]) => {
|
|
@@ -1754,7 +1558,6 @@ const transform_PACK: Injector = (inj: Injection, _val: any, _ref: string, store
|
|
|
1754
1558
|
let rval = {}
|
|
1755
1559
|
|
|
1756
1560
|
if (!isempty(tval)) {
|
|
1757
|
-
// Build parallel source object.
|
|
1758
1561
|
const tsrc: any = {}
|
|
1759
1562
|
src.reduce((a: any, n: any, i: any) => {
|
|
1760
1563
|
const kn =
|
|
@@ -1795,16 +1598,11 @@ const transform_PACK: Injector = (inj: Injection, _val: any, _ref: string, store
|
|
|
1795
1598
|
rval = tinj.val
|
|
1796
1599
|
}
|
|
1797
1600
|
|
|
1798
|
-
// _updateAncestors(inj, target, tkey, rval)
|
|
1799
1601
|
setprop(target, tkey, rval)
|
|
1800
1602
|
|
|
1801
|
-
// Drop transform key.
|
|
1802
1603
|
return NONE
|
|
1803
1604
|
}
|
|
1804
1605
|
|
|
1805
|
-
// TODO: not found ref should removed key (setprop NONE)
|
|
1806
|
-
// Reference original spec (enables recursice transformations)
|
|
1807
|
-
// Format: ['`$REF`', '`spec-path`']
|
|
1808
1606
|
const transform_REF: Injector = (inj: Injection, val: any, _ref: string, store: any) => {
|
|
1809
1607
|
const { nodes } = inj
|
|
1810
1608
|
|
|
@@ -1816,13 +1614,10 @@ const transform_REF: Injector = (inj: Injection, val: any, _ref: string, store:
|
|
|
1816
1614
|
const refpath = _lookup(inj.parent, 1)
|
|
1817
1615
|
inj.keyI = size(inj.keys)
|
|
1818
1616
|
|
|
1819
|
-
// Spec reference.
|
|
1820
1617
|
const spec = getprop(store, S_DSPEC)()
|
|
1821
1618
|
|
|
1822
1619
|
const dpath = slice(inj.path, 1)
|
|
1823
1620
|
const ref = getpath(spec, refpath, {
|
|
1824
|
-
// TODO: test relative refs
|
|
1825
|
-
// dpath: inj.path.slice(1),
|
|
1826
1621
|
dpath,
|
|
1827
1622
|
// dparent: getpath(spec, inj.path.slice(1))
|
|
1828
1623
|
dparent: getpath(spec, dpath),
|
|
@@ -1874,8 +1669,6 @@ const transform_REF: Injector = (inj: Injection, val: any, _ref: string, store:
|
|
|
1874
1669
|
}
|
|
1875
1670
|
|
|
1876
1671
|
const transform_FORMAT: Injector = (inj: Injection, _val: any, _ref: string, store: any) => {
|
|
1877
|
-
// console.log('FORMAT-START', inj, _val)
|
|
1878
|
-
|
|
1879
1672
|
// Remove remaining keys to avoid spurious processing.
|
|
1880
1673
|
slice(inj.keys, 0, 1, true)
|
|
1881
1674
|
|
|
@@ -1883,12 +1676,9 @@ const transform_FORMAT: Injector = (inj: Injection, _val: any, _ref: string, sto
|
|
|
1883
1676
|
return NONE
|
|
1884
1677
|
}
|
|
1885
1678
|
|
|
1886
|
-
// Get arguments: ['`$FORMAT`', 'name', child].
|
|
1887
|
-
// TODO: EACH and PACK should accept customm functions too
|
|
1888
1679
|
const name = _lookup(inj.parent, 1)
|
|
1889
1680
|
const child = _lookup(inj.parent, 2)
|
|
1890
1681
|
|
|
1891
|
-
// Source data.
|
|
1892
1682
|
const tkey = getelem(inj.path, -2)
|
|
1893
1683
|
const target = getelem(inj.nodes, -2, () => getelem(inj.nodes, -1))
|
|
1894
1684
|
|
|
@@ -1905,7 +1695,6 @@ const transform_FORMAT: Injector = (inj: Injection, _val: any, _ref: string, sto
|
|
|
1905
1695
|
const out = walk(resolved, formatter)
|
|
1906
1696
|
|
|
1907
1697
|
setprop(target, tkey, out)
|
|
1908
|
-
// _updateAncestors(inj, target, tkey, out)
|
|
1909
1698
|
|
|
1910
1699
|
return out
|
|
1911
1700
|
}
|
|
@@ -1953,7 +1742,6 @@ const transform_APPLY: Injector = (inj: Injection, _val: any, _ref: string, stor
|
|
|
1953
1742
|
return NONE
|
|
1954
1743
|
}
|
|
1955
1744
|
|
|
1956
|
-
// const [err, apply, child] = injectorArgs([T_function, T_any], inj)
|
|
1957
1745
|
const [err, apply, child] = injectorArgs([T_function, T_any], slice(inj.parent, 1))
|
|
1958
1746
|
if (NONE !== err) {
|
|
1959
1747
|
inj.errs.push('$' + ijname + ': ' + err)
|
|
@@ -2036,7 +1824,6 @@ function transform(
|
|
|
2036
1824
|
$APPLY: transform_APPLY,
|
|
2037
1825
|
},
|
|
2038
1826
|
|
|
2039
|
-
// Custom extra transforms, if any.
|
|
2040
1827
|
extraTransforms,
|
|
2041
1828
|
|
|
2042
1829
|
{
|
|
@@ -2093,7 +1880,6 @@ const validate_TYPE: Injector = (inj: Injection, _val: any, ref: string) => {
|
|
|
2093
1880
|
return out
|
|
2094
1881
|
}
|
|
2095
1882
|
|
|
2096
|
-
// Allow any value.
|
|
2097
1883
|
const validate_ANY: Injector = (inj: Injection) => {
|
|
2098
1884
|
const out = _lookup(inj.dparent, inj.key)
|
|
2099
1885
|
return out
|
|
@@ -2107,11 +1893,9 @@ const validate_CHILD: Injector = (inj: Injection) => {
|
|
|
2107
1893
|
|
|
2108
1894
|
// Setup data structures for validation by cloning child template.
|
|
2109
1895
|
|
|
2110
|
-
// Map syntax.
|
|
2111
1896
|
if (M_KEYPRE === mode) {
|
|
2112
1897
|
const childtm = getprop(parent, key)
|
|
2113
1898
|
|
|
2114
|
-
// Get corresponding current object.
|
|
2115
1899
|
const pkey = getelem(path, -2)
|
|
2116
1900
|
let tval = getprop(inj.dparent, pkey)
|
|
2117
1901
|
|
|
@@ -2130,15 +1914,12 @@ const validate_CHILD: Injector = (inj: Injection) => {
|
|
|
2130
1914
|
keys.push(ckey)
|
|
2131
1915
|
}
|
|
2132
1916
|
|
|
2133
|
-
// Remove $CHILD to cleanup ouput.
|
|
2134
1917
|
inj.setval(NONE)
|
|
2135
1918
|
return NONE
|
|
2136
1919
|
}
|
|
2137
1920
|
|
|
2138
|
-
// List syntax.
|
|
2139
1921
|
if (M_VAL === mode) {
|
|
2140
1922
|
if (!islist(parent)) {
|
|
2141
|
-
// $CHILD was not inside a list.
|
|
2142
1923
|
inj.errs.push('Invalid $CHILD as value')
|
|
2143
1924
|
return NONE
|
|
2144
1925
|
}
|
|
@@ -2146,8 +1927,6 @@ const validate_CHILD: Injector = (inj: Injection) => {
|
|
|
2146
1927
|
const childtm = _lookup(parent, 1)
|
|
2147
1928
|
|
|
2148
1929
|
if (NONE === inj.dparent) {
|
|
2149
|
-
// Empty list as default.
|
|
2150
|
-
// parent.length = 0
|
|
2151
1930
|
slice(parent, 0, 0, true)
|
|
2152
1931
|
return NONE
|
|
2153
1932
|
}
|
|
@@ -2190,11 +1969,6 @@ const validate_CHILD: Injector = (inj: Injection) => {
|
|
|
2190
1969
|
return NONE
|
|
2191
1970
|
}
|
|
2192
1971
|
|
|
2193
|
-
// TODO: implement SOME, ALL
|
|
2194
|
-
// FIX: ONE should mean exactly one, not at least one (=SOME)
|
|
2195
|
-
// TODO: implement a generate validate_ALT to do all of these
|
|
2196
|
-
// Match at least one of the specified shapes.
|
|
2197
|
-
// Syntax: ['`$ONE`', alt0, alt1, ...]
|
|
2198
1972
|
const validate_ONE: Injector = (inj: Injection, _val: any, _ref: string, store: any) => {
|
|
2199
1973
|
const { mode, parent, keyI } = inj
|
|
2200
1974
|
|
|
@@ -2214,8 +1988,9 @@ const validate_ONE: Injector = (inj: Injection, _val: any, _ref: string, store:
|
|
|
2214
1988
|
// Clean up structure, replacing [$ONE, ...] with current
|
|
2215
1989
|
inj.setval(inj.dparent, 2)
|
|
2216
1990
|
|
|
1991
|
+
// Path shortens for the message only: `modify` reads
|
|
1992
|
+
// getprop(inj.parent, inj.key), and inj.parent is still this list.
|
|
2217
1993
|
inj.path = slice(inj.path, -1)
|
|
2218
|
-
inj.key = getelem(inj.path, -1)
|
|
2219
1994
|
|
|
2220
1995
|
const tvals = slice(parent, 1)
|
|
2221
1996
|
if (0 === size(tvals)) {
|
|
@@ -2227,9 +2002,7 @@ const validate_ONE: Injector = (inj: Injection, _val: any, _ref: string, store:
|
|
|
2227
2002
|
return
|
|
2228
2003
|
}
|
|
2229
2004
|
|
|
2230
|
-
// See if we can find a match.
|
|
2231
2005
|
for (const tval of tvals) {
|
|
2232
|
-
// If match, then errs.length = 0
|
|
2233
2006
|
const terrs: any[] = []
|
|
2234
2007
|
|
|
2235
2008
|
const vstore = merge([{}, store], 1)
|
|
@@ -2249,7 +2022,6 @@ const validate_ONE: Injector = (inj: Injection, _val: any, _ref: string, store:
|
|
|
2249
2022
|
}
|
|
2250
2023
|
}
|
|
2251
2024
|
|
|
2252
|
-
// There was no match.
|
|
2253
2025
|
const valdesc = replace(
|
|
2254
2026
|
join(
|
|
2255
2027
|
items(tvals, (n) => stringify(n[1])),
|
|
@@ -2290,7 +2062,6 @@ const validate_EXACT: Injector = (inj: Injection) => {
|
|
|
2290
2062
|
// Clean up structure, replacing [$EXACT, ...] with current data parent
|
|
2291
2063
|
inj.setval(inj.dparent, 2)
|
|
2292
2064
|
|
|
2293
|
-
// inj.path = slice(inj.path, 0, size(inj.path) - 1)
|
|
2294
2065
|
inj.path = slice(inj.path, 0, -1)
|
|
2295
2066
|
inj.key = getelem(inj.path, -1)
|
|
2296
2067
|
|
|
@@ -2304,7 +2075,6 @@ const validate_EXACT: Injector = (inj: Injection) => {
|
|
|
2304
2075
|
return
|
|
2305
2076
|
}
|
|
2306
2077
|
|
|
2307
|
-
// See if we can find an exact value match.
|
|
2308
2078
|
let currentstr: string | undefined = undefined
|
|
2309
2079
|
for (const tval of tvals) {
|
|
2310
2080
|
let exactmatch = tval === inj.dparent
|
|
@@ -2320,7 +2090,6 @@ const validate_EXACT: Injector = (inj: Injection) => {
|
|
|
2320
2090
|
}
|
|
2321
2091
|
}
|
|
2322
2092
|
|
|
2323
|
-
// There was no match.
|
|
2324
2093
|
const valdesc = replace(
|
|
2325
2094
|
join(
|
|
2326
2095
|
items(tvals, (n) => stringify(n[1])),
|
|
@@ -2358,10 +2127,8 @@ const _validation: Modify = (pval: any, key?: any, parent?: any, inj?: Injection
|
|
|
2358
2127
|
return
|
|
2359
2128
|
}
|
|
2360
2129
|
|
|
2361
|
-
// select needs exact matches
|
|
2362
2130
|
const exact = getprop(inj.meta, S_BEXACT, false)
|
|
2363
2131
|
|
|
2364
|
-
// Current val to verify.
|
|
2365
2132
|
const cval = getprop(inj.dparent, key)
|
|
2366
2133
|
|
|
2367
2134
|
if (NONE === inj || (!exact && NONE === cval)) {
|
|
@@ -2377,7 +2144,6 @@ const _validation: Modify = (pval: any, key?: any, parent?: any, inj?: Injection
|
|
|
2377
2144
|
|
|
2378
2145
|
const ctype = typify(cval)
|
|
2379
2146
|
|
|
2380
|
-
// Type mismatch.
|
|
2381
2147
|
if (ptype !== ctype && NONE !== pval) {
|
|
2382
2148
|
inj.errs.push(_invalidTypeMsg(inj.path, typename(ptype), ctype, cval, 'V0010'))
|
|
2383
2149
|
return
|
|
@@ -2433,16 +2199,6 @@ const _validation: Modify = (pval: any, key?: any, parent?: any, inj?: Injection
|
|
|
2433
2199
|
return
|
|
2434
2200
|
}
|
|
2435
2201
|
|
|
2436
|
-
// Validate a data structure against a shape specification. The shape
|
|
2437
|
-
// specification follows the "by example" principle. Plain data in
|
|
2438
|
-
// teh shape is treated as default values that also specify the
|
|
2439
|
-
// required type. Thus shape {a:1} validates {a:2}, since the types
|
|
2440
|
-
// (number) match, but not {a:'A'}. Shape {a;1} against data {}
|
|
2441
|
-
// returns {a:1} as a=1 is the default value of the a key. Special
|
|
2442
|
-
// validation commands (in the same syntax as transform ) are also
|
|
2443
|
-
// provided to specify required values. Thus shape {a:'`$STRING`'}
|
|
2444
|
-
// validates {a:'A'} but not {a:1}. Empty map or list means the node
|
|
2445
|
-
// is open, and if missing an empty default is inserted.
|
|
2446
2202
|
function validate(
|
|
2447
2203
|
data: any, // Source data to transform into new data (original not mutated)
|
|
2448
2204
|
spec: any, // Transform specification; output follows this shape
|
|
@@ -2456,7 +2212,6 @@ function validate(
|
|
|
2456
2212
|
const store = merge(
|
|
2457
2213
|
[
|
|
2458
2214
|
{
|
|
2459
|
-
// Remove the transform commands.
|
|
2460
2215
|
$DELETE: null,
|
|
2461
2216
|
$COPY: null,
|
|
2462
2217
|
$KEY: null,
|
|
@@ -2607,11 +2362,8 @@ const select_NOT: Injector = (inj: Injection, _val: any, _ref: string, store: an
|
|
|
2607
2362
|
const select_CMP: Injector = (inj: Injection, _val: any, ref: string, store: any) => {
|
|
2608
2363
|
if (M_KEYPRE === inj.mode) {
|
|
2609
2364
|
const term = _lookup(inj.parent, inj.key)
|
|
2610
|
-
// const src = getprop(store, inj.base, store)
|
|
2611
2365
|
const gkey = getelem(inj.path, -2)
|
|
2612
2366
|
|
|
2613
|
-
// const tval = getprop(src, gkey)
|
|
2614
|
-
|
|
2615
2367
|
const ppath = slice(inj.path, -1)
|
|
2616
2368
|
const point = getpath(store, ppath)
|
|
2617
2369
|
|
|
@@ -2650,10 +2402,6 @@ const select_CMP: Injector = (inj: Injection, _val: any, ref: string, store: any
|
|
|
2650
2402
|
return NONE
|
|
2651
2403
|
}
|
|
2652
2404
|
|
|
2653
|
-
// Select children from a top-level object that match a MongoDB-style query.
|
|
2654
|
-
// Supports $and, $or, and equality comparisons.
|
|
2655
|
-
// For arrays, children are elements; for objects, children are values.
|
|
2656
|
-
// TODO: swap arg order for consistency
|
|
2657
2405
|
function select(children: any, query: any): any[] {
|
|
2658
2406
|
if (!isnode(children)) {
|
|
2659
2407
|
return []
|
|
@@ -2711,20 +2459,20 @@ class Injection {
|
|
|
2711
2459
|
mode: InjectMode // Injection mode: M_KEYPRE, M_VAL, M_KEYPOST.
|
|
2712
2460
|
full: boolean // Transform escape was full key name.
|
|
2713
2461
|
keyI: number // Index of parent key in list of parent keys.
|
|
2714
|
-
keys: string[]
|
|
2715
|
-
key: string
|
|
2716
|
-
val: any
|
|
2462
|
+
keys: string[]
|
|
2463
|
+
key: string
|
|
2464
|
+
val: any
|
|
2717
2465
|
parent: any // Current parent (in transform specification).
|
|
2718
|
-
path: string[]
|
|
2719
|
-
nodes: any[]
|
|
2720
|
-
handler: Injector
|
|
2721
|
-
errs: any[]
|
|
2466
|
+
path: string[]
|
|
2467
|
+
nodes: any[]
|
|
2468
|
+
handler: Injector
|
|
2469
|
+
errs: any[]
|
|
2722
2470
|
meta: Record<string, any> // Custom meta data. NOTE: do not merge, values must remain as-is.
|
|
2723
2471
|
dparent: any // Current data parent node (contains current data value).
|
|
2724
|
-
dpath: string[]
|
|
2472
|
+
dpath: string[]
|
|
2725
2473
|
base?: string // Base key for data in store, if any.
|
|
2726
|
-
modify?: Modify
|
|
2727
|
-
prior?: Injection
|
|
2474
|
+
modify?: Modify
|
|
2475
|
+
prior?: Injection
|
|
2728
2476
|
extra?: any
|
|
2729
2477
|
|
|
2730
2478
|
constructor(val: any, parent: any) {
|
|
@@ -2802,7 +2550,6 @@ class Injection {
|
|
|
2802
2550
|
}
|
|
2803
2551
|
}
|
|
2804
2552
|
|
|
2805
|
-
// TODO: is this needed?
|
|
2806
2553
|
return this.dparent
|
|
2807
2554
|
}
|
|
2808
2555
|
|
|
@@ -2845,7 +2592,6 @@ class Injection {
|
|
|
2845
2592
|
parent = NONE === val ? delprop(aval, akey) : setprop(aval, akey, val)
|
|
2846
2593
|
}
|
|
2847
2594
|
|
|
2848
|
-
// console.log('SETVAL', val, this.key, this.parent)
|
|
2849
2595
|
return parent
|
|
2850
2596
|
}
|
|
2851
2597
|
}
|
|
@@ -2853,12 +2599,6 @@ class Injection {
|
|
|
2853
2599
|
// Internal utilities
|
|
2854
2600
|
// ==================
|
|
2855
2601
|
|
|
2856
|
-
// // Update all references to target in inj.nodes.
|
|
2857
|
-
// function _updateAncestors(_inj: Injection, target: any, tkey: any, tval: any) {
|
|
2858
|
-
// // SetProp is sufficient in TypeScript as target reference remains consistent even for lists.
|
|
2859
|
-
// setprop(target, tkey, tval)
|
|
2860
|
-
// }
|
|
2861
|
-
|
|
2862
2602
|
// Build a type validation error message.
|
|
2863
2603
|
function _invalidTypeMsg(path: any, needtype: string, vt: number, v: any, _whence?: string) {
|
|
2864
2604
|
const vs = null == v ? 'no value' : stringify(v)
|
|
@@ -2883,9 +2623,6 @@ const _injecthandler: Injector = (inj: Injection, val: any, ref: string, store:
|
|
|
2883
2623
|
let out = val
|
|
2884
2624
|
const iscmd = isfunc(val) && (NONE === ref || ref.startsWith(S_DS))
|
|
2885
2625
|
|
|
2886
|
-
// Only call val function if it is a special command ($NAME format).
|
|
2887
|
-
// TODO: OR if meta.'$CALL'
|
|
2888
|
-
|
|
2889
2626
|
if (iscmd) {
|
|
2890
2627
|
out = (val as Injector)(inj, val, ref, store)
|
|
2891
2628
|
}
|
|
@@ -2920,24 +2657,13 @@ const _validatehandler: Injector = (inj: Injection, val: any, ref: string, store
|
|
|
2920
2657
|
return out
|
|
2921
2658
|
}
|
|
2922
2659
|
|
|
2923
|
-
// Inject values from a data store into a string. Not a public utility - used by
|
|
2924
|
-
// `inject`. Inject are marked with `path` where path is resolved
|
|
2925
|
-
// with getpath against the store or current (if defined)
|
|
2926
|
-
// arguments. See `getpath`. Custom injection handling can be
|
|
2927
|
-
// provided by inj.handler (this is used for transform functions).
|
|
2928
|
-
// The path can also have the special syntax $NAME999 where NAME is
|
|
2929
|
-
// upper case letters only, and 999 is any digits, which are
|
|
2930
|
-
// discarded. This syntax specifies the name of a transform, and
|
|
2931
|
-
// optionally allows transforms to be ordered by alphanumeric sorting.
|
|
2932
2660
|
function _injectstr(val: string, store: any, inj?: Injection): any {
|
|
2933
|
-
// Can't inject into non-strings
|
|
2934
2661
|
if (S_string !== typeof val || S_MT === val) {
|
|
2935
2662
|
return S_MT
|
|
2936
2663
|
}
|
|
2937
2664
|
|
|
2938
2665
|
let out: any = val
|
|
2939
2666
|
|
|
2940
|
-
// Pattern examples: "`a.b.c`", "`$NAME`", "`$NAME1`"
|
|
2941
2667
|
const m = re_find(R_INJECTION_FULL, val)
|
|
2942
2668
|
|
|
2943
2669
|
// Full string of the val is an injection.
|
|
@@ -2947,18 +2673,14 @@ function _injectstr(val: string, store: any, inj?: Injection): any {
|
|
|
2947
2673
|
}
|
|
2948
2674
|
let pathref = m[1]
|
|
2949
2675
|
|
|
2950
|
-
// Special escapes inside injection.
|
|
2951
2676
|
if (3 < size(pathref)) {
|
|
2952
2677
|
pathref = re_replace(R_DS_ESCAPE, re_replace(R_BT_ESCAPE, pathref, S_BT), S_DS)
|
|
2953
2678
|
}
|
|
2954
2679
|
|
|
2955
|
-
// Get the extracted path reference.
|
|
2956
2680
|
out = getpath(store, pathref, inj)
|
|
2957
2681
|
} else {
|
|
2958
2682
|
// Check for injections within the string.
|
|
2959
2683
|
const partial = (_m: string, ref: string) => {
|
|
2960
|
-
// Special escapes inside injection.
|
|
2961
|
-
|
|
2962
2684
|
if (3 < size(ref)) {
|
|
2963
2685
|
ref = re_replace(R_DS_ESCAPE, re_replace(R_BT_ESCAPE, ref, S_BT), S_DS)
|
|
2964
2686
|
}
|
|
@@ -2969,7 +2691,6 @@ function _injectstr(val: string, store: any, inj?: Injection): any {
|
|
|
2969
2691
|
|
|
2970
2692
|
const found = getpath(store, ref, inj)
|
|
2971
2693
|
|
|
2972
|
-
// Ensure inject value is a string.
|
|
2973
2694
|
return NONE === found ? S_MT : S_string === typeof found ? found : JSON.stringify(found)
|
|
2974
2695
|
}
|
|
2975
2696
|
|
|
@@ -3043,13 +2764,11 @@ function checkPlacement(
|
|
|
3043
2764
|
return true
|
|
3044
2765
|
}
|
|
3045
2766
|
|
|
3046
|
-
// function injectorArgs(argTypes: number[], inj: Injection): any {
|
|
3047
2767
|
function injectorArgs(argTypes: number[], args: any[]): any {
|
|
3048
2768
|
const numargs = size(argTypes)
|
|
3049
2769
|
const found = new Array(1 + numargs)
|
|
3050
2770
|
found[0] = NONE
|
|
3051
2771
|
for (let argI = 0; argI < numargs; argI++) {
|
|
3052
|
-
// const arg = inj.parent[1 + argI]
|
|
3053
2772
|
const arg = args[argI]
|
|
3054
2773
|
const argType = typify(arg)
|
|
3055
2774
|
if (0 === (argTypes[argI] & argType)) {
|
|
@@ -3086,7 +2805,6 @@ function injectChild(child: any, store: any, inj: Injection): Injection {
|
|
|
3086
2805
|
}
|
|
3087
2806
|
}
|
|
3088
2807
|
|
|
3089
|
-
// console.log('FORMAT-INJECT-CHILD', child)
|
|
3090
2808
|
inject(child, store, cinj)
|
|
3091
2809
|
|
|
3092
2810
|
return cinj
|
|
@@ -3170,57 +2888,6 @@ class StructUtility {
|
|
|
3170
2888
|
injectChild = injectChild
|
|
3171
2889
|
}
|
|
3172
2890
|
|
|
3173
|
-
// ---------------------------------------------------------------------------
|
|
3174
|
-
// CONDENSED STRUCTURES
|
|
3175
|
-
//
|
|
3176
|
-
// A condensed structure holds the same information as a JSON-shaped node in a
|
|
3177
|
-
// fraction of the space, and can be read WITHOUT materialising it. Three
|
|
3178
|
-
// mechanisms, all in one format:
|
|
3179
|
-
//
|
|
3180
|
-
// intern a symbol table holds each distinct map key and string value once
|
|
3181
|
-
// share identical subtrees become ONE node with many references (a DAG)
|
|
3182
|
-
// lazy a reader resolves a path by walking integer indexes, touching
|
|
3183
|
-
// only the nodes on that path
|
|
3184
|
-
//
|
|
3185
|
-
// The shape:
|
|
3186
|
-
//
|
|
3187
|
-
// { "$condense": 1, format version
|
|
3188
|
-
// "sym": [ ... ], distinct strings, sorted (so lookup can bisect)
|
|
3189
|
-
// "node": [ ... ], integer-encoded nodes, children before parents
|
|
3190
|
-
// "root": 12 } index into node[]
|
|
3191
|
-
//
|
|
3192
|
-
// Each node is one of:
|
|
3193
|
-
//
|
|
3194
|
-
// map [0, k0, v0, k1, v1, ...] k ascending symbol ids, v node refs
|
|
3195
|
-
// list [1, v0, v1, ...] node refs
|
|
3196
|
-
// string [2, symId]
|
|
3197
|
-
// number [3, value]
|
|
3198
|
-
// true [4] false [5] null [6]
|
|
3199
|
-
//
|
|
3200
|
-
// Two properties are load-bearing rather than incidental:
|
|
3201
|
-
//
|
|
3202
|
-
// Map keys ascend, because keysof() sorts. That makes output byte-stable
|
|
3203
|
-
// (generators depend on it) and lets a key lookup bisect rather than scan.
|
|
3204
|
-
//
|
|
3205
|
-
// References are integer indexes into a post-order table, so every ref
|
|
3206
|
-
// points BACKWARDS. Sharing is therefore free — two identical subtrees
|
|
3207
|
-
// intern to one node and two refs, with no dedup pass at read time — and a
|
|
3208
|
-
// reader can never loop.
|
|
3209
|
-
//
|
|
3210
|
-
// The transport is JSON arrays of integers on purpose. The FORMAT is defined
|
|
3211
|
-
// here, but TOKENIZING is left to each language's own JSON parser: mature,
|
|
3212
|
-
// fast, memory-safe, already present, and nothing to keep in parity across
|
|
3213
|
-
// ports. A binary profile ($condense: 2) is a future option, deliberately
|
|
3214
|
-
// deferred - it is worth perhaps 2-3x and costs a hand-written decoder per
|
|
3215
|
-
// language.
|
|
3216
|
-
//
|
|
3217
|
-
// IMMUTABILITY. Sharing makes a condensed structure a DAG, so a mutation
|
|
3218
|
-
// through one reference would be visible through every other. Rather than
|
|
3219
|
-
// make that hazard the caller's problem, it is designed out: mutating
|
|
3220
|
-
// helpers RAISE on a condensed node, and expand()/value() always return an
|
|
3221
|
-
// independent copy. ref() is the one opt-in escape hatch and is named to be
|
|
3222
|
-
// alarming.
|
|
3223
|
-
|
|
3224
2891
|
const CONDENSE_VERSION = 1
|
|
3225
2892
|
|
|
3226
2893
|
const CONDENSE_MAP = 0
|
|
@@ -3236,18 +2903,6 @@ const S_condsym = 'sym'
|
|
|
3236
2903
|
const S_condnode = 'node'
|
|
3237
2904
|
const S_condroot = 'root'
|
|
3238
2905
|
|
|
3239
|
-
// Is this a condensed structure? Checked structurally rather than by a marker
|
|
3240
|
-
// alone, so an ordinary map that happens to carry a `$condense` key is not
|
|
3241
|
-
// mistaken for one.
|
|
3242
|
-
// Compare by UNICODE CODE POINT, not by UTF-16 code unit.
|
|
3243
|
-
//
|
|
3244
|
-
// JavaScript's default string sort compares UTF-16 code units, which orders
|
|
3245
|
-
// an astral character BEFORE a high-BMP one; Python, Go and Rust all compare
|
|
3246
|
-
// by code point (equivalently, by UTF-8 bytes). A symbol table sorted the
|
|
3247
|
-
// JavaScript way would make two conforming ports emit different bytes for the
|
|
3248
|
-
// same input, which is exactly the byte-stability the format promises. Code
|
|
3249
|
-
// point order is the portable choice, so it is specified rather than
|
|
3250
|
-
// inherited.
|
|
3251
2906
|
function condenseCmp(a: string, b: string): number {
|
|
3252
2907
|
let i = 0
|
|
3253
2908
|
let j = 0
|
|
@@ -3263,12 +2918,6 @@ function condenseCmp(a: string, b: string): number {
|
|
|
3263
2918
|
return a.length - i - (b.length - j)
|
|
3264
2919
|
}
|
|
3265
2920
|
|
|
3266
|
-
// Assign a key that may be `__proto__`.
|
|
3267
|
-
//
|
|
3268
|
-
// Plain assignment to `__proto__` invokes the inherited setter instead of
|
|
3269
|
-
// creating an own property, so a model carrying that key or string value
|
|
3270
|
-
// would be silently corrupted - it is valid JSON and Seneca-adjacent data
|
|
3271
|
-
// really does use `$`-ish and `__`-ish names.
|
|
3272
2921
|
function condenseSet(obj: any, key: string, val: any) {
|
|
3273
2922
|
if ('__proto__' === key) {
|
|
3274
2923
|
Object.defineProperty(obj, key, {
|
|
@@ -3480,13 +3129,6 @@ function condenseResolve(cond: any, idx: number, path: any): number {
|
|
|
3480
3129
|
return at
|
|
3481
3130
|
}
|
|
3482
3131
|
|
|
3483
|
-
// Materialise node `idx` as an ordinary JSON-shaped value.
|
|
3484
|
-
//
|
|
3485
|
-
// Containers are rebuilt on every call and never memoised: sharing is an
|
|
3486
|
-
// implementation detail, and handing the same object out twice would let a
|
|
3487
|
-
// caller mutating one reference corrupt every other. The cost is that
|
|
3488
|
-
// expansion reproduces the original tree - which is exactly the size it was
|
|
3489
|
-
// before condensing, so it is bounded by the input.
|
|
3490
3132
|
function condenseMaterialise(cond: any, idx: number): any {
|
|
3491
3133
|
const sym = (cond as any)[S_condsym]
|
|
3492
3134
|
const node = (cond as any)[S_condnode]
|