mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-14 18:53:35 +00:00
added vendors
This commit is contained in:
Gopkg.lock
vendor
github.com
ghodss
gogo
protobuf
.gitignore.mailmap.travis.ymlAUTHORSCONTRIBUTORSGOLANG_CONTRIBUTORSLICENSEMakefileREADMEReadme.mdbench.md
codec
conformance
custom_types.mdextensions.mdgogoproto
gogoreplace
install-protobuf.shio
jsonpb
plugin
compare
defaultcheck
description
embedcheck
enumstringer
equal
face
gostring
marshalto
oneofcheck
populate
size
stringer
testgen
union
unmarshal
proto
Makefileall_test.goany_test.goclone.goclone_test.gocustom_gogo.godecode.godecode_test.godiscard.godiscard_test.goduration.goduration_gogo.goencode.goencode_gogo.goencode_test.goequal.goequal_test.goextensions.goextensions_gogo.goextensions_test.golib.golib_gogo.gomap_test.gomessage_set.gomessage_set_test.gopointer_reflect.gopointer_reflect_gogo.gopointer_unsafe.gopointer_unsafe_gogo.goproperties.goproperties_gogo.go
proto3_proto
proto3_test.gosize2_test.gosize_test.goskip_gogo.gotable_marshal.gotable_marshal_gogo.gotable_merge.gotable_unmarshal.gotable_unmarshal_gogo.gotest_proto
text.gotext_gogo.gotext_parser.gotext_parser_test.gotext_test.gotimestamp.gotimestamp_gogo.gowrappers.gowrappers_gogo.goprotobuf
Makefile
google
protoc-gen-combo
protoc-gen-gofast
protoc-gen-gogo
Makefile
descriptor
doc.gogenerator
golden_test.gogrpc
main.goplugin
testdata
Makefilemain_test.go
deprecated
extension_base
extension_extra
extension_test.goextension_user
grpc
import_public
imports
fmt
test_a_1
test_a_2
test_b_1
test_import_a1m1.pb.gotest_import_a1m1.prototest_import_a1m2.pb.gotest_import_a1m2.prototest_import_all.pb.gotest_import_all.protomulti
my_test
proto3
protoc-gen-gogofast
protoc-gen-gogofaster
protoc-gen-gogoslick
protoc-gen-gogotypes
protoc-gen-gostring
protoc-min-version
sortkeys
test
.gitignoreMakefile
asymetric-issue125
bug_test.gocachedsize
casttype
castvalue
combos
both
marshaler
unmarshaler
custom-dash-type
custom
custombytesnonstruct
dashfilename
data
defaultconflict
deterministic
embedconflict
empty-issue70
enumcustomname
enumdecl
enumdecl_all
enumprefix
enumstringer
example
extension_test.gofiledotname
fuzztests
group
importcustom-issue389
importdedup
importduplicate
Makefileimportduplicate.pb.goimportduplicate.protoimportduplicate_test.goimportduplicatepb_test.go
proto
sortkeys
indeximport-issue72
int64support
issue260
issue261
issue262
issue270
issue312
issue322
issue330
issue34
issue411
issue427
issue42order
issue435
issue438
issue444
issue449
issue498
issue8
jsonpb-gogo
mapdefaults
mapsproto2
Makefiledoc.goheader.protomapsproto2.protomapsproto2_test.go.in
combos
both
marshaler
neither
unmarshaler
merge
mixbench
.gitignoremarshal.txtmarshaler.txtmixbench.gooldmarshaler.txtoldunmarshaler.txtunmarshal.txtunmarshaler.txtunsafe_marshaler.txtunsafe_unmarshaler.txt
moredefaults
nopackage
oneof
oneof3
oneofembed
packed
proto3extension
protosize
registration
required
sizerconflict
sizeunderscore
stdtypes
t.gotags
theproto3
Makefiledoc.gofooter.protoheader.protomaps.protoproto3_test.go.intheproto3.proto
thetest.pb.gothetest.protothetestpb_test.gocombos
both
marshaler
neither
unmarshaler
typedecl
typedecl_all
typedeclimport
types
unmarshalmerge
unrecognized
unrecognizedgroup
uuid.gouuid_test.goxxxfields
types
any.goany.pb.goany_test.goapi.pb.godoc.goduration.goduration.pb.goduration_gogo.goduration_test.goempty.pb.gofield_mask.pb.goprotosize.gosource_context.pb.gostruct.pb.gotimestamp.gotimestamp.pb.gotimestamp_gogo.gotimestamp_test.gotype.pb.gowrappers.pb.gowrappers_gogo.go
vanity
version
google
googleapis
gnostic
.gitignore.travis-install.sh.travis.ymlCOMPILE-PROTOS.shCONTRIBUTING.mdLICENSEMakefile
OpenAPIv2
OpenAPIv3
README.mdapps
disco
petstore-builder
report-messages
report
compiler
discovery
examples
README.md
errors
v2.0
json
api-with-examples.jsonpetstore-expanded.jsonpetstore-minimal.json
petstore-separate
petstore-simple.jsonpetstore-with-external-docs.jsonpetstore.jsonuber.jsonyaml
v3.0
extensions
generate-gnostic
README.mddomain.gogenerate-compiler.gogenerate-extension.gogenerate-extension_test.gogenerate-proto.gohelpers.gomain.go
gnostic.gognostic_test.gotest
types.gojsonschema
jsonwriter
linters
plugins
README.mdenvironment.go
gnostic-analyze
gnostic-go-generator
MakefileREADME.mdgoimports.golanguage.golinewriter.gomain.gorender_client.gorender_constants.gorender_provider.gorender_server.gorender_types.gorenderer.go
examples
googleauth
v2.0
v3.0
gnostic-summary
gnostic-swift-generator
MakefilePackage.swiftREADME.mdcompile-protos
Sources
Gnostic
gnostic-swift-generator
examples
bookstore
gnostic-swift-sample
plugin.pb.goplugin.protoprinter
surface
test
README.md
errors
invalid-plugin-invocation.errorspetstore-badproperties.errorspetstore-missingversion.errorspetstore-unresolvedrefs.errors
library-example-with-ext.jsonlibrary-example-with-ext.text.outv2.0
v3.0
tools
howeyc
gopass
imdario
mergo
.gitignore.travis.ymlCODE_OF_CONDUCT.mdLICENSEREADME.mddoc.goissue17_test.goissue23_test.goissue33_test.goissue38_test.goissue50_test.goissue52_test.goissue61_test.goissue64_test.goissue66_test.gomap.gomerge.gomerge_appendslice_test.gomerge_test.gomergo.gomergo_test.gopr80_test.gopr81_test.go
testdata
json-iterator
go
.codecov.yml.gitignore.travis.ymlGopkg.lockGopkg.tomlLICENSEREADME.mdadapter.goany.goany_array.goany_bool.goany_float.goany_int32.goany_int64.goany_invalid.goany_nil.goany_number.goany_object.goany_str.go
any_tests
jsoniter_any_array_test.gojsoniter_any_bool_test.gojsoniter_any_float_test.gojsoniter_any_int_test.gojsoniter_any_map_test.gojsoniter_any_null_test.gojsoniter_any_object_test.gojsoniter_any_string_test.gojsoniter_must_be_valid_test.gojsoniter_wrap_test.go
any_uint32.goany_uint64.goapi_tests
benchmarks
build.shconfig.goexample_test.goextension_tests
extra
binary_as_string_codec.gobinary_as_string_codec_test.gofuzzy_decoder.gofuzzy_decoder_test.gonaming_strategy.gonaming_strategy_test.goprivat_fields.goprivate_fields_test.gotime_as_int64_codec.gotime_as_int64_codec_test.go
fuzzy_mode_convert_table.mditer.goiter_array.goiter_float.goiter_int.goiter_object.goiter_skip.goiter_skip_sloppy.goiter_skip_sloppy_test.goiter_skip_strict.goiter_str.gojsoniter.gomisc_tests
jsoniter_array_test.gojsoniter_bool_test.gojsoniter_float_test.gojsoniter_int_test.gojsoniter_interface_test.gojsoniter_iterator_test.gojsoniter_map_test.gojsoniter_nested_test.gojsoniter_null_test.gojsoniter_object_test.gojsoniter_raw_message_test.go
pool.goreflect.goreflect_array.goreflect_dynamic.goreflect_extension.goreflect_json_number.goreflect_json_raw_message.goreflect_map.goreflect_marshaler.goreflect_native.goreflect_optional.goreflect_slice.goreflect_struct_decoder.goreflect_struct_encoder.goskip_tests
stream.gostream_float.gostream_int.gostream_str.gostream_test.gotest.shtype_tests
array_test.gobuiltin_test.gomap_key_test.gomap_test.gomarshaler_string_test.gomarshaler_struct_test.goslice_test.gostruct_embedded_test.gostruct_field_case_test.gostruct_tags_test.gostruct_test.gotext_marshaler_string_test.gotext_marshaler_struct_test.gotype_test.go
value_tests
modern-go
concurrent
.gitignore.travis.ymlLICENSEREADME.mdexecutor.gogo_above_19.gogo_below_19.golog.gomap_test.gotest.shunbounded_executor.gounbounded_executor_test.go
reflect2
.gitignore.travis.ymlGopkg.lockGopkg.tomlLICENSEREADME.mdgo_above_17.gogo_above_19.gogo_below_17.gogo_below_19.goreflect2.goreflect2_amd64.sreflect2_kind.gorelfect2_386.srelfect2_amd64p32.srelfect2_arm.srelfect2_arm64.srelfect2_mips64x.srelfect2_mipsx.srelfect2_ppc64x.srelfect2_s390x.ssafe_field.gosafe_map.gosafe_slice.gosafe_struct.gosafe_type.gotest.shtype_map.gounsafe_array.gounsafe_eface.gounsafe_field.gounsafe_iface.gounsafe_link.gounsafe_map.gounsafe_ptr.gounsafe_slice.gounsafe_struct.gounsafe_type.go
spf13
pflag
.gitignore.travis.ymlLICENSEREADME.mdbool.gobool_slice.gobool_slice_test.gobool_test.gobytes.gobytes_test.gocount.gocount_test.goduration.goduration_slice.goduration_slice_test.goexample_test.goexport_test.goflag.goflag_test.gofloat32.gofloat64.gogolangflag.gogolangflag_test.goint.goint16.goint32.goint64.goint8.goint_slice.goint_slice_test.goip.goip_slice.goip_slice_test.goip_test.goipmask.goipnet.goipnet_test.goprintusage_test.gostring.gostring_array.gostring_array_test.gostring_slice.gostring_slice_test.gostring_to_int.gostring_to_int_test.gostring_to_string.gostring_to_string_test.gouint.gouint16.gouint32.gouint64.gouint8.gouint_slice.gouint_slice_test.go
verify
golang.org
x
crypto
.gitattributes.gitignoreAUTHORSCONTRIBUTING.mdCONTRIBUTORSLICENSEPATENTSREADME.md
acme
acme.goacme_test.go
autocert
autocert.goautocert_test.gocache.gocache_test.goexample_test.golistener.gorenewal.gorenewal_test.go
http.gohttp_test.gojws.gojws_test.gotypes.gotypes_test.gointernal
acmetest
argon2
bcrypt
blake2b
blake2b.goblake2bAVX2_amd64.goblake2bAVX2_amd64.sblake2b_amd64.goblake2b_amd64.sblake2b_generic.goblake2b_ref.goblake2b_test.goblake2x.goregister.go
blake2s
blake2s.goblake2s_386.goblake2s_386.sblake2s_amd64.goblake2s_amd64.sblake2s_generic.goblake2s_ref.goblake2s_test.goblake2x.goregister.go
blowfish
bn256
cast5
chacha20poly1305
chacha20poly1305.gochacha20poly1305_amd64.gochacha20poly1305_amd64.schacha20poly1305_generic.gochacha20poly1305_noasm.gochacha20poly1305_test.gochacha20poly1305_vectors_test.goxchacha20poly1305.go
codereview.cfgcryptobyte
curve25519
const_amd64.hconst_amd64.scswap_amd64.scurve25519.gocurve25519_test.godoc.gofreeze_amd64.sladderstep_amd64.smont25519_amd64.gomul_amd64.ssquare_amd64.s
ed25519
hkdf
internal
chacha20
subtle
md4
nacl
auth
box
secretbox
sign
ocsp
openpgp
armor
canonical_text.gocanonical_text_test.goclearsign
elgamal
errors
keys.gokeys_data_test.gokeys_test.gopacket
compressed.gocompressed_test.goconfig.goencrypted_key.goencrypted_key_test.goliteral.goocfb.goocfb_test.goone_pass_signature.goopaque.goopaque_test.gopacket.gopacket_test.goprivate_key.goprivate_key_test.gopublic_key.gopublic_key_test.gopublic_key_v3.gopublic_key_v3_test.goreader.gosignature.gosignature_test.gosignature_v3.gosignature_v3_test.gosymmetric_key_encrypted.gosymmetric_key_encrypted_test.gosymmetrically_encrypted.gosymmetrically_encrypted_test.gouserattribute.gouserattribute_test.gouserid.gouserid_test.go
read.goread_test.gos2k
write.gowrite_test.gootr
pbkdf2
pkcs12
bmp-string.gobmp-string_test.gocrypto.gocrypto_test.goerrors.go
internal
mac.gomac_test.gopbkdf.gopbkdf_test.gopkcs12.gopkcs12_test.gosafebags.gopoly1305
poly1305.gopoly1305_test.gosum_amd64.gosum_amd64.ssum_arm.gosum_arm.ssum_noasm.gosum_ref.gosum_s390x.gosum_s390x.ssum_vmsl_s390x.svectors_test.go
ripemd160
salsa20
scrypt
sha3
doc.gohashes.gohashes_generic.gokeccakf.gokeccakf_amd64.gokeccakf_amd64.sregister.gosha3.gosha3_s390x.gosha3_s390x.ssha3_test.goshake.goshake_generic.go
testdata
xor.goxor_generic.goxor_unaligned.gossh
agent
client.goclient_test.goexample_test.goforward.gokeyring.gokeyring_test.goserver.goserver_test.gotestdata_test.go
benchmark_test.gobuffer.gobuffer_test.gocerts.gocerts_test.gochannel.gocipher.gocipher_test.goclient.goclient_auth.goclient_auth_test.goclient_test.gocommon.goconnection.godoc.goexample_test.gohandshake.gohandshake_test.gokex.gokex_test.gokeys.gokeys_test.goknownhosts
mac.gomempipe_test.gomessages.gomessages_test.gomux.gomux_test.goserver.gosession.gosession_test.gostreamlocal.gotcpip.gotcpip_test.goterminal
terminal.goterminal_test.goutil.goutil_aix.goutil_bsd.goutil_linux.goutil_plan9.goutil_solaris.goutil_windows.go
test
agent_unix_test.gobanner_test.gocert_test.godial_unix_test.godoc.goforward_unix_test.gomulti_auth_test.gosession_test.gosshd_test_pw.ctest_unix_test.gotestdata_test.go
testdata
testdata_test.gotransport.gotransport_test.gotea
twofish
xtea
xts
time
gopkg.in
inf.v0
LICENSEbenchmark_test.godec.godec_go1_2_test.godec_internal_test.godec_test.goexample_test.gorounder.gorounder_example_test.gorounder_test.go
yaml.v2
k8s.io
api
.github
CONTRIBUTING.mdGodeps
LICENSEOWNERSREADME.mdadmission
v1beta1
admissionregistration
v1alpha1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v1beta1
apps
OWNERS
v1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v1beta1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v1beta2
authentication
OWNERS
v1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v1beta1
authorization
OWNERS
v1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v1beta1
autoscaling
OWNERS
v1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v2beta1
batch
OWNERS
v1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v1beta1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v2alpha1
certificates
OWNERS
code-of-conduct.mdv1beta1
core
v1
events
OWNERS
v1beta1
extensions
OWNERS
v1beta1
imagepolicy
OWNERS
v1alpha1
networking
OWNERS
v1
policy
OWNERS
v1beta1
rbac
OWNERS
v1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v1alpha1
BUILDdoc.gogenerated.pb.gogenerated.protoregister.gotypes.gotypes_swagger_doc_generated.gozz_generated.deepcopy.go
v1beta1
scheduling
v1alpha1
settings
v1alpha1
storage
client-go
.github
.travis.ymlCHANGELOG.mdCONTRIBUTING.mdGodeps
INSTALL.mdLICENSEOWNERSREADME.mdcode-of-conduct.mddiscovery
BUILD
cached
discovery_client.godiscovery_client_test.gofake
helper.gohelper_blackbox_test.gorestmapper.gorestmapper_test.gounstructured.godynamic
examples
README.md
create-update-delete-deployment
in-cluster-client-configuration
out-of-cluster-client-configuration
workqueue
informers
BUILD
admissionregistration
apps
autoscaling
batch
certificates
core
events
extensions
factory.gogeneric.gointernalinterfaces
networking
policy
rbac
scheduling
settings
storage
kubernetes
BUILDclientset.godoc.go
fake
import.goscheme
typed
admissionregistration
v1alpha1
v1beta1
apps
v1
BUILDapps_client.gocontrollerrevision.godaemonset.godeployment.godoc.go
fake
BUILDdoc.gofake_apps_client.gofake_controllerrevision.gofake_daemonset.gofake_deployment.gofake_replicaset.gofake_statefulset.go
generated_expansion.goreplicaset.gostatefulset.gov1beta1
BUILDapps_client.gocontrollerrevision.godeployment.godoc.go
fake
BUILDdoc.gofake_apps_client.gofake_controllerrevision.gofake_deployment.gofake_scale.gofake_statefulset.go
generated_expansion.goscale.gostatefulset.gov1beta2
authentication
v1
v1beta1
authorization
v1
BUILDauthorization_client.godoc.go
fake
BUILDdoc.gofake_authorization_client.gofake_localsubjectaccessreview.gofake_localsubjectaccessreview_expansion.gofake_selfsubjectaccessreview.gofake_selfsubjectaccessreview_expansion.gofake_selfsubjectrulesreview.gofake_selfsubjectrulesreview_expansion.gofake_subjectaccessreview.gofake_subjectaccessreview_expansion.go
generated_expansion.golocalsubjectaccessreview.golocalsubjectaccessreview_expansion.goselfsubjectaccessreview.goselfsubjectaccessreview_expansion.goselfsubjectrulesreview.goselfsubjectrulesreview_expansion.gosubjectaccessreview.gosubjectaccessreview_expansion.gov1beta1
BUILDauthorization_client.godoc.go
fake
BUILDdoc.gofake_authorization_client.gofake_generated_expansion.gofake_localsubjectaccessreview.gofake_localsubjectaccessreview_expansion.gofake_selfsubjectaccessreview.gofake_selfsubjectaccessreview_expansion.gofake_selfsubjectrulesreview.gofake_selfsubjectrulesreview_expansion.gofake_subjectaccessreview.gofake_subjectaccessreview_expansion.go
generated_expansion.golocalsubjectaccessreview.golocalsubjectaccessreview_expansion.goselfsubjectaccessreview.goselfsubjectaccessreview_expansion.goselfsubjectrulesreview.goselfsubjectrulesreview_expansion.gosubjectaccessreview.gosubjectaccessreview_expansion.goautoscaling
batch
v1
v1beta1
v2alpha1
certificates
v1beta1
core
v1
BUILDcomponentstatus.goconfigmap.gocore_client.godoc.goendpoints.goevent.goevent_expansion.go
fake
BUILDdoc.gofake_componentstatus.gofake_configmap.gofake_core_client.gofake_endpoints.gofake_event.gofake_event_expansion.gofake_limitrange.gofake_namespace.gofake_namespace_expansion.gofake_node.gofake_node_expansion.gofake_persistentvolume.gofake_persistentvolumeclaim.gofake_pod.gofake_pod_expansion.gofake_podtemplate.gofake_replicationcontroller.gofake_resourcequota.gofake_secret.gofake_service.gofake_service_expansion.gofake_serviceaccount.gofake_serviceaccount_expansion.go
generated_expansion.golimitrange.gonamespace.gonamespace_expansion.gonode.gonode_expansion.gopersistentvolume.gopersistentvolumeclaim.gopod.gopod_expansion.gopodtemplate.goreplicationcontroller.goresourcequota.gosecret.goservice.goservice_expansion.goserviceaccount.goserviceaccount_expansion.goevents
v1beta1
extensions
v1beta1
BUILDdaemonset.godeployment.godeployment_expansion.godoc.goextensions_client.go
fake
BUILDdoc.gofake_daemonset.gofake_deployment.gofake_deployment_expansion.gofake_extensions_client.gofake_ingress.gofake_podsecuritypolicy.gofake_replicaset.gofake_scale.gofake_scale_expansion.go
generated_expansion.goingress.gopodsecuritypolicy.goreplicaset.goscale.goscale_expansion.gonetworking
v1
policy
v1beta1
rbac
v1
BUILDclusterrole.goclusterrolebinding.godoc.go
fake
BUILDdoc.gofake_clusterrole.gofake_clusterrolebinding.gofake_rbac_client.gofake_role.gofake_rolebinding.go
generated_expansion.gorbac_client.gorole.gorolebinding.gov1alpha1
BUILDclusterrole.goclusterrolebinding.godoc.go
fake
BUILDdoc.gofake_clusterrole.gofake_clusterrolebinding.gofake_rbac_client.gofake_role.gofake_rolebinding.go
generated_expansion.gorbac_client.gorole.gorolebinding.gov1beta1
scheduling
v1alpha1
settings
v1alpha1
storage
listers
admissionregistration
v1alpha1
v1beta1
apps
v1
BUILDcontrollerrevision.godaemonset.godaemonset_expansion.godeployment.godeployment_expansion.goexpansion_generated.goreplicaset.goreplicaset_expansion.gostatefulset.gostatefulset_expansion.go
v1beta1
BUILDcontrollerrevision.godeployment.goexpansion_generated.goscale.gostatefulset.gostatefulset_expansion.go
v1beta2
authentication
authorization
v1
BUILDexpansion_generated.golocalsubjectaccessreview.goselfsubjectaccessreview.goselfsubjectrulesreview.gosubjectaccessreview.go
v1beta1
autoscaling
v1
v2beta1
batch
v1
v1beta1
v2alpha1
certificates
core
v1
BUILDcomponentstatus.goconfigmap.goendpoints.goevent.goexpansion_generated.golimitrange.gonamespace.gonode.gonode_expansion.gopersistentvolume.gopersistentvolumeclaim.gopod.gopodtemplate.goreplicationcontroller.goreplicationcontroller_expansion.goresourcequota.gosecret.goservice.goservice_expansion.goserviceaccount.go
events
extensions
v1beta1
imagepolicy
networking
policy
v1beta1
rbac
v1
v1alpha1
v1beta1
scheduling
settings
storage
pkg
plugin
pkg
rest
BUILDOWNERSclient.goclient_test.goconfig.goconfig_test.go
fake
plugin.goplugin_test.gorequest.gorequest_test.gotransport.gourl_utils.gourl_utils_test.gourlbackoff.gourlbackoff_test.gowatch
zz_generated.deepcopy.goscale
BUILDclient.goclient_test.godoc.go
fake
interfaces.goroundtrip_test.goscheme
BUILD
util.goappsint
appsv1beta1
appsv1beta2
autoscalingv1
doc.goextensionsint
extensionsv1beta1
register.gotypes.gozz_generated.deepcopy.gotesting
third_party
tools
auth
bootstrap
cache
BUILDOWNERScontroller.gocontroller_test.godelta_fifo.godelta_fifo_test.godoc.goexpiration_cache.goexpiration_cache_fakes.goexpiration_cache_test.gofake_custom_store.gofifo.gofifo_test.goheap.goheap_test.goindex.goindex_test.golisters.golistwatch.gomutation_cache.gomutation_detector.gomutation_detector_test.goprocessor_listener_test.goreflector.goreflector_metrics.goreflector_test.goshared_informer.goshared_informer_test.gostore.gostore_test.go
testing
thread_safe_store.goundelta_store.goundelta_store_test.goclientcmd
BUILD
api
BUILDdoc.gohelpers.gohelpers_test.go
auth_loaders.goclient_config.goclient_config_test.goconfig.godoc.goflag.gohelpers.goloader.goloader_test.gomerged_client_builder.gomerged_client_builder_test.gooverrides.gooverrides_test.govalidation.govalidation_test.golatest
register.gotypes.gotypes_test.gov1
zz_generated.deepcopy.goleaderelection
metrics
pager
portforward
record
reference
remotecommand
transport
BUILDOWNERScache.gocache_test.goconfig.goround_trippers.goround_trippers_test.go
spdy
transport.gotransport_test.goutil
buffer
cert
certificate
BUILDOWNERScertificate_manager.gocertificate_manager_test.gocertificate_store.gocertificate_store_test.go
csr
exec
flowcontrol
homedir
integer
jsonpath
retry
testing
workqueue
326
vendor/github.com/json-iterator/go/reflect_map.go
generated
vendored
Normal file
326
vendor/github.com/json-iterator/go/reflect_map.go
generated
vendored
Normal file
@ -0,0 +1,326 @@
|
||||
package jsoniter
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/modern-go/reflect2"
|
||||
"io"
|
||||
"reflect"
|
||||
"sort"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
func decoderOfMap(ctx *ctx, typ reflect2.Type) ValDecoder {
|
||||
mapType := typ.(*reflect2.UnsafeMapType)
|
||||
keyDecoder := decoderOfMapKey(ctx.append("[mapKey]"), mapType.Key())
|
||||
elemDecoder := decoderOfType(ctx.append("[mapElem]"), mapType.Elem())
|
||||
return &mapDecoder{
|
||||
mapType: mapType,
|
||||
keyType: mapType.Key(),
|
||||
elemType: mapType.Elem(),
|
||||
keyDecoder: keyDecoder,
|
||||
elemDecoder: elemDecoder,
|
||||
}
|
||||
}
|
||||
|
||||
func encoderOfMap(ctx *ctx, typ reflect2.Type) ValEncoder {
|
||||
mapType := typ.(*reflect2.UnsafeMapType)
|
||||
if ctx.sortMapKeys {
|
||||
return &sortKeysMapEncoder{
|
||||
mapType: mapType,
|
||||
keyEncoder: encoderOfMapKey(ctx.append("[mapKey]"), mapType.Key()),
|
||||
elemEncoder: encoderOfType(ctx.append("[mapElem]"), mapType.Elem()),
|
||||
}
|
||||
}
|
||||
return &mapEncoder{
|
||||
mapType: mapType,
|
||||
keyEncoder: encoderOfMapKey(ctx.append("[mapKey]"), mapType.Key()),
|
||||
elemEncoder: encoderOfType(ctx.append("[mapElem]"), mapType.Elem()),
|
||||
}
|
||||
}
|
||||
|
||||
func decoderOfMapKey(ctx *ctx, typ reflect2.Type) ValDecoder {
|
||||
decoder := ctx.decoderExtension.CreateMapKeyDecoder(typ)
|
||||
if decoder != nil {
|
||||
return decoder
|
||||
}
|
||||
for _, extension := range ctx.extraExtensions {
|
||||
decoder := extension.CreateMapKeyDecoder(typ)
|
||||
if decoder != nil {
|
||||
return decoder
|
||||
}
|
||||
}
|
||||
switch typ.Kind() {
|
||||
case reflect.String:
|
||||
return decoderOfType(ctx, reflect2.DefaultTypeOfKind(reflect.String))
|
||||
case reflect.Bool,
|
||||
reflect.Uint8, reflect.Int8,
|
||||
reflect.Uint16, reflect.Int16,
|
||||
reflect.Uint32, reflect.Int32,
|
||||
reflect.Uint64, reflect.Int64,
|
||||
reflect.Uint, reflect.Int,
|
||||
reflect.Float32, reflect.Float64,
|
||||
reflect.Uintptr:
|
||||
typ = reflect2.DefaultTypeOfKind(typ.Kind())
|
||||
return &numericMapKeyDecoder{decoderOfType(ctx, typ)}
|
||||
default:
|
||||
ptrType := reflect2.PtrTo(typ)
|
||||
if ptrType.Implements(textMarshalerType) {
|
||||
return &referenceDecoder{
|
||||
&textUnmarshalerDecoder{
|
||||
valType: ptrType,
|
||||
},
|
||||
}
|
||||
}
|
||||
if typ.Implements(textMarshalerType) {
|
||||
return &textUnmarshalerDecoder{
|
||||
valType: typ,
|
||||
}
|
||||
}
|
||||
return &lazyErrorDecoder{err: fmt.Errorf("unsupported map key type: %v", typ)}
|
||||
}
|
||||
}
|
||||
|
||||
func encoderOfMapKey(ctx *ctx, typ reflect2.Type) ValEncoder {
|
||||
encoder := ctx.encoderExtension.CreateMapKeyEncoder(typ)
|
||||
if encoder != nil {
|
||||
return encoder
|
||||
}
|
||||
for _, extension := range ctx.extraExtensions {
|
||||
encoder := extension.CreateMapKeyEncoder(typ)
|
||||
if encoder != nil {
|
||||
return encoder
|
||||
}
|
||||
}
|
||||
switch typ.Kind() {
|
||||
case reflect.String:
|
||||
return encoderOfType(ctx, reflect2.DefaultTypeOfKind(reflect.String))
|
||||
case reflect.Bool,
|
||||
reflect.Uint8, reflect.Int8,
|
||||
reflect.Uint16, reflect.Int16,
|
||||
reflect.Uint32, reflect.Int32,
|
||||
reflect.Uint64, reflect.Int64,
|
||||
reflect.Uint, reflect.Int,
|
||||
reflect.Float32, reflect.Float64,
|
||||
reflect.Uintptr:
|
||||
typ = reflect2.DefaultTypeOfKind(typ.Kind())
|
||||
return &numericMapKeyEncoder{encoderOfType(ctx, typ)}
|
||||
default:
|
||||
if typ == textMarshalerType {
|
||||
return &directTextMarshalerEncoder{
|
||||
stringEncoder: ctx.EncoderOf(reflect2.TypeOf("")),
|
||||
}
|
||||
}
|
||||
if typ.Implements(textMarshalerType) {
|
||||
return &textMarshalerEncoder{
|
||||
valType: typ,
|
||||
stringEncoder: ctx.EncoderOf(reflect2.TypeOf("")),
|
||||
}
|
||||
}
|
||||
if typ.Kind() == reflect.Interface {
|
||||
return &dynamicMapKeyEncoder{ctx, typ}
|
||||
}
|
||||
return &lazyErrorEncoder{err: fmt.Errorf("unsupported map key type: %v", typ)}
|
||||
}
|
||||
}
|
||||
|
||||
type mapDecoder struct {
|
||||
mapType *reflect2.UnsafeMapType
|
||||
keyType reflect2.Type
|
||||
elemType reflect2.Type
|
||||
keyDecoder ValDecoder
|
||||
elemDecoder ValDecoder
|
||||
}
|
||||
|
||||
func (decoder *mapDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
mapType := decoder.mapType
|
||||
c := iter.nextToken()
|
||||
if c == 'n' {
|
||||
iter.skipThreeBytes('u', 'l', 'l')
|
||||
*(*unsafe.Pointer)(ptr) = nil
|
||||
mapType.UnsafeSet(ptr, mapType.UnsafeNew())
|
||||
return
|
||||
}
|
||||
if mapType.UnsafeIsNil(ptr) {
|
||||
mapType.UnsafeSet(ptr, mapType.UnsafeMakeMap(0))
|
||||
}
|
||||
if c != '{' {
|
||||
iter.ReportError("ReadMapCB", `expect { or n, but found `+string([]byte{c}))
|
||||
return
|
||||
}
|
||||
c = iter.nextToken()
|
||||
if c == '}' {
|
||||
return
|
||||
}
|
||||
if c != '"' {
|
||||
iter.ReportError("ReadMapCB", `expect " after }, but found `+string([]byte{c}))
|
||||
return
|
||||
}
|
||||
iter.unreadByte()
|
||||
key := decoder.keyType.UnsafeNew()
|
||||
decoder.keyDecoder.Decode(key, iter)
|
||||
c = iter.nextToken()
|
||||
if c != ':' {
|
||||
iter.ReportError("ReadMapCB", "expect : after object field, but found "+string([]byte{c}))
|
||||
return
|
||||
}
|
||||
elem := decoder.elemType.UnsafeNew()
|
||||
decoder.elemDecoder.Decode(elem, iter)
|
||||
decoder.mapType.UnsafeSetIndex(ptr, key, elem)
|
||||
for c = iter.nextToken(); c == ','; c = iter.nextToken() {
|
||||
key := decoder.keyType.UnsafeNew()
|
||||
decoder.keyDecoder.Decode(key, iter)
|
||||
c = iter.nextToken()
|
||||
if c != ':' {
|
||||
iter.ReportError("ReadMapCB", "expect : after object field, but found "+string([]byte{c}))
|
||||
return
|
||||
}
|
||||
elem := decoder.elemType.UnsafeNew()
|
||||
decoder.elemDecoder.Decode(elem, iter)
|
||||
decoder.mapType.UnsafeSetIndex(ptr, key, elem)
|
||||
}
|
||||
if c != '}' {
|
||||
iter.ReportError("ReadMapCB", `expect }, but found `+string([]byte{c}))
|
||||
}
|
||||
}
|
||||
|
||||
type numericMapKeyDecoder struct {
|
||||
decoder ValDecoder
|
||||
}
|
||||
|
||||
func (decoder *numericMapKeyDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) {
|
||||
c := iter.nextToken()
|
||||
if c != '"' {
|
||||
iter.ReportError("ReadMapCB", `expect ", but found `+string([]byte{c}))
|
||||
return
|
||||
}
|
||||
decoder.decoder.Decode(ptr, iter)
|
||||
c = iter.nextToken()
|
||||
if c != '"' {
|
||||
iter.ReportError("ReadMapCB", `expect ", but found `+string([]byte{c}))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
type numericMapKeyEncoder struct {
|
||||
encoder ValEncoder
|
||||
}
|
||||
|
||||
func (encoder *numericMapKeyEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||
stream.writeByte('"')
|
||||
encoder.encoder.Encode(ptr, stream)
|
||||
stream.writeByte('"')
|
||||
}
|
||||
|
||||
func (encoder *numericMapKeyEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
type dynamicMapKeyEncoder struct {
|
||||
ctx *ctx
|
||||
valType reflect2.Type
|
||||
}
|
||||
|
||||
func (encoder *dynamicMapKeyEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||
obj := encoder.valType.UnsafeIndirect(ptr)
|
||||
encoderOfMapKey(encoder.ctx, reflect2.TypeOf(obj)).Encode(reflect2.PtrOf(obj), stream)
|
||||
}
|
||||
|
||||
func (encoder *dynamicMapKeyEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
||||
obj := encoder.valType.UnsafeIndirect(ptr)
|
||||
return encoderOfMapKey(encoder.ctx, reflect2.TypeOf(obj)).IsEmpty(reflect2.PtrOf(obj))
|
||||
}
|
||||
|
||||
type mapEncoder struct {
|
||||
mapType *reflect2.UnsafeMapType
|
||||
keyEncoder ValEncoder
|
||||
elemEncoder ValEncoder
|
||||
}
|
||||
|
||||
func (encoder *mapEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||
stream.WriteObjectStart()
|
||||
iter := encoder.mapType.UnsafeIterate(ptr)
|
||||
for i := 0; iter.HasNext(); i++ {
|
||||
if i != 0 {
|
||||
stream.WriteMore()
|
||||
}
|
||||
key, elem := iter.UnsafeNext()
|
||||
encoder.keyEncoder.Encode(key, stream)
|
||||
if stream.indention > 0 {
|
||||
stream.writeTwoBytes(byte(':'), byte(' '))
|
||||
} else {
|
||||
stream.writeByte(':')
|
||||
}
|
||||
encoder.elemEncoder.Encode(elem, stream)
|
||||
}
|
||||
stream.WriteObjectEnd()
|
||||
}
|
||||
|
||||
func (encoder *mapEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
||||
iter := encoder.mapType.UnsafeIterate(ptr)
|
||||
return !iter.HasNext()
|
||||
}
|
||||
|
||||
type sortKeysMapEncoder struct {
|
||||
mapType *reflect2.UnsafeMapType
|
||||
keyEncoder ValEncoder
|
||||
elemEncoder ValEncoder
|
||||
}
|
||||
|
||||
func (encoder *sortKeysMapEncoder) Encode(ptr unsafe.Pointer, stream *Stream) {
|
||||
if *(*unsafe.Pointer)(ptr) == nil {
|
||||
stream.WriteNil()
|
||||
return
|
||||
}
|
||||
stream.WriteObjectStart()
|
||||
mapIter := encoder.mapType.UnsafeIterate(ptr)
|
||||
subStream := stream.cfg.BorrowStream(nil)
|
||||
subIter := stream.cfg.BorrowIterator(nil)
|
||||
keyValues := encodedKeyValues{}
|
||||
for mapIter.HasNext() {
|
||||
subStream.buf = make([]byte, 0, 64)
|
||||
key, elem := mapIter.UnsafeNext()
|
||||
encoder.keyEncoder.Encode(key, subStream)
|
||||
if subStream.Error != nil && subStream.Error != io.EOF && stream.Error == nil {
|
||||
stream.Error = subStream.Error
|
||||
}
|
||||
encodedKey := subStream.Buffer()
|
||||
subIter.ResetBytes(encodedKey)
|
||||
decodedKey := subIter.ReadString()
|
||||
if stream.indention > 0 {
|
||||
subStream.writeTwoBytes(byte(':'), byte(' '))
|
||||
} else {
|
||||
subStream.writeByte(':')
|
||||
}
|
||||
encoder.elemEncoder.Encode(elem, subStream)
|
||||
keyValues = append(keyValues, encodedKV{
|
||||
key: decodedKey,
|
||||
keyValue: subStream.Buffer(),
|
||||
})
|
||||
}
|
||||
sort.Sort(keyValues)
|
||||
for i, keyValue := range keyValues {
|
||||
if i != 0 {
|
||||
stream.WriteMore()
|
||||
}
|
||||
stream.Write(keyValue.keyValue)
|
||||
}
|
||||
stream.WriteObjectEnd()
|
||||
stream.cfg.ReturnStream(subStream)
|
||||
stream.cfg.ReturnIterator(subIter)
|
||||
}
|
||||
|
||||
func (encoder *sortKeysMapEncoder) IsEmpty(ptr unsafe.Pointer) bool {
|
||||
iter := encoder.mapType.UnsafeIterate(ptr)
|
||||
return !iter.HasNext()
|
||||
}
|
||||
|
||||
type encodedKeyValues []encodedKV
|
||||
|
||||
type encodedKV struct {
|
||||
key string
|
||||
keyValue []byte
|
||||
}
|
||||
|
||||
func (sv encodedKeyValues) Len() int { return len(sv) }
|
||||
func (sv encodedKeyValues) Swap(i, j int) { sv[i], sv[j] = sv[j], sv[i] }
|
||||
func (sv encodedKeyValues) Less(i, j int) bool { return sv[i].key < sv[j].key }
|
Reference in New Issue
Block a user