summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/SevereCloud/vksdk/v2/object/utils.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/SevereCloud/vksdk/v2/object/utils.go')
-rw-r--r--vendor/github.com/SevereCloud/vksdk/v2/object/utils.go60
1 files changed, 60 insertions, 0 deletions
diff --git a/vendor/github.com/SevereCloud/vksdk/v2/object/utils.go b/vendor/github.com/SevereCloud/vksdk/v2/object/utils.go
index 3bbd775d..408cf7f9 100644
--- a/vendor/github.com/SevereCloud/vksdk/v2/object/utils.go
+++ b/vendor/github.com/SevereCloud/vksdk/v2/object/utils.go
@@ -1,5 +1,13 @@
package object // import "github.com/SevereCloud/vksdk/v2/object"
+import (
+ "bytes"
+ "encoding/json"
+
+ "github.com/vmihailenco/msgpack/v5"
+ "github.com/vmihailenco/msgpack/v5/msgpcode"
+)
+
// UtilsDomainResolvedType object type.
const (
UtilsDomainResolvedTypeUser = "user"
@@ -15,6 +23,58 @@ type UtilsDomainResolved struct {
Type string `json:"type"`
}
+// UnmarshalJSON UtilsDomainResolved.
+//
+// BUG(VK): UtilsDomainResolved return [].
+func (link *UtilsDomainResolved) UnmarshalJSON(data []byte) error {
+ if bytes.Equal(data, []byte("[]")) {
+ return nil
+ }
+
+ type renamedUtilsDomainResolved UtilsDomainResolved
+
+ var r renamedUtilsDomainResolved
+
+ err := json.Unmarshal(data, &r)
+ if err != nil {
+ return err
+ }
+
+ *link = UtilsDomainResolved(r)
+
+ return nil
+}
+
+// DecodeMsgpack UtilsDomainResolved.
+//
+// BUG(VK): UtilsDomainResolved return [].
+func (link *UtilsDomainResolved) DecodeMsgpack(dec *msgpack.Decoder) error {
+ data, err := dec.DecodeRaw()
+ if err != nil {
+ return err
+ }
+
+ if bytes.Equal(data, []byte{msgpcode.FixedArrayLow}) {
+ return nil
+ }
+
+ type renamedUtilsDomainResolved UtilsDomainResolved
+
+ var r renamedUtilsDomainResolved
+
+ d := msgpack.NewDecoder(bytes.NewReader(data))
+ d.SetCustomStructTag("json")
+
+ err = d.Decode(&r)
+ if err != nil {
+ return err
+ }
+
+ *link = UtilsDomainResolved(r)
+
+ return nil
+}
+
// UtilsLastShortenedLink struct.
type UtilsLastShortenedLink struct {
AccessKey string `json:"access_key"` // Access key for private stats