planetscale 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/ci.yml +24 -0
- data/.github/workflows/gem-push.yml +38 -0
- data/.github/workflows/licensed.yml +43 -0
- data/.gitignore +10 -0
- data/.licensed.yml +9 -0
- data/.licenses/go/github.com/armon/circbuf.dep.yml +31 -0
- data/.licenses/go/github.com/gorilla/mux.dep.yml +41 -0
- data/.licenses/go/github.com/hashicorp/go-cleanhttp.dep.yml +375 -0
- data/.licenses/go/github.com/mitchellh/go-homedir.dep.yml +32 -0
- data/.licenses/go/github.com/pkg/errors.dep.yml +36 -0
- data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +160 -0
- data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +180 -0
- data/.licenses/go/go.uber.org/atomic.dep.yml +31 -0
- data/.licenses/go/go.uber.org/multierr.dep.yml +30 -0
- data/.licenses/go/go.uber.org/zap.dep.yml +30 -0
- data/.licenses/go/go.uber.org/zap/buffer.dep.yml +30 -0
- data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +30 -0
- data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +30 -0
- data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +31 -0
- data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +31 -0
- data/.licenses/go/golang.org/x/net/context/ctxhttp.dep.yml +63 -0
- data/.licenses/go/golang.org/x/oauth2.dep.yml +44 -0
- data/.licenses/go/golang.org/x/oauth2/internal.dep.yml +38 -0
- data/.ruby_version +1 -0
- data/Gemfile +8 -0
- data/LICENSE +201 -0
- data/README.md +88 -0
- data/Rakefile +10 -0
- data/bin/console +15 -0
- data/bin/setup +17 -0
- data/controller.go +255 -0
- data/go.mod +16 -0
- data/go.sum +428 -0
- data/lib/generators/planetscale/install_generator.rb +58 -0
- data/lib/planetscale.rb +137 -0
- data/lib/planetscale/version.rb +5 -0
- data/planetscale.gemspec +44 -0
- data/proxy.go +128 -0
- data/vendor/github.com/armon/circbuf/.gitignore +22 -0
- data/vendor/github.com/armon/circbuf/LICENSE +20 -0
- data/vendor/github.com/armon/circbuf/README.md +28 -0
- data/vendor/github.com/armon/circbuf/circbuf.go +92 -0
- data/vendor/github.com/armon/circbuf/go.mod +1 -0
- data/vendor/github.com/golang/protobuf/AUTHORS +3 -0
- data/vendor/github.com/golang/protobuf/CONTRIBUTORS +3 -0
- data/vendor/github.com/golang/protobuf/LICENSE +28 -0
- data/vendor/github.com/golang/protobuf/proto/buffer.go +324 -0
- data/vendor/github.com/golang/protobuf/proto/defaults.go +63 -0
- data/vendor/github.com/golang/protobuf/proto/deprecated.go +113 -0
- data/vendor/github.com/golang/protobuf/proto/discard.go +58 -0
- data/vendor/github.com/golang/protobuf/proto/extensions.go +356 -0
- data/vendor/github.com/golang/protobuf/proto/properties.go +306 -0
- data/vendor/github.com/golang/protobuf/proto/proto.go +167 -0
- data/vendor/github.com/golang/protobuf/proto/registry.go +317 -0
- data/vendor/github.com/golang/protobuf/proto/text_decode.go +801 -0
- data/vendor/github.com/golang/protobuf/proto/text_encode.go +560 -0
- data/vendor/github.com/golang/protobuf/proto/wire.go +78 -0
- data/vendor/github.com/golang/protobuf/proto/wrappers.go +34 -0
- data/vendor/github.com/gorilla/mux/AUTHORS +8 -0
- data/vendor/github.com/gorilla/mux/LICENSE +27 -0
- data/vendor/github.com/gorilla/mux/README.md +805 -0
- data/vendor/github.com/gorilla/mux/doc.go +306 -0
- data/vendor/github.com/gorilla/mux/go.mod +3 -0
- data/vendor/github.com/gorilla/mux/middleware.go +74 -0
- data/vendor/github.com/gorilla/mux/mux.go +606 -0
- data/vendor/github.com/gorilla/mux/regexp.go +388 -0
- data/vendor/github.com/gorilla/mux/route.go +736 -0
- data/vendor/github.com/gorilla/mux/test_helpers.go +19 -0
- data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +363 -0
- data/vendor/github.com/hashicorp/go-cleanhttp/README.md +30 -0
- data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +58 -0
- data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +20 -0
- data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +3 -0
- data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +48 -0
- data/vendor/github.com/mitchellh/go-homedir/LICENSE +21 -0
- data/vendor/github.com/mitchellh/go-homedir/README.md +14 -0
- data/vendor/github.com/mitchellh/go-homedir/go.mod +1 -0
- data/vendor/github.com/mitchellh/go-homedir/homedir.go +167 -0
- data/vendor/github.com/pkg/errors/.gitignore +24 -0
- data/vendor/github.com/pkg/errors/.travis.yml +10 -0
- data/vendor/github.com/pkg/errors/LICENSE +23 -0
- data/vendor/github.com/pkg/errors/Makefile +44 -0
- data/vendor/github.com/pkg/errors/README.md +59 -0
- data/vendor/github.com/pkg/errors/appveyor.yml +32 -0
- data/vendor/github.com/pkg/errors/errors.go +288 -0
- data/vendor/github.com/pkg/errors/go113.go +38 -0
- data/vendor/github.com/pkg/errors/stack.go +177 -0
- data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +139 -0
- data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +258 -0
- data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +142 -0
- data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +305 -0
- data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +131 -0
- data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +368 -0
- data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +78 -0
- data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +163 -0
- data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +467 -0
- data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +73 -0
- data/vendor/go.uber.org/atomic/.codecov.yml +19 -0
- data/vendor/go.uber.org/atomic/.gitignore +12 -0
- data/vendor/go.uber.org/atomic/.travis.yml +27 -0
- data/vendor/go.uber.org/atomic/CHANGELOG.md +76 -0
- data/vendor/go.uber.org/atomic/LICENSE.txt +19 -0
- data/vendor/go.uber.org/atomic/Makefile +78 -0
- data/vendor/go.uber.org/atomic/README.md +63 -0
- data/vendor/go.uber.org/atomic/bool.go +81 -0
- data/vendor/go.uber.org/atomic/bool_ext.go +53 -0
- data/vendor/go.uber.org/atomic/doc.go +23 -0
- data/vendor/go.uber.org/atomic/duration.go +82 -0
- data/vendor/go.uber.org/atomic/duration_ext.go +40 -0
- data/vendor/go.uber.org/atomic/error.go +51 -0
- data/vendor/go.uber.org/atomic/error_ext.go +39 -0
- data/vendor/go.uber.org/atomic/float64.go +76 -0
- data/vendor/go.uber.org/atomic/float64_ext.go +47 -0
- data/vendor/go.uber.org/atomic/gen.go +26 -0
- data/vendor/go.uber.org/atomic/go.mod +8 -0
- data/vendor/go.uber.org/atomic/go.sum +9 -0
- data/vendor/go.uber.org/atomic/int32.go +102 -0
- data/vendor/go.uber.org/atomic/int64.go +102 -0
- data/vendor/go.uber.org/atomic/nocmp.go +35 -0
- data/vendor/go.uber.org/atomic/string.go +54 -0
- data/vendor/go.uber.org/atomic/string_ext.go +43 -0
- data/vendor/go.uber.org/atomic/uint32.go +102 -0
- data/vendor/go.uber.org/atomic/uint64.go +102 -0
- data/vendor/go.uber.org/atomic/value.go +31 -0
- data/vendor/go.uber.org/multierr/.codecov.yml +15 -0
- data/vendor/go.uber.org/multierr/.gitignore +4 -0
- data/vendor/go.uber.org/multierr/.travis.yml +23 -0
- data/vendor/go.uber.org/multierr/CHANGELOG.md +60 -0
- data/vendor/go.uber.org/multierr/LICENSE.txt +19 -0
- data/vendor/go.uber.org/multierr/Makefile +42 -0
- data/vendor/go.uber.org/multierr/README.md +23 -0
- data/vendor/go.uber.org/multierr/error.go +449 -0
- data/vendor/go.uber.org/multierr/glide.yaml +8 -0
- data/vendor/go.uber.org/multierr/go.mod +8 -0
- data/vendor/go.uber.org/multierr/go.sum +11 -0
- data/vendor/go.uber.org/multierr/go113.go +52 -0
- data/vendor/go.uber.org/zap/.codecov.yml +17 -0
- data/vendor/go.uber.org/zap/.gitignore +32 -0
- data/vendor/go.uber.org/zap/.readme.tmpl +109 -0
- data/vendor/go.uber.org/zap/.travis.yml +23 -0
- data/vendor/go.uber.org/zap/CHANGELOG.md +432 -0
- data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +75 -0
- data/vendor/go.uber.org/zap/CONTRIBUTING.md +81 -0
- data/vendor/go.uber.org/zap/FAQ.md +156 -0
- data/vendor/go.uber.org/zap/LICENSE.txt +19 -0
- data/vendor/go.uber.org/zap/Makefile +63 -0
- data/vendor/go.uber.org/zap/README.md +134 -0
- data/vendor/go.uber.org/zap/array.go +320 -0
- data/vendor/go.uber.org/zap/buffer/buffer.go +123 -0
- data/vendor/go.uber.org/zap/buffer/pool.go +49 -0
- data/vendor/go.uber.org/zap/checklicense.sh +17 -0
- data/vendor/go.uber.org/zap/config.go +264 -0
- data/vendor/go.uber.org/zap/doc.go +113 -0
- data/vendor/go.uber.org/zap/encoder.go +79 -0
- data/vendor/go.uber.org/zap/error.go +80 -0
- data/vendor/go.uber.org/zap/field.go +539 -0
- data/vendor/go.uber.org/zap/flag.go +39 -0
- data/vendor/go.uber.org/zap/glide.yaml +34 -0
- data/vendor/go.uber.org/zap/global.go +168 -0
- data/vendor/go.uber.org/zap/global_go112.go +26 -0
- data/vendor/go.uber.org/zap/global_prego112.go +26 -0
- data/vendor/go.uber.org/zap/go.mod +13 -0
- data/vendor/go.uber.org/zap/go.sum +56 -0
- data/vendor/go.uber.org/zap/http_handler.go +81 -0
- data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +31 -0
- data/vendor/go.uber.org/zap/internal/color/color.go +44 -0
- data/vendor/go.uber.org/zap/internal/exit/exit.go +64 -0
- data/vendor/go.uber.org/zap/level.go +132 -0
- data/vendor/go.uber.org/zap/logger.go +344 -0
- data/vendor/go.uber.org/zap/options.go +140 -0
- data/vendor/go.uber.org/zap/sink.go +161 -0
- data/vendor/go.uber.org/zap/stacktrace.go +85 -0
- data/vendor/go.uber.org/zap/sugar.go +304 -0
- data/vendor/go.uber.org/zap/time.go +27 -0
- data/vendor/go.uber.org/zap/writer.go +99 -0
- data/vendor/go.uber.org/zap/zapcore/console_encoder.go +161 -0
- data/vendor/go.uber.org/zap/zapcore/core.go +113 -0
- data/vendor/go.uber.org/zap/zapcore/doc.go +24 -0
- data/vendor/go.uber.org/zap/zapcore/encoder.go +443 -0
- data/vendor/go.uber.org/zap/zapcore/entry.go +264 -0
- data/vendor/go.uber.org/zap/zapcore/error.go +115 -0
- data/vendor/go.uber.org/zap/zapcore/field.go +227 -0
- data/vendor/go.uber.org/zap/zapcore/hook.go +68 -0
- data/vendor/go.uber.org/zap/zapcore/increase_level.go +66 -0
- data/vendor/go.uber.org/zap/zapcore/json_encoder.go +534 -0
- data/vendor/go.uber.org/zap/zapcore/level.go +175 -0
- data/vendor/go.uber.org/zap/zapcore/level_strings.go +46 -0
- data/vendor/go.uber.org/zap/zapcore/marshaler.go +61 -0
- data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +179 -0
- data/vendor/go.uber.org/zap/zapcore/sampler.go +208 -0
- data/vendor/go.uber.org/zap/zapcore/tee.go +81 -0
- data/vendor/go.uber.org/zap/zapcore/write_syncer.go +123 -0
- data/vendor/golang.org/x/net/AUTHORS +3 -0
- data/vendor/golang.org/x/net/CONTRIBUTORS +3 -0
- data/vendor/golang.org/x/net/LICENSE +27 -0
- data/vendor/golang.org/x/net/PATENTS +22 -0
- data/vendor/golang.org/x/net/context/context.go +56 -0
- data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +71 -0
- data/vendor/golang.org/x/net/context/go17.go +73 -0
- data/vendor/golang.org/x/net/context/go19.go +21 -0
- data/vendor/golang.org/x/net/context/pre_go17.go +301 -0
- data/vendor/golang.org/x/net/context/pre_go19.go +110 -0
- data/vendor/golang.org/x/oauth2/.travis.yml +13 -0
- data/vendor/golang.org/x/oauth2/AUTHORS +3 -0
- data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +26 -0
- data/vendor/golang.org/x/oauth2/CONTRIBUTORS +3 -0
- data/vendor/golang.org/x/oauth2/LICENSE +27 -0
- data/vendor/golang.org/x/oauth2/README.md +36 -0
- data/vendor/golang.org/x/oauth2/go.mod +9 -0
- data/vendor/golang.org/x/oauth2/go.sum +361 -0
- data/vendor/golang.org/x/oauth2/internal/client_appengine.go +14 -0
- data/vendor/golang.org/x/oauth2/internal/doc.go +6 -0
- data/vendor/golang.org/x/oauth2/internal/oauth2.go +37 -0
- data/vendor/golang.org/x/oauth2/internal/token.go +294 -0
- data/vendor/golang.org/x/oauth2/internal/transport.go +33 -0
- data/vendor/golang.org/x/oauth2/oauth2.go +381 -0
- data/vendor/golang.org/x/oauth2/token.go +178 -0
- data/vendor/golang.org/x/oauth2/transport.go +89 -0
- data/vendor/google.golang.org/appengine/LICENSE +202 -0
- data/vendor/google.golang.org/appengine/internal/api.go +678 -0
- data/vendor/google.golang.org/appengine/internal/api_classic.go +169 -0
- data/vendor/google.golang.org/appengine/internal/api_common.go +123 -0
- data/vendor/google.golang.org/appengine/internal/app_id.go +28 -0
- data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +308 -0
- data/vendor/google.golang.org/appengine/internal/base/api_base.proto +33 -0
- data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +4367 -0
- data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +551 -0
- data/vendor/google.golang.org/appengine/internal/identity.go +55 -0
- data/vendor/google.golang.org/appengine/internal/identity_classic.go +61 -0
- data/vendor/google.golang.org/appengine/internal/identity_flex.go +11 -0
- data/vendor/google.golang.org/appengine/internal/identity_vm.go +134 -0
- data/vendor/google.golang.org/appengine/internal/internal.go +110 -0
- data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +1313 -0
- data/vendor/google.golang.org/appengine/internal/log/log_service.proto +150 -0
- data/vendor/google.golang.org/appengine/internal/main.go +16 -0
- data/vendor/google.golang.org/appengine/internal/main_common.go +7 -0
- data/vendor/google.golang.org/appengine/internal/main_vm.go +69 -0
- data/vendor/google.golang.org/appengine/internal/metadata.go +60 -0
- data/vendor/google.golang.org/appengine/internal/net.go +56 -0
- data/vendor/google.golang.org/appengine/internal/regen.sh +40 -0
- data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +361 -0
- data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +44 -0
- data/vendor/google.golang.org/appengine/internal/transaction.go +115 -0
- data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +527 -0
- data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +64 -0
- data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +210 -0
- data/vendor/google.golang.org/protobuf/AUTHORS +3 -0
- data/vendor/google.golang.org/protobuf/CONTRIBUTORS +3 -0
- data/vendor/google.golang.org/protobuf/LICENSE +27 -0
- data/vendor/google.golang.org/protobuf/PATENTS +22 -0
- data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +773 -0
- data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +7 -0
- data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +371 -0
- data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +538 -0
- data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +318 -0
- data/vendor/google.golang.org/protobuf/internal/descopts/options.go +29 -0
- data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +69 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +213 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +241 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +207 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +665 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +190 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +161 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +373 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +29 -0
- data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +265 -0
- data/vendor/google.golang.org/protobuf/internal/errors/errors.go +89 -0
- data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +39 -0
- data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +12 -0
- data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +158 -0
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +631 -0
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +471 -0
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +704 -0
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +450 -0
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +356 -0
- data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +107 -0
- data/vendor/google.golang.org/protobuf/internal/filetype/build.go +297 -0
- data/vendor/google.golang.org/protobuf/internal/flags/flags.go +24 -0
- data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +9 -0
- data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +9 -0
- data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +34 -0
- data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +106 -0
- data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +829 -0
- data/vendor/google.golang.org/protobuf/internal/genid/doc.go +11 -0
- data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +34 -0
- data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +19 -0
- data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +31 -0
- data/vendor/google.golang.org/protobuf/internal/genid/goname.go +25 -0
- data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +16 -0
- data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +31 -0
- data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +116 -0
- data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +34 -0
- data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +184 -0
- data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +13 -0
- data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +175 -0
- data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +177 -0
- data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +141 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +223 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +830 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +5637 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +388 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +37 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +11 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +217 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +123 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +209 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +557 -0
- data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +17 -0
- data/vendor/google.golang.org/protobuf/internal/impl/convert.go +496 -0
- data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +141 -0
- data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +121 -0
- data/vendor/google.golang.org/protobuf/internal/impl/decode.go +276 -0
- data/vendor/google.golang.org/protobuf/internal/impl/encode.go +201 -0
- data/vendor/google.golang.org/protobuf/internal/impl/enum.go +21 -0
- data/vendor/google.golang.org/protobuf/internal/impl/extension.go +156 -0
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +219 -0
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +92 -0
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +176 -0
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +81 -0
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +558 -0
- data/vendor/google.golang.org/protobuf/internal/impl/merge.go +176 -0
- data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +209 -0
- data/vendor/google.golang.org/protobuf/internal/impl/message.go +276 -0
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +465 -0
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +543 -0
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +249 -0
- data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +178 -0
- data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +174 -0
- data/vendor/google.golang.org/protobuf/internal/impl/validate.go +576 -0
- data/vendor/google.golang.org/protobuf/internal/impl/weak.go +74 -0
- data/vendor/google.golang.org/protobuf/internal/order/order.go +89 -0
- data/vendor/google.golang.org/protobuf/internal/order/range.go +115 -0
- data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +29 -0
- data/vendor/google.golang.org/protobuf/internal/set/ints.go +58 -0
- data/vendor/google.golang.org/protobuf/internal/strs/strings.go +196 -0
- data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +27 -0
- data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +94 -0
- data/vendor/google.golang.org/protobuf/internal/version/version.go +79 -0
- data/vendor/google.golang.org/protobuf/proto/checkinit.go +71 -0
- data/vendor/google.golang.org/protobuf/proto/decode.go +278 -0
- data/vendor/google.golang.org/protobuf/proto/decode_gen.go +603 -0
- data/vendor/google.golang.org/protobuf/proto/doc.go +94 -0
- data/vendor/google.golang.org/protobuf/proto/encode.go +319 -0
- data/vendor/google.golang.org/protobuf/proto/encode_gen.go +97 -0
- data/vendor/google.golang.org/protobuf/proto/equal.go +167 -0
- data/vendor/google.golang.org/protobuf/proto/extension.go +92 -0
- data/vendor/google.golang.org/protobuf/proto/merge.go +139 -0
- data/vendor/google.golang.org/protobuf/proto/messageset.go +93 -0
- data/vendor/google.golang.org/protobuf/proto/proto.go +43 -0
- data/vendor/google.golang.org/protobuf/proto/proto_methods.go +19 -0
- data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +19 -0
- data/vendor/google.golang.org/protobuf/proto/reset.go +43 -0
- data/vendor/google.golang.org/protobuf/proto/size.go +97 -0
- data/vendor/google.golang.org/protobuf/proto/size_gen.go +55 -0
- data/vendor/google.golang.org/protobuf/proto/wrappers.go +29 -0
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +276 -0
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +248 -0
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +286 -0
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +374 -0
- data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +252 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +77 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +504 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +128 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +461 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +665 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +285 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +59 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +411 -0
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +98 -0
- data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +869 -0
- data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +15 -0
- data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +167 -0
- data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +44 -0
- data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +56 -0
- data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +4039 -0
- data/vendor/modules.txt +79 -0
- metadata +495 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Copyright 2019 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package genid
|
|
6
|
+
|
|
7
|
+
import protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
8
|
+
|
|
9
|
+
// Generic field name and number for messages in wrappers.proto.
|
|
10
|
+
const (
|
|
11
|
+
WrapperValue_Value_field_name protoreflect.Name = "value"
|
|
12
|
+
WrapperValue_Value_field_number protoreflect.FieldNumber = 1
|
|
13
|
+
)
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
// Copyright 2019 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Code generated by generate-protos. DO NOT EDIT.
|
|
6
|
+
|
|
7
|
+
package genid
|
|
8
|
+
|
|
9
|
+
import (
|
|
10
|
+
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
const File_google_protobuf_wrappers_proto = "google/protobuf/wrappers.proto"
|
|
14
|
+
|
|
15
|
+
// Names for google.protobuf.DoubleValue.
|
|
16
|
+
const (
|
|
17
|
+
DoubleValue_message_name protoreflect.Name = "DoubleValue"
|
|
18
|
+
DoubleValue_message_fullname protoreflect.FullName = "google.protobuf.DoubleValue"
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
// Field names for google.protobuf.DoubleValue.
|
|
22
|
+
const (
|
|
23
|
+
DoubleValue_Value_field_name protoreflect.Name = "value"
|
|
24
|
+
|
|
25
|
+
DoubleValue_Value_field_fullname protoreflect.FullName = "google.protobuf.DoubleValue.value"
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
// Field numbers for google.protobuf.DoubleValue.
|
|
29
|
+
const (
|
|
30
|
+
DoubleValue_Value_field_number protoreflect.FieldNumber = 1
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
// Names for google.protobuf.FloatValue.
|
|
34
|
+
const (
|
|
35
|
+
FloatValue_message_name protoreflect.Name = "FloatValue"
|
|
36
|
+
FloatValue_message_fullname protoreflect.FullName = "google.protobuf.FloatValue"
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
// Field names for google.protobuf.FloatValue.
|
|
40
|
+
const (
|
|
41
|
+
FloatValue_Value_field_name protoreflect.Name = "value"
|
|
42
|
+
|
|
43
|
+
FloatValue_Value_field_fullname protoreflect.FullName = "google.protobuf.FloatValue.value"
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
// Field numbers for google.protobuf.FloatValue.
|
|
47
|
+
const (
|
|
48
|
+
FloatValue_Value_field_number protoreflect.FieldNumber = 1
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
// Names for google.protobuf.Int64Value.
|
|
52
|
+
const (
|
|
53
|
+
Int64Value_message_name protoreflect.Name = "Int64Value"
|
|
54
|
+
Int64Value_message_fullname protoreflect.FullName = "google.protobuf.Int64Value"
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
// Field names for google.protobuf.Int64Value.
|
|
58
|
+
const (
|
|
59
|
+
Int64Value_Value_field_name protoreflect.Name = "value"
|
|
60
|
+
|
|
61
|
+
Int64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int64Value.value"
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
// Field numbers for google.protobuf.Int64Value.
|
|
65
|
+
const (
|
|
66
|
+
Int64Value_Value_field_number protoreflect.FieldNumber = 1
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
// Names for google.protobuf.UInt64Value.
|
|
70
|
+
const (
|
|
71
|
+
UInt64Value_message_name protoreflect.Name = "UInt64Value"
|
|
72
|
+
UInt64Value_message_fullname protoreflect.FullName = "google.protobuf.UInt64Value"
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
// Field names for google.protobuf.UInt64Value.
|
|
76
|
+
const (
|
|
77
|
+
UInt64Value_Value_field_name protoreflect.Name = "value"
|
|
78
|
+
|
|
79
|
+
UInt64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt64Value.value"
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
// Field numbers for google.protobuf.UInt64Value.
|
|
83
|
+
const (
|
|
84
|
+
UInt64Value_Value_field_number protoreflect.FieldNumber = 1
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
// Names for google.protobuf.Int32Value.
|
|
88
|
+
const (
|
|
89
|
+
Int32Value_message_name protoreflect.Name = "Int32Value"
|
|
90
|
+
Int32Value_message_fullname protoreflect.FullName = "google.protobuf.Int32Value"
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
// Field names for google.protobuf.Int32Value.
|
|
94
|
+
const (
|
|
95
|
+
Int32Value_Value_field_name protoreflect.Name = "value"
|
|
96
|
+
|
|
97
|
+
Int32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int32Value.value"
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
// Field numbers for google.protobuf.Int32Value.
|
|
101
|
+
const (
|
|
102
|
+
Int32Value_Value_field_number protoreflect.FieldNumber = 1
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
// Names for google.protobuf.UInt32Value.
|
|
106
|
+
const (
|
|
107
|
+
UInt32Value_message_name protoreflect.Name = "UInt32Value"
|
|
108
|
+
UInt32Value_message_fullname protoreflect.FullName = "google.protobuf.UInt32Value"
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
// Field names for google.protobuf.UInt32Value.
|
|
112
|
+
const (
|
|
113
|
+
UInt32Value_Value_field_name protoreflect.Name = "value"
|
|
114
|
+
|
|
115
|
+
UInt32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt32Value.value"
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
// Field numbers for google.protobuf.UInt32Value.
|
|
119
|
+
const (
|
|
120
|
+
UInt32Value_Value_field_number protoreflect.FieldNumber = 1
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
// Names for google.protobuf.BoolValue.
|
|
124
|
+
const (
|
|
125
|
+
BoolValue_message_name protoreflect.Name = "BoolValue"
|
|
126
|
+
BoolValue_message_fullname protoreflect.FullName = "google.protobuf.BoolValue"
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
// Field names for google.protobuf.BoolValue.
|
|
130
|
+
const (
|
|
131
|
+
BoolValue_Value_field_name protoreflect.Name = "value"
|
|
132
|
+
|
|
133
|
+
BoolValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BoolValue.value"
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
// Field numbers for google.protobuf.BoolValue.
|
|
137
|
+
const (
|
|
138
|
+
BoolValue_Value_field_number protoreflect.FieldNumber = 1
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
// Names for google.protobuf.StringValue.
|
|
142
|
+
const (
|
|
143
|
+
StringValue_message_name protoreflect.Name = "StringValue"
|
|
144
|
+
StringValue_message_fullname protoreflect.FullName = "google.protobuf.StringValue"
|
|
145
|
+
)
|
|
146
|
+
|
|
147
|
+
// Field names for google.protobuf.StringValue.
|
|
148
|
+
const (
|
|
149
|
+
StringValue_Value_field_name protoreflect.Name = "value"
|
|
150
|
+
|
|
151
|
+
StringValue_Value_field_fullname protoreflect.FullName = "google.protobuf.StringValue.value"
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
// Field numbers for google.protobuf.StringValue.
|
|
155
|
+
const (
|
|
156
|
+
StringValue_Value_field_number protoreflect.FieldNumber = 1
|
|
157
|
+
)
|
|
158
|
+
|
|
159
|
+
// Names for google.protobuf.BytesValue.
|
|
160
|
+
const (
|
|
161
|
+
BytesValue_message_name protoreflect.Name = "BytesValue"
|
|
162
|
+
BytesValue_message_fullname protoreflect.FullName = "google.protobuf.BytesValue"
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
// Field names for google.protobuf.BytesValue.
|
|
166
|
+
const (
|
|
167
|
+
BytesValue_Value_field_name protoreflect.Name = "value"
|
|
168
|
+
|
|
169
|
+
BytesValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BytesValue.value"
|
|
170
|
+
)
|
|
171
|
+
|
|
172
|
+
// Field numbers for google.protobuf.BytesValue.
|
|
173
|
+
const (
|
|
174
|
+
BytesValue_Value_field_number protoreflect.FieldNumber = 1
|
|
175
|
+
)
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
// Copyright 2018 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package impl
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"fmt"
|
|
9
|
+
"reflect"
|
|
10
|
+
"strconv"
|
|
11
|
+
|
|
12
|
+
"google.golang.org/protobuf/encoding/prototext"
|
|
13
|
+
"google.golang.org/protobuf/internal/errors"
|
|
14
|
+
"google.golang.org/protobuf/proto"
|
|
15
|
+
pref "google.golang.org/protobuf/reflect/protoreflect"
|
|
16
|
+
piface "google.golang.org/protobuf/runtime/protoiface"
|
|
17
|
+
)
|
|
18
|
+
|
|
19
|
+
// Export is a zero-length named type that exists only to export a set of
|
|
20
|
+
// functions that we do not want to appear in godoc.
|
|
21
|
+
type Export struct{}
|
|
22
|
+
|
|
23
|
+
// NewError formats a string according to the format specifier and arguments and
|
|
24
|
+
// returns an error that has a "proto" prefix.
|
|
25
|
+
func (Export) NewError(f string, x ...interface{}) error {
|
|
26
|
+
return errors.New(f, x...)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// enum is any enum type generated by protoc-gen-go
|
|
30
|
+
// and must be a named int32 type.
|
|
31
|
+
type enum = interface{}
|
|
32
|
+
|
|
33
|
+
// EnumOf returns the protoreflect.Enum interface over e.
|
|
34
|
+
// It returns nil if e is nil.
|
|
35
|
+
func (Export) EnumOf(e enum) pref.Enum {
|
|
36
|
+
switch e := e.(type) {
|
|
37
|
+
case nil:
|
|
38
|
+
return nil
|
|
39
|
+
case pref.Enum:
|
|
40
|
+
return e
|
|
41
|
+
default:
|
|
42
|
+
return legacyWrapEnum(reflect.ValueOf(e))
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
// EnumDescriptorOf returns the protoreflect.EnumDescriptor for e.
|
|
47
|
+
// It returns nil if e is nil.
|
|
48
|
+
func (Export) EnumDescriptorOf(e enum) pref.EnumDescriptor {
|
|
49
|
+
switch e := e.(type) {
|
|
50
|
+
case nil:
|
|
51
|
+
return nil
|
|
52
|
+
case pref.Enum:
|
|
53
|
+
return e.Descriptor()
|
|
54
|
+
default:
|
|
55
|
+
return LegacyLoadEnumDesc(reflect.TypeOf(e))
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// EnumTypeOf returns the protoreflect.EnumType for e.
|
|
60
|
+
// It returns nil if e is nil.
|
|
61
|
+
func (Export) EnumTypeOf(e enum) pref.EnumType {
|
|
62
|
+
switch e := e.(type) {
|
|
63
|
+
case nil:
|
|
64
|
+
return nil
|
|
65
|
+
case pref.Enum:
|
|
66
|
+
return e.Type()
|
|
67
|
+
default:
|
|
68
|
+
return legacyLoadEnumType(reflect.TypeOf(e))
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// EnumStringOf returns the enum value as a string, either as the name if
|
|
73
|
+
// the number is resolvable, or the number formatted as a string.
|
|
74
|
+
func (Export) EnumStringOf(ed pref.EnumDescriptor, n pref.EnumNumber) string {
|
|
75
|
+
ev := ed.Values().ByNumber(n)
|
|
76
|
+
if ev != nil {
|
|
77
|
+
return string(ev.Name())
|
|
78
|
+
}
|
|
79
|
+
return strconv.Itoa(int(n))
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// message is any message type generated by protoc-gen-go
|
|
83
|
+
// and must be a pointer to a named struct type.
|
|
84
|
+
type message = interface{}
|
|
85
|
+
|
|
86
|
+
// legacyMessageWrapper wraps a v2 message as a v1 message.
|
|
87
|
+
type legacyMessageWrapper struct{ m pref.ProtoMessage }
|
|
88
|
+
|
|
89
|
+
func (m legacyMessageWrapper) Reset() { proto.Reset(m.m) }
|
|
90
|
+
func (m legacyMessageWrapper) String() string { return Export{}.MessageStringOf(m.m) }
|
|
91
|
+
func (m legacyMessageWrapper) ProtoMessage() {}
|
|
92
|
+
|
|
93
|
+
// ProtoMessageV1Of converts either a v1 or v2 message to a v1 message.
|
|
94
|
+
// It returns nil if m is nil.
|
|
95
|
+
func (Export) ProtoMessageV1Of(m message) piface.MessageV1 {
|
|
96
|
+
switch mv := m.(type) {
|
|
97
|
+
case nil:
|
|
98
|
+
return nil
|
|
99
|
+
case piface.MessageV1:
|
|
100
|
+
return mv
|
|
101
|
+
case unwrapper:
|
|
102
|
+
return Export{}.ProtoMessageV1Of(mv.protoUnwrap())
|
|
103
|
+
case pref.ProtoMessage:
|
|
104
|
+
return legacyMessageWrapper{mv}
|
|
105
|
+
default:
|
|
106
|
+
panic(fmt.Sprintf("message %T is neither a v1 or v2 Message", m))
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
func (Export) protoMessageV2Of(m message) pref.ProtoMessage {
|
|
111
|
+
switch mv := m.(type) {
|
|
112
|
+
case nil:
|
|
113
|
+
return nil
|
|
114
|
+
case pref.ProtoMessage:
|
|
115
|
+
return mv
|
|
116
|
+
case legacyMessageWrapper:
|
|
117
|
+
return mv.m
|
|
118
|
+
case piface.MessageV1:
|
|
119
|
+
return nil
|
|
120
|
+
default:
|
|
121
|
+
panic(fmt.Sprintf("message %T is neither a v1 or v2 Message", m))
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
// ProtoMessageV2Of converts either a v1 or v2 message to a v2 message.
|
|
126
|
+
// It returns nil if m is nil.
|
|
127
|
+
func (Export) ProtoMessageV2Of(m message) pref.ProtoMessage {
|
|
128
|
+
if m == nil {
|
|
129
|
+
return nil
|
|
130
|
+
}
|
|
131
|
+
if mv := (Export{}).protoMessageV2Of(m); mv != nil {
|
|
132
|
+
return mv
|
|
133
|
+
}
|
|
134
|
+
return legacyWrapMessage(reflect.ValueOf(m)).Interface()
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// MessageOf returns the protoreflect.Message interface over m.
|
|
138
|
+
// It returns nil if m is nil.
|
|
139
|
+
func (Export) MessageOf(m message) pref.Message {
|
|
140
|
+
if m == nil {
|
|
141
|
+
return nil
|
|
142
|
+
}
|
|
143
|
+
if mv := (Export{}).protoMessageV2Of(m); mv != nil {
|
|
144
|
+
return mv.ProtoReflect()
|
|
145
|
+
}
|
|
146
|
+
return legacyWrapMessage(reflect.ValueOf(m))
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// MessageDescriptorOf returns the protoreflect.MessageDescriptor for m.
|
|
150
|
+
// It returns nil if m is nil.
|
|
151
|
+
func (Export) MessageDescriptorOf(m message) pref.MessageDescriptor {
|
|
152
|
+
if m == nil {
|
|
153
|
+
return nil
|
|
154
|
+
}
|
|
155
|
+
if mv := (Export{}).protoMessageV2Of(m); mv != nil {
|
|
156
|
+
return mv.ProtoReflect().Descriptor()
|
|
157
|
+
}
|
|
158
|
+
return LegacyLoadMessageDesc(reflect.TypeOf(m))
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// MessageTypeOf returns the protoreflect.MessageType for m.
|
|
162
|
+
// It returns nil if m is nil.
|
|
163
|
+
func (Export) MessageTypeOf(m message) pref.MessageType {
|
|
164
|
+
if m == nil {
|
|
165
|
+
return nil
|
|
166
|
+
}
|
|
167
|
+
if mv := (Export{}).protoMessageV2Of(m); mv != nil {
|
|
168
|
+
return mv.ProtoReflect().Type()
|
|
169
|
+
}
|
|
170
|
+
return legacyLoadMessageType(reflect.TypeOf(m), "")
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// MessageStringOf returns the message value as a string,
|
|
174
|
+
// which is the message serialized in the protobuf text format.
|
|
175
|
+
func (Export) MessageStringOf(m pref.ProtoMessage) string {
|
|
176
|
+
return prototext.MarshalOptions{Multiline: false}.Format(m)
|
|
177
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
// Copyright 2019 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package impl
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"sync"
|
|
9
|
+
|
|
10
|
+
"google.golang.org/protobuf/internal/errors"
|
|
11
|
+
pref "google.golang.org/protobuf/reflect/protoreflect"
|
|
12
|
+
piface "google.golang.org/protobuf/runtime/protoiface"
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
func (mi *MessageInfo) checkInitialized(in piface.CheckInitializedInput) (piface.CheckInitializedOutput, error) {
|
|
16
|
+
var p pointer
|
|
17
|
+
if ms, ok := in.Message.(*messageState); ok {
|
|
18
|
+
p = ms.pointer()
|
|
19
|
+
} else {
|
|
20
|
+
p = in.Message.(*messageReflectWrapper).pointer()
|
|
21
|
+
}
|
|
22
|
+
return piface.CheckInitializedOutput{}, mi.checkInitializedPointer(p)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
func (mi *MessageInfo) checkInitializedPointer(p pointer) error {
|
|
26
|
+
mi.init()
|
|
27
|
+
if !mi.needsInitCheck {
|
|
28
|
+
return nil
|
|
29
|
+
}
|
|
30
|
+
if p.IsNil() {
|
|
31
|
+
for _, f := range mi.orderedCoderFields {
|
|
32
|
+
if f.isRequired {
|
|
33
|
+
return errors.RequiredNotSet(string(mi.Desc.Fields().ByNumber(f.num).FullName()))
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return nil
|
|
37
|
+
}
|
|
38
|
+
if mi.extensionOffset.IsValid() {
|
|
39
|
+
e := p.Apply(mi.extensionOffset).Extensions()
|
|
40
|
+
if err := mi.isInitExtensions(e); err != nil {
|
|
41
|
+
return err
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
for _, f := range mi.orderedCoderFields {
|
|
45
|
+
if !f.isRequired && f.funcs.isInit == nil {
|
|
46
|
+
continue
|
|
47
|
+
}
|
|
48
|
+
fptr := p.Apply(f.offset)
|
|
49
|
+
if f.isPointer && fptr.Elem().IsNil() {
|
|
50
|
+
if f.isRequired {
|
|
51
|
+
return errors.RequiredNotSet(string(mi.Desc.Fields().ByNumber(f.num).FullName()))
|
|
52
|
+
}
|
|
53
|
+
continue
|
|
54
|
+
}
|
|
55
|
+
if f.funcs.isInit == nil {
|
|
56
|
+
continue
|
|
57
|
+
}
|
|
58
|
+
if err := f.funcs.isInit(fptr, f); err != nil {
|
|
59
|
+
return err
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return nil
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
func (mi *MessageInfo) isInitExtensions(ext *map[int32]ExtensionField) error {
|
|
66
|
+
if ext == nil {
|
|
67
|
+
return nil
|
|
68
|
+
}
|
|
69
|
+
for _, x := range *ext {
|
|
70
|
+
ei := getExtensionFieldInfo(x.Type())
|
|
71
|
+
if ei.funcs.isInit == nil {
|
|
72
|
+
continue
|
|
73
|
+
}
|
|
74
|
+
v := x.Value()
|
|
75
|
+
if !v.IsValid() {
|
|
76
|
+
continue
|
|
77
|
+
}
|
|
78
|
+
if err := ei.funcs.isInit(v); err != nil {
|
|
79
|
+
return err
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
return nil
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
var (
|
|
86
|
+
needsInitCheckMu sync.Mutex
|
|
87
|
+
needsInitCheckMap sync.Map
|
|
88
|
+
)
|
|
89
|
+
|
|
90
|
+
// needsInitCheck reports whether a message needs to be checked for partial initialization.
|
|
91
|
+
//
|
|
92
|
+
// It returns true if the message transitively includes any required or extension fields.
|
|
93
|
+
func needsInitCheck(md pref.MessageDescriptor) bool {
|
|
94
|
+
if v, ok := needsInitCheckMap.Load(md); ok {
|
|
95
|
+
if has, ok := v.(bool); ok {
|
|
96
|
+
return has
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
needsInitCheckMu.Lock()
|
|
100
|
+
defer needsInitCheckMu.Unlock()
|
|
101
|
+
return needsInitCheckLocked(md)
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
func needsInitCheckLocked(md pref.MessageDescriptor) (has bool) {
|
|
105
|
+
if v, ok := needsInitCheckMap.Load(md); ok {
|
|
106
|
+
// If has is true, we've previously determined that this message
|
|
107
|
+
// needs init checks.
|
|
108
|
+
//
|
|
109
|
+
// If has is false, we've previously determined that it can never
|
|
110
|
+
// be uninitialized.
|
|
111
|
+
//
|
|
112
|
+
// If has is not a bool, we've just encountered a cycle in the
|
|
113
|
+
// message graph. In this case, it is safe to return false: If
|
|
114
|
+
// the message does have required fields, we'll detect them later
|
|
115
|
+
// in the graph traversal.
|
|
116
|
+
has, ok := v.(bool)
|
|
117
|
+
return ok && has
|
|
118
|
+
}
|
|
119
|
+
needsInitCheckMap.Store(md, struct{}{}) // avoid cycles while descending into this message
|
|
120
|
+
defer func() {
|
|
121
|
+
needsInitCheckMap.Store(md, has)
|
|
122
|
+
}()
|
|
123
|
+
if md.RequiredNumbers().Len() > 0 {
|
|
124
|
+
return true
|
|
125
|
+
}
|
|
126
|
+
if md.ExtensionRanges().Len() > 0 {
|
|
127
|
+
return true
|
|
128
|
+
}
|
|
129
|
+
for i := 0; i < md.Fields().Len(); i++ {
|
|
130
|
+
fd := md.Fields().Get(i)
|
|
131
|
+
// Map keys are never messages, so just consider the map value.
|
|
132
|
+
if fd.IsMap() {
|
|
133
|
+
fd = fd.MapValue()
|
|
134
|
+
}
|
|
135
|
+
fmd := fd.Message()
|
|
136
|
+
if fmd != nil && needsInitCheckLocked(fmd) {
|
|
137
|
+
return true
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return false
|
|
141
|
+
}
|