planetscale 0.3.1 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +9 -1
  3. data/.github/workflows/gem-push.yml +9 -2
  4. data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
  5. data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +1 -1
  6. data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +1 -1
  7. data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
  8. data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
  9. data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
  10. data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
  11. data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
  12. data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
  13. data/README.md +2 -0
  14. data/controller.go +21 -36
  15. data/go.mod +4 -3
  16. data/go.sum +32 -18
  17. data/lib/planetscale/version.rb +1 -1
  18. data/lib/planetscale.rb +2 -3
  19. data/planetscale.gemspec +1 -1
  20. data/proxy/planetscale-darwin.h +1 -1
  21. data/proxy/planetscale-darwin.so +0 -0
  22. data/proxy/planetscale-linux.h +1 -1
  23. data/proxy/planetscale-linux.so +0 -0
  24. data/proxy.go +1 -5
  25. metadata +3 -345
  26. data/vendor/github.com/armon/circbuf/.gitignore +0 -22
  27. data/vendor/github.com/armon/circbuf/LICENSE +0 -20
  28. data/vendor/github.com/armon/circbuf/README.md +0 -28
  29. data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
  30. data/vendor/github.com/armon/circbuf/go.mod +0 -1
  31. data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
  32. data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
  33. data/vendor/github.com/golang/protobuf/LICENSE +0 -28
  34. data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
  35. data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
  36. data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
  37. data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
  38. data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
  39. data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
  40. data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
  41. data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
  42. data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
  43. data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
  44. data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
  45. data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
  46. data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
  47. data/vendor/github.com/gorilla/mux/LICENSE +0 -27
  48. data/vendor/github.com/gorilla/mux/README.md +0 -805
  49. data/vendor/github.com/gorilla/mux/doc.go +0 -306
  50. data/vendor/github.com/gorilla/mux/go.mod +0 -3
  51. data/vendor/github.com/gorilla/mux/middleware.go +0 -74
  52. data/vendor/github.com/gorilla/mux/mux.go +0 -606
  53. data/vendor/github.com/gorilla/mux/regexp.go +0 -388
  54. data/vendor/github.com/gorilla/mux/route.go +0 -736
  55. data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
  56. data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
  57. data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
  58. data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
  59. data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
  60. data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
  61. data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
  62. data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
  63. data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
  64. data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
  65. data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
  66. data/vendor/github.com/pkg/errors/.gitignore +0 -24
  67. data/vendor/github.com/pkg/errors/.travis.yml +0 -10
  68. data/vendor/github.com/pkg/errors/LICENSE +0 -23
  69. data/vendor/github.com/pkg/errors/Makefile +0 -44
  70. data/vendor/github.com/pkg/errors/README.md +0 -59
  71. data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
  72. data/vendor/github.com/pkg/errors/errors.go +0 -288
  73. data/vendor/github.com/pkg/errors/go113.go +0 -38
  74. data/vendor/github.com/pkg/errors/stack.go +0 -177
  75. data/vendor/github.com/planetscale/planetscale-go/LICENSE +0 -202
  76. data/vendor/github.com/planetscale/planetscale-go/planetscale/audit_logs.go +0 -136
  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 -252
  79. data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -166
  80. data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -312
  81. data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -133
  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 -103
  84. data/vendor/github.com/planetscale/planetscale-go/planetscale/regions.go +0 -52
  85. data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
  86. data/vendor/github.com/planetscale/sql-proxy/LICENSE +0 -202
  87. data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -476
  88. data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
  89. data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
  90. data/vendor/go.uber.org/atomic/.gitignore +0 -12
  91. data/vendor/go.uber.org/atomic/.travis.yml +0 -27
  92. data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
  93. data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
  94. data/vendor/go.uber.org/atomic/Makefile +0 -78
  95. data/vendor/go.uber.org/atomic/README.md +0 -63
  96. data/vendor/go.uber.org/atomic/bool.go +0 -81
  97. data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
  98. data/vendor/go.uber.org/atomic/doc.go +0 -23
  99. data/vendor/go.uber.org/atomic/duration.go +0 -82
  100. data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
  101. data/vendor/go.uber.org/atomic/error.go +0 -51
  102. data/vendor/go.uber.org/atomic/error_ext.go +0 -39
  103. data/vendor/go.uber.org/atomic/float64.go +0 -76
  104. data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
  105. data/vendor/go.uber.org/atomic/gen.go +0 -26
  106. data/vendor/go.uber.org/atomic/go.mod +0 -8
  107. data/vendor/go.uber.org/atomic/go.sum +0 -9
  108. data/vendor/go.uber.org/atomic/int32.go +0 -102
  109. data/vendor/go.uber.org/atomic/int64.go +0 -102
  110. data/vendor/go.uber.org/atomic/nocmp.go +0 -35
  111. data/vendor/go.uber.org/atomic/string.go +0 -54
  112. data/vendor/go.uber.org/atomic/string_ext.go +0 -43
  113. data/vendor/go.uber.org/atomic/uint32.go +0 -102
  114. data/vendor/go.uber.org/atomic/uint64.go +0 -102
  115. data/vendor/go.uber.org/atomic/value.go +0 -31
  116. data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
  117. data/vendor/go.uber.org/multierr/.gitignore +0 -4
  118. data/vendor/go.uber.org/multierr/.travis.yml +0 -23
  119. data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
  120. data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
  121. data/vendor/go.uber.org/multierr/Makefile +0 -42
  122. data/vendor/go.uber.org/multierr/README.md +0 -23
  123. data/vendor/go.uber.org/multierr/error.go +0 -449
  124. data/vendor/go.uber.org/multierr/glide.yaml +0 -8
  125. data/vendor/go.uber.org/multierr/go.mod +0 -8
  126. data/vendor/go.uber.org/multierr/go.sum +0 -11
  127. data/vendor/go.uber.org/multierr/go113.go +0 -52
  128. data/vendor/go.uber.org/zap/.codecov.yml +0 -17
  129. data/vendor/go.uber.org/zap/.gitignore +0 -32
  130. data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
  131. data/vendor/go.uber.org/zap/CHANGELOG.md +0 -492
  132. data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
  133. data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -75
  134. data/vendor/go.uber.org/zap/FAQ.md +0 -164
  135. data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
  136. data/vendor/go.uber.org/zap/Makefile +0 -73
  137. data/vendor/go.uber.org/zap/README.md +0 -134
  138. data/vendor/go.uber.org/zap/array.go +0 -320
  139. data/vendor/go.uber.org/zap/buffer/buffer.go +0 -141
  140. data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
  141. data/vendor/go.uber.org/zap/checklicense.sh +0 -17
  142. data/vendor/go.uber.org/zap/config.go +0 -264
  143. data/vendor/go.uber.org/zap/doc.go +0 -113
  144. data/vendor/go.uber.org/zap/encoder.go +0 -79
  145. data/vendor/go.uber.org/zap/error.go +0 -80
  146. data/vendor/go.uber.org/zap/field.go +0 -549
  147. data/vendor/go.uber.org/zap/flag.go +0 -39
  148. data/vendor/go.uber.org/zap/glide.yaml +0 -34
  149. data/vendor/go.uber.org/zap/global.go +0 -168
  150. data/vendor/go.uber.org/zap/global_go112.go +0 -26
  151. data/vendor/go.uber.org/zap/global_prego112.go +0 -26
  152. data/vendor/go.uber.org/zap/go.mod +0 -14
  153. data/vendor/go.uber.org/zap/go.sum +0 -54
  154. data/vendor/go.uber.org/zap/http_handler.go +0 -132
  155. data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
  156. data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
  157. data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
  158. data/vendor/go.uber.org/zap/level.go +0 -132
  159. data/vendor/go.uber.org/zap/logger.go +0 -348
  160. data/vendor/go.uber.org/zap/options.go +0 -148
  161. data/vendor/go.uber.org/zap/sink.go +0 -161
  162. data/vendor/go.uber.org/zap/stacktrace.go +0 -85
  163. data/vendor/go.uber.org/zap/sugar.go +0 -315
  164. data/vendor/go.uber.org/zap/time.go +0 -27
  165. data/vendor/go.uber.org/zap/writer.go +0 -99
  166. data/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go +0 -188
  167. data/vendor/go.uber.org/zap/zapcore/clock.go +0 -50
  168. data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
  169. data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
  170. data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
  171. data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
  172. data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
  173. data/vendor/go.uber.org/zap/zapcore/error.go +0 -132
  174. data/vendor/go.uber.org/zap/zapcore/field.go +0 -233
  175. data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
  176. data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
  177. data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
  178. data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
  179. data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
  180. data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
  181. data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
  182. data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
  183. data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
  184. data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -122
  185. data/vendor/golang.org/x/net/AUTHORS +0 -3
  186. data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
  187. data/vendor/golang.org/x/net/LICENSE +0 -27
  188. data/vendor/golang.org/x/net/PATENTS +0 -22
  189. data/vendor/golang.org/x/net/context/context.go +0 -56
  190. data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
  191. data/vendor/golang.org/x/net/context/go17.go +0 -73
  192. data/vendor/golang.org/x/net/context/go19.go +0 -21
  193. data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
  194. data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
  195. data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
  196. data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
  197. data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
  198. data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
  199. data/vendor/golang.org/x/oauth2/LICENSE +0 -27
  200. data/vendor/golang.org/x/oauth2/README.md +0 -36
  201. data/vendor/golang.org/x/oauth2/go.mod +0 -9
  202. data/vendor/golang.org/x/oauth2/go.sum +0 -361
  203. data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
  204. data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
  205. data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
  206. data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
  207. data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
  208. data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
  209. data/vendor/golang.org/x/oauth2/token.go +0 -178
  210. data/vendor/golang.org/x/oauth2/transport.go +0 -89
  211. data/vendor/google.golang.org/appengine/LICENSE +0 -202
  212. data/vendor/google.golang.org/appengine/internal/api.go +0 -678
  213. data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
  214. data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
  215. data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
  216. data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
  217. data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
  218. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
  219. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
  220. data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
  221. data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
  222. data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
  223. data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
  224. data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
  225. data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
  226. data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
  227. data/vendor/google.golang.org/appengine/internal/main.go +0 -16
  228. data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
  229. data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
  230. data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
  231. data/vendor/google.golang.org/appengine/internal/net.go +0 -56
  232. data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
  233. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
  234. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
  235. data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
  236. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
  237. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
  238. data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
  239. data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
  240. data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
  241. data/vendor/google.golang.org/protobuf/LICENSE +0 -27
  242. data/vendor/google.golang.org/protobuf/PATENTS +0 -22
  243. data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
  244. data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
  245. data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
  246. data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
  247. data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
  248. data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
  249. data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
  250. data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
  251. data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
  252. data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
  253. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
  254. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
  255. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
  256. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
  257. data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
  258. data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
  259. data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
  260. data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
  261. data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
  262. data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
  263. data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
  264. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
  265. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
  266. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
  267. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
  268. data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
  269. data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
  270. data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
  271. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
  272. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
  273. data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
  274. data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
  275. data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
  276. data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
  277. data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
  278. data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
  279. data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
  280. data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
  281. data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
  282. data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
  283. data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
  284. data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
  285. data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
  286. data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
  287. data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
  288. data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
  289. data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
  290. data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
  291. data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
  292. data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
  293. data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
  294. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
  295. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
  296. data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
  297. data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
  298. data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
  299. data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
  300. data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
  301. data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
  302. data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
  303. data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
  304. data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
  305. data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
  306. data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
  307. data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
  308. data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
  309. data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
  310. data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
  311. data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
  312. data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
  313. data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
  314. data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
  315. data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
  316. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
  317. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
  318. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
  319. data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
  320. data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
  321. data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
  322. data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
  323. data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
  324. data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
  325. data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
  326. data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
  327. data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
  328. data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
  329. data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
  330. data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
  331. data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
  332. data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
  333. data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
  334. data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
  335. data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
  336. data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
  337. data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
  338. data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
  339. data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
  340. data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
  341. data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
  342. data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
  343. data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
  344. data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
  345. data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
  346. data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
  347. data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
  348. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
  349. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
  350. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
  351. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
  352. data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
  353. data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
  354. data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
  355. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
  356. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
  357. data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
  358. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
  359. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
  360. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
  361. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
  362. data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
  363. data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
  364. data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
  365. data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
  366. data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
  367. data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
  368. data/vendor/modules.txt +0 -79
@@ -1,538 +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 protowire parses and formats the raw wire encoding.
6
- // See https://developers.google.com/protocol-buffers/docs/encoding.
7
- //
8
- // For marshaling and unmarshaling entire protobuf messages,
9
- // use the "google.golang.org/protobuf/proto" package instead.
10
- package protowire
11
-
12
- import (
13
- "io"
14
- "math"
15
- "math/bits"
16
-
17
- "google.golang.org/protobuf/internal/errors"
18
- )
19
-
20
- // Number represents the field number.
21
- type Number int32
22
-
23
- const (
24
- MinValidNumber Number = 1
25
- FirstReservedNumber Number = 19000
26
- LastReservedNumber Number = 19999
27
- MaxValidNumber Number = 1<<29 - 1
28
- )
29
-
30
- // IsValid reports whether the field number is semantically valid.
31
- //
32
- // Note that while numbers within the reserved range are semantically invalid,
33
- // they are syntactically valid in the wire format.
34
- // Implementations may treat records with reserved field numbers as unknown.
35
- func (n Number) IsValid() bool {
36
- return MinValidNumber <= n && n < FirstReservedNumber || LastReservedNumber < n && n <= MaxValidNumber
37
- }
38
-
39
- // Type represents the wire type.
40
- type Type int8
41
-
42
- const (
43
- VarintType Type = 0
44
- Fixed32Type Type = 5
45
- Fixed64Type Type = 1
46
- BytesType Type = 2
47
- StartGroupType Type = 3
48
- EndGroupType Type = 4
49
- )
50
-
51
- const (
52
- _ = -iota
53
- errCodeTruncated
54
- errCodeFieldNumber
55
- errCodeOverflow
56
- errCodeReserved
57
- errCodeEndGroup
58
- )
59
-
60
- var (
61
- errFieldNumber = errors.New("invalid field number")
62
- errOverflow = errors.New("variable length integer overflow")
63
- errReserved = errors.New("cannot parse reserved wire type")
64
- errEndGroup = errors.New("mismatching end group marker")
65
- errParse = errors.New("parse error")
66
- )
67
-
68
- // ParseError converts an error code into an error value.
69
- // This returns nil if n is a non-negative number.
70
- func ParseError(n int) error {
71
- if n >= 0 {
72
- return nil
73
- }
74
- switch n {
75
- case errCodeTruncated:
76
- return io.ErrUnexpectedEOF
77
- case errCodeFieldNumber:
78
- return errFieldNumber
79
- case errCodeOverflow:
80
- return errOverflow
81
- case errCodeReserved:
82
- return errReserved
83
- case errCodeEndGroup:
84
- return errEndGroup
85
- default:
86
- return errParse
87
- }
88
- }
89
-
90
- // ConsumeField parses an entire field record (both tag and value) and returns
91
- // the field number, the wire type, and the total length.
92
- // This returns a negative length upon an error (see ParseError).
93
- //
94
- // The total length includes the tag header and the end group marker (if the
95
- // field is a group).
96
- func ConsumeField(b []byte) (Number, Type, int) {
97
- num, typ, n := ConsumeTag(b)
98
- if n < 0 {
99
- return 0, 0, n // forward error code
100
- }
101
- m := ConsumeFieldValue(num, typ, b[n:])
102
- if m < 0 {
103
- return 0, 0, m // forward error code
104
- }
105
- return num, typ, n + m
106
- }
107
-
108
- // ConsumeFieldValue parses a field value and returns its length.
109
- // This assumes that the field Number and wire Type have already been parsed.
110
- // This returns a negative length upon an error (see ParseError).
111
- //
112
- // When parsing a group, the length includes the end group marker and
113
- // the end group is verified to match the starting field number.
114
- func ConsumeFieldValue(num Number, typ Type, b []byte) (n int) {
115
- switch typ {
116
- case VarintType:
117
- _, n = ConsumeVarint(b)
118
- return n
119
- case Fixed32Type:
120
- _, n = ConsumeFixed32(b)
121
- return n
122
- case Fixed64Type:
123
- _, n = ConsumeFixed64(b)
124
- return n
125
- case BytesType:
126
- _, n = ConsumeBytes(b)
127
- return n
128
- case StartGroupType:
129
- n0 := len(b)
130
- for {
131
- num2, typ2, n := ConsumeTag(b)
132
- if n < 0 {
133
- return n // forward error code
134
- }
135
- b = b[n:]
136
- if typ2 == EndGroupType {
137
- if num != num2 {
138
- return errCodeEndGroup
139
- }
140
- return n0 - len(b)
141
- }
142
-
143
- n = ConsumeFieldValue(num2, typ2, b)
144
- if n < 0 {
145
- return n // forward error code
146
- }
147
- b = b[n:]
148
- }
149
- case EndGroupType:
150
- return errCodeEndGroup
151
- default:
152
- return errCodeReserved
153
- }
154
- }
155
-
156
- // AppendTag encodes num and typ as a varint-encoded tag and appends it to b.
157
- func AppendTag(b []byte, num Number, typ Type) []byte {
158
- return AppendVarint(b, EncodeTag(num, typ))
159
- }
160
-
161
- // ConsumeTag parses b as a varint-encoded tag, reporting its length.
162
- // This returns a negative length upon an error (see ParseError).
163
- func ConsumeTag(b []byte) (Number, Type, int) {
164
- v, n := ConsumeVarint(b)
165
- if n < 0 {
166
- return 0, 0, n // forward error code
167
- }
168
- num, typ := DecodeTag(v)
169
- if num < MinValidNumber {
170
- return 0, 0, errCodeFieldNumber
171
- }
172
- return num, typ, n
173
- }
174
-
175
- func SizeTag(num Number) int {
176
- return SizeVarint(EncodeTag(num, 0)) // wire type has no effect on size
177
- }
178
-
179
- // AppendVarint appends v to b as a varint-encoded uint64.
180
- func AppendVarint(b []byte, v uint64) []byte {
181
- switch {
182
- case v < 1<<7:
183
- b = append(b, byte(v))
184
- case v < 1<<14:
185
- b = append(b,
186
- byte((v>>0)&0x7f|0x80),
187
- byte(v>>7))
188
- case v < 1<<21:
189
- b = append(b,
190
- byte((v>>0)&0x7f|0x80),
191
- byte((v>>7)&0x7f|0x80),
192
- byte(v>>14))
193
- case v < 1<<28:
194
- b = append(b,
195
- byte((v>>0)&0x7f|0x80),
196
- byte((v>>7)&0x7f|0x80),
197
- byte((v>>14)&0x7f|0x80),
198
- byte(v>>21))
199
- case v < 1<<35:
200
- b = append(b,
201
- byte((v>>0)&0x7f|0x80),
202
- byte((v>>7)&0x7f|0x80),
203
- byte((v>>14)&0x7f|0x80),
204
- byte((v>>21)&0x7f|0x80),
205
- byte(v>>28))
206
- case v < 1<<42:
207
- b = append(b,
208
- byte((v>>0)&0x7f|0x80),
209
- byte((v>>7)&0x7f|0x80),
210
- byte((v>>14)&0x7f|0x80),
211
- byte((v>>21)&0x7f|0x80),
212
- byte((v>>28)&0x7f|0x80),
213
- byte(v>>35))
214
- case v < 1<<49:
215
- b = append(b,
216
- byte((v>>0)&0x7f|0x80),
217
- byte((v>>7)&0x7f|0x80),
218
- byte((v>>14)&0x7f|0x80),
219
- byte((v>>21)&0x7f|0x80),
220
- byte((v>>28)&0x7f|0x80),
221
- byte((v>>35)&0x7f|0x80),
222
- byte(v>>42))
223
- case v < 1<<56:
224
- b = append(b,
225
- byte((v>>0)&0x7f|0x80),
226
- byte((v>>7)&0x7f|0x80),
227
- byte((v>>14)&0x7f|0x80),
228
- byte((v>>21)&0x7f|0x80),
229
- byte((v>>28)&0x7f|0x80),
230
- byte((v>>35)&0x7f|0x80),
231
- byte((v>>42)&0x7f|0x80),
232
- byte(v>>49))
233
- case v < 1<<63:
234
- b = append(b,
235
- byte((v>>0)&0x7f|0x80),
236
- byte((v>>7)&0x7f|0x80),
237
- byte((v>>14)&0x7f|0x80),
238
- byte((v>>21)&0x7f|0x80),
239
- byte((v>>28)&0x7f|0x80),
240
- byte((v>>35)&0x7f|0x80),
241
- byte((v>>42)&0x7f|0x80),
242
- byte((v>>49)&0x7f|0x80),
243
- byte(v>>56))
244
- default:
245
- b = append(b,
246
- byte((v>>0)&0x7f|0x80),
247
- byte((v>>7)&0x7f|0x80),
248
- byte((v>>14)&0x7f|0x80),
249
- byte((v>>21)&0x7f|0x80),
250
- byte((v>>28)&0x7f|0x80),
251
- byte((v>>35)&0x7f|0x80),
252
- byte((v>>42)&0x7f|0x80),
253
- byte((v>>49)&0x7f|0x80),
254
- byte((v>>56)&0x7f|0x80),
255
- 1)
256
- }
257
- return b
258
- }
259
-
260
- // ConsumeVarint parses b as a varint-encoded uint64, reporting its length.
261
- // This returns a negative length upon an error (see ParseError).
262
- func ConsumeVarint(b []byte) (v uint64, n int) {
263
- var y uint64
264
- if len(b) <= 0 {
265
- return 0, errCodeTruncated
266
- }
267
- v = uint64(b[0])
268
- if v < 0x80 {
269
- return v, 1
270
- }
271
- v -= 0x80
272
-
273
- if len(b) <= 1 {
274
- return 0, errCodeTruncated
275
- }
276
- y = uint64(b[1])
277
- v += y << 7
278
- if y < 0x80 {
279
- return v, 2
280
- }
281
- v -= 0x80 << 7
282
-
283
- if len(b) <= 2 {
284
- return 0, errCodeTruncated
285
- }
286
- y = uint64(b[2])
287
- v += y << 14
288
- if y < 0x80 {
289
- return v, 3
290
- }
291
- v -= 0x80 << 14
292
-
293
- if len(b) <= 3 {
294
- return 0, errCodeTruncated
295
- }
296
- y = uint64(b[3])
297
- v += y << 21
298
- if y < 0x80 {
299
- return v, 4
300
- }
301
- v -= 0x80 << 21
302
-
303
- if len(b) <= 4 {
304
- return 0, errCodeTruncated
305
- }
306
- y = uint64(b[4])
307
- v += y << 28
308
- if y < 0x80 {
309
- return v, 5
310
- }
311
- v -= 0x80 << 28
312
-
313
- if len(b) <= 5 {
314
- return 0, errCodeTruncated
315
- }
316
- y = uint64(b[5])
317
- v += y << 35
318
- if y < 0x80 {
319
- return v, 6
320
- }
321
- v -= 0x80 << 35
322
-
323
- if len(b) <= 6 {
324
- return 0, errCodeTruncated
325
- }
326
- y = uint64(b[6])
327
- v += y << 42
328
- if y < 0x80 {
329
- return v, 7
330
- }
331
- v -= 0x80 << 42
332
-
333
- if len(b) <= 7 {
334
- return 0, errCodeTruncated
335
- }
336
- y = uint64(b[7])
337
- v += y << 49
338
- if y < 0x80 {
339
- return v, 8
340
- }
341
- v -= 0x80 << 49
342
-
343
- if len(b) <= 8 {
344
- return 0, errCodeTruncated
345
- }
346
- y = uint64(b[8])
347
- v += y << 56
348
- if y < 0x80 {
349
- return v, 9
350
- }
351
- v -= 0x80 << 56
352
-
353
- if len(b) <= 9 {
354
- return 0, errCodeTruncated
355
- }
356
- y = uint64(b[9])
357
- v += y << 63
358
- if y < 2 {
359
- return v, 10
360
- }
361
- return 0, errCodeOverflow
362
- }
363
-
364
- // SizeVarint returns the encoded size of a varint.
365
- // The size is guaranteed to be within 1 and 10, inclusive.
366
- func SizeVarint(v uint64) int {
367
- // This computes 1 + (bits.Len64(v)-1)/7.
368
- // 9/64 is a good enough approximation of 1/7
369
- return int(9*uint32(bits.Len64(v))+64) / 64
370
- }
371
-
372
- // AppendFixed32 appends v to b as a little-endian uint32.
373
- func AppendFixed32(b []byte, v uint32) []byte {
374
- return append(b,
375
- byte(v>>0),
376
- byte(v>>8),
377
- byte(v>>16),
378
- byte(v>>24))
379
- }
380
-
381
- // ConsumeFixed32 parses b as a little-endian uint32, reporting its length.
382
- // This returns a negative length upon an error (see ParseError).
383
- func ConsumeFixed32(b []byte) (v uint32, n int) {
384
- if len(b) < 4 {
385
- return 0, errCodeTruncated
386
- }
387
- v = uint32(b[0])<<0 | uint32(b[1])<<8 | uint32(b[2])<<16 | uint32(b[3])<<24
388
- return v, 4
389
- }
390
-
391
- // SizeFixed32 returns the encoded size of a fixed32; which is always 4.
392
- func SizeFixed32() int {
393
- return 4
394
- }
395
-
396
- // AppendFixed64 appends v to b as a little-endian uint64.
397
- func AppendFixed64(b []byte, v uint64) []byte {
398
- return append(b,
399
- byte(v>>0),
400
- byte(v>>8),
401
- byte(v>>16),
402
- byte(v>>24),
403
- byte(v>>32),
404
- byte(v>>40),
405
- byte(v>>48),
406
- byte(v>>56))
407
- }
408
-
409
- // ConsumeFixed64 parses b as a little-endian uint64, reporting its length.
410
- // This returns a negative length upon an error (see ParseError).
411
- func ConsumeFixed64(b []byte) (v uint64, n int) {
412
- if len(b) < 8 {
413
- return 0, errCodeTruncated
414
- }
415
- v = uint64(b[0])<<0 | uint64(b[1])<<8 | uint64(b[2])<<16 | uint64(b[3])<<24 | uint64(b[4])<<32 | uint64(b[5])<<40 | uint64(b[6])<<48 | uint64(b[7])<<56
416
- return v, 8
417
- }
418
-
419
- // SizeFixed64 returns the encoded size of a fixed64; which is always 8.
420
- func SizeFixed64() int {
421
- return 8
422
- }
423
-
424
- // AppendBytes appends v to b as a length-prefixed bytes value.
425
- func AppendBytes(b []byte, v []byte) []byte {
426
- return append(AppendVarint(b, uint64(len(v))), v...)
427
- }
428
-
429
- // ConsumeBytes parses b as a length-prefixed bytes value, reporting its length.
430
- // This returns a negative length upon an error (see ParseError).
431
- func ConsumeBytes(b []byte) (v []byte, n int) {
432
- m, n := ConsumeVarint(b)
433
- if n < 0 {
434
- return nil, n // forward error code
435
- }
436
- if m > uint64(len(b[n:])) {
437
- return nil, errCodeTruncated
438
- }
439
- return b[n:][:m], n + int(m)
440
- }
441
-
442
- // SizeBytes returns the encoded size of a length-prefixed bytes value,
443
- // given only the length.
444
- func SizeBytes(n int) int {
445
- return SizeVarint(uint64(n)) + n
446
- }
447
-
448
- // AppendString appends v to b as a length-prefixed bytes value.
449
- func AppendString(b []byte, v string) []byte {
450
- return append(AppendVarint(b, uint64(len(v))), v...)
451
- }
452
-
453
- // ConsumeString parses b as a length-prefixed bytes value, reporting its length.
454
- // This returns a negative length upon an error (see ParseError).
455
- func ConsumeString(b []byte) (v string, n int) {
456
- bb, n := ConsumeBytes(b)
457
- return string(bb), n
458
- }
459
-
460
- // AppendGroup appends v to b as group value, with a trailing end group marker.
461
- // The value v must not contain the end marker.
462
- func AppendGroup(b []byte, num Number, v []byte) []byte {
463
- return AppendVarint(append(b, v...), EncodeTag(num, EndGroupType))
464
- }
465
-
466
- // ConsumeGroup parses b as a group value until the trailing end group marker,
467
- // and verifies that the end marker matches the provided num. The value v
468
- // does not contain the end marker, while the length does contain the end marker.
469
- // This returns a negative length upon an error (see ParseError).
470
- func ConsumeGroup(num Number, b []byte) (v []byte, n int) {
471
- n = ConsumeFieldValue(num, StartGroupType, b)
472
- if n < 0 {
473
- return nil, n // forward error code
474
- }
475
- b = b[:n]
476
-
477
- // Truncate off end group marker, but need to handle denormalized varints.
478
- // Assuming end marker is never 0 (which is always the case since
479
- // EndGroupType is non-zero), we can truncate all trailing bytes where the
480
- // lower 7 bits are all zero (implying that the varint is denormalized).
481
- for len(b) > 0 && b[len(b)-1]&0x7f == 0 {
482
- b = b[:len(b)-1]
483
- }
484
- b = b[:len(b)-SizeTag(num)]
485
- return b, n
486
- }
487
-
488
- // SizeGroup returns the encoded size of a group, given only the length.
489
- func SizeGroup(num Number, n int) int {
490
- return n + SizeTag(num)
491
- }
492
-
493
- // DecodeTag decodes the field Number and wire Type from its unified form.
494
- // The Number is -1 if the decoded field number overflows int32.
495
- // Other than overflow, this does not check for field number validity.
496
- func DecodeTag(x uint64) (Number, Type) {
497
- // NOTE: MessageSet allows for larger field numbers than normal.
498
- if x>>3 > uint64(math.MaxInt32) {
499
- return -1, 0
500
- }
501
- return Number(x >> 3), Type(x & 7)
502
- }
503
-
504
- // EncodeTag encodes the field Number and wire Type into its unified form.
505
- func EncodeTag(num Number, typ Type) uint64 {
506
- return uint64(num)<<3 | uint64(typ&7)
507
- }
508
-
509
- // DecodeZigZag decodes a zig-zag-encoded uint64 as an int64.
510
- // Input: {…, 5, 3, 1, 0, 2, 4, 6, …}
511
- // Output: {…, -3, -2, -1, 0, +1, +2, +3, …}
512
- func DecodeZigZag(x uint64) int64 {
513
- return int64(x>>1) ^ int64(x)<<63>>63
514
- }
515
-
516
- // EncodeZigZag encodes an int64 as a zig-zag-encoded uint64.
517
- // Input: {…, -3, -2, -1, 0, +1, +2, +3, …}
518
- // Output: {…, 5, 3, 1, 0, 2, 4, 6, …}
519
- func EncodeZigZag(x int64) uint64 {
520
- return uint64(x<<1) ^ uint64(x>>63)
521
- }
522
-
523
- // DecodeBool decodes a uint64 as a bool.
524
- // Input: { 0, 1, 2, …}
525
- // Output: {false, true, true, …}
526
- func DecodeBool(x uint64) bool {
527
- return x != 0
528
- }
529
-
530
- // EncodeBool encodes a bool as a uint64.
531
- // Input: {false, true}
532
- // Output: { 0, 1}
533
- func EncodeBool(x bool) uint64 {
534
- if x {
535
- return 1
536
- }
537
- return 0
538
- }