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.
Files changed (365) hide show
  1. checksums.yaml +4 -4
  2. data/.buildkite/pipeline.yml +21 -0
  3. data/.github/workflows/ci.yml +9 -1
  4. data/.github/workflows/gem-push.yml +9 -2
  5. data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
  6. data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +56 -3
  7. data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +205 -172
  8. data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
  9. data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
  10. data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
  11. data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
  12. data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
  13. data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
  14. data/README.md +11 -8
  15. data/controller.go +24 -26
  16. data/go.mod +4 -3
  17. data/go.sum +42 -27
  18. data/lib/generators/planetscale/install_generator.rb +8 -6
  19. data/lib/planetscale/version.rb +1 -1
  20. data/lib/planetscale.rb +14 -15
  21. data/planetscale.gemspec +2 -2
  22. data/proxy/planetscale-darwin.h +1 -1
  23. data/proxy/planetscale-darwin.so +0 -0
  24. data/proxy/planetscale-linux.h +1 -1
  25. data/proxy/planetscale-linux.so +0 -0
  26. data/proxy.go +1 -5
  27. metadata +6 -342
  28. data/vendor/github.com/armon/circbuf/.gitignore +0 -22
  29. data/vendor/github.com/armon/circbuf/LICENSE +0 -20
  30. data/vendor/github.com/armon/circbuf/README.md +0 -28
  31. data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
  32. data/vendor/github.com/armon/circbuf/go.mod +0 -1
  33. data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
  34. data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
  35. data/vendor/github.com/golang/protobuf/LICENSE +0 -28
  36. data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
  37. data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
  38. data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
  39. data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
  40. data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
  41. data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
  42. data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
  43. data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
  44. data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
  45. data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
  46. data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
  47. data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
  48. data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
  49. data/vendor/github.com/gorilla/mux/LICENSE +0 -27
  50. data/vendor/github.com/gorilla/mux/README.md +0 -805
  51. data/vendor/github.com/gorilla/mux/doc.go +0 -306
  52. data/vendor/github.com/gorilla/mux/go.mod +0 -3
  53. data/vendor/github.com/gorilla/mux/middleware.go +0 -74
  54. data/vendor/github.com/gorilla/mux/mux.go +0 -606
  55. data/vendor/github.com/gorilla/mux/regexp.go +0 -388
  56. data/vendor/github.com/gorilla/mux/route.go +0 -736
  57. data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
  58. data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
  59. data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
  60. data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
  61. data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
  62. data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
  63. data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
  64. data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
  65. data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
  66. data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
  67. data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
  68. data/vendor/github.com/pkg/errors/.gitignore +0 -24
  69. data/vendor/github.com/pkg/errors/.travis.yml +0 -10
  70. data/vendor/github.com/pkg/errors/LICENSE +0 -23
  71. data/vendor/github.com/pkg/errors/Makefile +0 -44
  72. data/vendor/github.com/pkg/errors/README.md +0 -59
  73. data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
  74. data/vendor/github.com/pkg/errors/errors.go +0 -288
  75. data/vendor/github.com/pkg/errors/go113.go +0 -38
  76. data/vendor/github.com/pkg/errors/stack.go +0 -177
  77. data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +0 -139
  78. data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +0 -258
  79. data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -142
  80. data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -305
  81. data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -131
  82. data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +0 -368
  83. data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +0 -78
  84. data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
  85. data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -467
  86. data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
  87. data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
  88. data/vendor/go.uber.org/atomic/.gitignore +0 -12
  89. data/vendor/go.uber.org/atomic/.travis.yml +0 -27
  90. data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
  91. data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
  92. data/vendor/go.uber.org/atomic/Makefile +0 -78
  93. data/vendor/go.uber.org/atomic/README.md +0 -63
  94. data/vendor/go.uber.org/atomic/bool.go +0 -81
  95. data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
  96. data/vendor/go.uber.org/atomic/doc.go +0 -23
  97. data/vendor/go.uber.org/atomic/duration.go +0 -82
  98. data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
  99. data/vendor/go.uber.org/atomic/error.go +0 -51
  100. data/vendor/go.uber.org/atomic/error_ext.go +0 -39
  101. data/vendor/go.uber.org/atomic/float64.go +0 -76
  102. data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
  103. data/vendor/go.uber.org/atomic/gen.go +0 -26
  104. data/vendor/go.uber.org/atomic/go.mod +0 -8
  105. data/vendor/go.uber.org/atomic/go.sum +0 -9
  106. data/vendor/go.uber.org/atomic/int32.go +0 -102
  107. data/vendor/go.uber.org/atomic/int64.go +0 -102
  108. data/vendor/go.uber.org/atomic/nocmp.go +0 -35
  109. data/vendor/go.uber.org/atomic/string.go +0 -54
  110. data/vendor/go.uber.org/atomic/string_ext.go +0 -43
  111. data/vendor/go.uber.org/atomic/uint32.go +0 -102
  112. data/vendor/go.uber.org/atomic/uint64.go +0 -102
  113. data/vendor/go.uber.org/atomic/value.go +0 -31
  114. data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
  115. data/vendor/go.uber.org/multierr/.gitignore +0 -4
  116. data/vendor/go.uber.org/multierr/.travis.yml +0 -23
  117. data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
  118. data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
  119. data/vendor/go.uber.org/multierr/Makefile +0 -42
  120. data/vendor/go.uber.org/multierr/README.md +0 -23
  121. data/vendor/go.uber.org/multierr/error.go +0 -449
  122. data/vendor/go.uber.org/multierr/glide.yaml +0 -8
  123. data/vendor/go.uber.org/multierr/go.mod +0 -8
  124. data/vendor/go.uber.org/multierr/go.sum +0 -11
  125. data/vendor/go.uber.org/multierr/go113.go +0 -52
  126. data/vendor/go.uber.org/zap/.codecov.yml +0 -17
  127. data/vendor/go.uber.org/zap/.gitignore +0 -32
  128. data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
  129. data/vendor/go.uber.org/zap/.travis.yml +0 -23
  130. data/vendor/go.uber.org/zap/CHANGELOG.md +0 -432
  131. data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
  132. data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -81
  133. data/vendor/go.uber.org/zap/FAQ.md +0 -156
  134. data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
  135. data/vendor/go.uber.org/zap/Makefile +0 -63
  136. data/vendor/go.uber.org/zap/README.md +0 -134
  137. data/vendor/go.uber.org/zap/array.go +0 -320
  138. data/vendor/go.uber.org/zap/buffer/buffer.go +0 -123
  139. data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
  140. data/vendor/go.uber.org/zap/checklicense.sh +0 -17
  141. data/vendor/go.uber.org/zap/config.go +0 -264
  142. data/vendor/go.uber.org/zap/doc.go +0 -113
  143. data/vendor/go.uber.org/zap/encoder.go +0 -79
  144. data/vendor/go.uber.org/zap/error.go +0 -80
  145. data/vendor/go.uber.org/zap/field.go +0 -539
  146. data/vendor/go.uber.org/zap/flag.go +0 -39
  147. data/vendor/go.uber.org/zap/glide.yaml +0 -34
  148. data/vendor/go.uber.org/zap/global.go +0 -168
  149. data/vendor/go.uber.org/zap/global_go112.go +0 -26
  150. data/vendor/go.uber.org/zap/global_prego112.go +0 -26
  151. data/vendor/go.uber.org/zap/go.mod +0 -13
  152. data/vendor/go.uber.org/zap/go.sum +0 -56
  153. data/vendor/go.uber.org/zap/http_handler.go +0 -81
  154. data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
  155. data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
  156. data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
  157. data/vendor/go.uber.org/zap/level.go +0 -132
  158. data/vendor/go.uber.org/zap/logger.go +0 -344
  159. data/vendor/go.uber.org/zap/options.go +0 -140
  160. data/vendor/go.uber.org/zap/sink.go +0 -161
  161. data/vendor/go.uber.org/zap/stacktrace.go +0 -85
  162. data/vendor/go.uber.org/zap/sugar.go +0 -304
  163. data/vendor/go.uber.org/zap/time.go +0 -27
  164. data/vendor/go.uber.org/zap/writer.go +0 -99
  165. data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
  166. data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
  167. data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
  168. data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
  169. data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
  170. data/vendor/go.uber.org/zap/zapcore/error.go +0 -115
  171. data/vendor/go.uber.org/zap/zapcore/field.go +0 -227
  172. data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
  173. data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
  174. data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
  175. data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
  176. data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
  177. data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
  178. data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
  179. data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
  180. data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
  181. data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -123
  182. data/vendor/golang.org/x/net/AUTHORS +0 -3
  183. data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
  184. data/vendor/golang.org/x/net/LICENSE +0 -27
  185. data/vendor/golang.org/x/net/PATENTS +0 -22
  186. data/vendor/golang.org/x/net/context/context.go +0 -56
  187. data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
  188. data/vendor/golang.org/x/net/context/go17.go +0 -73
  189. data/vendor/golang.org/x/net/context/go19.go +0 -21
  190. data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
  191. data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
  192. data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
  193. data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
  194. data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
  195. data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
  196. data/vendor/golang.org/x/oauth2/LICENSE +0 -27
  197. data/vendor/golang.org/x/oauth2/README.md +0 -36
  198. data/vendor/golang.org/x/oauth2/go.mod +0 -9
  199. data/vendor/golang.org/x/oauth2/go.sum +0 -361
  200. data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
  201. data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
  202. data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
  203. data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
  204. data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
  205. data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
  206. data/vendor/golang.org/x/oauth2/token.go +0 -178
  207. data/vendor/golang.org/x/oauth2/transport.go +0 -89
  208. data/vendor/google.golang.org/appengine/LICENSE +0 -202
  209. data/vendor/google.golang.org/appengine/internal/api.go +0 -678
  210. data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
  211. data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
  212. data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
  213. data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
  214. data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
  215. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
  216. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
  217. data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
  218. data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
  219. data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
  220. data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
  221. data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
  222. data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
  223. data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
  224. data/vendor/google.golang.org/appengine/internal/main.go +0 -16
  225. data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
  226. data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
  227. data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
  228. data/vendor/google.golang.org/appengine/internal/net.go +0 -56
  229. data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
  230. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
  231. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
  232. data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
  233. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
  234. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
  235. data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
  236. data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
  237. data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
  238. data/vendor/google.golang.org/protobuf/LICENSE +0 -27
  239. data/vendor/google.golang.org/protobuf/PATENTS +0 -22
  240. data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
  241. data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
  242. data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
  243. data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
  244. data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
  245. data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
  246. data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
  247. data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
  248. data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
  249. data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
  250. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
  251. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
  252. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
  253. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
  254. data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
  255. data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
  256. data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
  257. data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
  258. data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
  259. data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
  260. data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
  261. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
  262. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
  263. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
  264. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
  265. data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
  266. data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
  267. data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
  268. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
  269. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
  270. data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
  271. data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
  272. data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
  273. data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
  274. data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
  275. data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
  276. data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
  277. data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
  278. data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
  279. data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
  280. data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
  281. data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
  282. data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
  283. data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
  284. data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
  285. data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
  286. data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
  287. data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
  288. data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
  289. data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
  290. data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
  291. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
  292. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
  293. data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
  294. data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
  295. data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
  296. data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
  297. data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
  298. data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
  299. data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
  300. data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
  301. data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
  302. data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
  303. data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
  304. data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
  305. data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
  306. data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
  307. data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
  308. data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
  309. data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
  310. data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
  311. data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
  312. data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
  313. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
  314. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
  315. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
  316. data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
  317. data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
  318. data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
  319. data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
  320. data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
  321. data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
  322. data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
  323. data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
  324. data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
  325. data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
  326. data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
  327. data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
  328. data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
  329. data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
  330. data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
  331. data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
  332. data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
  333. data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
  334. data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
  335. data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
  336. data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
  337. data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
  338. data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
  339. data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
  340. data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
  341. data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
  342. data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
  343. data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
  344. data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
  345. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
  346. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
  347. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
  348. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
  349. data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
  350. data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
  351. data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
  352. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
  353. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
  354. data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
  355. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
  356. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
  357. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
  358. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
  359. data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
  360. data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
  361. data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
  362. data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
  363. data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
  364. data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
  365. data/vendor/modules.txt +0 -79
@@ -1,89 +0,0 @@
1
- // Copyright 2020 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 order
6
-
7
- import (
8
- pref "google.golang.org/protobuf/reflect/protoreflect"
9
- )
10
-
11
- // FieldOrder specifies the ordering to visit message fields.
12
- // It is a function that reports whether x is ordered before y.
13
- type FieldOrder func(x, y pref.FieldDescriptor) bool
14
-
15
- var (
16
- // AnyFieldOrder specifies no specific field ordering.
17
- AnyFieldOrder FieldOrder = nil
18
-
19
- // LegacyFieldOrder sorts fields in the same ordering as emitted by
20
- // wire serialization in the github.com/golang/protobuf implementation.
21
- LegacyFieldOrder FieldOrder = func(x, y pref.FieldDescriptor) bool {
22
- ox, oy := x.ContainingOneof(), y.ContainingOneof()
23
- inOneof := func(od pref.OneofDescriptor) bool {
24
- return od != nil && !od.IsSynthetic()
25
- }
26
-
27
- // Extension fields sort before non-extension fields.
28
- if x.IsExtension() != y.IsExtension() {
29
- return x.IsExtension() && !y.IsExtension()
30
- }
31
- // Fields not within a oneof sort before those within a oneof.
32
- if inOneof(ox) != inOneof(oy) {
33
- return !inOneof(ox) && inOneof(oy)
34
- }
35
- // Fields in disjoint oneof sets are sorted by declaration index.
36
- if ox != nil && oy != nil && ox != oy {
37
- return ox.Index() < oy.Index()
38
- }
39
- // Fields sorted by field number.
40
- return x.Number() < y.Number()
41
- }
42
-
43
- // NumberFieldOrder sorts fields by their field number.
44
- NumberFieldOrder FieldOrder = func(x, y pref.FieldDescriptor) bool {
45
- return x.Number() < y.Number()
46
- }
47
-
48
- // IndexNameFieldOrder sorts non-extension fields before extension fields.
49
- // Non-extensions are sorted according to their declaration index.
50
- // Extensions are sorted according to their full name.
51
- IndexNameFieldOrder FieldOrder = func(x, y pref.FieldDescriptor) bool {
52
- // Non-extension fields sort before extension fields.
53
- if x.IsExtension() != y.IsExtension() {
54
- return !x.IsExtension() && y.IsExtension()
55
- }
56
- // Extensions sorted by fullname.
57
- if x.IsExtension() && y.IsExtension() {
58
- return x.FullName() < y.FullName()
59
- }
60
- // Non-extensions sorted by declaration index.
61
- return x.Index() < y.Index()
62
- }
63
- )
64
-
65
- // KeyOrder specifies the ordering to visit map entries.
66
- // It is a function that reports whether x is ordered before y.
67
- type KeyOrder func(x, y pref.MapKey) bool
68
-
69
- var (
70
- // AnyKeyOrder specifies no specific key ordering.
71
- AnyKeyOrder KeyOrder = nil
72
-
73
- // GenericKeyOrder sorts false before true, numeric keys in ascending order,
74
- // and strings in lexicographical ordering according to UTF-8 codepoints.
75
- GenericKeyOrder KeyOrder = func(x, y pref.MapKey) bool {
76
- switch x.Interface().(type) {
77
- case bool:
78
- return !x.Bool() && y.Bool()
79
- case int32, int64:
80
- return x.Int() < y.Int()
81
- case uint32, uint64:
82
- return x.Uint() < y.Uint()
83
- case string:
84
- return x.String() < y.String()
85
- default:
86
- panic("invalid map key type")
87
- }
88
- }
89
- )
@@ -1,115 +0,0 @@
1
- // Copyright 2020 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 order provides ordered access to messages and maps.
6
- package order
7
-
8
- import (
9
- "sort"
10
- "sync"
11
-
12
- pref "google.golang.org/protobuf/reflect/protoreflect"
13
- )
14
-
15
- type messageField struct {
16
- fd pref.FieldDescriptor
17
- v pref.Value
18
- }
19
-
20
- var messageFieldPool = sync.Pool{
21
- New: func() interface{} { return new([]messageField) },
22
- }
23
-
24
- type (
25
- // FieldRnger is an interface for visiting all fields in a message.
26
- // The protoreflect.Message type implements this interface.
27
- FieldRanger interface{ Range(VisitField) }
28
- // VisitField is called everytime a message field is visited.
29
- VisitField = func(pref.FieldDescriptor, pref.Value) bool
30
- )
31
-
32
- // RangeFields iterates over the fields of fs according to the specified order.
33
- func RangeFields(fs FieldRanger, less FieldOrder, fn VisitField) {
34
- if less == nil {
35
- fs.Range(fn)
36
- return
37
- }
38
-
39
- // Obtain a pre-allocated scratch buffer.
40
- p := messageFieldPool.Get().(*[]messageField)
41
- fields := (*p)[:0]
42
- defer func() {
43
- if cap(fields) < 1024 {
44
- *p = fields
45
- messageFieldPool.Put(p)
46
- }
47
- }()
48
-
49
- // Collect all fields in the message and sort them.
50
- fs.Range(func(fd pref.FieldDescriptor, v pref.Value) bool {
51
- fields = append(fields, messageField{fd, v})
52
- return true
53
- })
54
- sort.Slice(fields, func(i, j int) bool {
55
- return less(fields[i].fd, fields[j].fd)
56
- })
57
-
58
- // Visit the fields in the specified ordering.
59
- for _, f := range fields {
60
- if !fn(f.fd, f.v) {
61
- return
62
- }
63
- }
64
- }
65
-
66
- type mapEntry struct {
67
- k pref.MapKey
68
- v pref.Value
69
- }
70
-
71
- var mapEntryPool = sync.Pool{
72
- New: func() interface{} { return new([]mapEntry) },
73
- }
74
-
75
- type (
76
- // EntryRanger is an interface for visiting all fields in a message.
77
- // The protoreflect.Map type implements this interface.
78
- EntryRanger interface{ Range(VisitEntry) }
79
- // VisitEntry is called everytime a map entry is visited.
80
- VisitEntry = func(pref.MapKey, pref.Value) bool
81
- )
82
-
83
- // RangeEntries iterates over the entries of es according to the specified order.
84
- func RangeEntries(es EntryRanger, less KeyOrder, fn VisitEntry) {
85
- if less == nil {
86
- es.Range(fn)
87
- return
88
- }
89
-
90
- // Obtain a pre-allocated scratch buffer.
91
- p := mapEntryPool.Get().(*[]mapEntry)
92
- entries := (*p)[:0]
93
- defer func() {
94
- if cap(entries) < 1024 {
95
- *p = entries
96
- mapEntryPool.Put(p)
97
- }
98
- }()
99
-
100
- // Collect all entries in the map and sort them.
101
- es.Range(func(k pref.MapKey, v pref.Value) bool {
102
- entries = append(entries, mapEntry{k, v})
103
- return true
104
- })
105
- sort.Slice(entries, func(i, j int) bool {
106
- return less(entries[i].k, entries[j].k)
107
- })
108
-
109
- // Visit the entries in the specified ordering.
110
- for _, e := range entries {
111
- if !fn(e.k, e.v) {
112
- return
113
- }
114
- }
115
- }
@@ -1,29 +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 pragma provides types that can be embedded into a struct to
6
- // statically enforce or prevent certain language properties.
7
- package pragma
8
-
9
- import "sync"
10
-
11
- // NoUnkeyedLiterals can be embedded in a struct to prevent unkeyed literals.
12
- type NoUnkeyedLiterals struct{}
13
-
14
- // DoNotImplement can be embedded in an interface to prevent trivial
15
- // implementations of the interface.
16
- //
17
- // This is useful to prevent unauthorized implementations of an interface
18
- // so that it can be extended in the future for any protobuf language changes.
19
- type DoNotImplement interface{ ProtoInternal(DoNotImplement) }
20
-
21
- // DoNotCompare can be embedded in a struct to prevent comparability.
22
- type DoNotCompare [0]func()
23
-
24
- // DoNotCopy can be embedded in a struct to help prevent shallow copies.
25
- // This does not rely on a Go language feature, but rather a special case
26
- // within the vet checker.
27
- //
28
- // See https://golang.org/issues/8005.
29
- type DoNotCopy [0]sync.Mutex
@@ -1,58 +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 set provides simple set data structures for uint64s.
6
- package set
7
-
8
- import "math/bits"
9
-
10
- // int64s represents a set of integers within the range of 0..63.
11
- type int64s uint64
12
-
13
- func (bs *int64s) Len() int {
14
- return bits.OnesCount64(uint64(*bs))
15
- }
16
- func (bs *int64s) Has(n uint64) bool {
17
- return uint64(*bs)&(uint64(1)<<n) > 0
18
- }
19
- func (bs *int64s) Set(n uint64) {
20
- *(*uint64)(bs) |= uint64(1) << n
21
- }
22
- func (bs *int64s) Clear(n uint64) {
23
- *(*uint64)(bs) &^= uint64(1) << n
24
- }
25
-
26
- // Ints represents a set of integers within the range of 0..math.MaxUint64.
27
- type Ints struct {
28
- lo int64s
29
- hi map[uint64]struct{}
30
- }
31
-
32
- func (bs *Ints) Len() int {
33
- return bs.lo.Len() + len(bs.hi)
34
- }
35
- func (bs *Ints) Has(n uint64) bool {
36
- if n < 64 {
37
- return bs.lo.Has(n)
38
- }
39
- _, ok := bs.hi[n]
40
- return ok
41
- }
42
- func (bs *Ints) Set(n uint64) {
43
- if n < 64 {
44
- bs.lo.Set(n)
45
- return
46
- }
47
- if bs.hi == nil {
48
- bs.hi = make(map[uint64]struct{})
49
- }
50
- bs.hi[n] = struct{}{}
51
- }
52
- func (bs *Ints) Clear(n uint64) {
53
- if n < 64 {
54
- bs.lo.Clear(n)
55
- return
56
- }
57
- delete(bs.hi, n)
58
- }
@@ -1,196 +0,0 @@
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 strs provides string manipulation functionality specific to protobuf.
6
- package strs
7
-
8
- import (
9
- "go/token"
10
- "strings"
11
- "unicode"
12
- "unicode/utf8"
13
-
14
- "google.golang.org/protobuf/internal/flags"
15
- "google.golang.org/protobuf/reflect/protoreflect"
16
- )
17
-
18
- // EnforceUTF8 reports whether to enforce strict UTF-8 validation.
19
- func EnforceUTF8(fd protoreflect.FieldDescriptor) bool {
20
- if flags.ProtoLegacy {
21
- if fd, ok := fd.(interface{ EnforceUTF8() bool }); ok {
22
- return fd.EnforceUTF8()
23
- }
24
- }
25
- return fd.Syntax() == protoreflect.Proto3
26
- }
27
-
28
- // GoCamelCase camel-cases a protobuf name for use as a Go identifier.
29
- //
30
- // If there is an interior underscore followed by a lower case letter,
31
- // drop the underscore and convert the letter to upper case.
32
- func GoCamelCase(s string) string {
33
- // Invariant: if the next letter is lower case, it must be converted
34
- // to upper case.
35
- // That is, we process a word at a time, where words are marked by _ or
36
- // upper case letter. Digits are treated as words.
37
- var b []byte
38
- for i := 0; i < len(s); i++ {
39
- c := s[i]
40
- switch {
41
- case c == '.' && i+1 < len(s) && isASCIILower(s[i+1]):
42
- // Skip over '.' in ".{{lowercase}}".
43
- case c == '.':
44
- b = append(b, '_') // convert '.' to '_'
45
- case c == '_' && (i == 0 || s[i-1] == '.'):
46
- // Convert initial '_' to ensure we start with a capital letter.
47
- // Do the same for '_' after '.' to match historic behavior.
48
- b = append(b, 'X') // convert '_' to 'X'
49
- case c == '_' && i+1 < len(s) && isASCIILower(s[i+1]):
50
- // Skip over '_' in "_{{lowercase}}".
51
- case isASCIIDigit(c):
52
- b = append(b, c)
53
- default:
54
- // Assume we have a letter now - if not, it's a bogus identifier.
55
- // The next word is a sequence of characters that must start upper case.
56
- if isASCIILower(c) {
57
- c -= 'a' - 'A' // convert lowercase to uppercase
58
- }
59
- b = append(b, c)
60
-
61
- // Accept lower case sequence that follows.
62
- for ; i+1 < len(s) && isASCIILower(s[i+1]); i++ {
63
- b = append(b, s[i+1])
64
- }
65
- }
66
- }
67
- return string(b)
68
- }
69
-
70
- // GoSanitized converts a string to a valid Go identifier.
71
- func GoSanitized(s string) string {
72
- // Sanitize the input to the set of valid characters,
73
- // which must be '_' or be in the Unicode L or N categories.
74
- s = strings.Map(func(r rune) rune {
75
- if unicode.IsLetter(r) || unicode.IsDigit(r) {
76
- return r
77
- }
78
- return '_'
79
- }, s)
80
-
81
- // Prepend '_' in the event of a Go keyword conflict or if
82
- // the identifier is invalid (does not start in the Unicode L category).
83
- r, _ := utf8.DecodeRuneInString(s)
84
- if token.Lookup(s).IsKeyword() || !unicode.IsLetter(r) {
85
- return "_" + s
86
- }
87
- return s
88
- }
89
-
90
- // JSONCamelCase converts a snake_case identifier to a camelCase identifier,
91
- // according to the protobuf JSON specification.
92
- func JSONCamelCase(s string) string {
93
- var b []byte
94
- var wasUnderscore bool
95
- for i := 0; i < len(s); i++ { // proto identifiers are always ASCII
96
- c := s[i]
97
- if c != '_' {
98
- if wasUnderscore && isASCIILower(c) {
99
- c -= 'a' - 'A' // convert to uppercase
100
- }
101
- b = append(b, c)
102
- }
103
- wasUnderscore = c == '_'
104
- }
105
- return string(b)
106
- }
107
-
108
- // JSONSnakeCase converts a camelCase identifier to a snake_case identifier,
109
- // according to the protobuf JSON specification.
110
- func JSONSnakeCase(s string) string {
111
- var b []byte
112
- for i := 0; i < len(s); i++ { // proto identifiers are always ASCII
113
- c := s[i]
114
- if isASCIIUpper(c) {
115
- b = append(b, '_')
116
- c += 'a' - 'A' // convert to lowercase
117
- }
118
- b = append(b, c)
119
- }
120
- return string(b)
121
- }
122
-
123
- // MapEntryName derives the name of the map entry message given the field name.
124
- // See protoc v3.8.0: src/google/protobuf/descriptor.cc:254-276,6057
125
- func MapEntryName(s string) string {
126
- var b []byte
127
- upperNext := true
128
- for _, c := range s {
129
- switch {
130
- case c == '_':
131
- upperNext = true
132
- case upperNext:
133
- b = append(b, byte(unicode.ToUpper(c)))
134
- upperNext = false
135
- default:
136
- b = append(b, byte(c))
137
- }
138
- }
139
- b = append(b, "Entry"...)
140
- return string(b)
141
- }
142
-
143
- // EnumValueName derives the camel-cased enum value name.
144
- // See protoc v3.8.0: src/google/protobuf/descriptor.cc:297-313
145
- func EnumValueName(s string) string {
146
- var b []byte
147
- upperNext := true
148
- for _, c := range s {
149
- switch {
150
- case c == '_':
151
- upperNext = true
152
- case upperNext:
153
- b = append(b, byte(unicode.ToUpper(c)))
154
- upperNext = false
155
- default:
156
- b = append(b, byte(unicode.ToLower(c)))
157
- upperNext = false
158
- }
159
- }
160
- return string(b)
161
- }
162
-
163
- // TrimEnumPrefix trims the enum name prefix from an enum value name,
164
- // where the prefix is all lowercase without underscores.
165
- // See protoc v3.8.0: src/google/protobuf/descriptor.cc:330-375
166
- func TrimEnumPrefix(s, prefix string) string {
167
- s0 := s // original input
168
- for len(s) > 0 && len(prefix) > 0 {
169
- if s[0] == '_' {
170
- s = s[1:]
171
- continue
172
- }
173
- if unicode.ToLower(rune(s[0])) != rune(prefix[0]) {
174
- return s0 // no prefix match
175
- }
176
- s, prefix = s[1:], prefix[1:]
177
- }
178
- if len(prefix) > 0 {
179
- return s0 // no prefix match
180
- }
181
- s = strings.TrimLeft(s, "_")
182
- if len(s) == 0 {
183
- return s0 // avoid returning empty string
184
- }
185
- return s
186
- }
187
-
188
- func isASCIILower(c byte) bool {
189
- return 'a' <= c && c <= 'z'
190
- }
191
- func isASCIIUpper(c byte) bool {
192
- return 'A' <= c && c <= 'Z'
193
- }
194
- func isASCIIDigit(c byte) bool {
195
- return '0' <= c && c <= '9'
196
- }
@@ -1,27 +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 strs
8
-
9
- import pref "google.golang.org/protobuf/reflect/protoreflect"
10
-
11
- func UnsafeString(b []byte) string {
12
- return string(b)
13
- }
14
-
15
- func UnsafeBytes(s string) []byte {
16
- return []byte(s)
17
- }
18
-
19
- type Builder struct{}
20
-
21
- func (*Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName {
22
- return prefix.Append(name)
23
- }
24
-
25
- func (*Builder) MakeString(b []byte) string {
26
- return string(b)
27
- }
@@ -1,94 +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 strs
8
-
9
- import (
10
- "unsafe"
11
-
12
- pref "google.golang.org/protobuf/reflect/protoreflect"
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
- )
26
-
27
- // UnsafeString returns an unsafe string reference of b.
28
- // The caller must treat the input slice as immutable.
29
- //
30
- // WARNING: Use carefully. The returned result must not leak to the end user
31
- // unless the input slice is provably immutable.
32
- func UnsafeString(b []byte) (s string) {
33
- src := (*sliceHeader)(unsafe.Pointer(&b))
34
- dst := (*stringHeader)(unsafe.Pointer(&s))
35
- dst.Data = src.Data
36
- dst.Len = src.Len
37
- return s
38
- }
39
-
40
- // UnsafeBytes returns an unsafe bytes slice reference of s.
41
- // The caller must treat returned slice as immutable.
42
- //
43
- // WARNING: Use carefully. The returned result must not leak to the end user.
44
- func UnsafeBytes(s string) (b []byte) {
45
- src := (*stringHeader)(unsafe.Pointer(&s))
46
- dst := (*sliceHeader)(unsafe.Pointer(&b))
47
- dst.Data = src.Data
48
- dst.Len = src.Len
49
- dst.Cap = src.Len
50
- return b
51
- }
52
-
53
- // Builder builds a set of strings with shared lifetime.
54
- // This differs from strings.Builder, which is for building a single string.
55
- type Builder struct {
56
- buf []byte
57
- }
58
-
59
- // AppendFullName is equivalent to protoreflect.FullName.Append,
60
- // but optimized for large batches where each name has a shared lifetime.
61
- func (sb *Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName {
62
- n := len(prefix) + len(".") + len(name)
63
- if len(prefix) == 0 {
64
- n -= len(".")
65
- }
66
- sb.grow(n)
67
- sb.buf = append(sb.buf, prefix...)
68
- sb.buf = append(sb.buf, '.')
69
- sb.buf = append(sb.buf, name...)
70
- return pref.FullName(sb.last(n))
71
- }
72
-
73
- // MakeString is equivalent to string(b), but optimized for large batches
74
- // with a shared lifetime.
75
- func (sb *Builder) MakeString(b []byte) string {
76
- sb.grow(len(b))
77
- sb.buf = append(sb.buf, b...)
78
- return sb.last(len(b))
79
- }
80
-
81
- func (sb *Builder) grow(n int) {
82
- if cap(sb.buf)-len(sb.buf) >= n {
83
- return
84
- }
85
-
86
- // Unlike strings.Builder, we do not need to copy over the contents
87
- // of the old buffer since our builder provides no API for
88
- // retrieving previously created strings.
89
- sb.buf = make([]byte, 2*(cap(sb.buf)+n))
90
- }
91
-
92
- func (sb *Builder) last(n int) string {
93
- return UnsafeString(sb.buf[len(sb.buf)-n:])
94
- }
@@ -1,79 +0,0 @@
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 version records versioning information about this module.
6
- package version
7
-
8
- import (
9
- "fmt"
10
- "strings"
11
- )
12
-
13
- // These constants determine the current version of this module.
14
- //
15
- //
16
- // For our release process, we enforce the following rules:
17
- // * Tagged releases use a tag that is identical to String.
18
- // * Tagged releases never reference a commit where the String
19
- // contains "devel".
20
- // * The set of all commits in this repository where String
21
- // does not contain "devel" must have a unique String.
22
- //
23
- //
24
- // Steps for tagging a new release:
25
- // 1. Create a new CL.
26
- //
27
- // 2. Update Minor, Patch, and/or PreRelease as necessary.
28
- // PreRelease must not contain the string "devel".
29
- //
30
- // 3. Since the last released minor version, have there been any changes to
31
- // generator that relies on new functionality in the runtime?
32
- // If yes, then increment RequiredGenerated.
33
- //
34
- // 4. Since the last released minor version, have there been any changes to
35
- // the runtime that removes support for old .pb.go source code?
36
- // If yes, then increment SupportMinimum.
37
- //
38
- // 5. Send out the CL for review and submit it.
39
- // Note that the next CL in step 8 must be submitted after this CL
40
- // without any other CLs in-between.
41
- //
42
- // 6. Tag a new version, where the tag is is the current String.
43
- //
44
- // 7. Write release notes for all notable changes
45
- // between this release and the last release.
46
- //
47
- // 8. Create a new CL.
48
- //
49
- // 9. Update PreRelease to include the string "devel".
50
- // For example: "" -> "devel" or "rc.1" -> "rc.1.devel"
51
- //
52
- // 10. Send out the CL for review and submit it.
53
- const (
54
- Major = 1
55
- Minor = 26
56
- Patch = 0
57
- PreRelease = ""
58
- )
59
-
60
- // String formats the version string for this module in semver format.
61
- //
62
- // Examples:
63
- // v1.20.1
64
- // v1.21.0-rc.1
65
- func String() string {
66
- v := fmt.Sprintf("v%d.%d.%d", Major, Minor, Patch)
67
- if PreRelease != "" {
68
- v += "-" + PreRelease
69
-
70
- // TODO: Add metadata about the commit or build hash.
71
- // See https://golang.org/issue/29814
72
- // See https://golang.org/issue/33533
73
- var metadata string
74
- if strings.Contains(PreRelease, "devel") && metadata != "" {
75
- v += "+" + metadata
76
- }
77
- }
78
- return v
79
- }