summaryrefslogtreecommitdiff
path: root/vendor/github.com/go-pg/pg/v10/pgjson
diff options
context:
space:
mode:
authorLibravatar Tobi Smethurst <31960611+tsmethurst@users.noreply.github.com>2021-08-12 21:03:24 +0200
committerLibravatar GitHub <noreply@github.com>2021-08-12 21:03:24 +0200
commit98263a7de64269898a2f81207e38943b5c8e8653 (patch)
tree743c90f109a6c5d27832d1dcef2388d939f0f77a /vendor/github.com/go-pg/pg/v10/pgjson
parentText duplication fix (#137) (diff)
downloadgotosocial-98263a7de64269898a2f81207e38943b5c8e8653.tar.xz
Grand test fixup (#138)
* start fixing up tests * fix up tests + automate with drone * fiddle with linting * messing about with drone.yml * some more fiddling * hmmm * add cache * add vendor directory * verbose * ci updates * update some little things * update sig
Diffstat (limited to 'vendor/github.com/go-pg/pg/v10/pgjson')
-rw-r--r--vendor/github.com/go-pg/pg/v10/pgjson/json.go26
-rw-r--r--vendor/github.com/go-pg/pg/v10/pgjson/provider.go43
2 files changed, 69 insertions, 0 deletions
diff --git a/vendor/github.com/go-pg/pg/v10/pgjson/json.go b/vendor/github.com/go-pg/pg/v10/pgjson/json.go
new file mode 100644
index 000000000..c401dc946
--- /dev/null
+++ b/vendor/github.com/go-pg/pg/v10/pgjson/json.go
@@ -0,0 +1,26 @@
+package pgjson
+
+import (
+ "encoding/json"
+ "io"
+)
+
+var _ Provider = (*StdProvider)(nil)
+
+type StdProvider struct{}
+
+func (StdProvider) Marshal(v interface{}) ([]byte, error) {
+ return json.Marshal(v)
+}
+
+func (StdProvider) Unmarshal(data []byte, v interface{}) error {
+ return json.Unmarshal(data, v)
+}
+
+func (StdProvider) NewEncoder(w io.Writer) Encoder {
+ return json.NewEncoder(w)
+}
+
+func (StdProvider) NewDecoder(r io.Reader) Decoder {
+ return json.NewDecoder(r)
+}
diff --git a/vendor/github.com/go-pg/pg/v10/pgjson/provider.go b/vendor/github.com/go-pg/pg/v10/pgjson/provider.go
new file mode 100644
index 000000000..a4b663ce4
--- /dev/null
+++ b/vendor/github.com/go-pg/pg/v10/pgjson/provider.go
@@ -0,0 +1,43 @@
+package pgjson
+
+import (
+ "io"
+)
+
+var provider Provider = StdProvider{}
+
+func SetProvider(p Provider) {
+ provider = p
+}
+
+type Provider interface {
+ Marshal(v interface{}) ([]byte, error)
+ Unmarshal(data []byte, v interface{}) error
+ NewEncoder(w io.Writer) Encoder
+ NewDecoder(r io.Reader) Decoder
+}
+
+type Decoder interface {
+ Decode(v interface{}) error
+ UseNumber()
+}
+
+type Encoder interface {
+ Encode(v interface{}) error
+}
+
+func Marshal(v interface{}) ([]byte, error) {
+ return provider.Marshal(v)
+}
+
+func Unmarshal(data []byte, v interface{}) error {
+ return provider.Unmarshal(data, v)
+}
+
+func NewEncoder(w io.Writer) Encoder {
+ return provider.NewEncoder(w)
+}
+
+func NewDecoder(r io.Reader) Decoder {
+ return provider.NewDecoder(r)
+}