planetscale 0.2.0 → 0.3.3
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 +4 -4
- data/.buildkite/pipeline.yml +21 -0
- data/.github/workflows/ci.yml +9 -1
- data/.github/workflows/gem-push.yml +9 -2
- data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
- data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +56 -3
- data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +205 -172
- data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
- data/README.md +11 -8
- data/controller.go +24 -26
- data/go.mod +4 -3
- data/go.sum +42 -27
- data/lib/generators/planetscale/install_generator.rb +8 -6
- data/lib/planetscale/version.rb +1 -1
- data/lib/planetscale.rb +14 -15
- data/planetscale.gemspec +2 -2
- data/proxy/planetscale-darwin.h +1 -1
- data/proxy/planetscale-darwin.so +0 -0
- data/proxy/planetscale-linux.h +1 -1
- data/proxy/planetscale-linux.so +0 -0
- data/proxy.go +1 -5
- metadata +6 -342
- data/vendor/github.com/armon/circbuf/.gitignore +0 -22
- data/vendor/github.com/armon/circbuf/LICENSE +0 -20
- data/vendor/github.com/armon/circbuf/README.md +0 -28
- data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
- data/vendor/github.com/armon/circbuf/go.mod +0 -1
- data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
- data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
- data/vendor/github.com/golang/protobuf/LICENSE +0 -28
- data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
- data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
- data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
- data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
- data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
- data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
- data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
- data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
- data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
- data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
- data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
- data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
- data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
- data/vendor/github.com/gorilla/mux/LICENSE +0 -27
- data/vendor/github.com/gorilla/mux/README.md +0 -805
- data/vendor/github.com/gorilla/mux/doc.go +0 -306
- data/vendor/github.com/gorilla/mux/go.mod +0 -3
- data/vendor/github.com/gorilla/mux/middleware.go +0 -74
- data/vendor/github.com/gorilla/mux/mux.go +0 -606
- data/vendor/github.com/gorilla/mux/regexp.go +0 -388
- data/vendor/github.com/gorilla/mux/route.go +0 -736
- data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
- data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
- data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
- data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
- data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
- data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
- data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
- data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
- data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
- data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
- data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
- data/vendor/github.com/pkg/errors/.gitignore +0 -24
- data/vendor/github.com/pkg/errors/.travis.yml +0 -10
- data/vendor/github.com/pkg/errors/LICENSE +0 -23
- data/vendor/github.com/pkg/errors/Makefile +0 -44
- data/vendor/github.com/pkg/errors/README.md +0 -59
- data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
- data/vendor/github.com/pkg/errors/errors.go +0 -288
- data/vendor/github.com/pkg/errors/go113.go +0 -38
- data/vendor/github.com/pkg/errors/stack.go +0 -177
- data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +0 -139
- data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +0 -258
- data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -142
- data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -305
- data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -131
- data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +0 -368
- data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +0 -78
- data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
- data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -467
- data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
- data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
- data/vendor/go.uber.org/atomic/.gitignore +0 -12
- data/vendor/go.uber.org/atomic/.travis.yml +0 -27
- data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
- data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
- data/vendor/go.uber.org/atomic/Makefile +0 -78
- data/vendor/go.uber.org/atomic/README.md +0 -63
- data/vendor/go.uber.org/atomic/bool.go +0 -81
- data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
- data/vendor/go.uber.org/atomic/doc.go +0 -23
- data/vendor/go.uber.org/atomic/duration.go +0 -82
- data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
- data/vendor/go.uber.org/atomic/error.go +0 -51
- data/vendor/go.uber.org/atomic/error_ext.go +0 -39
- data/vendor/go.uber.org/atomic/float64.go +0 -76
- data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
- data/vendor/go.uber.org/atomic/gen.go +0 -26
- data/vendor/go.uber.org/atomic/go.mod +0 -8
- data/vendor/go.uber.org/atomic/go.sum +0 -9
- data/vendor/go.uber.org/atomic/int32.go +0 -102
- data/vendor/go.uber.org/atomic/int64.go +0 -102
- data/vendor/go.uber.org/atomic/nocmp.go +0 -35
- data/vendor/go.uber.org/atomic/string.go +0 -54
- data/vendor/go.uber.org/atomic/string_ext.go +0 -43
- data/vendor/go.uber.org/atomic/uint32.go +0 -102
- data/vendor/go.uber.org/atomic/uint64.go +0 -102
- data/vendor/go.uber.org/atomic/value.go +0 -31
- data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
- data/vendor/go.uber.org/multierr/.gitignore +0 -4
- data/vendor/go.uber.org/multierr/.travis.yml +0 -23
- data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
- data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
- data/vendor/go.uber.org/multierr/Makefile +0 -42
- data/vendor/go.uber.org/multierr/README.md +0 -23
- data/vendor/go.uber.org/multierr/error.go +0 -449
- data/vendor/go.uber.org/multierr/glide.yaml +0 -8
- data/vendor/go.uber.org/multierr/go.mod +0 -8
- data/vendor/go.uber.org/multierr/go.sum +0 -11
- data/vendor/go.uber.org/multierr/go113.go +0 -52
- data/vendor/go.uber.org/zap/.codecov.yml +0 -17
- data/vendor/go.uber.org/zap/.gitignore +0 -32
- data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
- data/vendor/go.uber.org/zap/.travis.yml +0 -23
- data/vendor/go.uber.org/zap/CHANGELOG.md +0 -432
- data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
- data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -81
- data/vendor/go.uber.org/zap/FAQ.md +0 -156
- data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
- data/vendor/go.uber.org/zap/Makefile +0 -63
- data/vendor/go.uber.org/zap/README.md +0 -134
- data/vendor/go.uber.org/zap/array.go +0 -320
- data/vendor/go.uber.org/zap/buffer/buffer.go +0 -123
- data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
- data/vendor/go.uber.org/zap/checklicense.sh +0 -17
- data/vendor/go.uber.org/zap/config.go +0 -264
- data/vendor/go.uber.org/zap/doc.go +0 -113
- data/vendor/go.uber.org/zap/encoder.go +0 -79
- data/vendor/go.uber.org/zap/error.go +0 -80
- data/vendor/go.uber.org/zap/field.go +0 -539
- data/vendor/go.uber.org/zap/flag.go +0 -39
- data/vendor/go.uber.org/zap/glide.yaml +0 -34
- data/vendor/go.uber.org/zap/global.go +0 -168
- data/vendor/go.uber.org/zap/global_go112.go +0 -26
- data/vendor/go.uber.org/zap/global_prego112.go +0 -26
- data/vendor/go.uber.org/zap/go.mod +0 -13
- data/vendor/go.uber.org/zap/go.sum +0 -56
- data/vendor/go.uber.org/zap/http_handler.go +0 -81
- data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
- data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
- data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
- data/vendor/go.uber.org/zap/level.go +0 -132
- data/vendor/go.uber.org/zap/logger.go +0 -344
- data/vendor/go.uber.org/zap/options.go +0 -140
- data/vendor/go.uber.org/zap/sink.go +0 -161
- data/vendor/go.uber.org/zap/stacktrace.go +0 -85
- data/vendor/go.uber.org/zap/sugar.go +0 -304
- data/vendor/go.uber.org/zap/time.go +0 -27
- data/vendor/go.uber.org/zap/writer.go +0 -99
- data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
- data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
- data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
- data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
- data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
- data/vendor/go.uber.org/zap/zapcore/error.go +0 -115
- data/vendor/go.uber.org/zap/zapcore/field.go +0 -227
- data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
- data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
- data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
- data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
- data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
- data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
- data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
- data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
- data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
- data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -123
- data/vendor/golang.org/x/net/AUTHORS +0 -3
- data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
- data/vendor/golang.org/x/net/LICENSE +0 -27
- data/vendor/golang.org/x/net/PATENTS +0 -22
- data/vendor/golang.org/x/net/context/context.go +0 -56
- data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
- data/vendor/golang.org/x/net/context/go17.go +0 -73
- data/vendor/golang.org/x/net/context/go19.go +0 -21
- data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
- data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
- data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
- data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
- data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
- data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
- data/vendor/golang.org/x/oauth2/LICENSE +0 -27
- data/vendor/golang.org/x/oauth2/README.md +0 -36
- data/vendor/golang.org/x/oauth2/go.mod +0 -9
- data/vendor/golang.org/x/oauth2/go.sum +0 -361
- data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
- data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
- data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
- data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
- data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
- data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
- data/vendor/golang.org/x/oauth2/token.go +0 -178
- data/vendor/golang.org/x/oauth2/transport.go +0 -89
- data/vendor/google.golang.org/appengine/LICENSE +0 -202
- data/vendor/google.golang.org/appengine/internal/api.go +0 -678
- data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
- data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
- data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
- data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
- data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
- data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
- data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
- data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
- data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
- data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
- data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
- data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
- data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
- data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
- data/vendor/google.golang.org/appengine/internal/main.go +0 -16
- data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
- data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
- data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
- data/vendor/google.golang.org/appengine/internal/net.go +0 -56
- data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
- data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
- data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
- data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
- data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
- data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
- data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
- data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
- data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
- data/vendor/google.golang.org/protobuf/LICENSE +0 -27
- data/vendor/google.golang.org/protobuf/PATENTS +0 -22
- data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
- data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
- data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
- data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
- data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
- data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
- data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
- data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
- data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
- data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
- data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
- data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
- data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
- data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
- data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
- data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
- data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
- data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
- data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
- data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
- data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
- data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
- data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
- data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
- data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
- data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
- data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
- data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
- data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
- data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
- data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
- data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
- data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
- data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
- data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
- data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
- data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
- data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
- data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
- data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
- data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
- data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
- data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
- data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
- data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
- data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
- data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
- data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
- data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
- data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
- data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
- data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
- data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
- data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
- data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
- data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
- data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
- data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
- data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
- data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
- data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
- data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
- data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
- data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
- data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
- data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
- data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
- data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
- data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
- data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
- data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
- data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
- data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
- data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
- data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
- data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
- data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
- data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
- data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
- data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
- data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
- data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
- data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
- data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
- data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
- data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
- data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
- data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
- data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
- data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
- data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
- data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
- data/vendor/modules.txt +0 -79
|
@@ -1,411 +0,0 @@
|
|
|
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 protoreflect
|
|
6
|
-
|
|
7
|
-
import (
|
|
8
|
-
"fmt"
|
|
9
|
-
"math"
|
|
10
|
-
)
|
|
11
|
-
|
|
12
|
-
// Value is a union where only one Go type may be set at a time.
|
|
13
|
-
// The Value is used to represent all possible values a field may take.
|
|
14
|
-
// The following shows which Go type is used to represent each proto Kind:
|
|
15
|
-
//
|
|
16
|
-
// ╔════════════╤═════════════════════════════════════╗
|
|
17
|
-
// ║ Go type │ Protobuf kind ║
|
|
18
|
-
// ╠════════════╪═════════════════════════════════════╣
|
|
19
|
-
// ║ bool │ BoolKind ║
|
|
20
|
-
// ║ int32 │ Int32Kind, Sint32Kind, Sfixed32Kind ║
|
|
21
|
-
// ║ int64 │ Int64Kind, Sint64Kind, Sfixed64Kind ║
|
|
22
|
-
// ║ uint32 │ Uint32Kind, Fixed32Kind ║
|
|
23
|
-
// ║ uint64 │ Uint64Kind, Fixed64Kind ║
|
|
24
|
-
// ║ float32 │ FloatKind ║
|
|
25
|
-
// ║ float64 │ DoubleKind ║
|
|
26
|
-
// ║ string │ StringKind ║
|
|
27
|
-
// ║ []byte │ BytesKind ║
|
|
28
|
-
// ║ EnumNumber │ EnumKind ║
|
|
29
|
-
// ║ Message │ MessageKind, GroupKind ║
|
|
30
|
-
// ╚════════════╧═════════════════════════════════════╝
|
|
31
|
-
//
|
|
32
|
-
// Multiple protobuf Kinds may be represented by a single Go type if the type
|
|
33
|
-
// can losslessly represent the information for the proto kind. For example,
|
|
34
|
-
// Int64Kind, Sint64Kind, and Sfixed64Kind are all represented by int64,
|
|
35
|
-
// but use different integer encoding methods.
|
|
36
|
-
//
|
|
37
|
-
// The List or Map types are used if the field cardinality is repeated.
|
|
38
|
-
// A field is a List if FieldDescriptor.IsList reports true.
|
|
39
|
-
// A field is a Map if FieldDescriptor.IsMap reports true.
|
|
40
|
-
//
|
|
41
|
-
// Converting to/from a Value and a concrete Go value panics on type mismatch.
|
|
42
|
-
// For example, ValueOf("hello").Int() panics because this attempts to
|
|
43
|
-
// retrieve an int64 from a string.
|
|
44
|
-
type Value value
|
|
45
|
-
|
|
46
|
-
// The protoreflect API uses a custom Value union type instead of interface{}
|
|
47
|
-
// to keep the future open for performance optimizations. Using an interface{}
|
|
48
|
-
// always incurs an allocation for primitives (e.g., int64) since it needs to
|
|
49
|
-
// be boxed on the heap (as interfaces can only contain pointers natively).
|
|
50
|
-
// Instead, we represent the Value union as a flat struct that internally keeps
|
|
51
|
-
// track of which type is set. Using unsafe, the Value union can be reduced
|
|
52
|
-
// down to 24B, which is identical in size to a slice.
|
|
53
|
-
//
|
|
54
|
-
// The latest compiler (Go1.11) currently suffers from some limitations:
|
|
55
|
-
// • With inlining, the compiler should be able to statically prove that
|
|
56
|
-
// only one of these switch cases are taken and inline one specific case.
|
|
57
|
-
// See https://golang.org/issue/22310.
|
|
58
|
-
|
|
59
|
-
// ValueOf returns a Value initialized with the concrete value stored in v.
|
|
60
|
-
// This panics if the type does not match one of the allowed types in the
|
|
61
|
-
// Value union.
|
|
62
|
-
func ValueOf(v interface{}) Value {
|
|
63
|
-
switch v := v.(type) {
|
|
64
|
-
case nil:
|
|
65
|
-
return Value{}
|
|
66
|
-
case bool:
|
|
67
|
-
return ValueOfBool(v)
|
|
68
|
-
case int32:
|
|
69
|
-
return ValueOfInt32(v)
|
|
70
|
-
case int64:
|
|
71
|
-
return ValueOfInt64(v)
|
|
72
|
-
case uint32:
|
|
73
|
-
return ValueOfUint32(v)
|
|
74
|
-
case uint64:
|
|
75
|
-
return ValueOfUint64(v)
|
|
76
|
-
case float32:
|
|
77
|
-
return ValueOfFloat32(v)
|
|
78
|
-
case float64:
|
|
79
|
-
return ValueOfFloat64(v)
|
|
80
|
-
case string:
|
|
81
|
-
return ValueOfString(v)
|
|
82
|
-
case []byte:
|
|
83
|
-
return ValueOfBytes(v)
|
|
84
|
-
case EnumNumber:
|
|
85
|
-
return ValueOfEnum(v)
|
|
86
|
-
case Message, List, Map:
|
|
87
|
-
return valueOfIface(v)
|
|
88
|
-
case ProtoMessage:
|
|
89
|
-
panic(fmt.Sprintf("invalid proto.Message(%T) type, expected a protoreflect.Message type", v))
|
|
90
|
-
default:
|
|
91
|
-
panic(fmt.Sprintf("invalid type: %T", v))
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// ValueOfBool returns a new boolean value.
|
|
96
|
-
func ValueOfBool(v bool) Value {
|
|
97
|
-
if v {
|
|
98
|
-
return Value{typ: boolType, num: 1}
|
|
99
|
-
} else {
|
|
100
|
-
return Value{typ: boolType, num: 0}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// ValueOfInt32 returns a new int32 value.
|
|
105
|
-
func ValueOfInt32(v int32) Value {
|
|
106
|
-
return Value{typ: int32Type, num: uint64(v)}
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
// ValueOfInt64 returns a new int64 value.
|
|
110
|
-
func ValueOfInt64(v int64) Value {
|
|
111
|
-
return Value{typ: int64Type, num: uint64(v)}
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// ValueOfUint32 returns a new uint32 value.
|
|
115
|
-
func ValueOfUint32(v uint32) Value {
|
|
116
|
-
return Value{typ: uint32Type, num: uint64(v)}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// ValueOfUint64 returns a new uint64 value.
|
|
120
|
-
func ValueOfUint64(v uint64) Value {
|
|
121
|
-
return Value{typ: uint64Type, num: v}
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// ValueOfFloat32 returns a new float32 value.
|
|
125
|
-
func ValueOfFloat32(v float32) Value {
|
|
126
|
-
return Value{typ: float32Type, num: uint64(math.Float64bits(float64(v)))}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// ValueOfFloat64 returns a new float64 value.
|
|
130
|
-
func ValueOfFloat64(v float64) Value {
|
|
131
|
-
return Value{typ: float64Type, num: uint64(math.Float64bits(float64(v)))}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
// ValueOfString returns a new string value.
|
|
135
|
-
func ValueOfString(v string) Value {
|
|
136
|
-
return valueOfString(v)
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// ValueOfBytes returns a new bytes value.
|
|
140
|
-
func ValueOfBytes(v []byte) Value {
|
|
141
|
-
return valueOfBytes(v[:len(v):len(v)])
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
// ValueOfEnum returns a new enum value.
|
|
145
|
-
func ValueOfEnum(v EnumNumber) Value {
|
|
146
|
-
return Value{typ: enumType, num: uint64(v)}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
// ValueOfMessage returns a new Message value.
|
|
150
|
-
func ValueOfMessage(v Message) Value {
|
|
151
|
-
return valueOfIface(v)
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// ValueOfList returns a new List value.
|
|
155
|
-
func ValueOfList(v List) Value {
|
|
156
|
-
return valueOfIface(v)
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
// ValueOfMap returns a new Map value.
|
|
160
|
-
func ValueOfMap(v Map) Value {
|
|
161
|
-
return valueOfIface(v)
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
// IsValid reports whether v is populated with a value.
|
|
165
|
-
func (v Value) IsValid() bool {
|
|
166
|
-
return v.typ != nilType
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
// Interface returns v as an interface{}.
|
|
170
|
-
//
|
|
171
|
-
// Invariant: v == ValueOf(v).Interface()
|
|
172
|
-
func (v Value) Interface() interface{} {
|
|
173
|
-
switch v.typ {
|
|
174
|
-
case nilType:
|
|
175
|
-
return nil
|
|
176
|
-
case boolType:
|
|
177
|
-
return v.Bool()
|
|
178
|
-
case int32Type:
|
|
179
|
-
return int32(v.Int())
|
|
180
|
-
case int64Type:
|
|
181
|
-
return int64(v.Int())
|
|
182
|
-
case uint32Type:
|
|
183
|
-
return uint32(v.Uint())
|
|
184
|
-
case uint64Type:
|
|
185
|
-
return uint64(v.Uint())
|
|
186
|
-
case float32Type:
|
|
187
|
-
return float32(v.Float())
|
|
188
|
-
case float64Type:
|
|
189
|
-
return float64(v.Float())
|
|
190
|
-
case stringType:
|
|
191
|
-
return v.String()
|
|
192
|
-
case bytesType:
|
|
193
|
-
return v.Bytes()
|
|
194
|
-
case enumType:
|
|
195
|
-
return v.Enum()
|
|
196
|
-
default:
|
|
197
|
-
return v.getIface()
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
func (v Value) typeName() string {
|
|
202
|
-
switch v.typ {
|
|
203
|
-
case nilType:
|
|
204
|
-
return "nil"
|
|
205
|
-
case boolType:
|
|
206
|
-
return "bool"
|
|
207
|
-
case int32Type:
|
|
208
|
-
return "int32"
|
|
209
|
-
case int64Type:
|
|
210
|
-
return "int64"
|
|
211
|
-
case uint32Type:
|
|
212
|
-
return "uint32"
|
|
213
|
-
case uint64Type:
|
|
214
|
-
return "uint64"
|
|
215
|
-
case float32Type:
|
|
216
|
-
return "float32"
|
|
217
|
-
case float64Type:
|
|
218
|
-
return "float64"
|
|
219
|
-
case stringType:
|
|
220
|
-
return "string"
|
|
221
|
-
case bytesType:
|
|
222
|
-
return "bytes"
|
|
223
|
-
case enumType:
|
|
224
|
-
return "enum"
|
|
225
|
-
default:
|
|
226
|
-
switch v := v.getIface().(type) {
|
|
227
|
-
case Message:
|
|
228
|
-
return "message"
|
|
229
|
-
case List:
|
|
230
|
-
return "list"
|
|
231
|
-
case Map:
|
|
232
|
-
return "map"
|
|
233
|
-
default:
|
|
234
|
-
return fmt.Sprintf("<unknown: %T>", v)
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
}
|
|
238
|
-
|
|
239
|
-
func (v Value) panicMessage(what string) string {
|
|
240
|
-
return fmt.Sprintf("type mismatch: cannot convert %v to %s", v.typeName(), what)
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
// Bool returns v as a bool and panics if the type is not a bool.
|
|
244
|
-
func (v Value) Bool() bool {
|
|
245
|
-
switch v.typ {
|
|
246
|
-
case boolType:
|
|
247
|
-
return v.num > 0
|
|
248
|
-
default:
|
|
249
|
-
panic(v.panicMessage("bool"))
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
// Int returns v as a int64 and panics if the type is not a int32 or int64.
|
|
254
|
-
func (v Value) Int() int64 {
|
|
255
|
-
switch v.typ {
|
|
256
|
-
case int32Type, int64Type:
|
|
257
|
-
return int64(v.num)
|
|
258
|
-
default:
|
|
259
|
-
panic(v.panicMessage("int"))
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
// Uint returns v as a uint64 and panics if the type is not a uint32 or uint64.
|
|
264
|
-
func (v Value) Uint() uint64 {
|
|
265
|
-
switch v.typ {
|
|
266
|
-
case uint32Type, uint64Type:
|
|
267
|
-
return uint64(v.num)
|
|
268
|
-
default:
|
|
269
|
-
panic(v.panicMessage("uint"))
|
|
270
|
-
}
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
// Float returns v as a float64 and panics if the type is not a float32 or float64.
|
|
274
|
-
func (v Value) Float() float64 {
|
|
275
|
-
switch v.typ {
|
|
276
|
-
case float32Type, float64Type:
|
|
277
|
-
return math.Float64frombits(uint64(v.num))
|
|
278
|
-
default:
|
|
279
|
-
panic(v.panicMessage("float"))
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
// String returns v as a string. Since this method implements fmt.Stringer,
|
|
284
|
-
// this returns the formatted string value for any non-string type.
|
|
285
|
-
func (v Value) String() string {
|
|
286
|
-
switch v.typ {
|
|
287
|
-
case stringType:
|
|
288
|
-
return v.getString()
|
|
289
|
-
default:
|
|
290
|
-
return fmt.Sprint(v.Interface())
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
// Bytes returns v as a []byte and panics if the type is not a []byte.
|
|
295
|
-
func (v Value) Bytes() []byte {
|
|
296
|
-
switch v.typ {
|
|
297
|
-
case bytesType:
|
|
298
|
-
return v.getBytes()
|
|
299
|
-
default:
|
|
300
|
-
panic(v.panicMessage("bytes"))
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
// Enum returns v as a EnumNumber and panics if the type is not a EnumNumber.
|
|
305
|
-
func (v Value) Enum() EnumNumber {
|
|
306
|
-
switch v.typ {
|
|
307
|
-
case enumType:
|
|
308
|
-
return EnumNumber(v.num)
|
|
309
|
-
default:
|
|
310
|
-
panic(v.panicMessage("enum"))
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
// Message returns v as a Message and panics if the type is not a Message.
|
|
315
|
-
func (v Value) Message() Message {
|
|
316
|
-
switch vi := v.getIface().(type) {
|
|
317
|
-
case Message:
|
|
318
|
-
return vi
|
|
319
|
-
default:
|
|
320
|
-
panic(v.panicMessage("message"))
|
|
321
|
-
}
|
|
322
|
-
}
|
|
323
|
-
|
|
324
|
-
// List returns v as a List and panics if the type is not a List.
|
|
325
|
-
func (v Value) List() List {
|
|
326
|
-
switch vi := v.getIface().(type) {
|
|
327
|
-
case List:
|
|
328
|
-
return vi
|
|
329
|
-
default:
|
|
330
|
-
panic(v.panicMessage("list"))
|
|
331
|
-
}
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
// Map returns v as a Map and panics if the type is not a Map.
|
|
335
|
-
func (v Value) Map() Map {
|
|
336
|
-
switch vi := v.getIface().(type) {
|
|
337
|
-
case Map:
|
|
338
|
-
return vi
|
|
339
|
-
default:
|
|
340
|
-
panic(v.panicMessage("map"))
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
// MapKey returns v as a MapKey and panics for invalid MapKey types.
|
|
345
|
-
func (v Value) MapKey() MapKey {
|
|
346
|
-
switch v.typ {
|
|
347
|
-
case boolType, int32Type, int64Type, uint32Type, uint64Type, stringType:
|
|
348
|
-
return MapKey(v)
|
|
349
|
-
default:
|
|
350
|
-
panic(v.panicMessage("map key"))
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
|
-
|
|
354
|
-
// MapKey is used to index maps, where the Go type of the MapKey must match
|
|
355
|
-
// the specified key Kind (see MessageDescriptor.IsMapEntry).
|
|
356
|
-
// The following shows what Go type is used to represent each proto Kind:
|
|
357
|
-
//
|
|
358
|
-
// ╔═════════╤═════════════════════════════════════╗
|
|
359
|
-
// ║ Go type │ Protobuf kind ║
|
|
360
|
-
// ╠═════════╪═════════════════════════════════════╣
|
|
361
|
-
// ║ bool │ BoolKind ║
|
|
362
|
-
// ║ int32 │ Int32Kind, Sint32Kind, Sfixed32Kind ║
|
|
363
|
-
// ║ int64 │ Int64Kind, Sint64Kind, Sfixed64Kind ║
|
|
364
|
-
// ║ uint32 │ Uint32Kind, Fixed32Kind ║
|
|
365
|
-
// ║ uint64 │ Uint64Kind, Fixed64Kind ║
|
|
366
|
-
// ║ string │ StringKind ║
|
|
367
|
-
// ╚═════════╧═════════════════════════════════════╝
|
|
368
|
-
//
|
|
369
|
-
// A MapKey is constructed and accessed through a Value:
|
|
370
|
-
// k := ValueOf("hash").MapKey() // convert string to MapKey
|
|
371
|
-
// s := k.String() // convert MapKey to string
|
|
372
|
-
//
|
|
373
|
-
// The MapKey is a strict subset of valid types used in Value;
|
|
374
|
-
// converting a Value to a MapKey with an invalid type panics.
|
|
375
|
-
type MapKey value
|
|
376
|
-
|
|
377
|
-
// IsValid reports whether k is populated with a value.
|
|
378
|
-
func (k MapKey) IsValid() bool {
|
|
379
|
-
return Value(k).IsValid()
|
|
380
|
-
}
|
|
381
|
-
|
|
382
|
-
// Interface returns k as an interface{}.
|
|
383
|
-
func (k MapKey) Interface() interface{} {
|
|
384
|
-
return Value(k).Interface()
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
// Bool returns k as a bool and panics if the type is not a bool.
|
|
388
|
-
func (k MapKey) Bool() bool {
|
|
389
|
-
return Value(k).Bool()
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
// Int returns k as a int64 and panics if the type is not a int32 or int64.
|
|
393
|
-
func (k MapKey) Int() int64 {
|
|
394
|
-
return Value(k).Int()
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
// Uint returns k as a uint64 and panics if the type is not a uint32 or uint64.
|
|
398
|
-
func (k MapKey) Uint() uint64 {
|
|
399
|
-
return Value(k).Uint()
|
|
400
|
-
}
|
|
401
|
-
|
|
402
|
-
// String returns k as a string. Since this method implements fmt.Stringer,
|
|
403
|
-
// this returns the formatted string value for any non-string type.
|
|
404
|
-
func (k MapKey) String() string {
|
|
405
|
-
return Value(k).String()
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
// Value returns k as a Value.
|
|
409
|
-
func (k MapKey) Value() Value {
|
|
410
|
-
return Value(k)
|
|
411
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
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
|
-
// +build !purego,!appengine
|
|
6
|
-
|
|
7
|
-
package protoreflect
|
|
8
|
-
|
|
9
|
-
import (
|
|
10
|
-
"unsafe"
|
|
11
|
-
|
|
12
|
-
"google.golang.org/protobuf/internal/pragma"
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
type (
|
|
16
|
-
stringHeader struct {
|
|
17
|
-
Data unsafe.Pointer
|
|
18
|
-
Len int
|
|
19
|
-
}
|
|
20
|
-
sliceHeader struct {
|
|
21
|
-
Data unsafe.Pointer
|
|
22
|
-
Len int
|
|
23
|
-
Cap int
|
|
24
|
-
}
|
|
25
|
-
ifaceHeader struct {
|
|
26
|
-
Type unsafe.Pointer
|
|
27
|
-
Data unsafe.Pointer
|
|
28
|
-
}
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
var (
|
|
32
|
-
nilType = typeOf(nil)
|
|
33
|
-
boolType = typeOf(*new(bool))
|
|
34
|
-
int32Type = typeOf(*new(int32))
|
|
35
|
-
int64Type = typeOf(*new(int64))
|
|
36
|
-
uint32Type = typeOf(*new(uint32))
|
|
37
|
-
uint64Type = typeOf(*new(uint64))
|
|
38
|
-
float32Type = typeOf(*new(float32))
|
|
39
|
-
float64Type = typeOf(*new(float64))
|
|
40
|
-
stringType = typeOf(*new(string))
|
|
41
|
-
bytesType = typeOf(*new([]byte))
|
|
42
|
-
enumType = typeOf(*new(EnumNumber))
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
// typeOf returns a pointer to the Go type information.
|
|
46
|
-
// The pointer is comparable and equal if and only if the types are identical.
|
|
47
|
-
func typeOf(t interface{}) unsafe.Pointer {
|
|
48
|
-
return (*ifaceHeader)(unsafe.Pointer(&t)).Type
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// value is a union where only one type can be represented at a time.
|
|
52
|
-
// The struct is 24B large on 64-bit systems and requires the minimum storage
|
|
53
|
-
// necessary to represent each possible type.
|
|
54
|
-
//
|
|
55
|
-
// The Go GC needs to be able to scan variables containing pointers.
|
|
56
|
-
// As such, pointers and non-pointers cannot be intermixed.
|
|
57
|
-
type value struct {
|
|
58
|
-
pragma.DoNotCompare // 0B
|
|
59
|
-
|
|
60
|
-
// typ stores the type of the value as a pointer to the Go type.
|
|
61
|
-
typ unsafe.Pointer // 8B
|
|
62
|
-
|
|
63
|
-
// ptr stores the data pointer for a String, Bytes, or interface value.
|
|
64
|
-
ptr unsafe.Pointer // 8B
|
|
65
|
-
|
|
66
|
-
// num stores a Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, or
|
|
67
|
-
// Enum value as a raw uint64.
|
|
68
|
-
//
|
|
69
|
-
// It is also used to store the length of a String or Bytes value;
|
|
70
|
-
// the capacity is ignored.
|
|
71
|
-
num uint64 // 8B
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
func valueOfString(v string) Value {
|
|
75
|
-
p := (*stringHeader)(unsafe.Pointer(&v))
|
|
76
|
-
return Value{typ: stringType, ptr: p.Data, num: uint64(len(v))}
|
|
77
|
-
}
|
|
78
|
-
func valueOfBytes(v []byte) Value {
|
|
79
|
-
p := (*sliceHeader)(unsafe.Pointer(&v))
|
|
80
|
-
return Value{typ: bytesType, ptr: p.Data, num: uint64(len(v))}
|
|
81
|
-
}
|
|
82
|
-
func valueOfIface(v interface{}) Value {
|
|
83
|
-
p := (*ifaceHeader)(unsafe.Pointer(&v))
|
|
84
|
-
return Value{typ: p.Type, ptr: p.Data}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
func (v Value) getString() (x string) {
|
|
88
|
-
*(*stringHeader)(unsafe.Pointer(&x)) = stringHeader{Data: v.ptr, Len: int(v.num)}
|
|
89
|
-
return x
|
|
90
|
-
}
|
|
91
|
-
func (v Value) getBytes() (x []byte) {
|
|
92
|
-
*(*sliceHeader)(unsafe.Pointer(&x)) = sliceHeader{Data: v.ptr, Len: int(v.num), Cap: int(v.num)}
|
|
93
|
-
return x
|
|
94
|
-
}
|
|
95
|
-
func (v Value) getIface() (x interface{}) {
|
|
96
|
-
*(*ifaceHeader)(unsafe.Pointer(&x)) = ifaceHeader{Type: v.typ, Data: v.ptr}
|
|
97
|
-
return x
|
|
98
|
-
}
|