diff --git a/pub/fed.go b/pub/fed.go index ee6f458..05c7fef 100644 --- a/pub/fed.go +++ b/pub/fed.go @@ -23,32 +23,8 @@ var ( // TODO: Helper http Handler for serving Tombstone objects // TODO: Helper http Handler for serving deleted objects -// FederateApp is provided by users of this library and designed to handle -// receiving messages from ActivityPub servers through the Federative API. -type FederateApp interface { -} - -// Callbacker provides an Application hooks into the lifecycle of the -// ActivityPub processes for both client-to-server and server-to-server -// interactions. These callbacks are called after their spec-compliant actions -// are completed, but before inbox forwarding and before delivery. -// -// Note that modifying the ActivityStream objects in a callback may cause -// unintentionally non-standard behavior if modifying core attributes, but -// otherwise affords clients powerful flexibility. Use responsibly. -type Callbacker interface { - Create(c context.Context, s *streams.Create) error - Update(c context.Context, s *streams.Update) error - Delete(c context.Context, s *streams.Delete) error - Add(c context.Context, s *streams.Add) error - Remove(c context.Context, s *streams.Remove) error - Like(c context.Context, s *streams.Like) error - Block(c context.Context, s *streams.Block) error - Follow(c context.Context, s *streams.Follow) error - Undo(c context.Context, s *streams.Undo) error - Accept(c context.Context, s *streams.Accept) error - Reject(c context.Context, s *streams.Reject) error -} +// TODO: Authorization client-to-server. +// TODO: Authenticate server-to-server deliveries. type federator struct { // Clock determines the time of this federator. @@ -131,6 +107,29 @@ func (f *federator) PostInbox(c context.Context, w http.ResponseWriter, r *http. if err = json.Unmarshal(b, &m); err != nil { return true, err } + ao, err := getActorObject(m) + if err != nil { + return true, err + } + var iris []url.URL + for i := 0; i < ao.ActorLen(); i++ { + if ao.IsActorObject(i) { + obj := ao.GetActorObject(i) + if obj.HasId() { + iris = append(iris, obj.GetId()) + } + } else if ao.IsActorLink(i) { + l := ao.GetActorLink(i) + if l.HasHref() { + iris = append(iris, l.GetHref()) + } + } else if ao.IsActorIRI(i) { + iris = append(iris, ao.GetActorIRI(i)) + } + } + if err = f.FederateApp.Unblocked(c, iris); err != nil { + return true, err + } if err = f.getPostInboxResolver(c).Deserialize(m); err != nil { return true, err } @@ -233,24 +232,9 @@ func (f *federator) PostOutbox(c context.Context, w http.ResponseWriter, r *http if err != nil { return true, err } - recipients, err := f.prepare(obj) - if err != nil { + if err := f.deliver(obj); err != nil { return true, err } - m, err := obj.Serialize() - if err != nil { - return true, err - } - m["@context"] = "https://www.w3.org/ns/activitystreams" - b, err := json.Marshal(m) - if err != nil { - return true, err - } - for _, to := range recipients { - f.pool.Do(b, to, func(b []byte, u url.URL) error { - return postToOutbox(f.Client, b, u, f.Agent) - }) - } } w.Header().Set("Location", newId.String()) w.WriteHeader(http.StatusCreated) @@ -285,8 +269,16 @@ func (f *federator) GetOutbox(c context.Context, w http.ResponseWriter, r *http. } func (f *federator) addToOutbox(c context.Context, m map[string]interface{}) error { - // TODO - return nil + outbox, err := f.SocialApp.GetOutbox(c) + if err != nil { + return err + } + activity, err := toAnyActivity(m) + if err != nil { + return err + } + outbox.AddOrderedItemsObject(activity) + return f.App.Set(c, outbox) } func (f *federator) getPostOutboxResolver(c context.Context, deliverable *bool) *streams.Resolver { @@ -644,14 +636,16 @@ func (f *federator) handleClientRemove(c context.Context, deliverable *bool) fun } } -func (f *federator) handleClientLike(c context.Context, deliverable *bool) func(s *streams.Like) error { +func (f *federator) handleClientLike(ctx context.Context, deliverable *bool) func(s *streams.Like) error { return func(s *streams.Like) error { *deliverable = true if s.LenObject() == 0 { return ErrObjectRequired } - // TODO: The server SHOULD add the object to the actor's liked Collection. - return f.ClientCallbacker.Like(c, s) + if err := f.addToAllActorLikedCollection(ctx, s.Raw()); err != nil { + return err + } + return f.ClientCallbacker.Like(ctx, s) } } @@ -661,7 +655,7 @@ func (f *federator) handleClientUndo(c context.Context, deliverable *bool) func( if s.LenObject() == 0 { return ErrObjectRequired } - // TODO: Support common forms of undo natively. + // TODO: Determine if we can support common forms of undo natively. return f.ClientCallbacker.Undo(c, s) } } @@ -672,7 +666,6 @@ func (f *federator) handleClientBlock(c context.Context, deliverable *bool) func if s.LenObject() == 0 { return ErrObjectRequired } - // TODO: Add to blocked app. return f.ClientCallbacker.Block(c, s) } } @@ -761,11 +754,31 @@ func (f *federator) handleDelete(c context.Context) func(s *streams.Delete) erro func (f *federator) handleFollow(c context.Context) func(s *streams.Follow) error { return func(s *streams.Follow) error { - // TODO: Implement. - // Follow means the client application SHOULD reply with an 'Accept' or - // 'Reject' ActivityStream with the 'Follow' as the 'object' and deliver - // it to the 'actor' of the 'Follow'. This can be human-triggered or - // automatically triggered. + // Permit either human-triggered or automatically triggering + // 'Accept'/'Reject'. + todo := f.FederateApp.OnFollow(c, s) + if todo != DoNothing { + var activity vocab.ActivityType + if todo == AutomaticAccept { + activity = &vocab.Accept{} + } else if todo == AutomaticReject { + activity = &vocab.Reject{} + } + raw := s.Raw() + activity.AddObject(raw) + for i := 0; i < raw.ActorLen(); i++ { + if raw.IsActorObject(i) { + activity.AddToObject(raw.GetActorObject(i)) + } else if raw.IsActorLink(i) { + activity.AddToLink(raw.GetActorLink(i)) + } else if raw.IsActorIRI(i) { + activity.AddToIRI(raw.GetActorIRI(i)) + } + } + if err := f.deliver(activity); err != nil { + return err + } + } return f.ServerCallbacker.Follow(c, s) } } @@ -782,7 +795,6 @@ func (f *federator) handleAccept(c context.Context) func(s *streams.Accept) erro func (f *federator) handleReject(c context.Context) func(s *streams.Reject) error { return func(s *streams.Reject) error { - // TODO: Implement. // Reject can be client application specific. However, if this 'Reject' // is in response to a 'Follow' then the client MUST NOT go forward with // adding the 'actor' to the original 'actor's 'following' collection @@ -811,15 +823,15 @@ func (f *federator) handleRemove(c context.Context) func(s *streams.Remove) erro func (f *federator) handleLike(c context.Context) func(s *streams.Like) error { return func(s *streams.Like) error { - // TODO: Implement. - // Like triggers adding the like to an object's `like` collection. + if err := f.addToAllLikesCollections(c, s.Raw()); err != nil { + return err + } return f.ServerCallbacker.Like(c, s) } } func (f *federator) handleUndo(c context.Context) func(s *streams.Undo) error { return func(s *streams.Undo) error { - // TODO: Implement. // Undo negates a previous action. The 'actor' on the 'Undo' MUST be the // same as the 'actor' on the Activity being undone, and the client // application is responsible for enforcing this. Note that 'Undo'-ing diff --git a/pub/interfaces.go b/pub/interfaces.go index 9583265..035461b 100644 --- a/pub/interfaces.go +++ b/pub/interfaces.go @@ -3,6 +3,7 @@ package pub import ( "context" "github.com/go-fed/activity/vocab" + "github.com/go-fed/activity/streams" "net/http" "net/url" "time" @@ -31,7 +32,7 @@ type Clock interface { // modification, allowing implementations to pass-through request-scoped data in // order to properly handle the request. type Application interface { -// Get fetches the ActivityStream representation of the given id. + // Get fetches the ActivityStream representation of the given id. Get(c context.Context, id url.URL) (PubObject, error) // Set should write or overwrite the value of the provided object for // its 'id'. @@ -67,6 +68,76 @@ type SocialApp interface { // CanRemove returns true if the provided object is allowed to be // removed from the given target collection. CanRemove(c context.Context, o vocab.ObjectType, t vocab.ObjectType) bool + // GetOutbox gets the outbox of an actor. + GetOutbox(c context.Context) (vocab.OrderedCollectionType, error) +} + +// FollowResponse instructs how to proceed upon immediately receiving a request +// to follow. +type FollowResponse int + +const ( + AutomaticAccept FollowResponse = iota + AutomaticReject + DoNothing +) + +// Callbacker provides an Application hooks into the lifecycle of the +// ActivityPub processes for both client-to-server and server-to-server +// interactions. These callbacks are called after their spec-compliant actions +// are completed, but before inbox forwarding and before delivery. +// +// Note that modifying the ActivityStream objects in a callback may cause +// unintentionally non-standard behavior if modifying core attributes, but +// otherwise affords clients powerful flexibility. Use responsibly. +type Callbacker interface { + // Create Activity callback. + Create(c context.Context, s *streams.Create) error + // Update Activity callback. + Update(c context.Context, s *streams.Update) error + // Delete Activity callback. + Delete(c context.Context, s *streams.Delete) error + // Add Activity callback. + Add(c context.Context, s *streams.Add) error + // Remove Activity callback. + Remove(c context.Context, s *streams.Remove) error + // Like Activity callback. + Like(c context.Context, s *streams.Like) error + // Block Activity callback. By default, this implmentation does not + // dictate how blocking should be implemented, so it is up to the + // application to enforce this by implementing the FederateApp + // interface. + Block(c context.Context, s *streams.Block) error + // Follow Activity callback. In the special case of server-to-server + // delivery of a Follow activity, this implementation supports the + // option of automatically replying with an 'Accept', 'Reject', or + // waiting for human interaction as provided in the FederateApp + // interface. + Follow(c context.Context, s *streams.Follow) error + // Undo Activity callback. It is up to the client to provide support + // for all 'Undo' operations; this implementation does not attempt to + // provide a generic implementation. + Undo(c context.Context, s *streams.Undo) error + // Accept Activity callback. + Accept(c context.Context, s *streams.Accept) error + // Reject Activity callback. + Reject(c context.Context, s *streams.Reject) error +} + +// FederateApp is provided by users of this library and designed to handle +// receiving messages from ActivityPub servers through the Federative API. +type FederateApp interface { + // OnFollow determines whether to take any automatic reactions in + // response to this follow. + OnFollow(c context.Context, s *streams.Follow) FollowResponse + // Unblocked should return an error if the provided actor ids are not + // able to interact with this particular end user due to being blocked + // or other application-specific logic. This error is passed + // transparently back to the request thread via PostInbox. + // + // If nil error is returned, then the received activity is processed as + // a normal unblocked interaction. + Unblocked(c context.Context, actorIRIs []url.URL) error } // PubObject is an ActivityPub Object. diff --git a/pub/internal.go b/pub/internal.go index e269984..b98440d 100644 --- a/pub/internal.go +++ b/pub/internal.go @@ -2,6 +2,7 @@ package pub import ( "bytes" + "context" "encoding/json" "fmt" "github.com/go-fed/activity/streams" @@ -168,6 +169,30 @@ func (f *federator) wrapInCreate(o vocab.ObjectType, actor url.URL) *vocab.Creat // TODO: (Section 7) HTTP caching mechanisms [RFC7234] SHOULD be respected when appropriate, both when receiving responses from other servers as well as sending responses to other servers. +// deliver will complete the peer-to-peer sending of a federated message to +// another server. +func (f *federator) deliver(obj vocab.ActivityType) error { + recipients, err := f.prepare(obj) + if err != nil { + return err + } + m, err := obj.Serialize() + if err != nil { + return err + } + m["@context"] = "https://www.w3.org/ns/activitystreams" + b, err := json.Marshal(m) + if err != nil { + return err + } + for _, to := range recipients { + f.pool.Do(b, to, func(b []byte, u url.URL) error { + return postToOutbox(f.Client, b, u, f.Agent) + }) + } + return nil +} + // prepare takes a deliverableObject and returns a list of the proper recipient // target URIs. Additionally, the deliverableObject will have any hidden // hidden recipients ("bto" and "bcc") stripped from it. @@ -836,6 +861,152 @@ func toTombstone(obj vocab.ObjectType, id url.URL, now time.Time) vocab.Tombston return tomb } +func (f *federator) addToAllActorLikedCollection(ctx context.Context, c vocab.LikeType) error { + for i := 0; i < c.ActorLen(); i++ { + var actor vocab.ObjectType + if c.IsActorObject(i) { + actor = c.GetActorObject(i) + } else if c.IsActorLink(i) { + l := c.GetActorLink(i) + if !l.HasHref() { + return fmt.Errorf("actor Link href required") + } + pObj, err := f.App.Get(ctx, l.GetHref()) + if err != nil { + return err + } + ok := false + actor, ok = pObj.(vocab.ObjectType) + if !ok { + return fmt.Errorf("actor is not vocab.ObjectType") + } + } else if c.IsActorIRI(i) { + iri := c.GetActorIRI(i) + pObj, err := f.App.Get(ctx, iri) + if err != nil { + return err + } + ok := false + actor, ok = pObj.(vocab.ObjectType) + if !ok { + return fmt.Errorf("actor is not vocab.ObjectType") + } + } + var lc vocab.CollectionType + var loc vocab.OrderedCollectionType + if actor.IsLikedAnyURI() { + pObj, err := f.App.Get(ctx, actor.GetLikedAnyURI()) + if err != nil { + return err + } + ok := false + if lc, ok = pObj.(vocab.CollectionType); !ok { + if loc, ok = pObj.(vocab.OrderedCollectionType); !ok { + return fmt.Errorf("actors liked collection not CollectionType nor OrderedCollectionType") + } + } + } else if actor.IsLikedCollection() { + lc = actor.GetLikedCollection() + } else if actor.IsLikedOrderedCollection() { + loc = actor.GetLikedOrderedCollection() + } + for i := 0; i < c.ObjectLen(); i++ { + if c.IsObjectIRI(i) { + if lc != nil { + lc.AddItemsIRI(c.GetObjectIRI(i)) + } else if loc != nil { + loc.AddOrderedItemsIRI(c.GetObjectIRI(i)) + } + } else if c.IsObject(i) { + if lc != nil { + lc.AddItemsObject(c.GetObject(i)) + } else if loc != nil { + loc.AddOrderedItemsObject(c.GetObject(i)) + } + } + } + if lc != nil { + if err := f.App.Set(ctx, lc); err != nil { + return err + } + } else if loc != nil { + if err := f.App.Set(ctx, loc); err != nil { + return err + } + } + } + return nil +} + +func (f *federator) addToAllLikesCollections(ctx context.Context, c vocab.LikeType) error { + for i := 0; i < c.ObjectLen(); i++ { + var object vocab.ObjectType + if c.IsObject(i) { + object = c.GetObject(i) + } else if c.IsObjectIRI(i) { + iri := c.GetObjectIRI(i) + pObj, err := f.App.Get(ctx, iri) + if err != nil { + return err + } + ok := false + object, ok = pObj.(vocab.ObjectType) + if !ok { + return fmt.Errorf("object is not vocab.ObjectType") + } + } + var lc vocab.CollectionType + var loc vocab.OrderedCollectionType + if object.IsLikesAnyURI() { + pObj, err := f.App.Get(ctx, object.GetLikesAnyURI()) + if err != nil { + return err + } + ok := false + if lc, ok = pObj.(vocab.CollectionType); !ok { + if loc, ok = pObj.(vocab.OrderedCollectionType); !ok { + return fmt.Errorf("object likes collection not CollectionType nor OrderedCollectionType") + } + } + } else if object.IsLikesCollection() { + lc = object.GetLikesCollection() + } else if object.IsLikesOrderedCollection() { + loc = object.GetLikesOrderedCollection() + } + for i := 0; i < c.ActorLen(); i++ { + if c.IsActorIRI(i) { + if lc != nil { + lc.AddItemsIRI(c.GetActorIRI(i)) + } else if loc != nil { + loc.AddOrderedItemsIRI(c.GetActorIRI(i)) + } + } else if c.IsActorObject(i) { + if lc != nil { + lc.AddItemsObject(c.GetActorObject(i)) + } else if loc != nil { + loc.AddOrderedItemsObject(c.GetActorObject(i)) + } + } else if c.IsActorLink(i) { + if lc != nil { + lc.AddItemsLink(c.GetActorLink(i)) + } else if loc != nil { + loc.AddOrderedItemsLink(c.GetActorLink(i)) + } + } + } + if lc != nil { + if err := f.App.Set(ctx, lc); err != nil { + return err + } + } else if loc != nil { + if err := f.App.Set(ctx, loc); err != nil { + return err + } + } + } + return nil +} + // TODO: Move this to vocab package. var activityTypes = []string{"Accept", "Add", "Announce", "Arrive", "Block", "Create", "Delete", "Dislike", "Flag", "Follow", "Ignore", "Invite", "Join", "Leave", "Like", "Listen", "Move", "Offer", "Question", "Reject", "Read", "Remove", "TentativeReject", "TentativeAccept", "Travel", "Undo", "Update", "View"} diff --git a/pub/resolvers.go b/pub/resolvers.go index 15c4557..7616c0c 100644 --- a/pub/resolvers.go +++ b/pub/resolvers.go @@ -35,6 +35,12 @@ func ToPubObject(m map[string]interface{}) (t []PubObject, e error) { return t, e } +func getActorObject(m map[string]interface{}) (actorObject, error) { + var a actorObject + err := toActorResolver(&a).Deserialize(m) + return a, err +} + func toActorResolver(a *actorObject) *streams.Resolver { return &streams.Resolver{ AnyObjectCallback: func(i vocab.ObjectType) error { diff --git a/streams/streams.go b/streams/streams.go index b359680..53231ce 100644 --- a/streams/streams.go +++ b/streams/streams.go @@ -3117,15 +3117,19 @@ func (t *Object) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Object) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Object) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -3134,16 +3138,58 @@ func (t *Object) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Object) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Object) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Object) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Object) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Object) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Object) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -5807,15 +5853,19 @@ func (t *Activity) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Activity) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Activity) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -5824,16 +5874,58 @@ func (t *Activity) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Activity) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Activity) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Activity) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Activity) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Activity) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Activity) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -7919,15 +8011,19 @@ func (t *IntransitiveActivity) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *IntransitiveActivity) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *IntransitiveActivity) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -7936,16 +8032,58 @@ func (t *IntransitiveActivity) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *IntransitiveActivity) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *IntransitiveActivity) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *IntransitiveActivity) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *IntransitiveActivity) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *IntransitiveActivity) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *IntransitiveActivity) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -9973,15 +10111,19 @@ func (t *Collection) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Collection) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Collection) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -9990,16 +10132,58 @@ func (t *Collection) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Collection) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Collection) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Collection) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Collection) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Collection) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Collection) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -12027,15 +12211,19 @@ func (t *OrderedCollection) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *OrderedCollection) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *OrderedCollection) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -12044,16 +12232,58 @@ func (t *OrderedCollection) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *OrderedCollection) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *OrderedCollection) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *OrderedCollection) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *OrderedCollection) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *OrderedCollection) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *OrderedCollection) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -14195,15 +14425,19 @@ func (t *CollectionPage) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *CollectionPage) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *CollectionPage) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -14212,16 +14446,58 @@ func (t *CollectionPage) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *CollectionPage) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *CollectionPage) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *CollectionPage) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *CollectionPage) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *CollectionPage) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *CollectionPage) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -16359,15 +16635,19 @@ func (t *OrderedCollectionPage) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *OrderedCollectionPage) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *OrderedCollectionPage) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -16376,16 +16656,58 @@ func (t *OrderedCollectionPage) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *OrderedCollectionPage) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *OrderedCollectionPage) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *OrderedCollectionPage) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *OrderedCollectionPage) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *OrderedCollectionPage) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *OrderedCollectionPage) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -18555,15 +18877,19 @@ func (t *Accept) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Accept) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Accept) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -18572,16 +18898,58 @@ func (t *Accept) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Accept) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Accept) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Accept) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Accept) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Accept) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Accept) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -20713,15 +21081,19 @@ func (t *TentativeAccept) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *TentativeAccept) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *TentativeAccept) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -20730,16 +21102,58 @@ func (t *TentativeAccept) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *TentativeAccept) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *TentativeAccept) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *TentativeAccept) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *TentativeAccept) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *TentativeAccept) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *TentativeAccept) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -22871,15 +23285,19 @@ func (t *Add) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Add) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Add) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -22888,16 +23306,58 @@ func (t *Add) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Add) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Add) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Add) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Add) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Add) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Add) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -24983,15 +25443,19 @@ func (t *Arrive) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Arrive) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Arrive) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -25000,16 +25464,58 @@ func (t *Arrive) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Arrive) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Arrive) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Arrive) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Arrive) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Arrive) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Arrive) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -27141,15 +27647,19 @@ func (t *Create) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Create) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Create) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -27158,16 +27668,58 @@ func (t *Create) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Create) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Create) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Create) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Create) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Create) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Create) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -29299,15 +29851,19 @@ func (t *Delete) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Delete) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Delete) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -29316,16 +29872,58 @@ func (t *Delete) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Delete) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Delete) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Delete) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Delete) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Delete) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Delete) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -31457,15 +32055,19 @@ func (t *Follow) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Follow) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Follow) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -31474,16 +32076,58 @@ func (t *Follow) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Follow) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Follow) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Follow) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Follow) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Follow) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Follow) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -33615,15 +34259,19 @@ func (t *Ignore) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Ignore) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Ignore) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -33632,16 +34280,58 @@ func (t *Ignore) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Ignore) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Ignore) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Ignore) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Ignore) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Ignore) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Ignore) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -35773,15 +36463,19 @@ func (t *Join) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Join) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Join) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -35790,16 +36484,58 @@ func (t *Join) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Join) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Join) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Join) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Join) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Join) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Join) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -37931,15 +38667,19 @@ func (t *Leave) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Leave) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Leave) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -37948,16 +38688,58 @@ func (t *Leave) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Leave) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Leave) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Leave) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Leave) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Leave) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Leave) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -40089,15 +40871,19 @@ func (t *Like) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Like) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Like) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -40106,16 +40892,58 @@ func (t *Like) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Like) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Like) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Like) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Like) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Like) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Like) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -42247,15 +43075,19 @@ func (t *Offer) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Offer) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Offer) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -42264,16 +43096,58 @@ func (t *Offer) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Offer) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Offer) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Offer) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Offer) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Offer) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Offer) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -44405,15 +45279,19 @@ func (t *Invite) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Invite) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Invite) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -44422,16 +45300,58 @@ func (t *Invite) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Invite) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Invite) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Invite) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Invite) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Invite) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Invite) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -46563,15 +47483,19 @@ func (t *Reject) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Reject) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Reject) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -46580,16 +47504,58 @@ func (t *Reject) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Reject) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Reject) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Reject) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Reject) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Reject) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Reject) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -48721,15 +49687,19 @@ func (t *TentativeReject) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *TentativeReject) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *TentativeReject) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -48738,16 +49708,58 @@ func (t *TentativeReject) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *TentativeReject) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *TentativeReject) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *TentativeReject) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *TentativeReject) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *TentativeReject) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *TentativeReject) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -50879,15 +51891,19 @@ func (t *Remove) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Remove) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Remove) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -50896,16 +51912,58 @@ func (t *Remove) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Remove) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Remove) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Remove) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Remove) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Remove) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Remove) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -53037,15 +54095,19 @@ func (t *Undo) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Undo) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Undo) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -53054,16 +54116,58 @@ func (t *Undo) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Undo) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Undo) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Undo) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Undo) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Undo) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Undo) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -55195,15 +56299,19 @@ func (t *Update) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Update) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Update) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -55212,16 +56320,58 @@ func (t *Update) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Update) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Update) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Update) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Update) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Update) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Update) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -57353,15 +58503,19 @@ func (t *View) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *View) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *View) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -57370,16 +58524,58 @@ func (t *View) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *View) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *View) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *View) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *View) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *View) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *View) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -59511,15 +60707,19 @@ func (t *Listen) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Listen) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Listen) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -59528,16 +60728,58 @@ func (t *Listen) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Listen) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Listen) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Listen) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Listen) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Listen) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Listen) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -61669,15 +62911,19 @@ func (t *Read) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Read) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Read) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -61686,16 +62932,58 @@ func (t *Read) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Read) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Read) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Read) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Read) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Read) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Read) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -63827,15 +65115,19 @@ func (t *Move) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Move) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Move) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -63844,16 +65136,58 @@ func (t *Move) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Move) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Move) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Move) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Move) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Move) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Move) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -65939,15 +67273,19 @@ func (t *Travel) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Travel) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Travel) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -65956,16 +67294,58 @@ func (t *Travel) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Travel) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Travel) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Travel) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Travel) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Travel) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Travel) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -68097,15 +69477,19 @@ func (t *Announce) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Announce) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Announce) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -68114,16 +69498,58 @@ func (t *Announce) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Announce) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Announce) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Announce) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Announce) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Announce) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Announce) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -70255,15 +71681,19 @@ func (t *Block) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Block) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Block) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -70272,16 +71702,58 @@ func (t *Block) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Block) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Block) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Block) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Block) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Block) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Block) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -72413,15 +73885,19 @@ func (t *Flag) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Flag) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Flag) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -72430,16 +73906,58 @@ func (t *Flag) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Flag) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Flag) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Flag) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Flag) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Flag) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Flag) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -74571,15 +76089,19 @@ func (t *Dislike) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Dislike) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Dislike) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -74588,16 +76110,58 @@ func (t *Dislike) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Dislike) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Dislike) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Dislike) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Dislike) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Dislike) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Dislike) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -76847,15 +78411,19 @@ func (t *Question) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Question) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Question) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -76864,16 +78432,58 @@ func (t *Question) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Question) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Question) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Question) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Question) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Question) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Question) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -78700,15 +80310,19 @@ func (t *Application) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Application) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Application) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -78717,16 +80331,58 @@ func (t *Application) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Application) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Application) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Application) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Application) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Application) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Application) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -80553,15 +82209,19 @@ func (t *Group) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Group) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Group) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -80570,16 +82230,58 @@ func (t *Group) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Group) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Group) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Group) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Group) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Group) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Group) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -82406,15 +84108,19 @@ func (t *Organization) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Organization) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Organization) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -82423,16 +84129,58 @@ func (t *Organization) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Organization) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Organization) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Organization) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Organization) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Organization) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Organization) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -84259,15 +86007,19 @@ func (t *Person) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Person) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Person) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -84276,16 +86028,58 @@ func (t *Person) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Person) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Person) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Person) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Person) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Person) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Person) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -86112,15 +87906,19 @@ func (t *Service) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Service) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Service) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -86129,16 +87927,58 @@ func (t *Service) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Service) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Service) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Service) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Service) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Service) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Service) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -88092,15 +89932,19 @@ func (t *Relationship) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Relationship) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Relationship) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -88109,16 +89953,58 @@ func (t *Relationship) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Relationship) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Relationship) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Relationship) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Relationship) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Relationship) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Relationship) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -89945,15 +91831,19 @@ func (t *Article) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Article) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Article) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -89962,16 +91852,58 @@ func (t *Article) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Article) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Article) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Article) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Article) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Article) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Article) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -91798,15 +93730,19 @@ func (t *Document) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Document) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Document) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -91815,16 +93751,58 @@ func (t *Document) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Document) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Document) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Document) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Document) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Document) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Document) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -93651,15 +95629,19 @@ func (t *Audio) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Audio) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Audio) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -93668,16 +95650,58 @@ func (t *Audio) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Audio) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Audio) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Audio) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Audio) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Audio) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Audio) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -95572,15 +97596,19 @@ func (t *Image) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Image) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Image) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -95589,16 +97617,58 @@ func (t *Image) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Image) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Image) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Image) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Image) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Image) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Image) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -97425,15 +99495,19 @@ func (t *Video) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Video) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Video) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -97442,16 +99516,58 @@ func (t *Video) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Video) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Video) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Video) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Video) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Video) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Video) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -99278,15 +101394,19 @@ func (t *Note) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Note) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Note) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -99295,16 +101415,58 @@ func (t *Note) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Note) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Note) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Note) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Note) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Note) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Note) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -101131,15 +103293,19 @@ func (t *Page) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Page) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Page) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -101148,16 +103314,58 @@ func (t *Page) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Page) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Page) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Page) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Page) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Page) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Page) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -102984,15 +105192,19 @@ func (t *Event) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Event) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Event) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -103001,16 +105213,58 @@ func (t *Event) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Event) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Event) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Event) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Event) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Event) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Event) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -105007,15 +107261,19 @@ func (t *Place) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Place) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Place) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -105024,16 +107282,58 @@ func (t *Place) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Place) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Place) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Place) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Place) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Place) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Place) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -106894,15 +109194,19 @@ func (t *Profile) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Profile) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Profile) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -106911,16 +109215,58 @@ func (t *Profile) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Profile) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Profile) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Profile) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Profile) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Profile) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Profile) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } @@ -108831,15 +111177,19 @@ func (t *Tombstone) SetFollowers(k url.URL) { } -// GetLiked attempts to get this 'liked' property as a url.URL. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling. -func (t *Tombstone) GetLiked() (r Resolution, k url.URL) { - r = Unresolved +// ResolveLiked passes the actual concrete type to the resolver for handing property liked. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Tombstone) ResolveLiked(r *Resolver) (s Resolution, err error) { + s = Unresolved handled := false - if t.raw.HasLiked() { - k = t.raw.GetLiked() + if t.raw.IsLikedCollection() { + handled, err = r.dispatch(t.raw.GetLikedCollection()) if handled { - r = Resolved + s = Resolved } + } else if t.raw.IsLikedOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikedAnyURI() { + s = RawResolutionNeeded } return @@ -108848,16 +111198,58 @@ func (t *Tombstone) GetLiked() (r Resolution, k url.URL) { // HasLiked returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. func (t *Tombstone) HasLiked() (p Presence) { p = NoPresence - if t.raw.HasLiked() { + if t.raw.IsLikedCollection() { p = ConvenientPresence + } else if t.raw.IsLikedOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikedAnyURI() { + p = RawPresence } return } -// SetLiked sets the value for property 'liked'. -func (t *Tombstone) SetLiked(k url.URL) { - t.raw.SetLiked(k) +// SetLiked sets this value to be a 'Collection' type. +func (t *Tombstone) SetLiked(i vocab.CollectionType) { + t.raw.SetLikedCollection(i) + +} + +// ResolveLikes passes the actual concrete type to the resolver for handing property likes. It returns a Resolution appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Tombstone) ResolveLikes(r *Resolver) (s Resolution, err error) { + s = Unresolved + handled := false + if t.raw.IsLikesCollection() { + handled, err = r.dispatch(t.raw.GetLikesCollection()) + if handled { + s = Resolved + } + } else if t.raw.IsLikesOrderedCollection() { + s = RawResolutionNeeded + } else if t.raw.IsLikesAnyURI() { + s = RawResolutionNeeded + } + return + +} + +// HasLikes returns a Presence appropriate for clients to determine whether it would be necessary to do raw handling, if desired. +func (t *Tombstone) HasLikes() (p Presence) { + p = NoPresence + if t.raw.IsLikesCollection() { + p = ConvenientPresence + } else if t.raw.IsLikesOrderedCollection() { + p = RawPresence + } else if t.raw.IsLikesAnyURI() { + p = RawPresence + } + return + +} + +// SetLikes sets this value to be a 'Collection' type. +func (t *Tombstone) SetLikes(i vocab.CollectionType) { + t.raw.SetLikesCollection(i) } diff --git a/tools/defs/defs.go b/tools/defs/defs.go index 063c299..7e4189c 100644 --- a/tools/defs/defs.go +++ b/tools/defs/defs.go @@ -1013,7 +1013,15 @@ var ( URI: propertyBaseURI + "liked", Notes: "A link to an [ActivityStreams] collection of objects this actor has liked", Domain: []DomainReference{{T: objectType}}, - Range: []RangeReference{{V: xsdAnyURIValueType}}, + Range: []RangeReference{{T: collectionType}, {T: orderedCollectionType}, {V: xsdAnyURIValueType}}, + Functional: true, // Missing from spec! + } + likesPropertyType = &PropertyType{ + Name: "likes", + URI: propertyBaseURI + "likes", + Notes: "A link to an [ActivityStreams] collection of objects this actor has liked", + Domain: []DomainReference{{T: objectType}}, + Range: []RangeReference{{T: collectionType}, {T: orderedCollectionType}, {V: xsdAnyURIValueType}}, Functional: true, // Missing from spec! } streamsPropertyType = &PropertyType{ @@ -1164,6 +1172,7 @@ var ( followingPropertyType, followersPropertyType, likedPropertyType, + likesPropertyType, streamsPropertyType, preferredUsernamePropertyType, endpointsPropertyType, @@ -1770,6 +1779,7 @@ func init() { followingPropertyType, followersPropertyType, likedPropertyType, + likesPropertyType, streamsPropertyType, preferredUsernamePropertyType, endpointsPropertyType, diff --git a/vocab/vocab.go b/vocab/vocab.go index d5c6c3c..47899a3 100644 --- a/vocab/vocab.go +++ b/vocab/vocab.go @@ -364,12 +364,24 @@ type ObjectType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -961,12 +973,24 @@ type ActivityType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -1436,12 +1460,24 @@ type IntransitiveActivityType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -1901,12 +1937,24 @@ type CollectionType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -2357,12 +2405,24 @@ type OrderedCollectionType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -2853,12 +2913,24 @@ type CollectionPageType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -3333,12 +3405,24 @@ type OrderedCollectionPageType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -3839,12 +3923,24 @@ type AcceptType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -4323,12 +4419,24 @@ type TentativeAcceptType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -4807,12 +4915,24 @@ type AddType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -5282,12 +5402,24 @@ type ArriveType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -5766,12 +5898,24 @@ type CreateType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -6250,12 +6394,24 @@ type DeleteType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -6734,12 +6890,24 @@ type FollowType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -7218,12 +7386,24 @@ type IgnoreType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -7702,12 +7882,24 @@ type JoinType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -8186,12 +8378,24 @@ type LeaveType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -8670,12 +8874,24 @@ type LikeType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -9154,12 +9370,24 @@ type OfferType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -9638,12 +9866,24 @@ type InviteType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -10122,12 +10362,24 @@ type RejectType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -10606,12 +10858,24 @@ type TentativeRejectType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -11090,12 +11354,24 @@ type RemoveType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -11574,12 +11850,24 @@ type UndoType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -12058,12 +12346,24 @@ type UpdateType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -12542,12 +12842,24 @@ type ViewType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -13026,12 +13338,24 @@ type ListenType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -13510,12 +13834,24 @@ type ReadType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -13994,12 +14330,24 @@ type MoveType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -14469,12 +14817,24 @@ type TravelType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -14953,12 +15313,24 @@ type AnnounceType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -15437,12 +15809,24 @@ type BlockType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -15921,12 +16305,24 @@ type FlagType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -16405,12 +16801,24 @@ type DislikeType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -16927,12 +17335,24 @@ type QuestionType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -17337,12 +17757,24 @@ type ApplicationType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -17747,12 +18179,24 @@ type GroupType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -18157,12 +18601,24 @@ type OrganizationType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -18567,12 +19023,24 @@ type PersonType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -18977,12 +19445,24 @@ type ServiceType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -19411,12 +19891,24 @@ type RelationshipType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -19821,12 +20313,24 @@ type ArticleType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -20231,12 +20735,24 @@ type DocumentType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -20641,12 +21157,24 @@ type AudioType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -21063,12 +21591,24 @@ type ImageType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -21473,12 +22013,24 @@ type VideoType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -21883,12 +22435,24 @@ type NoteType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -22293,12 +22857,24 @@ type PageType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -22703,12 +23279,24 @@ type EventType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -23143,12 +23731,24 @@ type PlaceType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -23559,12 +24159,24 @@ type ProfileType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -23988,12 +24600,24 @@ type TombstoneType interface { HasUnknownFollowers() (ok bool) GetUnknownFollowers() (v interface{}) SetUnknownFollowers(i interface{}) - HasLiked() (ok bool) - GetLiked() (v url.URL) - SetLiked(v url.URL) - HasUnknownLiked() (ok bool) - GetUnknownLiked() (v interface{}) - SetUnknownLiked(i interface{}) + IsLikedCollection() (ok bool) + GetLikedCollection() (v CollectionType) + SetLikedCollection(v CollectionType) + IsLikedOrderedCollection() (ok bool) + GetLikedOrderedCollection() (v OrderedCollectionType) + SetLikedOrderedCollection(v OrderedCollectionType) + IsLikedAnyURI() (ok bool) + GetLikedAnyURI() (v url.URL) + SetLikedAnyURI(v url.URL) + IsLikesCollection() (ok bool) + GetLikesCollection() (v CollectionType) + SetLikesCollection(v CollectionType) + IsLikesOrderedCollection() (ok bool) + GetLikesOrderedCollection() (v OrderedCollectionType) + SetLikesOrderedCollection(v OrderedCollectionType) + IsLikesAnyURI() (ok bool) + GetLikesAnyURI() (v url.URL) + SetLikesAnyURI(v url.URL) StreamsLen() (l int) GetStreams(index int) (v url.URL) AddStreams(v url.URL) @@ -24286,8 +24910,10 @@ type Object struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedObjectIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesObjectIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -27174,33 +27800,69 @@ func (t *Object) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Object) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Object) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Object) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Object) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Object) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Object) SetLikedCollection(v CollectionType) { + t.liked = &likedObjectIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Object) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Object) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Object) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedObjectIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Object) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Object) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Object) SetLikedAnyURI(v url.URL) { + t.liked = &likedObjectIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Object) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Object) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -27209,7 +27871,86 @@ func (t *Object) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedObjectIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Object) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Object) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Object) SetLikesCollection(v CollectionType) { + t.likes = &likesObjectIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Object) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Object) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Object) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesObjectIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Object) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Object) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Object) SetLikesAnyURI(v url.URL) { + t.likes = &likesObjectIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Object) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Object) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Object) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesObjectIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -28083,21 +28824,24 @@ func (t *Object) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedObjectIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesObjectIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -28994,18 +29738,26 @@ func (t *Object) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedObjectIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesObjectIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -31307,6 +32059,180 @@ func (t *sourceObjectIntermediateType) Serialize() (i interface{}, err error) { return } +// likedObjectIntermediateType will only have one of its values set at most +type likedObjectIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedObjectIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedObjectIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedObjectIntermediateType: %v", t) + return +} + +// likesObjectIntermediateType will only have one of its values set at most +type likesObjectIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesObjectIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesObjectIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesObjectIntermediateType: %v", t) + return +} + // preferredUsernameObjectIntermediateType will only have one of its values set at most type preferredUsernameObjectIntermediateType struct { // An unknown value. @@ -33549,8 +34475,10 @@ type Activity struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedActivityIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesActivityIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -37053,33 +37981,69 @@ func (t *Activity) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Activity) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Activity) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Activity) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Activity) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Activity) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Activity) SetLikedCollection(v CollectionType) { + t.liked = &likedActivityIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Activity) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Activity) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Activity) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedActivityIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Activity) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Activity) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Activity) SetLikedAnyURI(v url.URL) { + t.liked = &likedActivityIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Activity) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Activity) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -37088,7 +38052,86 @@ func (t *Activity) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedActivityIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Activity) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Activity) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Activity) SetLikesCollection(v CollectionType) { + t.likes = &likesActivityIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Activity) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Activity) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Activity) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesActivityIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Activity) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Activity) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Activity) SetLikesAnyURI(v url.URL) { + t.likes = &likesActivityIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Activity) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Activity) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Activity) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesActivityIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -38028,21 +39071,24 @@ func (t *Activity) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedActivityIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesActivityIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -39107,18 +40153,26 @@ func (t *Activity) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedActivityIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesActivityIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -41927,6 +42981,180 @@ func (t *sourceActivityIntermediateType) Serialize() (i interface{}, err error) return } +// likedActivityIntermediateType will only have one of its values set at most +type likedActivityIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedActivityIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedActivityIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedActivityIntermediateType: %v", t) + return +} + +// likesActivityIntermediateType will only have one of its values set at most +type likesActivityIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesActivityIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesActivityIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesActivityIntermediateType: %v", t) + return +} + // preferredUsernameActivityIntermediateType will only have one of its values set at most type preferredUsernameActivityIntermediateType struct { // An unknown value. @@ -42145,8 +43373,10 @@ type IntransitiveActivity struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedIntransitiveActivityIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesIntransitiveActivityIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -45568,33 +46798,69 @@ func (t *IntransitiveActivity) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *IntransitiveActivity) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *IntransitiveActivity) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *IntransitiveActivity) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *IntransitiveActivity) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *IntransitiveActivity) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *IntransitiveActivity) SetLikedCollection(v CollectionType) { + t.liked = &likedIntransitiveActivityIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *IntransitiveActivity) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *IntransitiveActivity) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *IntransitiveActivity) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedIntransitiveActivityIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *IntransitiveActivity) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *IntransitiveActivity) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *IntransitiveActivity) SetLikedAnyURI(v url.URL) { + t.liked = &likedIntransitiveActivityIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *IntransitiveActivity) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *IntransitiveActivity) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -45603,7 +46869,86 @@ func (t *IntransitiveActivity) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedIntransitiveActivityIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *IntransitiveActivity) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *IntransitiveActivity) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *IntransitiveActivity) SetLikesCollection(v CollectionType) { + t.likes = &likesIntransitiveActivityIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *IntransitiveActivity) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *IntransitiveActivity) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *IntransitiveActivity) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesIntransitiveActivityIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *IntransitiveActivity) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *IntransitiveActivity) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *IntransitiveActivity) SetLikesAnyURI(v url.URL) { + t.likes = &likesIntransitiveActivityIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *IntransitiveActivity) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *IntransitiveActivity) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *IntransitiveActivity) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesIntransitiveActivityIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -46599,21 +47944,24 @@ func (t *IntransitiveActivity) Serialize() (m map[string]interface{}, err error) } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedIntransitiveActivityIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesIntransitiveActivityIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -47650,18 +48998,26 @@ func (t *IntransitiveActivity) Deserialize(m map[string]interface{}) (err error) // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedIntransitiveActivityIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesIntransitiveActivityIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -50398,6 +51754,180 @@ func (t *sourceIntransitiveActivityIntermediateType) Serialize() (i interface{}, return } +// likedIntransitiveActivityIntermediateType will only have one of its values set at most +type likedIntransitiveActivityIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedIntransitiveActivityIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedIntransitiveActivityIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedIntransitiveActivityIntermediateType: %v", t) + return +} + +// likesIntransitiveActivityIntermediateType will only have one of its values set at most +type likesIntransitiveActivityIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesIntransitiveActivityIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesIntransitiveActivityIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesIntransitiveActivityIntermediateType: %v", t) + return +} + // preferredUsernameIntransitiveActivityIntermediateType will only have one of its values set at most type preferredUsernameIntransitiveActivityIntermediateType struct { // An unknown value. @@ -50616,8 +52146,10 @@ type Collection struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedCollectionIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesCollectionIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -53901,33 +55433,69 @@ func (t *Collection) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Collection) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Collection) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Collection) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Collection) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Collection) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Collection) SetLikedCollection(v CollectionType) { + t.liked = &likedCollectionIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Collection) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Collection) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Collection) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedCollectionIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Collection) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Collection) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Collection) SetLikedAnyURI(v url.URL) { + t.liked = &likedCollectionIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Collection) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Collection) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -53936,7 +55504,86 @@ func (t *Collection) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedCollectionIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Collection) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Collection) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Collection) SetLikesCollection(v CollectionType) { + t.likes = &likesCollectionIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Collection) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Collection) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Collection) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesCollectionIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Collection) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Collection) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Collection) SetLikesAnyURI(v url.URL) { + t.likes = &likesCollectionIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Collection) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Collection) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Collection) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesCollectionIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -54857,21 +56504,24 @@ func (t *Collection) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedCollectionIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesCollectionIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -55840,18 +57490,26 @@ func (t *Collection) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedCollectionIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesCollectionIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -58559,6 +60217,180 @@ func (t *sourceCollectionIntermediateType) Serialize() (i interface{}, err error return } +// likedCollectionIntermediateType will only have one of its values set at most +type likedCollectionIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedCollectionIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedCollectionIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedCollectionIntermediateType: %v", t) + return +} + +// likesCollectionIntermediateType will only have one of its values set at most +type likesCollectionIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesCollectionIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesCollectionIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesCollectionIntermediateType: %v", t) + return +} + // preferredUsernameCollectionIntermediateType will only have one of its values set at most type preferredUsernameCollectionIntermediateType struct { // An unknown value. @@ -58777,8 +60609,10 @@ type OrderedCollection struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedOrderedCollectionIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesOrderedCollectionIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -62062,33 +63896,69 @@ func (t *OrderedCollection) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *OrderedCollection) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *OrderedCollection) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *OrderedCollection) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *OrderedCollection) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *OrderedCollection) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *OrderedCollection) SetLikedCollection(v CollectionType) { + t.liked = &likedOrderedCollectionIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *OrderedCollection) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *OrderedCollection) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *OrderedCollection) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedOrderedCollectionIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *OrderedCollection) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *OrderedCollection) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *OrderedCollection) SetLikedAnyURI(v url.URL) { + t.liked = &likedOrderedCollectionIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *OrderedCollection) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *OrderedCollection) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -62097,7 +63967,86 @@ func (t *OrderedCollection) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedOrderedCollectionIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *OrderedCollection) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *OrderedCollection) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *OrderedCollection) SetLikesCollection(v CollectionType) { + t.likes = &likesOrderedCollectionIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *OrderedCollection) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *OrderedCollection) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *OrderedCollection) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesOrderedCollectionIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *OrderedCollection) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *OrderedCollection) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *OrderedCollection) SetLikesAnyURI(v url.URL) { + t.likes = &likesOrderedCollectionIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *OrderedCollection) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *OrderedCollection) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *OrderedCollection) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesOrderedCollectionIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -63107,21 +65056,24 @@ func (t *OrderedCollection) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedOrderedCollectionIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesOrderedCollectionIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -64090,18 +66042,26 @@ func (t *OrderedCollection) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedOrderedCollectionIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesOrderedCollectionIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -66809,6 +68769,180 @@ func (t *sourceOrderedCollectionIntermediateType) Serialize() (i interface{}, er return } +// likedOrderedCollectionIntermediateType will only have one of its values set at most +type likedOrderedCollectionIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedOrderedCollectionIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedOrderedCollectionIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedOrderedCollectionIntermediateType: %v", t) + return +} + +// likesOrderedCollectionIntermediateType will only have one of its values set at most +type likesOrderedCollectionIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesOrderedCollectionIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesOrderedCollectionIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesOrderedCollectionIntermediateType: %v", t) + return +} + // preferredUsernameOrderedCollectionIntermediateType will only have one of its values set at most type preferredUsernameOrderedCollectionIntermediateType struct { // An unknown value. @@ -67033,8 +69167,10 @@ type CollectionPage struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedCollectionPageIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesCollectionPageIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -70549,33 +72685,69 @@ func (t *CollectionPage) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *CollectionPage) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *CollectionPage) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *CollectionPage) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *CollectionPage) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *CollectionPage) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *CollectionPage) SetLikedCollection(v CollectionType) { + t.liked = &likedCollectionPageIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *CollectionPage) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *CollectionPage) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *CollectionPage) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedCollectionPageIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *CollectionPage) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *CollectionPage) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *CollectionPage) SetLikedAnyURI(v url.URL) { + t.liked = &likedCollectionPageIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *CollectionPage) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *CollectionPage) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -70584,7 +72756,86 @@ func (t *CollectionPage) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedCollectionPageIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *CollectionPage) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *CollectionPage) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *CollectionPage) SetLikesCollection(v CollectionType) { + t.likes = &likesCollectionPageIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *CollectionPage) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *CollectionPage) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *CollectionPage) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesCollectionPageIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *CollectionPage) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *CollectionPage) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *CollectionPage) SetLikesAnyURI(v url.URL) { + t.likes = &likesCollectionPageIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *CollectionPage) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *CollectionPage) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *CollectionPage) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesCollectionPageIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -71532,21 +73783,24 @@ func (t *CollectionPage) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedCollectionPageIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesCollectionPageIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -72548,18 +74802,26 @@ func (t *CollectionPage) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedCollectionPageIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesCollectionPageIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -75528,6 +77790,180 @@ func (t *sourceCollectionPageIntermediateType) Serialize() (i interface{}, err e return } +// likedCollectionPageIntermediateType will only have one of its values set at most +type likedCollectionPageIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedCollectionPageIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedCollectionPageIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedCollectionPageIntermediateType: %v", t) + return +} + +// likesCollectionPageIntermediateType will only have one of its values set at most +type likesCollectionPageIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesCollectionPageIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesCollectionPageIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesCollectionPageIntermediateType: %v", t) + return +} + // preferredUsernameCollectionPageIntermediateType will only have one of its values set at most type preferredUsernameCollectionPageIntermediateType struct { // An unknown value. @@ -75752,8 +78188,10 @@ type OrderedCollectionPage struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedOrderedCollectionPageIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesOrderedCollectionPageIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -79252,33 +81690,69 @@ func (t *OrderedCollectionPage) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *OrderedCollectionPage) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *OrderedCollectionPage) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *OrderedCollectionPage) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *OrderedCollectionPage) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *OrderedCollectionPage) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *OrderedCollectionPage) SetLikedCollection(v CollectionType) { + t.liked = &likedOrderedCollectionPageIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *OrderedCollectionPage) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *OrderedCollectionPage) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *OrderedCollectionPage) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedOrderedCollectionPageIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *OrderedCollectionPage) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *OrderedCollectionPage) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *OrderedCollectionPage) SetLikedAnyURI(v url.URL) { + t.liked = &likedOrderedCollectionPageIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *OrderedCollectionPage) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *OrderedCollectionPage) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -79287,7 +81761,86 @@ func (t *OrderedCollectionPage) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedOrderedCollectionPageIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *OrderedCollectionPage) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *OrderedCollectionPage) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *OrderedCollectionPage) SetLikesCollection(v CollectionType) { + t.likes = &likesOrderedCollectionPageIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *OrderedCollectionPage) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *OrderedCollectionPage) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *OrderedCollectionPage) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesOrderedCollectionPageIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *OrderedCollectionPage) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *OrderedCollectionPage) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *OrderedCollectionPage) SetLikesAnyURI(v url.URL) { + t.likes = &likesOrderedCollectionPageIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *OrderedCollectionPage) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *OrderedCollectionPage) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *OrderedCollectionPage) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesOrderedCollectionPageIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -80401,21 +82954,24 @@ func (t *OrderedCollectionPage) Serialize() (m map[string]interface{}, err error } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedOrderedCollectionPageIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesOrderedCollectionPageIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -81426,18 +83982,26 @@ func (t *OrderedCollectionPage) Deserialize(m map[string]interface{}) (err error // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedOrderedCollectionPageIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesOrderedCollectionPageIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -84388,6 +86952,180 @@ func (t *sourceOrderedCollectionPageIntermediateType) Serialize() (i interface{} return } +// likedOrderedCollectionPageIntermediateType will only have one of its values set at most +type likedOrderedCollectionPageIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedOrderedCollectionPageIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedOrderedCollectionPageIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedOrderedCollectionPageIntermediateType: %v", t) + return +} + +// likesOrderedCollectionPageIntermediateType will only have one of its values set at most +type likesOrderedCollectionPageIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesOrderedCollectionPageIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesOrderedCollectionPageIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesOrderedCollectionPageIntermediateType: %v", t) + return +} + // preferredUsernameOrderedCollectionPageIntermediateType will only have one of its values set at most type preferredUsernameOrderedCollectionPageIntermediateType struct { // An unknown value. @@ -84695,8 +87433,10 @@ type Accept struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedAcceptIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesAcceptIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -88199,33 +90939,69 @@ func (t *Accept) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Accept) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Accept) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Accept) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Accept) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Accept) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Accept) SetLikedCollection(v CollectionType) { + t.liked = &likedAcceptIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Accept) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Accept) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Accept) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedAcceptIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Accept) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Accept) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Accept) SetLikedAnyURI(v url.URL) { + t.liked = &likedAcceptIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Accept) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Accept) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -88234,7 +91010,86 @@ func (t *Accept) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedAcceptIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Accept) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Accept) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Accept) SetLikesCollection(v CollectionType) { + t.likes = &likesAcceptIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Accept) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Accept) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Accept) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesAcceptIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Accept) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Accept) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Accept) SetLikesAnyURI(v url.URL) { + t.likes = &likesAcceptIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Accept) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Accept) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Accept) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesAcceptIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -89174,21 +92029,24 @@ func (t *Accept) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedAcceptIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesAcceptIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -90253,18 +93111,26 @@ func (t *Accept) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedAcceptIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesAcceptIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -93073,6 +95939,180 @@ func (t *sourceAcceptIntermediateType) Serialize() (i interface{}, err error) { return } +// likedAcceptIntermediateType will only have one of its values set at most +type likedAcceptIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedAcceptIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedAcceptIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedAcceptIntermediateType: %v", t) + return +} + +// likesAcceptIntermediateType will only have one of its values set at most +type likesAcceptIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesAcceptIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesAcceptIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesAcceptIntermediateType: %v", t) + return +} + // preferredUsernameAcceptIntermediateType will only have one of its values set at most type preferredUsernameAcceptIntermediateType struct { // An unknown value. @@ -93293,8 +96333,10 @@ type TentativeAccept struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedTentativeAcceptIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesTentativeAcceptIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -96797,33 +99839,69 @@ func (t *TentativeAccept) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *TentativeAccept) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *TentativeAccept) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *TentativeAccept) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *TentativeAccept) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *TentativeAccept) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *TentativeAccept) SetLikedCollection(v CollectionType) { + t.liked = &likedTentativeAcceptIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *TentativeAccept) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *TentativeAccept) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *TentativeAccept) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedTentativeAcceptIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *TentativeAccept) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *TentativeAccept) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *TentativeAccept) SetLikedAnyURI(v url.URL) { + t.liked = &likedTentativeAcceptIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *TentativeAccept) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *TentativeAccept) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -96832,7 +99910,86 @@ func (t *TentativeAccept) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedTentativeAcceptIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *TentativeAccept) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *TentativeAccept) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *TentativeAccept) SetLikesCollection(v CollectionType) { + t.likes = &likesTentativeAcceptIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *TentativeAccept) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *TentativeAccept) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *TentativeAccept) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesTentativeAcceptIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *TentativeAccept) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *TentativeAccept) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *TentativeAccept) SetLikesAnyURI(v url.URL) { + t.likes = &likesTentativeAcceptIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *TentativeAccept) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *TentativeAccept) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *TentativeAccept) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesTentativeAcceptIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -97772,21 +100929,24 @@ func (t *TentativeAccept) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedTentativeAcceptIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesTentativeAcceptIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -98851,18 +102011,26 @@ func (t *TentativeAccept) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedTentativeAcceptIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesTentativeAcceptIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -101671,6 +104839,180 @@ func (t *sourceTentativeAcceptIntermediateType) Serialize() (i interface{}, err return } +// likedTentativeAcceptIntermediateType will only have one of its values set at most +type likedTentativeAcceptIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedTentativeAcceptIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedTentativeAcceptIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedTentativeAcceptIntermediateType: %v", t) + return +} + +// likesTentativeAcceptIntermediateType will only have one of its values set at most +type likesTentativeAcceptIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesTentativeAcceptIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesTentativeAcceptIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesTentativeAcceptIntermediateType: %v", t) + return +} + // preferredUsernameTentativeAcceptIntermediateType will only have one of its values set at most type preferredUsernameTentativeAcceptIntermediateType struct { // An unknown value. @@ -101891,8 +105233,10 @@ type Add struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedAddIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesAddIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -105395,33 +108739,69 @@ func (t *Add) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Add) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Add) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Add) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Add) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Add) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Add) SetLikedCollection(v CollectionType) { + t.liked = &likedAddIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Add) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Add) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Add) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedAddIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Add) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Add) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Add) SetLikedAnyURI(v url.URL) { + t.liked = &likedAddIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Add) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Add) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -105430,7 +108810,86 @@ func (t *Add) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedAddIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Add) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Add) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Add) SetLikesCollection(v CollectionType) { + t.likes = &likesAddIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Add) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Add) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Add) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesAddIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Add) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Add) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Add) SetLikesAnyURI(v url.URL) { + t.likes = &likesAddIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Add) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Add) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Add) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesAddIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -106370,21 +109829,24 @@ func (t *Add) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedAddIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesAddIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -107449,18 +110911,26 @@ func (t *Add) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedAddIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesAddIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -110269,6 +113739,180 @@ func (t *sourceAddIntermediateType) Serialize() (i interface{}, err error) { return } +// likedAddIntermediateType will only have one of its values set at most +type likedAddIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedAddIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedAddIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedAddIntermediateType: %v", t) + return +} + +// likesAddIntermediateType will only have one of its values set at most +type likesAddIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesAddIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesAddIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesAddIntermediateType: %v", t) + return +} + // preferredUsernameAddIntermediateType will only have one of its values set at most type preferredUsernameAddIntermediateType struct { // An unknown value. @@ -110487,8 +114131,10 @@ type Arrive struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedArriveIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesArriveIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -113910,33 +117556,69 @@ func (t *Arrive) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Arrive) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Arrive) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Arrive) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Arrive) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Arrive) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Arrive) SetLikedCollection(v CollectionType) { + t.liked = &likedArriveIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Arrive) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Arrive) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Arrive) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedArriveIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Arrive) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Arrive) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Arrive) SetLikedAnyURI(v url.URL) { + t.liked = &likedArriveIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Arrive) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Arrive) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -113945,7 +117627,86 @@ func (t *Arrive) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedArriveIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Arrive) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Arrive) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Arrive) SetLikesCollection(v CollectionType) { + t.likes = &likesArriveIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Arrive) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Arrive) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Arrive) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesArriveIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Arrive) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Arrive) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Arrive) SetLikesAnyURI(v url.URL) { + t.likes = &likesArriveIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Arrive) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Arrive) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Arrive) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesArriveIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -114874,21 +118635,24 @@ func (t *Arrive) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedArriveIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesArriveIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -115925,18 +119689,26 @@ func (t *Arrive) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedArriveIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesArriveIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -118673,6 +122445,180 @@ func (t *sourceArriveIntermediateType) Serialize() (i interface{}, err error) { return } +// likedArriveIntermediateType will only have one of its values set at most +type likedArriveIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedArriveIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedArriveIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedArriveIntermediateType: %v", t) + return +} + +// likesArriveIntermediateType will only have one of its values set at most +type likesArriveIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesArriveIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesArriveIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesArriveIntermediateType: %v", t) + return +} + // preferredUsernameArriveIntermediateType will only have one of its values set at most type preferredUsernameArriveIntermediateType struct { // An unknown value. @@ -118893,8 +122839,10 @@ type Create struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedCreateIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesCreateIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -122397,33 +126345,69 @@ func (t *Create) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Create) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Create) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Create) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Create) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Create) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Create) SetLikedCollection(v CollectionType) { + t.liked = &likedCreateIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Create) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Create) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Create) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedCreateIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Create) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Create) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Create) SetLikedAnyURI(v url.URL) { + t.liked = &likedCreateIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Create) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Create) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -122432,7 +126416,86 @@ func (t *Create) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedCreateIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Create) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Create) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Create) SetLikesCollection(v CollectionType) { + t.likes = &likesCreateIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Create) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Create) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Create) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesCreateIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Create) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Create) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Create) SetLikesAnyURI(v url.URL) { + t.likes = &likesCreateIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Create) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Create) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Create) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesCreateIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -123372,21 +127435,24 @@ func (t *Create) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedCreateIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesCreateIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -124451,18 +128517,26 @@ func (t *Create) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedCreateIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesCreateIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -127271,6 +131345,180 @@ func (t *sourceCreateIntermediateType) Serialize() (i interface{}, err error) { return } +// likedCreateIntermediateType will only have one of its values set at most +type likedCreateIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedCreateIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedCreateIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedCreateIntermediateType: %v", t) + return +} + +// likesCreateIntermediateType will only have one of its values set at most +type likesCreateIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesCreateIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesCreateIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesCreateIntermediateType: %v", t) + return +} + // preferredUsernameCreateIntermediateType will only have one of its values set at most type preferredUsernameCreateIntermediateType struct { // An unknown value. @@ -127491,8 +131739,10 @@ type Delete struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedDeleteIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesDeleteIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -130995,33 +135245,69 @@ func (t *Delete) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Delete) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Delete) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Delete) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Delete) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Delete) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Delete) SetLikedCollection(v CollectionType) { + t.liked = &likedDeleteIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Delete) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Delete) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Delete) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedDeleteIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Delete) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Delete) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Delete) SetLikedAnyURI(v url.URL) { + t.liked = &likedDeleteIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Delete) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Delete) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -131030,7 +135316,86 @@ func (t *Delete) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedDeleteIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Delete) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Delete) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Delete) SetLikesCollection(v CollectionType) { + t.likes = &likesDeleteIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Delete) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Delete) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Delete) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesDeleteIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Delete) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Delete) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Delete) SetLikesAnyURI(v url.URL) { + t.likes = &likesDeleteIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Delete) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Delete) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Delete) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesDeleteIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -131970,21 +136335,24 @@ func (t *Delete) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedDeleteIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesDeleteIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -133049,18 +137417,26 @@ func (t *Delete) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedDeleteIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesDeleteIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -135869,6 +140245,180 @@ func (t *sourceDeleteIntermediateType) Serialize() (i interface{}, err error) { return } +// likedDeleteIntermediateType will only have one of its values set at most +type likedDeleteIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedDeleteIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedDeleteIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedDeleteIntermediateType: %v", t) + return +} + +// likesDeleteIntermediateType will only have one of its values set at most +type likesDeleteIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesDeleteIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesDeleteIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesDeleteIntermediateType: %v", t) + return +} + // preferredUsernameDeleteIntermediateType will only have one of its values set at most type preferredUsernameDeleteIntermediateType struct { // An unknown value. @@ -136089,8 +140639,10 @@ type Follow struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedFollowIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesFollowIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -139593,33 +144145,69 @@ func (t *Follow) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Follow) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Follow) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Follow) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Follow) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Follow) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Follow) SetLikedCollection(v CollectionType) { + t.liked = &likedFollowIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Follow) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Follow) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Follow) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedFollowIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Follow) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Follow) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Follow) SetLikedAnyURI(v url.URL) { + t.liked = &likedFollowIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Follow) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Follow) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -139628,7 +144216,86 @@ func (t *Follow) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedFollowIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Follow) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Follow) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Follow) SetLikesCollection(v CollectionType) { + t.likes = &likesFollowIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Follow) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Follow) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Follow) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesFollowIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Follow) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Follow) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Follow) SetLikesAnyURI(v url.URL) { + t.likes = &likesFollowIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Follow) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Follow) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Follow) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesFollowIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -140568,21 +145235,24 @@ func (t *Follow) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedFollowIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesFollowIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -141647,18 +146317,26 @@ func (t *Follow) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedFollowIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesFollowIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -144467,6 +149145,180 @@ func (t *sourceFollowIntermediateType) Serialize() (i interface{}, err error) { return } +// likedFollowIntermediateType will only have one of its values set at most +type likedFollowIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedFollowIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedFollowIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedFollowIntermediateType: %v", t) + return +} + +// likesFollowIntermediateType will only have one of its values set at most +type likesFollowIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesFollowIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesFollowIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesFollowIntermediateType: %v", t) + return +} + // preferredUsernameFollowIntermediateType will only have one of its values set at most type preferredUsernameFollowIntermediateType struct { // An unknown value. @@ -144687,8 +149539,10 @@ type Ignore struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedIgnoreIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesIgnoreIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -148191,33 +153045,69 @@ func (t *Ignore) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Ignore) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Ignore) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Ignore) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Ignore) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Ignore) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Ignore) SetLikedCollection(v CollectionType) { + t.liked = &likedIgnoreIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Ignore) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Ignore) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Ignore) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedIgnoreIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Ignore) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Ignore) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Ignore) SetLikedAnyURI(v url.URL) { + t.liked = &likedIgnoreIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Ignore) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Ignore) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -148226,7 +153116,86 @@ func (t *Ignore) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedIgnoreIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Ignore) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Ignore) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Ignore) SetLikesCollection(v CollectionType) { + t.likes = &likesIgnoreIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Ignore) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Ignore) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Ignore) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesIgnoreIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Ignore) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Ignore) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Ignore) SetLikesAnyURI(v url.URL) { + t.likes = &likesIgnoreIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Ignore) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Ignore) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Ignore) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesIgnoreIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -149166,21 +154135,24 @@ func (t *Ignore) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedIgnoreIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesIgnoreIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -150245,18 +155217,26 @@ func (t *Ignore) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedIgnoreIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesIgnoreIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -153065,6 +158045,180 @@ func (t *sourceIgnoreIntermediateType) Serialize() (i interface{}, err error) { return } +// likedIgnoreIntermediateType will only have one of its values set at most +type likedIgnoreIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedIgnoreIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedIgnoreIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedIgnoreIntermediateType: %v", t) + return +} + +// likesIgnoreIntermediateType will only have one of its values set at most +type likesIgnoreIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesIgnoreIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesIgnoreIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesIgnoreIntermediateType: %v", t) + return +} + // preferredUsernameIgnoreIntermediateType will only have one of its values set at most type preferredUsernameIgnoreIntermediateType struct { // An unknown value. @@ -153285,8 +158439,10 @@ type Join struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedJoinIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesJoinIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -156789,33 +161945,69 @@ func (t *Join) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Join) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Join) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Join) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Join) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Join) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Join) SetLikedCollection(v CollectionType) { + t.liked = &likedJoinIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Join) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Join) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Join) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedJoinIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Join) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Join) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Join) SetLikedAnyURI(v url.URL) { + t.liked = &likedJoinIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Join) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Join) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -156824,7 +162016,86 @@ func (t *Join) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedJoinIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Join) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Join) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Join) SetLikesCollection(v CollectionType) { + t.likes = &likesJoinIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Join) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Join) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Join) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesJoinIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Join) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Join) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Join) SetLikesAnyURI(v url.URL) { + t.likes = &likesJoinIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Join) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Join) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Join) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesJoinIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -157764,21 +163035,24 @@ func (t *Join) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedJoinIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesJoinIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -158843,18 +164117,26 @@ func (t *Join) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedJoinIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesJoinIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -161663,6 +166945,180 @@ func (t *sourceJoinIntermediateType) Serialize() (i interface{}, err error) { return } +// likedJoinIntermediateType will only have one of its values set at most +type likedJoinIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedJoinIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedJoinIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedJoinIntermediateType: %v", t) + return +} + +// likesJoinIntermediateType will only have one of its values set at most +type likesJoinIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesJoinIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesJoinIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesJoinIntermediateType: %v", t) + return +} + // preferredUsernameJoinIntermediateType will only have one of its values set at most type preferredUsernameJoinIntermediateType struct { // An unknown value. @@ -161883,8 +167339,10 @@ type Leave struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedLeaveIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesLeaveIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -165387,33 +170845,69 @@ func (t *Leave) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Leave) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Leave) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Leave) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Leave) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Leave) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Leave) SetLikedCollection(v CollectionType) { + t.liked = &likedLeaveIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Leave) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Leave) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Leave) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedLeaveIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Leave) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Leave) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Leave) SetLikedAnyURI(v url.URL) { + t.liked = &likedLeaveIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Leave) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Leave) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -165422,7 +170916,86 @@ func (t *Leave) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedLeaveIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Leave) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Leave) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Leave) SetLikesCollection(v CollectionType) { + t.likes = &likesLeaveIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Leave) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Leave) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Leave) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesLeaveIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Leave) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Leave) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Leave) SetLikesAnyURI(v url.URL) { + t.likes = &likesLeaveIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Leave) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Leave) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Leave) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesLeaveIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -166362,21 +171935,24 @@ func (t *Leave) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedLeaveIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesLeaveIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -167441,18 +173017,26 @@ func (t *Leave) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedLeaveIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesLeaveIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -170261,6 +175845,180 @@ func (t *sourceLeaveIntermediateType) Serialize() (i interface{}, err error) { return } +// likedLeaveIntermediateType will only have one of its values set at most +type likedLeaveIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedLeaveIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedLeaveIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedLeaveIntermediateType: %v", t) + return +} + +// likesLeaveIntermediateType will only have one of its values set at most +type likesLeaveIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesLeaveIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesLeaveIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesLeaveIntermediateType: %v", t) + return +} + // preferredUsernameLeaveIntermediateType will only have one of its values set at most type preferredUsernameLeaveIntermediateType struct { // An unknown value. @@ -170481,8 +176239,10 @@ type Like struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedLikeIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesLikeIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -173985,33 +179745,69 @@ func (t *Like) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Like) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Like) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Like) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Like) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Like) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Like) SetLikedCollection(v CollectionType) { + t.liked = &likedLikeIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Like) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Like) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Like) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedLikeIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Like) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Like) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Like) SetLikedAnyURI(v url.URL) { + t.liked = &likedLikeIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Like) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Like) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -174020,7 +179816,86 @@ func (t *Like) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedLikeIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Like) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Like) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Like) SetLikesCollection(v CollectionType) { + t.likes = &likesLikeIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Like) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Like) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Like) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesLikeIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Like) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Like) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Like) SetLikesAnyURI(v url.URL) { + t.likes = &likesLikeIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Like) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Like) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Like) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesLikeIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -174960,21 +180835,24 @@ func (t *Like) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedLikeIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesLikeIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -176039,18 +181917,26 @@ func (t *Like) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedLikeIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesLikeIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -178859,6 +184745,180 @@ func (t *sourceLikeIntermediateType) Serialize() (i interface{}, err error) { return } +// likedLikeIntermediateType will only have one of its values set at most +type likedLikeIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedLikeIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedLikeIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedLikeIntermediateType: %v", t) + return +} + +// likesLikeIntermediateType will only have one of its values set at most +type likesLikeIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesLikeIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesLikeIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesLikeIntermediateType: %v", t) + return +} + // preferredUsernameLikeIntermediateType will only have one of its values set at most type preferredUsernameLikeIntermediateType struct { // An unknown value. @@ -179079,8 +185139,10 @@ type Offer struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedOfferIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesOfferIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -182583,33 +188645,69 @@ func (t *Offer) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Offer) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Offer) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Offer) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Offer) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Offer) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Offer) SetLikedCollection(v CollectionType) { + t.liked = &likedOfferIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Offer) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Offer) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Offer) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedOfferIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Offer) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Offer) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Offer) SetLikedAnyURI(v url.URL) { + t.liked = &likedOfferIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Offer) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Offer) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -182618,7 +188716,86 @@ func (t *Offer) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedOfferIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Offer) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Offer) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Offer) SetLikesCollection(v CollectionType) { + t.likes = &likesOfferIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Offer) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Offer) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Offer) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesOfferIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Offer) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Offer) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Offer) SetLikesAnyURI(v url.URL) { + t.likes = &likesOfferIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Offer) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Offer) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Offer) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesOfferIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -183558,21 +189735,24 @@ func (t *Offer) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedOfferIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesOfferIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -184637,18 +190817,26 @@ func (t *Offer) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedOfferIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesOfferIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -187457,6 +193645,180 @@ func (t *sourceOfferIntermediateType) Serialize() (i interface{}, err error) { return } +// likedOfferIntermediateType will only have one of its values set at most +type likedOfferIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedOfferIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedOfferIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedOfferIntermediateType: %v", t) + return +} + +// likesOfferIntermediateType will only have one of its values set at most +type likesOfferIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesOfferIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesOfferIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesOfferIntermediateType: %v", t) + return +} + // preferredUsernameOfferIntermediateType will only have one of its values set at most type preferredUsernameOfferIntermediateType struct { // An unknown value. @@ -187677,8 +194039,10 @@ type Invite struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedInviteIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesInviteIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -191181,33 +197545,69 @@ func (t *Invite) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Invite) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Invite) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Invite) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Invite) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Invite) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Invite) SetLikedCollection(v CollectionType) { + t.liked = &likedInviteIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Invite) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Invite) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Invite) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedInviteIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Invite) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Invite) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Invite) SetLikedAnyURI(v url.URL) { + t.liked = &likedInviteIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Invite) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Invite) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -191216,7 +197616,86 @@ func (t *Invite) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedInviteIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Invite) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Invite) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Invite) SetLikesCollection(v CollectionType) { + t.likes = &likesInviteIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Invite) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Invite) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Invite) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesInviteIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Invite) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Invite) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Invite) SetLikesAnyURI(v url.URL) { + t.likes = &likesInviteIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Invite) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Invite) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Invite) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesInviteIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -192156,21 +198635,24 @@ func (t *Invite) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedInviteIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesInviteIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -193235,18 +199717,26 @@ func (t *Invite) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedInviteIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesInviteIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -196055,6 +202545,180 @@ func (t *sourceInviteIntermediateType) Serialize() (i interface{}, err error) { return } +// likedInviteIntermediateType will only have one of its values set at most +type likedInviteIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedInviteIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedInviteIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedInviteIntermediateType: %v", t) + return +} + +// likesInviteIntermediateType will only have one of its values set at most +type likesInviteIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesInviteIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesInviteIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesInviteIntermediateType: %v", t) + return +} + // preferredUsernameInviteIntermediateType will only have one of its values set at most type preferredUsernameInviteIntermediateType struct { // An unknown value. @@ -196275,8 +202939,10 @@ type Reject struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedRejectIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesRejectIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -199779,33 +206445,69 @@ func (t *Reject) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Reject) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Reject) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Reject) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Reject) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Reject) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Reject) SetLikedCollection(v CollectionType) { + t.liked = &likedRejectIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Reject) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Reject) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Reject) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedRejectIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Reject) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Reject) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Reject) SetLikedAnyURI(v url.URL) { + t.liked = &likedRejectIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Reject) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Reject) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -199814,7 +206516,86 @@ func (t *Reject) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedRejectIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Reject) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Reject) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Reject) SetLikesCollection(v CollectionType) { + t.likes = &likesRejectIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Reject) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Reject) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Reject) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesRejectIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Reject) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Reject) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Reject) SetLikesAnyURI(v url.URL) { + t.likes = &likesRejectIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Reject) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Reject) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Reject) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesRejectIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -200754,21 +207535,24 @@ func (t *Reject) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedRejectIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesRejectIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -201833,18 +208617,26 @@ func (t *Reject) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedRejectIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesRejectIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -204653,6 +211445,180 @@ func (t *sourceRejectIntermediateType) Serialize() (i interface{}, err error) { return } +// likedRejectIntermediateType will only have one of its values set at most +type likedRejectIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedRejectIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedRejectIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedRejectIntermediateType: %v", t) + return +} + +// likesRejectIntermediateType will only have one of its values set at most +type likesRejectIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesRejectIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesRejectIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesRejectIntermediateType: %v", t) + return +} + // preferredUsernameRejectIntermediateType will only have one of its values set at most type preferredUsernameRejectIntermediateType struct { // An unknown value. @@ -204873,8 +211839,10 @@ type TentativeReject struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedTentativeRejectIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesTentativeRejectIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -208377,33 +215345,69 @@ func (t *TentativeReject) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *TentativeReject) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *TentativeReject) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *TentativeReject) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *TentativeReject) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *TentativeReject) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *TentativeReject) SetLikedCollection(v CollectionType) { + t.liked = &likedTentativeRejectIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *TentativeReject) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *TentativeReject) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *TentativeReject) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedTentativeRejectIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *TentativeReject) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *TentativeReject) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *TentativeReject) SetLikedAnyURI(v url.URL) { + t.liked = &likedTentativeRejectIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *TentativeReject) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *TentativeReject) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -208412,7 +215416,86 @@ func (t *TentativeReject) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedTentativeRejectIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *TentativeReject) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *TentativeReject) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *TentativeReject) SetLikesCollection(v CollectionType) { + t.likes = &likesTentativeRejectIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *TentativeReject) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *TentativeReject) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *TentativeReject) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesTentativeRejectIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *TentativeReject) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *TentativeReject) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *TentativeReject) SetLikesAnyURI(v url.URL) { + t.likes = &likesTentativeRejectIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *TentativeReject) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *TentativeReject) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *TentativeReject) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesTentativeRejectIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -209352,21 +216435,24 @@ func (t *TentativeReject) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedTentativeRejectIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesTentativeRejectIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -210431,18 +217517,26 @@ func (t *TentativeReject) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedTentativeRejectIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesTentativeRejectIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -213251,6 +220345,180 @@ func (t *sourceTentativeRejectIntermediateType) Serialize() (i interface{}, err return } +// likedTentativeRejectIntermediateType will only have one of its values set at most +type likedTentativeRejectIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedTentativeRejectIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedTentativeRejectIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedTentativeRejectIntermediateType: %v", t) + return +} + +// likesTentativeRejectIntermediateType will only have one of its values set at most +type likesTentativeRejectIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesTentativeRejectIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesTentativeRejectIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesTentativeRejectIntermediateType: %v", t) + return +} + // preferredUsernameTentativeRejectIntermediateType will only have one of its values set at most type preferredUsernameTentativeRejectIntermediateType struct { // An unknown value. @@ -213471,8 +220739,10 @@ type Remove struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedRemoveIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesRemoveIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -216975,33 +224245,69 @@ func (t *Remove) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Remove) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Remove) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Remove) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Remove) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Remove) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Remove) SetLikedCollection(v CollectionType) { + t.liked = &likedRemoveIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Remove) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Remove) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Remove) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedRemoveIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Remove) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Remove) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Remove) SetLikedAnyURI(v url.URL) { + t.liked = &likedRemoveIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Remove) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Remove) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -217010,7 +224316,86 @@ func (t *Remove) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedRemoveIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Remove) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Remove) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Remove) SetLikesCollection(v CollectionType) { + t.likes = &likesRemoveIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Remove) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Remove) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Remove) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesRemoveIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Remove) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Remove) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Remove) SetLikesAnyURI(v url.URL) { + t.likes = &likesRemoveIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Remove) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Remove) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Remove) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesRemoveIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -217950,21 +225335,24 @@ func (t *Remove) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedRemoveIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesRemoveIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -219029,18 +226417,26 @@ func (t *Remove) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedRemoveIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesRemoveIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -221849,6 +229245,180 @@ func (t *sourceRemoveIntermediateType) Serialize() (i interface{}, err error) { return } +// likedRemoveIntermediateType will only have one of its values set at most +type likedRemoveIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedRemoveIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedRemoveIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedRemoveIntermediateType: %v", t) + return +} + +// likesRemoveIntermediateType will only have one of its values set at most +type likesRemoveIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesRemoveIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesRemoveIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesRemoveIntermediateType: %v", t) + return +} + // preferredUsernameRemoveIntermediateType will only have one of its values set at most type preferredUsernameRemoveIntermediateType struct { // An unknown value. @@ -222069,8 +229639,10 @@ type Undo struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedUndoIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesUndoIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -225573,33 +233145,69 @@ func (t *Undo) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Undo) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Undo) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Undo) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Undo) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Undo) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Undo) SetLikedCollection(v CollectionType) { + t.liked = &likedUndoIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Undo) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Undo) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Undo) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedUndoIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Undo) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Undo) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Undo) SetLikedAnyURI(v url.URL) { + t.liked = &likedUndoIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Undo) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Undo) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -225608,7 +233216,86 @@ func (t *Undo) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedUndoIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Undo) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Undo) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Undo) SetLikesCollection(v CollectionType) { + t.likes = &likesUndoIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Undo) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Undo) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Undo) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesUndoIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Undo) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Undo) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Undo) SetLikesAnyURI(v url.URL) { + t.likes = &likesUndoIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Undo) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Undo) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Undo) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesUndoIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -226548,21 +234235,24 @@ func (t *Undo) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedUndoIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesUndoIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -227627,18 +235317,26 @@ func (t *Undo) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedUndoIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesUndoIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -230447,6 +238145,180 @@ func (t *sourceUndoIntermediateType) Serialize() (i interface{}, err error) { return } +// likedUndoIntermediateType will only have one of its values set at most +type likedUndoIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedUndoIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedUndoIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedUndoIntermediateType: %v", t) + return +} + +// likesUndoIntermediateType will only have one of its values set at most +type likesUndoIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesUndoIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesUndoIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesUndoIntermediateType: %v", t) + return +} + // preferredUsernameUndoIntermediateType will only have one of its values set at most type preferredUsernameUndoIntermediateType struct { // An unknown value. @@ -230667,8 +238539,10 @@ type Update struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedUpdateIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesUpdateIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -234171,33 +242045,69 @@ func (t *Update) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Update) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Update) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Update) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Update) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Update) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Update) SetLikedCollection(v CollectionType) { + t.liked = &likedUpdateIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Update) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Update) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Update) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedUpdateIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Update) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Update) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Update) SetLikedAnyURI(v url.URL) { + t.liked = &likedUpdateIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Update) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Update) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -234206,7 +242116,86 @@ func (t *Update) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedUpdateIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Update) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Update) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Update) SetLikesCollection(v CollectionType) { + t.likes = &likesUpdateIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Update) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Update) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Update) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesUpdateIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Update) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Update) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Update) SetLikesAnyURI(v url.URL) { + t.likes = &likesUpdateIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Update) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Update) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Update) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesUpdateIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -235146,21 +243135,24 @@ func (t *Update) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedUpdateIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesUpdateIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -236225,18 +244217,26 @@ func (t *Update) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedUpdateIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesUpdateIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -239045,6 +247045,180 @@ func (t *sourceUpdateIntermediateType) Serialize() (i interface{}, err error) { return } +// likedUpdateIntermediateType will only have one of its values set at most +type likedUpdateIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedUpdateIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedUpdateIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedUpdateIntermediateType: %v", t) + return +} + +// likesUpdateIntermediateType will only have one of its values set at most +type likesUpdateIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesUpdateIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesUpdateIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesUpdateIntermediateType: %v", t) + return +} + // preferredUsernameUpdateIntermediateType will only have one of its values set at most type preferredUsernameUpdateIntermediateType struct { // An unknown value. @@ -239265,8 +247439,10 @@ type View struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedViewIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesViewIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -242769,33 +250945,69 @@ func (t *View) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *View) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *View) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *View) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *View) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *View) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *View) SetLikedCollection(v CollectionType) { + t.liked = &likedViewIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *View) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *View) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *View) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedViewIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *View) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *View) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *View) SetLikedAnyURI(v url.URL) { + t.liked = &likedViewIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *View) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *View) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -242804,7 +251016,86 @@ func (t *View) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedViewIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *View) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *View) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *View) SetLikesCollection(v CollectionType) { + t.likes = &likesViewIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *View) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *View) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *View) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesViewIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *View) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *View) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *View) SetLikesAnyURI(v url.URL) { + t.likes = &likesViewIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *View) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *View) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *View) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesViewIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -243744,21 +252035,24 @@ func (t *View) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedViewIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesViewIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -244823,18 +253117,26 @@ func (t *View) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedViewIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesViewIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -247643,6 +255945,180 @@ func (t *sourceViewIntermediateType) Serialize() (i interface{}, err error) { return } +// likedViewIntermediateType will only have one of its values set at most +type likedViewIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedViewIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedViewIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedViewIntermediateType: %v", t) + return +} + +// likesViewIntermediateType will only have one of its values set at most +type likesViewIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesViewIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesViewIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesViewIntermediateType: %v", t) + return +} + // preferredUsernameViewIntermediateType will only have one of its values set at most type preferredUsernameViewIntermediateType struct { // An unknown value. @@ -247863,8 +256339,10 @@ type Listen struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedListenIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesListenIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -251367,33 +259845,69 @@ func (t *Listen) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Listen) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Listen) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Listen) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Listen) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Listen) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Listen) SetLikedCollection(v CollectionType) { + t.liked = &likedListenIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Listen) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Listen) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Listen) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedListenIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Listen) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Listen) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Listen) SetLikedAnyURI(v url.URL) { + t.liked = &likedListenIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Listen) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Listen) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -251402,7 +259916,86 @@ func (t *Listen) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedListenIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Listen) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Listen) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Listen) SetLikesCollection(v CollectionType) { + t.likes = &likesListenIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Listen) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Listen) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Listen) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesListenIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Listen) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Listen) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Listen) SetLikesAnyURI(v url.URL) { + t.likes = &likesListenIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Listen) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Listen) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Listen) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesListenIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -252342,21 +260935,24 @@ func (t *Listen) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedListenIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesListenIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -253421,18 +262017,26 @@ func (t *Listen) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedListenIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesListenIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -256241,6 +264845,180 @@ func (t *sourceListenIntermediateType) Serialize() (i interface{}, err error) { return } +// likedListenIntermediateType will only have one of its values set at most +type likedListenIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedListenIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedListenIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedListenIntermediateType: %v", t) + return +} + +// likesListenIntermediateType will only have one of its values set at most +type likesListenIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesListenIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesListenIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesListenIntermediateType: %v", t) + return +} + // preferredUsernameListenIntermediateType will only have one of its values set at most type preferredUsernameListenIntermediateType struct { // An unknown value. @@ -256461,8 +265239,10 @@ type Read struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedReadIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesReadIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -259965,33 +268745,69 @@ func (t *Read) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Read) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Read) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Read) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Read) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Read) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Read) SetLikedCollection(v CollectionType) { + t.liked = &likedReadIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Read) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Read) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Read) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedReadIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Read) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Read) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Read) SetLikedAnyURI(v url.URL) { + t.liked = &likedReadIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Read) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Read) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -260000,7 +268816,86 @@ func (t *Read) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedReadIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Read) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Read) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Read) SetLikesCollection(v CollectionType) { + t.likes = &likesReadIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Read) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Read) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Read) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesReadIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Read) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Read) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Read) SetLikesAnyURI(v url.URL) { + t.likes = &likesReadIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Read) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Read) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Read) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesReadIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -260940,21 +269835,24 @@ func (t *Read) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedReadIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesReadIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -262019,18 +270917,26 @@ func (t *Read) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedReadIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesReadIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -264839,6 +273745,180 @@ func (t *sourceReadIntermediateType) Serialize() (i interface{}, err error) { return } +// likedReadIntermediateType will only have one of its values set at most +type likedReadIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedReadIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedReadIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedReadIntermediateType: %v", t) + return +} + +// likesReadIntermediateType will only have one of its values set at most +type likesReadIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesReadIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesReadIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesReadIntermediateType: %v", t) + return +} + // preferredUsernameReadIntermediateType will only have one of its values set at most type preferredUsernameReadIntermediateType struct { // An unknown value. @@ -265059,8 +274139,10 @@ type Move struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedMoveIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesMoveIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -268563,33 +277645,69 @@ func (t *Move) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Move) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Move) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Move) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Move) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Move) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Move) SetLikedCollection(v CollectionType) { + t.liked = &likedMoveIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Move) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Move) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Move) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedMoveIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Move) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Move) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Move) SetLikedAnyURI(v url.URL) { + t.liked = &likedMoveIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Move) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Move) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -268598,7 +277716,86 @@ func (t *Move) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedMoveIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Move) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Move) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Move) SetLikesCollection(v CollectionType) { + t.likes = &likesMoveIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Move) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Move) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Move) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesMoveIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Move) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Move) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Move) SetLikesAnyURI(v url.URL) { + t.likes = &likesMoveIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Move) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Move) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Move) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesMoveIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -269538,21 +278735,24 @@ func (t *Move) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedMoveIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesMoveIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -270617,18 +279817,26 @@ func (t *Move) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedMoveIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesMoveIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -273437,6 +282645,180 @@ func (t *sourceMoveIntermediateType) Serialize() (i interface{}, err error) { return } +// likedMoveIntermediateType will only have one of its values set at most +type likedMoveIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedMoveIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedMoveIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedMoveIntermediateType: %v", t) + return +} + +// likesMoveIntermediateType will only have one of its values set at most +type likesMoveIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesMoveIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesMoveIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesMoveIntermediateType: %v", t) + return +} + // preferredUsernameMoveIntermediateType will only have one of its values set at most type preferredUsernameMoveIntermediateType struct { // An unknown value. @@ -273655,8 +283037,10 @@ type Travel struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedTravelIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesTravelIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -277078,33 +286462,69 @@ func (t *Travel) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Travel) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Travel) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Travel) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Travel) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Travel) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Travel) SetLikedCollection(v CollectionType) { + t.liked = &likedTravelIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Travel) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Travel) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Travel) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedTravelIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Travel) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Travel) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Travel) SetLikedAnyURI(v url.URL) { + t.liked = &likedTravelIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Travel) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Travel) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -277113,7 +286533,86 @@ func (t *Travel) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedTravelIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Travel) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Travel) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Travel) SetLikesCollection(v CollectionType) { + t.likes = &likesTravelIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Travel) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Travel) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Travel) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesTravelIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Travel) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Travel) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Travel) SetLikesAnyURI(v url.URL) { + t.likes = &likesTravelIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Travel) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Travel) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Travel) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesTravelIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -278042,21 +287541,24 @@ func (t *Travel) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedTravelIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesTravelIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -279093,18 +288595,26 @@ func (t *Travel) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedTravelIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesTravelIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -281841,6 +291351,180 @@ func (t *sourceTravelIntermediateType) Serialize() (i interface{}, err error) { return } +// likedTravelIntermediateType will only have one of its values set at most +type likedTravelIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedTravelIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedTravelIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedTravelIntermediateType: %v", t) + return +} + +// likesTravelIntermediateType will only have one of its values set at most +type likesTravelIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesTravelIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesTravelIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesTravelIntermediateType: %v", t) + return +} + // preferredUsernameTravelIntermediateType will only have one of its values set at most type preferredUsernameTravelIntermediateType struct { // An unknown value. @@ -282061,8 +291745,10 @@ type Announce struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedAnnounceIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesAnnounceIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -285565,33 +295251,69 @@ func (t *Announce) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Announce) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Announce) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Announce) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Announce) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Announce) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Announce) SetLikedCollection(v CollectionType) { + t.liked = &likedAnnounceIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Announce) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Announce) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Announce) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedAnnounceIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Announce) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Announce) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Announce) SetLikedAnyURI(v url.URL) { + t.liked = &likedAnnounceIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Announce) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Announce) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -285600,7 +295322,86 @@ func (t *Announce) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedAnnounceIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Announce) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Announce) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Announce) SetLikesCollection(v CollectionType) { + t.likes = &likesAnnounceIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Announce) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Announce) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Announce) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesAnnounceIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Announce) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Announce) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Announce) SetLikesAnyURI(v url.URL) { + t.likes = &likesAnnounceIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Announce) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Announce) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Announce) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesAnnounceIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -286540,21 +296341,24 @@ func (t *Announce) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedAnnounceIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesAnnounceIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -287619,18 +297423,26 @@ func (t *Announce) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedAnnounceIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesAnnounceIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -290439,6 +300251,180 @@ func (t *sourceAnnounceIntermediateType) Serialize() (i interface{}, err error) return } +// likedAnnounceIntermediateType will only have one of its values set at most +type likedAnnounceIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedAnnounceIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedAnnounceIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedAnnounceIntermediateType: %v", t) + return +} + +// likesAnnounceIntermediateType will only have one of its values set at most +type likesAnnounceIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesAnnounceIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesAnnounceIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesAnnounceIntermediateType: %v", t) + return +} + // preferredUsernameAnnounceIntermediateType will only have one of its values set at most type preferredUsernameAnnounceIntermediateType struct { // An unknown value. @@ -290659,8 +300645,10 @@ type Block struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedBlockIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesBlockIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -294163,33 +304151,69 @@ func (t *Block) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Block) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Block) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Block) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Block) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Block) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Block) SetLikedCollection(v CollectionType) { + t.liked = &likedBlockIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Block) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Block) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Block) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedBlockIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Block) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Block) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Block) SetLikedAnyURI(v url.URL) { + t.liked = &likedBlockIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Block) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Block) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -294198,7 +304222,86 @@ func (t *Block) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedBlockIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Block) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Block) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Block) SetLikesCollection(v CollectionType) { + t.likes = &likesBlockIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Block) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Block) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Block) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesBlockIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Block) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Block) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Block) SetLikesAnyURI(v url.URL) { + t.likes = &likesBlockIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Block) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Block) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Block) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesBlockIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -295138,21 +305241,24 @@ func (t *Block) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedBlockIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesBlockIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -296217,18 +306323,26 @@ func (t *Block) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedBlockIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesBlockIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -299037,6 +309151,180 @@ func (t *sourceBlockIntermediateType) Serialize() (i interface{}, err error) { return } +// likedBlockIntermediateType will only have one of its values set at most +type likedBlockIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedBlockIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedBlockIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedBlockIntermediateType: %v", t) + return +} + +// likesBlockIntermediateType will only have one of its values set at most +type likesBlockIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesBlockIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesBlockIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesBlockIntermediateType: %v", t) + return +} + // preferredUsernameBlockIntermediateType will only have one of its values set at most type preferredUsernameBlockIntermediateType struct { // An unknown value. @@ -299257,8 +309545,10 @@ type Flag struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedFlagIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesFlagIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -302761,33 +313051,69 @@ func (t *Flag) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Flag) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Flag) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Flag) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Flag) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Flag) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Flag) SetLikedCollection(v CollectionType) { + t.liked = &likedFlagIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Flag) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Flag) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Flag) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedFlagIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Flag) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Flag) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Flag) SetLikedAnyURI(v url.URL) { + t.liked = &likedFlagIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Flag) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Flag) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -302796,7 +313122,86 @@ func (t *Flag) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedFlagIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Flag) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Flag) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Flag) SetLikesCollection(v CollectionType) { + t.likes = &likesFlagIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Flag) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Flag) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Flag) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesFlagIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Flag) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Flag) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Flag) SetLikesAnyURI(v url.URL) { + t.likes = &likesFlagIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Flag) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Flag) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Flag) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesFlagIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -303736,21 +314141,24 @@ func (t *Flag) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedFlagIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesFlagIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -304815,18 +315223,26 @@ func (t *Flag) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedFlagIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesFlagIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -307635,6 +318051,180 @@ func (t *sourceFlagIntermediateType) Serialize() (i interface{}, err error) { return } +// likedFlagIntermediateType will only have one of its values set at most +type likedFlagIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedFlagIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedFlagIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedFlagIntermediateType: %v", t) + return +} + +// likesFlagIntermediateType will only have one of its values set at most +type likesFlagIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesFlagIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesFlagIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesFlagIntermediateType: %v", t) + return +} + // preferredUsernameFlagIntermediateType will only have one of its values set at most type preferredUsernameFlagIntermediateType struct { // An unknown value. @@ -307855,8 +318445,10 @@ type Dislike struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedDislikeIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesDislikeIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -311359,33 +321951,69 @@ func (t *Dislike) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Dislike) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Dislike) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Dislike) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Dislike) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Dislike) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Dislike) SetLikedCollection(v CollectionType) { + t.liked = &likedDislikeIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Dislike) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Dislike) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Dislike) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedDislikeIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Dislike) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Dislike) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Dislike) SetLikedAnyURI(v url.URL) { + t.liked = &likedDislikeIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Dislike) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Dislike) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -311394,7 +322022,86 @@ func (t *Dislike) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedDislikeIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Dislike) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Dislike) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Dislike) SetLikesCollection(v CollectionType) { + t.likes = &likesDislikeIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Dislike) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Dislike) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Dislike) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesDislikeIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Dislike) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Dislike) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Dislike) SetLikesAnyURI(v url.URL) { + t.likes = &likesDislikeIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Dislike) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Dislike) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Dislike) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesDislikeIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -312334,21 +323041,24 @@ func (t *Dislike) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedDislikeIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesDislikeIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -313413,18 +324123,26 @@ func (t *Dislike) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedDislikeIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesDislikeIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -316233,6 +326951,180 @@ func (t *sourceDislikeIntermediateType) Serialize() (i interface{}, err error) { return } +// likedDislikeIntermediateType will only have one of its values set at most +type likedDislikeIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedDislikeIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedDislikeIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedDislikeIntermediateType: %v", t) + return +} + +// likesDislikeIntermediateType will only have one of its values set at most +type likesDislikeIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesDislikeIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesDislikeIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesDislikeIntermediateType: %v", t) + return +} + // preferredUsernameDislikeIntermediateType will only have one of its values set at most type preferredUsernameDislikeIntermediateType struct { // An unknown value. @@ -316457,8 +327349,10 @@ type Question struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedQuestionIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesQuestionIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -320253,33 +331147,69 @@ func (t *Question) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Question) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Question) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Question) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Question) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Question) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Question) SetLikedCollection(v CollectionType) { + t.liked = &likedQuestionIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Question) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Question) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Question) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedQuestionIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Question) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Question) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Question) SetLikedAnyURI(v url.URL) { + t.liked = &likedQuestionIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Question) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Question) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -320288,7 +331218,86 @@ func (t *Question) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedQuestionIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Question) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Question) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Question) SetLikesCollection(v CollectionType) { + t.likes = &likesQuestionIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Question) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Question) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Question) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesQuestionIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Question) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Question) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Question) SetLikesAnyURI(v url.URL) { + t.likes = &likesQuestionIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Question) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Question) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Question) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesQuestionIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -321250,21 +332259,24 @@ func (t *Question) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedQuestionIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesQuestionIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -322385,18 +333397,26 @@ func (t *Question) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedQuestionIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesQuestionIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -325422,6 +336442,180 @@ func (t *sourceQuestionIntermediateType) Serialize() (i interface{}, err error) return } +// likedQuestionIntermediateType will only have one of its values set at most +type likedQuestionIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedQuestionIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedQuestionIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedQuestionIntermediateType: %v", t) + return +} + +// likesQuestionIntermediateType will only have one of its values set at most +type likesQuestionIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesQuestionIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesQuestionIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesQuestionIntermediateType: %v", t) + return +} + // preferredUsernameQuestionIntermediateType will only have one of its values set at most type preferredUsernameQuestionIntermediateType struct { // An unknown value. @@ -325630,8 +336824,10 @@ type Application struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedApplicationIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesApplicationIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -328518,33 +339714,69 @@ func (t *Application) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Application) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Application) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Application) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Application) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Application) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Application) SetLikedCollection(v CollectionType) { + t.liked = &likedApplicationIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Application) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Application) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Application) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedApplicationIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Application) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Application) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Application) SetLikedAnyURI(v url.URL) { + t.liked = &likedApplicationIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Application) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Application) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -328553,7 +339785,86 @@ func (t *Application) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedApplicationIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Application) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Application) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Application) SetLikesCollection(v CollectionType) { + t.likes = &likesApplicationIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Application) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Application) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Application) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesApplicationIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Application) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Application) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Application) SetLikesAnyURI(v url.URL) { + t.likes = &likesApplicationIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Application) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Application) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Application) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesApplicationIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -329427,21 +340738,24 @@ func (t *Application) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedApplicationIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesApplicationIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -330338,18 +341652,26 @@ func (t *Application) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedApplicationIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesApplicationIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -332651,6 +343973,180 @@ func (t *sourceApplicationIntermediateType) Serialize() (i interface{}, err erro return } +// likedApplicationIntermediateType will only have one of its values set at most +type likedApplicationIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedApplicationIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedApplicationIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedApplicationIntermediateType: %v", t) + return +} + +// likesApplicationIntermediateType will only have one of its values set at most +type likesApplicationIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesApplicationIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesApplicationIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesApplicationIntermediateType: %v", t) + return +} + // preferredUsernameApplicationIntermediateType will only have one of its values set at most type preferredUsernameApplicationIntermediateType struct { // An unknown value. @@ -332859,8 +344355,10 @@ type Group struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedGroupIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesGroupIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -335747,33 +347245,69 @@ func (t *Group) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Group) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Group) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Group) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Group) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Group) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Group) SetLikedCollection(v CollectionType) { + t.liked = &likedGroupIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Group) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Group) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Group) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedGroupIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Group) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Group) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Group) SetLikedAnyURI(v url.URL) { + t.liked = &likedGroupIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Group) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Group) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -335782,7 +347316,86 @@ func (t *Group) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedGroupIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Group) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Group) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Group) SetLikesCollection(v CollectionType) { + t.likes = &likesGroupIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Group) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Group) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Group) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesGroupIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Group) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Group) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Group) SetLikesAnyURI(v url.URL) { + t.likes = &likesGroupIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Group) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Group) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Group) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesGroupIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -336656,21 +348269,24 @@ func (t *Group) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedGroupIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesGroupIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -337567,18 +349183,26 @@ func (t *Group) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedGroupIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesGroupIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -339880,6 +351504,180 @@ func (t *sourceGroupIntermediateType) Serialize() (i interface{}, err error) { return } +// likedGroupIntermediateType will only have one of its values set at most +type likedGroupIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedGroupIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedGroupIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedGroupIntermediateType: %v", t) + return +} + +// likesGroupIntermediateType will only have one of its values set at most +type likesGroupIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesGroupIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesGroupIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesGroupIntermediateType: %v", t) + return +} + // preferredUsernameGroupIntermediateType will only have one of its values set at most type preferredUsernameGroupIntermediateType struct { // An unknown value. @@ -340088,8 +351886,10 @@ type Organization struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedOrganizationIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesOrganizationIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -342976,33 +354776,69 @@ func (t *Organization) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Organization) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Organization) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Organization) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Organization) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Organization) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Organization) SetLikedCollection(v CollectionType) { + t.liked = &likedOrganizationIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Organization) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Organization) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Organization) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedOrganizationIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Organization) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Organization) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Organization) SetLikedAnyURI(v url.URL) { + t.liked = &likedOrganizationIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Organization) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Organization) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -343011,7 +354847,86 @@ func (t *Organization) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedOrganizationIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Organization) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Organization) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Organization) SetLikesCollection(v CollectionType) { + t.likes = &likesOrganizationIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Organization) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Organization) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Organization) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesOrganizationIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Organization) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Organization) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Organization) SetLikesAnyURI(v url.URL) { + t.likes = &likesOrganizationIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Organization) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Organization) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Organization) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesOrganizationIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -343885,21 +355800,24 @@ func (t *Organization) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedOrganizationIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesOrganizationIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -344796,18 +356714,26 @@ func (t *Organization) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedOrganizationIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesOrganizationIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -347109,6 +359035,180 @@ func (t *sourceOrganizationIntermediateType) Serialize() (i interface{}, err err return } +// likedOrganizationIntermediateType will only have one of its values set at most +type likedOrganizationIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedOrganizationIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedOrganizationIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedOrganizationIntermediateType: %v", t) + return +} + +// likesOrganizationIntermediateType will only have one of its values set at most +type likesOrganizationIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesOrganizationIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesOrganizationIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesOrganizationIntermediateType: %v", t) + return +} + // preferredUsernameOrganizationIntermediateType will only have one of its values set at most type preferredUsernameOrganizationIntermediateType struct { // An unknown value. @@ -347317,8 +359417,10 @@ type Person struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedPersonIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesPersonIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -350205,33 +362307,69 @@ func (t *Person) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Person) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Person) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Person) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Person) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Person) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Person) SetLikedCollection(v CollectionType) { + t.liked = &likedPersonIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Person) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Person) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Person) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedPersonIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Person) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Person) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Person) SetLikedAnyURI(v url.URL) { + t.liked = &likedPersonIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Person) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Person) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -350240,7 +362378,86 @@ func (t *Person) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedPersonIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Person) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Person) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Person) SetLikesCollection(v CollectionType) { + t.likes = &likesPersonIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Person) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Person) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Person) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesPersonIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Person) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Person) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Person) SetLikesAnyURI(v url.URL) { + t.likes = &likesPersonIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Person) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Person) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Person) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesPersonIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -351114,21 +363331,24 @@ func (t *Person) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedPersonIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesPersonIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -352025,18 +364245,26 @@ func (t *Person) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedPersonIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesPersonIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -354338,6 +366566,180 @@ func (t *sourcePersonIntermediateType) Serialize() (i interface{}, err error) { return } +// likedPersonIntermediateType will only have one of its values set at most +type likedPersonIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedPersonIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedPersonIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedPersonIntermediateType: %v", t) + return +} + +// likesPersonIntermediateType will only have one of its values set at most +type likesPersonIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesPersonIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesPersonIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesPersonIntermediateType: %v", t) + return +} + // preferredUsernamePersonIntermediateType will only have one of its values set at most type preferredUsernamePersonIntermediateType struct { // An unknown value. @@ -354546,8 +366948,10 @@ type Service struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedServiceIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesServiceIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -357434,33 +369838,69 @@ func (t *Service) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Service) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Service) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Service) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Service) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Service) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Service) SetLikedCollection(v CollectionType) { + t.liked = &likedServiceIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Service) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Service) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Service) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedServiceIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Service) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Service) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Service) SetLikedAnyURI(v url.URL) { + t.liked = &likedServiceIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Service) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Service) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -357469,7 +369909,86 @@ func (t *Service) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedServiceIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Service) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Service) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Service) SetLikesCollection(v CollectionType) { + t.likes = &likesServiceIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Service) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Service) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Service) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesServiceIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Service) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Service) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Service) SetLikesAnyURI(v url.URL) { + t.likes = &likesServiceIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Service) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Service) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Service) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesServiceIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -358343,21 +370862,24 @@ func (t *Service) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedServiceIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesServiceIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -359254,18 +371776,26 @@ func (t *Service) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedServiceIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesServiceIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -361567,6 +374097,180 @@ func (t *sourceServiceIntermediateType) Serialize() (i interface{}, err error) { return } +// likedServiceIntermediateType will only have one of its values set at most +type likedServiceIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedServiceIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedServiceIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedServiceIntermediateType: %v", t) + return +} + +// likesServiceIntermediateType will only have one of its values set at most +type likesServiceIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesServiceIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesServiceIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesServiceIntermediateType: %v", t) + return +} + // preferredUsernameServiceIntermediateType will only have one of its values set at most type preferredUsernameServiceIntermediateType struct { // An unknown value. @@ -361781,8 +374485,10 @@ type Relationship struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedRelationshipIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesRelationshipIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -364886,33 +377592,69 @@ func (t *Relationship) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Relationship) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Relationship) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Relationship) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Relationship) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Relationship) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Relationship) SetLikedCollection(v CollectionType) { + t.liked = &likedRelationshipIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Relationship) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Relationship) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Relationship) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedRelationshipIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Relationship) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Relationship) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Relationship) SetLikedAnyURI(v url.URL) { + t.liked = &likedRelationshipIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Relationship) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Relationship) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -364921,7 +377663,86 @@ func (t *Relationship) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedRelationshipIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Relationship) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Relationship) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Relationship) SetLikesCollection(v CollectionType) { + t.likes = &likesRelationshipIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Relationship) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Relationship) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Relationship) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesRelationshipIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Relationship) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Relationship) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Relationship) SetLikesAnyURI(v url.URL) { + t.likes = &likesRelationshipIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Relationship) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Relationship) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Relationship) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesRelationshipIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -365824,21 +378645,24 @@ func (t *Relationship) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedRelationshipIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesRelationshipIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -366785,18 +379609,26 @@ func (t *Relationship) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedRelationshipIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesRelationshipIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -369329,6 +382161,180 @@ func (t *sourceRelationshipIntermediateType) Serialize() (i interface{}, err err return } +// likedRelationshipIntermediateType will only have one of its values set at most +type likedRelationshipIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedRelationshipIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedRelationshipIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedRelationshipIntermediateType: %v", t) + return +} + +// likesRelationshipIntermediateType will only have one of its values set at most +type likesRelationshipIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesRelationshipIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesRelationshipIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesRelationshipIntermediateType: %v", t) + return +} + // preferredUsernameRelationshipIntermediateType will only have one of its values set at most type preferredUsernameRelationshipIntermediateType struct { // An unknown value. @@ -369537,8 +382543,10 @@ type Article struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedArticleIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesArticleIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -372425,33 +385433,69 @@ func (t *Article) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Article) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Article) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Article) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Article) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Article) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Article) SetLikedCollection(v CollectionType) { + t.liked = &likedArticleIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Article) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Article) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Article) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedArticleIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Article) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Article) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Article) SetLikedAnyURI(v url.URL) { + t.liked = &likedArticleIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Article) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Article) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -372460,7 +385504,86 @@ func (t *Article) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedArticleIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Article) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Article) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Article) SetLikesCollection(v CollectionType) { + t.likes = &likesArticleIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Article) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Article) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Article) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesArticleIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Article) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Article) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Article) SetLikesAnyURI(v url.URL) { + t.likes = &likesArticleIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Article) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Article) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Article) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesArticleIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -373334,21 +386457,24 @@ func (t *Article) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedArticleIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesArticleIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -374245,18 +387371,26 @@ func (t *Article) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedArticleIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesArticleIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -376558,6 +389692,180 @@ func (t *sourceArticleIntermediateType) Serialize() (i interface{}, err error) { return } +// likedArticleIntermediateType will only have one of its values set at most +type likedArticleIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedArticleIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedArticleIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedArticleIntermediateType: %v", t) + return +} + +// likesArticleIntermediateType will only have one of its values set at most +type likesArticleIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesArticleIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesArticleIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesArticleIntermediateType: %v", t) + return +} + // preferredUsernameArticleIntermediateType will only have one of its values set at most type preferredUsernameArticleIntermediateType struct { // An unknown value. @@ -376766,8 +390074,10 @@ type Document struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedDocumentIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesDocumentIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -379654,33 +392964,69 @@ func (t *Document) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Document) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Document) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Document) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Document) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Document) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Document) SetLikedCollection(v CollectionType) { + t.liked = &likedDocumentIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Document) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Document) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Document) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedDocumentIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Document) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Document) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Document) SetLikedAnyURI(v url.URL) { + t.liked = &likedDocumentIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Document) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Document) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -379689,7 +393035,86 @@ func (t *Document) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedDocumentIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Document) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Document) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Document) SetLikesCollection(v CollectionType) { + t.likes = &likesDocumentIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Document) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Document) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Document) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesDocumentIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Document) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Document) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Document) SetLikesAnyURI(v url.URL) { + t.likes = &likesDocumentIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Document) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Document) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Document) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesDocumentIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -380563,21 +393988,24 @@ func (t *Document) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedDocumentIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesDocumentIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -381474,18 +394902,26 @@ func (t *Document) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedDocumentIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesDocumentIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -383787,6 +397223,180 @@ func (t *sourceDocumentIntermediateType) Serialize() (i interface{}, err error) return } +// likedDocumentIntermediateType will only have one of its values set at most +type likedDocumentIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedDocumentIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedDocumentIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedDocumentIntermediateType: %v", t) + return +} + +// likesDocumentIntermediateType will only have one of its values set at most +type likesDocumentIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesDocumentIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesDocumentIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesDocumentIntermediateType: %v", t) + return +} + // preferredUsernameDocumentIntermediateType will only have one of its values set at most type preferredUsernameDocumentIntermediateType struct { // An unknown value. @@ -383995,8 +397605,10 @@ type Audio struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedAudioIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesAudioIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -386883,33 +400495,69 @@ func (t *Audio) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Audio) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Audio) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Audio) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Audio) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Audio) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Audio) SetLikedCollection(v CollectionType) { + t.liked = &likedAudioIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Audio) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Audio) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Audio) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedAudioIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Audio) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Audio) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Audio) SetLikedAnyURI(v url.URL) { + t.liked = &likedAudioIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Audio) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Audio) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -386918,7 +400566,86 @@ func (t *Audio) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedAudioIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Audio) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Audio) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Audio) SetLikesCollection(v CollectionType) { + t.likes = &likesAudioIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Audio) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Audio) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Audio) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesAudioIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Audio) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Audio) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Audio) SetLikesAnyURI(v url.URL) { + t.likes = &likesAudioIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Audio) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Audio) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Audio) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesAudioIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -387792,21 +401519,24 @@ func (t *Audio) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedAudioIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesAudioIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -388703,18 +402433,26 @@ func (t *Audio) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedAudioIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesAudioIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -391016,6 +404754,180 @@ func (t *sourceAudioIntermediateType) Serialize() (i interface{}, err error) { return } +// likedAudioIntermediateType will only have one of its values set at most +type likedAudioIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedAudioIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedAudioIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedAudioIntermediateType: %v", t) + return +} + +// likesAudioIntermediateType will only have one of its values set at most +type likesAudioIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesAudioIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesAudioIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesAudioIntermediateType: %v", t) + return +} + // preferredUsernameAudioIntermediateType will only have one of its values set at most type preferredUsernameAudioIntermediateType struct { // An unknown value. @@ -391228,8 +405140,10 @@ type Image struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedImageIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesImageIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -394234,33 +408148,69 @@ func (t *Image) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Image) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Image) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Image) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Image) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Image) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Image) SetLikedCollection(v CollectionType) { + t.liked = &likedImageIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Image) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Image) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Image) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedImageIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Image) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Image) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Image) SetLikedAnyURI(v url.URL) { + t.liked = &likedImageIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Image) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Image) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -394269,7 +408219,86 @@ func (t *Image) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedImageIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Image) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Image) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Image) SetLikesCollection(v CollectionType) { + t.likes = &likesImageIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Image) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Image) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Image) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesImageIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Image) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Image) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Image) SetLikesAnyURI(v url.URL) { + t.likes = &likesImageIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Image) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Image) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Image) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesImageIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -395161,21 +409190,24 @@ func (t *Image) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedImageIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesImageIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -396094,18 +410126,26 @@ func (t *Image) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedImageIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesImageIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -398523,6 +412563,180 @@ func (t *sourceImageIntermediateType) Serialize() (i interface{}, err error) { return } +// likedImageIntermediateType will only have one of its values set at most +type likedImageIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedImageIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedImageIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedImageIntermediateType: %v", t) + return +} + +// likesImageIntermediateType will only have one of its values set at most +type likesImageIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesImageIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesImageIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesImageIntermediateType: %v", t) + return +} + // preferredUsernameImageIntermediateType will only have one of its values set at most type preferredUsernameImageIntermediateType struct { // An unknown value. @@ -398731,8 +412945,10 @@ type Video struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedVideoIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesVideoIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -401619,33 +415835,69 @@ func (t *Video) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Video) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Video) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Video) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Video) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Video) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Video) SetLikedCollection(v CollectionType) { + t.liked = &likedVideoIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Video) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Video) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Video) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedVideoIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Video) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Video) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Video) SetLikedAnyURI(v url.URL) { + t.liked = &likedVideoIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Video) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Video) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -401654,7 +415906,86 @@ func (t *Video) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedVideoIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Video) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Video) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Video) SetLikesCollection(v CollectionType) { + t.likes = &likesVideoIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Video) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Video) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Video) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesVideoIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Video) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Video) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Video) SetLikesAnyURI(v url.URL) { + t.likes = &likesVideoIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Video) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Video) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Video) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesVideoIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -402528,21 +416859,24 @@ func (t *Video) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedVideoIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesVideoIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -403439,18 +417773,26 @@ func (t *Video) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedVideoIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesVideoIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -405752,6 +420094,180 @@ func (t *sourceVideoIntermediateType) Serialize() (i interface{}, err error) { return } +// likedVideoIntermediateType will only have one of its values set at most +type likedVideoIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedVideoIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedVideoIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedVideoIntermediateType: %v", t) + return +} + +// likesVideoIntermediateType will only have one of its values set at most +type likesVideoIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesVideoIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesVideoIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesVideoIntermediateType: %v", t) + return +} + // preferredUsernameVideoIntermediateType will only have one of its values set at most type preferredUsernameVideoIntermediateType struct { // An unknown value. @@ -405960,8 +420476,10 @@ type Note struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedNoteIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesNoteIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -408848,33 +423366,69 @@ func (t *Note) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Note) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Note) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Note) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Note) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Note) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Note) SetLikedCollection(v CollectionType) { + t.liked = &likedNoteIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Note) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Note) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Note) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedNoteIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Note) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Note) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Note) SetLikedAnyURI(v url.URL) { + t.liked = &likedNoteIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Note) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Note) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -408883,7 +423437,86 @@ func (t *Note) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedNoteIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Note) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Note) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Note) SetLikesCollection(v CollectionType) { + t.likes = &likesNoteIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Note) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Note) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Note) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesNoteIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Note) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Note) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Note) SetLikesAnyURI(v url.URL) { + t.likes = &likesNoteIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Note) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Note) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Note) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesNoteIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -409757,21 +424390,24 @@ func (t *Note) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedNoteIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesNoteIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -410668,18 +425304,26 @@ func (t *Note) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedNoteIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesNoteIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -412981,6 +427625,180 @@ func (t *sourceNoteIntermediateType) Serialize() (i interface{}, err error) { return } +// likedNoteIntermediateType will only have one of its values set at most +type likedNoteIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedNoteIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedNoteIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedNoteIntermediateType: %v", t) + return +} + +// likesNoteIntermediateType will only have one of its values set at most +type likesNoteIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesNoteIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesNoteIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesNoteIntermediateType: %v", t) + return +} + // preferredUsernameNoteIntermediateType will only have one of its values set at most type preferredUsernameNoteIntermediateType struct { // An unknown value. @@ -413189,8 +428007,10 @@ type Page struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedPageIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesPageIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -416077,33 +430897,69 @@ func (t *Page) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Page) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Page) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Page) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Page) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Page) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Page) SetLikedCollection(v CollectionType) { + t.liked = &likedPageIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Page) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Page) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Page) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedPageIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Page) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Page) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Page) SetLikedAnyURI(v url.URL) { + t.liked = &likedPageIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Page) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Page) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -416112,7 +430968,86 @@ func (t *Page) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedPageIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Page) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Page) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Page) SetLikesCollection(v CollectionType) { + t.likes = &likesPageIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Page) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Page) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Page) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesPageIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Page) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Page) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Page) SetLikesAnyURI(v url.URL) { + t.likes = &likesPageIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Page) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Page) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Page) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesPageIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -416986,21 +431921,24 @@ func (t *Page) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedPageIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesPageIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -417897,18 +432835,26 @@ func (t *Page) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedPageIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesPageIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -420210,6 +435156,180 @@ func (t *sourcePageIntermediateType) Serialize() (i interface{}, err error) { return } +// likedPageIntermediateType will only have one of its values set at most +type likedPageIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedPageIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedPageIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedPageIntermediateType: %v", t) + return +} + +// likesPageIntermediateType will only have one of its values set at most +type likesPageIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesPageIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesPageIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesPageIntermediateType: %v", t) + return +} + // preferredUsernamePageIntermediateType will only have one of its values set at most type preferredUsernamePageIntermediateType struct { // An unknown value. @@ -420418,8 +435538,10 @@ type Event struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedEventIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesEventIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -423306,33 +438428,69 @@ func (t *Event) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Event) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Event) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Event) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Event) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Event) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Event) SetLikedCollection(v CollectionType) { + t.liked = &likedEventIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Event) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Event) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Event) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedEventIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Event) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Event) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Event) SetLikedAnyURI(v url.URL) { + t.liked = &likedEventIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Event) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Event) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -423341,7 +438499,86 @@ func (t *Event) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedEventIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Event) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Event) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Event) SetLikesCollection(v CollectionType) { + t.likes = &likesEventIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Event) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Event) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Event) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesEventIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Event) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Event) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Event) SetLikesAnyURI(v url.URL) { + t.likes = &likesEventIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Event) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Event) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Event) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesEventIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -424215,21 +439452,24 @@ func (t *Event) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedEventIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesEventIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -425126,18 +440366,26 @@ func (t *Event) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedEventIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesEventIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -427439,6 +442687,180 @@ func (t *sourceEventIntermediateType) Serialize() (i interface{}, err error) { return } +// likedEventIntermediateType will only have one of its values set at most +type likedEventIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedEventIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedEventIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedEventIntermediateType: %v", t) + return +} + +// likesEventIntermediateType will only have one of its values set at most +type likesEventIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesEventIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesEventIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesEventIntermediateType: %v", t) + return +} + // preferredUsernameEventIntermediateType will only have one of its values set at most type preferredUsernameEventIntermediateType struct { // An unknown value. @@ -427657,8 +443079,10 @@ type Place struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedPlaceIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesPlaceIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -430840,33 +446264,69 @@ func (t *Place) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Place) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Place) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Place) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Place) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Place) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Place) SetLikedCollection(v CollectionType) { + t.liked = &likedPlaceIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Place) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Place) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Place) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedPlaceIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Place) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Place) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Place) SetLikedAnyURI(v url.URL) { + t.liked = &likedPlaceIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Place) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Place) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -430875,7 +446335,86 @@ func (t *Place) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedPlaceIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Place) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Place) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Place) SetLikesCollection(v CollectionType) { + t.likes = &likesPlaceIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Place) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Place) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Place) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesPlaceIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Place) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Place) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Place) SetLikesAnyURI(v url.URL) { + t.likes = &likesPlaceIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Place) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Place) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Place) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesPlaceIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -431794,21 +447333,24 @@ func (t *Place) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedPlaceIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesPlaceIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -432760,18 +448302,26 @@ func (t *Place) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedPlaceIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesPlaceIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -435363,6 +450913,180 @@ func (t *sourcePlaceIntermediateType) Serialize() (i interface{}, err error) { return } +// likedPlaceIntermediateType will only have one of its values set at most +type likedPlaceIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedPlaceIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedPlaceIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedPlaceIntermediateType: %v", t) + return +} + +// likesPlaceIntermediateType will only have one of its values set at most +type likesPlaceIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesPlaceIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesPlaceIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesPlaceIntermediateType: %v", t) + return +} + // preferredUsernamePlaceIntermediateType will only have one of its values set at most type preferredUsernamePlaceIntermediateType struct { // An unknown value. @@ -435573,8 +451297,10 @@ type Profile struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedProfileIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesProfileIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -438520,33 +454246,69 @@ func (t *Profile) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Profile) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Profile) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Profile) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Profile) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Profile) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Profile) SetLikedCollection(v CollectionType) { + t.liked = &likedProfileIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Profile) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Profile) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Profile) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedProfileIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Profile) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Profile) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Profile) SetLikedAnyURI(v url.URL) { + t.liked = &likedProfileIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Profile) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Profile) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -438555,7 +454317,86 @@ func (t *Profile) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedProfileIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Profile) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Profile) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Profile) SetLikesCollection(v CollectionType) { + t.likes = &likesProfileIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Profile) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Profile) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Profile) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesProfileIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Profile) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Profile) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Profile) SetLikesAnyURI(v url.URL) { + t.likes = &likesProfileIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Profile) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Profile) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Profile) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesProfileIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -439438,21 +455279,24 @@ func (t *Profile) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedProfileIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesProfileIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -440360,18 +456204,26 @@ func (t *Profile) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedProfileIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesProfileIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -442745,6 +458597,180 @@ func (t *sourceProfileIntermediateType) Serialize() (i interface{}, err error) { return } +// likedProfileIntermediateType will only have one of its values set at most +type likedProfileIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedProfileIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedProfileIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedProfileIntermediateType: %v", t) + return +} + +// likesProfileIntermediateType will only have one of its values set at most +type likesProfileIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesProfileIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesProfileIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesProfileIntermediateType: %v", t) + return +} + // preferredUsernameProfileIntermediateType will only have one of its values set at most type preferredUsernameProfileIntermediateType struct { // An unknown value. @@ -442957,8 +458983,10 @@ type Tombstone struct { following *url.URL // The functional 'followers' value holds a single type and a single value followers *url.URL - // The functional 'liked' value holds a single type and a single value - liked *url.URL + // The functional 'liked' value could have multiple types, but only a single value + liked *likedTombstoneIntermediateType + // The functional 'likes' value could have multiple types, but only a single value + likes *likesTombstoneIntermediateType // The 'streams' value holds a single type and any number of values streams []url.URL // The functional 'preferredUsername' value could have multiple types, but only a single value @@ -446011,33 +462039,69 @@ func (t *Tombstone) SetUnknownFollowers(i interface{}) { } -// HasLiked determines whether the call to GetLiked is safe -func (t *Tombstone) HasLiked() (ok bool) { - return t.liked != nil +// IsLikedCollection determines whether the call to GetLikedCollection is safe +func (t *Tombstone) IsLikedCollection() (ok bool) { + return t.liked != nil && t.liked.Collection != nil } -// GetLiked returns the value for liked -func (t *Tombstone) GetLiked() (v url.URL) { - return *t.liked +// GetLikedCollection returns the value safely if IsLikedCollection returned true +func (t *Tombstone) GetLikedCollection() (v CollectionType) { + return t.liked.Collection } -// SetLiked sets the value of liked -func (t *Tombstone) SetLiked(v url.URL) { - t.liked = &v +// SetLikedCollection sets the value of liked to be of CollectionType type +func (t *Tombstone) SetLikedCollection(v CollectionType) { + t.liked = &likedTombstoneIntermediateType{Collection: v} + +} + +// IsLikedOrderedCollection determines whether the call to GetLikedOrderedCollection is safe +func (t *Tombstone) IsLikedOrderedCollection() (ok bool) { + return t.liked != nil && t.liked.OrderedCollection != nil + +} + +// GetLikedOrderedCollection returns the value safely if IsLikedOrderedCollection returned true +func (t *Tombstone) GetLikedOrderedCollection() (v OrderedCollectionType) { + return t.liked.OrderedCollection + +} + +// SetLikedOrderedCollection sets the value of liked to be of OrderedCollectionType type +func (t *Tombstone) SetLikedOrderedCollection(v OrderedCollectionType) { + t.liked = &likedTombstoneIntermediateType{OrderedCollection: v} + +} + +// IsLikedAnyURI determines whether the call to GetLikedAnyURI is safe +func (t *Tombstone) IsLikedAnyURI() (ok bool) { + return t.liked != nil && t.liked.anyURI != nil + +} + +// GetLikedAnyURI returns the value safely if IsLikedAnyURI returned true +func (t *Tombstone) GetLikedAnyURI() (v url.URL) { + return *t.liked.anyURI + +} + +// SetLikedAnyURI sets the value of liked to be of url.URL type +func (t *Tombstone) SetLikedAnyURI(v url.URL) { + t.liked = &likedTombstoneIntermediateType{anyURI: &v} } // HasUnknownLiked determines whether the call to GetUnknownLiked is safe func (t *Tombstone) HasUnknownLiked() (ok bool) { - return t.unknown_ != nil && t.unknown_["liked"] != nil + return t.liked != nil && t.liked.unknown_ != nil } // GetUnknownLiked returns the unknown value for liked func (t *Tombstone) GetUnknownLiked() (v interface{}) { - return t.unknown_["liked"] + return t.liked.unknown_ } @@ -446046,7 +462110,86 @@ func (t *Tombstone) SetUnknownLiked(i interface{}) { if t.unknown_ == nil { t.unknown_ = make(map[string]interface{}) } - t.unknown_["liked"] = i + tmp := &likedTombstoneIntermediateType{} + tmp.unknown_ = i + t.liked = tmp + +} + +// IsLikesCollection determines whether the call to GetLikesCollection is safe +func (t *Tombstone) IsLikesCollection() (ok bool) { + return t.likes != nil && t.likes.Collection != nil + +} + +// GetLikesCollection returns the value safely if IsLikesCollection returned true +func (t *Tombstone) GetLikesCollection() (v CollectionType) { + return t.likes.Collection + +} + +// SetLikesCollection sets the value of likes to be of CollectionType type +func (t *Tombstone) SetLikesCollection(v CollectionType) { + t.likes = &likesTombstoneIntermediateType{Collection: v} + +} + +// IsLikesOrderedCollection determines whether the call to GetLikesOrderedCollection is safe +func (t *Tombstone) IsLikesOrderedCollection() (ok bool) { + return t.likes != nil && t.likes.OrderedCollection != nil + +} + +// GetLikesOrderedCollection returns the value safely if IsLikesOrderedCollection returned true +func (t *Tombstone) GetLikesOrderedCollection() (v OrderedCollectionType) { + return t.likes.OrderedCollection + +} + +// SetLikesOrderedCollection sets the value of likes to be of OrderedCollectionType type +func (t *Tombstone) SetLikesOrderedCollection(v OrderedCollectionType) { + t.likes = &likesTombstoneIntermediateType{OrderedCollection: v} + +} + +// IsLikesAnyURI determines whether the call to GetLikesAnyURI is safe +func (t *Tombstone) IsLikesAnyURI() (ok bool) { + return t.likes != nil && t.likes.anyURI != nil + +} + +// GetLikesAnyURI returns the value safely if IsLikesAnyURI returned true +func (t *Tombstone) GetLikesAnyURI() (v url.URL) { + return *t.likes.anyURI + +} + +// SetLikesAnyURI sets the value of likes to be of url.URL type +func (t *Tombstone) SetLikesAnyURI(v url.URL) { + t.likes = &likesTombstoneIntermediateType{anyURI: &v} + +} + +// HasUnknownLikes determines whether the call to GetUnknownLikes is safe +func (t *Tombstone) HasUnknownLikes() (ok bool) { + return t.likes != nil && t.likes.unknown_ != nil + +} + +// GetUnknownLikes returns the unknown value for likes +func (t *Tombstone) GetUnknownLikes() (v interface{}) { + return t.likes.unknown_ + +} + +// SetUnknownLikes sets the unknown value of likes +func (t *Tombstone) SetUnknownLikes(i interface{}) { + if t.unknown_ == nil { + t.unknown_ = make(map[string]interface{}) + } + tmp := &likesTombstoneIntermediateType{} + tmp.unknown_ = i + t.likes = tmp } @@ -446940,21 +463083,24 @@ func (t *Tombstone) Serialize() (m map[string]interface{}, err error) { } } // End generation by RangeReference.Serialize for Value - // Begin generation by RangeReference.Serialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if t.liked != nil { - likedSerializeFunc := func() (interface{}, error) { - v := t.liked - tmp := anyURISerialize(*v) - return tmp, nil - } - likedResult, err := likedSerializeFunc() - if err == nil { - m["liked"] = likedResult + if v, err := serializeLikedTombstoneIntermediateType(t.liked); err == nil { + m["liked"] = v } else { return m, err } } - // End generation by RangeReference.Serialize for Value + // End generation by generateFunctionalMultiTypeDefinition + // Begin generation by generateFunctionalMultiTypeDefinition + if t.likes != nil { + if v, err := serializeLikesTombstoneIntermediateType(t.likes); err == nil { + m["likes"] = v + } else { + return m, err + } + } + // End generation by generateFunctionalMultiTypeDefinition // Begin generation by RangeReference.Serialize for Value var streamsTemp []interface{} for _, v := range t.streams { @@ -447890,18 +464036,26 @@ func (t *Tombstone) Deserialize(m map[string]interface{}) (err error) { // End generation by RangeReference.Deserialize for Value } if !handled { - // Begin generation by RangeReference.Deserialize for Value + // Begin generation by generateFunctionalMultiTypeDefinition if k == "liked" { - if v, ok := v.(interface{}); ok { - tmp, err := anyURIDeserialize(v) - if err != nil { - return err - } - t.liked = tmp - handled = true + t.liked, err = deserializeLikedTombstoneIntermediateType(v) + if err != nil { + return err } + handled = true } - // End generation by RangeReference.Deserialize for Value + // End generation by generateFunctionalMultiTypeDefinition + } + if !handled { + // Begin generation by generateFunctionalMultiTypeDefinition + if k == "likes" { + t.likes, err = deserializeLikesTombstoneIntermediateType(v) + if err != nil { + return err + } + handled = true + } + // End generation by generateFunctionalMultiTypeDefinition } if !handled { // Begin generation by RangeReference.Deserialize for Value @@ -450347,6 +466501,180 @@ func (t *sourceTombstoneIntermediateType) Serialize() (i interface{}, err error) return } +// likedTombstoneIntermediateType will only have one of its values set at most +type likedTombstoneIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for liked property + Collection CollectionType + // Stores possible OrderedCollectionType type for liked property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for liked property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likedTombstoneIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likedTombstoneIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likedTombstoneIntermediateType: %v", t) + return +} + +// likesTombstoneIntermediateType will only have one of its values set at most +type likesTombstoneIntermediateType struct { + // An unknown value. + unknown_ interface{} + // Stores possible CollectionType type for likes property + Collection CollectionType + // Stores possible OrderedCollectionType type for likes property + OrderedCollection OrderedCollectionType + // Stores possible *url.URL type for likes property + anyURI *url.URL +} + +// Deserialize takes an interface{} and attempts to create a valid intermediate type. +func (t *likesTombstoneIntermediateType) Deserialize(i interface{}) (err error) { + matched := false + if m, ok := i.(map[string]interface{}); ok { + if tv, ok := m["type"]; ok { + var types []string + if tvs, ok := tv.([]interface{}); ok { + for _, tvi := range tvs { + if typeString, ok := tvi.(string); ok { + types = append(types, typeString) + } + } + } else if typeString, ok := tv.(string); ok { + types = append(types, typeString) + } + if !matched { + for _, kind := range types { + if t.Collection, ok = resolveObject(kind).(CollectionType); t.Collection != nil && ok { + err = t.Collection.Deserialize(m) + matched = true + break + } + } + } + if !matched { + for _, kind := range types { + if t.OrderedCollection, ok = resolveObject(kind).(OrderedCollectionType); t.OrderedCollection != nil && ok { + err = t.OrderedCollection.Deserialize(m) + matched = true + break + } + } + } + } else { + t.unknown_ = m + } + } else { + if !matched { + t.anyURI, err = anyURIDeserialize(i) + if err != nil { + t.anyURI = nil + } else { + matched = true + } + } + } + if !matched { + t.unknown_ = unknownValueDeserialize(i) + } + return + +} + +// Serialize turns this object into an interface{}. +func (t *likesTombstoneIntermediateType) Serialize() (i interface{}, err error) { + if t.Collection != nil { + i, err = t.Collection.Serialize() + return + } + if t.OrderedCollection != nil { + i, err = t.OrderedCollection.Serialize() + return + } + if t.anyURI != nil { + i = anyURISerialize(*t.anyURI) + return + } + if t.unknown_ != nil { + i = unknownValueSerialize(t.unknown_) + return + } + err = fmt.Errorf("Could not serialize all-nil for type likesTombstoneIntermediateType: %v", t) + return +} + // preferredUsernameTombstoneIntermediateType will only have one of its values set at most type preferredUsernameTombstoneIntermediateType struct { // An unknown value. @@ -454236,6 +470564,90 @@ func serializeSliceSourceObjectIntermediateType(s []*sourceObjectIntermediateTyp } +// deserializelikedObjectIntermediateType will accept a map to create a likedObjectIntermediateType +func deserializeLikedObjectIntermediateType(in interface{}) (t *likedObjectIntermediateType, err error) { + tmp := &likedObjectIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedObjectIntermediateType will accept a slice to create a slice of likedObjectIntermediateType +func deserializeSliceLikedObjectIntermediateType(in []interface{}) (t []*likedObjectIntermediateType, err error) { + for _, i := range in { + tmp := &likedObjectIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedObjectIntermediateType will accept a likedObjectIntermediateType to create a map +func serializeLikedObjectIntermediateType(t *likedObjectIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedObjectIntermediateType will accept a slice of likedObjectIntermediateType to create a slice result +func serializeSliceLikedObjectIntermediateType(s []*likedObjectIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesObjectIntermediateType will accept a map to create a likesObjectIntermediateType +func deserializeLikesObjectIntermediateType(in interface{}) (t *likesObjectIntermediateType, err error) { + tmp := &likesObjectIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesObjectIntermediateType will accept a slice to create a slice of likesObjectIntermediateType +func deserializeSliceLikesObjectIntermediateType(in []interface{}) (t []*likesObjectIntermediateType, err error) { + for _, i := range in { + tmp := &likesObjectIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesObjectIntermediateType will accept a likesObjectIntermediateType to create a map +func serializeLikesObjectIntermediateType(t *likesObjectIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesObjectIntermediateType will accept a slice of likesObjectIntermediateType to create a slice result +func serializeSliceLikesObjectIntermediateType(s []*likesObjectIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameObjectIntermediateType will accept a map to create a preferredUsernameObjectIntermediateType func deserializePreferredUsernameObjectIntermediateType(in interface{}) (t *preferredUsernameObjectIntermediateType, err error) { tmp := &preferredUsernameObjectIntermediateType{} @@ -456126,6 +472538,90 @@ func serializeSliceSourceActivityIntermediateType(s []*sourceActivityIntermediat } +// deserializelikedActivityIntermediateType will accept a map to create a likedActivityIntermediateType +func deserializeLikedActivityIntermediateType(in interface{}) (t *likedActivityIntermediateType, err error) { + tmp := &likedActivityIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedActivityIntermediateType will accept a slice to create a slice of likedActivityIntermediateType +func deserializeSliceLikedActivityIntermediateType(in []interface{}) (t []*likedActivityIntermediateType, err error) { + for _, i := range in { + tmp := &likedActivityIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedActivityIntermediateType will accept a likedActivityIntermediateType to create a map +func serializeLikedActivityIntermediateType(t *likedActivityIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedActivityIntermediateType will accept a slice of likedActivityIntermediateType to create a slice result +func serializeSliceLikedActivityIntermediateType(s []*likedActivityIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesActivityIntermediateType will accept a map to create a likesActivityIntermediateType +func deserializeLikesActivityIntermediateType(in interface{}) (t *likesActivityIntermediateType, err error) { + tmp := &likesActivityIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesActivityIntermediateType will accept a slice to create a slice of likesActivityIntermediateType +func deserializeSliceLikesActivityIntermediateType(in []interface{}) (t []*likesActivityIntermediateType, err error) { + for _, i := range in { + tmp := &likesActivityIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesActivityIntermediateType will accept a likesActivityIntermediateType to create a map +func serializeLikesActivityIntermediateType(t *likesActivityIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesActivityIntermediateType will accept a slice of likesActivityIntermediateType to create a slice result +func serializeSliceLikesActivityIntermediateType(s []*likesActivityIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameActivityIntermediateType will accept a map to create a preferredUsernameActivityIntermediateType func deserializePreferredUsernameActivityIntermediateType(in interface{}) (t *preferredUsernameActivityIntermediateType, err error) { tmp := &preferredUsernameActivityIntermediateType{} @@ -457596,6 +474092,90 @@ func serializeSliceSourceIntransitiveActivityIntermediateType(s []*sourceIntrans } +// deserializelikedIntransitiveActivityIntermediateType will accept a map to create a likedIntransitiveActivityIntermediateType +func deserializeLikedIntransitiveActivityIntermediateType(in interface{}) (t *likedIntransitiveActivityIntermediateType, err error) { + tmp := &likedIntransitiveActivityIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedIntransitiveActivityIntermediateType will accept a slice to create a slice of likedIntransitiveActivityIntermediateType +func deserializeSliceLikedIntransitiveActivityIntermediateType(in []interface{}) (t []*likedIntransitiveActivityIntermediateType, err error) { + for _, i := range in { + tmp := &likedIntransitiveActivityIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedIntransitiveActivityIntermediateType will accept a likedIntransitiveActivityIntermediateType to create a map +func serializeLikedIntransitiveActivityIntermediateType(t *likedIntransitiveActivityIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedIntransitiveActivityIntermediateType will accept a slice of likedIntransitiveActivityIntermediateType to create a slice result +func serializeSliceLikedIntransitiveActivityIntermediateType(s []*likedIntransitiveActivityIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesIntransitiveActivityIntermediateType will accept a map to create a likesIntransitiveActivityIntermediateType +func deserializeLikesIntransitiveActivityIntermediateType(in interface{}) (t *likesIntransitiveActivityIntermediateType, err error) { + tmp := &likesIntransitiveActivityIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesIntransitiveActivityIntermediateType will accept a slice to create a slice of likesIntransitiveActivityIntermediateType +func deserializeSliceLikesIntransitiveActivityIntermediateType(in []interface{}) (t []*likesIntransitiveActivityIntermediateType, err error) { + for _, i := range in { + tmp := &likesIntransitiveActivityIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesIntransitiveActivityIntermediateType will accept a likesIntransitiveActivityIntermediateType to create a map +func serializeLikesIntransitiveActivityIntermediateType(t *likesIntransitiveActivityIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesIntransitiveActivityIntermediateType will accept a slice of likesIntransitiveActivityIntermediateType to create a slice result +func serializeSliceLikesIntransitiveActivityIntermediateType(s []*likesIntransitiveActivityIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameIntransitiveActivityIntermediateType will accept a map to create a preferredUsernameIntransitiveActivityIntermediateType func deserializePreferredUsernameIntransitiveActivityIntermediateType(in interface{}) (t *preferredUsernameIntransitiveActivityIntermediateType, err error) { tmp := &preferredUsernameIntransitiveActivityIntermediateType{} @@ -459066,6 +475646,90 @@ func serializeSliceSourceCollectionIntermediateType(s []*sourceCollectionInterme } +// deserializelikedCollectionIntermediateType will accept a map to create a likedCollectionIntermediateType +func deserializeLikedCollectionIntermediateType(in interface{}) (t *likedCollectionIntermediateType, err error) { + tmp := &likedCollectionIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedCollectionIntermediateType will accept a slice to create a slice of likedCollectionIntermediateType +func deserializeSliceLikedCollectionIntermediateType(in []interface{}) (t []*likedCollectionIntermediateType, err error) { + for _, i := range in { + tmp := &likedCollectionIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedCollectionIntermediateType will accept a likedCollectionIntermediateType to create a map +func serializeLikedCollectionIntermediateType(t *likedCollectionIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedCollectionIntermediateType will accept a slice of likedCollectionIntermediateType to create a slice result +func serializeSliceLikedCollectionIntermediateType(s []*likedCollectionIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesCollectionIntermediateType will accept a map to create a likesCollectionIntermediateType +func deserializeLikesCollectionIntermediateType(in interface{}) (t *likesCollectionIntermediateType, err error) { + tmp := &likesCollectionIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesCollectionIntermediateType will accept a slice to create a slice of likesCollectionIntermediateType +func deserializeSliceLikesCollectionIntermediateType(in []interface{}) (t []*likesCollectionIntermediateType, err error) { + for _, i := range in { + tmp := &likesCollectionIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesCollectionIntermediateType will accept a likesCollectionIntermediateType to create a map +func serializeLikesCollectionIntermediateType(t *likesCollectionIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesCollectionIntermediateType will accept a slice of likesCollectionIntermediateType to create a slice result +func serializeSliceLikesCollectionIntermediateType(s []*likesCollectionIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameCollectionIntermediateType will accept a map to create a preferredUsernameCollectionIntermediateType func deserializePreferredUsernameCollectionIntermediateType(in interface{}) (t *preferredUsernameCollectionIntermediateType, err error) { tmp := &preferredUsernameCollectionIntermediateType{} @@ -460536,6 +477200,90 @@ func serializeSliceSourceOrderedCollectionIntermediateType(s []*sourceOrderedCol } +// deserializelikedOrderedCollectionIntermediateType will accept a map to create a likedOrderedCollectionIntermediateType +func deserializeLikedOrderedCollectionIntermediateType(in interface{}) (t *likedOrderedCollectionIntermediateType, err error) { + tmp := &likedOrderedCollectionIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedOrderedCollectionIntermediateType will accept a slice to create a slice of likedOrderedCollectionIntermediateType +func deserializeSliceLikedOrderedCollectionIntermediateType(in []interface{}) (t []*likedOrderedCollectionIntermediateType, err error) { + for _, i := range in { + tmp := &likedOrderedCollectionIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedOrderedCollectionIntermediateType will accept a likedOrderedCollectionIntermediateType to create a map +func serializeLikedOrderedCollectionIntermediateType(t *likedOrderedCollectionIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedOrderedCollectionIntermediateType will accept a slice of likedOrderedCollectionIntermediateType to create a slice result +func serializeSliceLikedOrderedCollectionIntermediateType(s []*likedOrderedCollectionIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesOrderedCollectionIntermediateType will accept a map to create a likesOrderedCollectionIntermediateType +func deserializeLikesOrderedCollectionIntermediateType(in interface{}) (t *likesOrderedCollectionIntermediateType, err error) { + tmp := &likesOrderedCollectionIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesOrderedCollectionIntermediateType will accept a slice to create a slice of likesOrderedCollectionIntermediateType +func deserializeSliceLikesOrderedCollectionIntermediateType(in []interface{}) (t []*likesOrderedCollectionIntermediateType, err error) { + for _, i := range in { + tmp := &likesOrderedCollectionIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesOrderedCollectionIntermediateType will accept a likesOrderedCollectionIntermediateType to create a map +func serializeLikesOrderedCollectionIntermediateType(t *likesOrderedCollectionIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesOrderedCollectionIntermediateType will accept a slice of likesOrderedCollectionIntermediateType to create a slice result +func serializeSliceLikesOrderedCollectionIntermediateType(s []*likesOrderedCollectionIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameOrderedCollectionIntermediateType will accept a map to create a preferredUsernameOrderedCollectionIntermediateType func deserializePreferredUsernameOrderedCollectionIntermediateType(in interface{}) (t *preferredUsernameOrderedCollectionIntermediateType, err error) { tmp := &preferredUsernameOrderedCollectionIntermediateType{} @@ -462132,6 +478880,90 @@ func serializeSliceSourceCollectionPageIntermediateType(s []*sourceCollectionPag } +// deserializelikedCollectionPageIntermediateType will accept a map to create a likedCollectionPageIntermediateType +func deserializeLikedCollectionPageIntermediateType(in interface{}) (t *likedCollectionPageIntermediateType, err error) { + tmp := &likedCollectionPageIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedCollectionPageIntermediateType will accept a slice to create a slice of likedCollectionPageIntermediateType +func deserializeSliceLikedCollectionPageIntermediateType(in []interface{}) (t []*likedCollectionPageIntermediateType, err error) { + for _, i := range in { + tmp := &likedCollectionPageIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedCollectionPageIntermediateType will accept a likedCollectionPageIntermediateType to create a map +func serializeLikedCollectionPageIntermediateType(t *likedCollectionPageIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedCollectionPageIntermediateType will accept a slice of likedCollectionPageIntermediateType to create a slice result +func serializeSliceLikedCollectionPageIntermediateType(s []*likedCollectionPageIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesCollectionPageIntermediateType will accept a map to create a likesCollectionPageIntermediateType +func deserializeLikesCollectionPageIntermediateType(in interface{}) (t *likesCollectionPageIntermediateType, err error) { + tmp := &likesCollectionPageIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesCollectionPageIntermediateType will accept a slice to create a slice of likesCollectionPageIntermediateType +func deserializeSliceLikesCollectionPageIntermediateType(in []interface{}) (t []*likesCollectionPageIntermediateType, err error) { + for _, i := range in { + tmp := &likesCollectionPageIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesCollectionPageIntermediateType will accept a likesCollectionPageIntermediateType to create a map +func serializeLikesCollectionPageIntermediateType(t *likesCollectionPageIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesCollectionPageIntermediateType will accept a slice of likesCollectionPageIntermediateType to create a slice result +func serializeSliceLikesCollectionPageIntermediateType(s []*likesCollectionPageIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameCollectionPageIntermediateType will accept a map to create a preferredUsernameCollectionPageIntermediateType func deserializePreferredUsernameCollectionPageIntermediateType(in interface{}) (t *preferredUsernameCollectionPageIntermediateType, err error) { tmp := &preferredUsernameCollectionPageIntermediateType{} @@ -463728,6 +480560,90 @@ func serializeSliceSourceOrderedCollectionPageIntermediateType(s []*sourceOrdere } +// deserializelikedOrderedCollectionPageIntermediateType will accept a map to create a likedOrderedCollectionPageIntermediateType +func deserializeLikedOrderedCollectionPageIntermediateType(in interface{}) (t *likedOrderedCollectionPageIntermediateType, err error) { + tmp := &likedOrderedCollectionPageIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedOrderedCollectionPageIntermediateType will accept a slice to create a slice of likedOrderedCollectionPageIntermediateType +func deserializeSliceLikedOrderedCollectionPageIntermediateType(in []interface{}) (t []*likedOrderedCollectionPageIntermediateType, err error) { + for _, i := range in { + tmp := &likedOrderedCollectionPageIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedOrderedCollectionPageIntermediateType will accept a likedOrderedCollectionPageIntermediateType to create a map +func serializeLikedOrderedCollectionPageIntermediateType(t *likedOrderedCollectionPageIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedOrderedCollectionPageIntermediateType will accept a slice of likedOrderedCollectionPageIntermediateType to create a slice result +func serializeSliceLikedOrderedCollectionPageIntermediateType(s []*likedOrderedCollectionPageIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesOrderedCollectionPageIntermediateType will accept a map to create a likesOrderedCollectionPageIntermediateType +func deserializeLikesOrderedCollectionPageIntermediateType(in interface{}) (t *likesOrderedCollectionPageIntermediateType, err error) { + tmp := &likesOrderedCollectionPageIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesOrderedCollectionPageIntermediateType will accept a slice to create a slice of likesOrderedCollectionPageIntermediateType +func deserializeSliceLikesOrderedCollectionPageIntermediateType(in []interface{}) (t []*likesOrderedCollectionPageIntermediateType, err error) { + for _, i := range in { + tmp := &likesOrderedCollectionPageIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesOrderedCollectionPageIntermediateType will accept a likesOrderedCollectionPageIntermediateType to create a map +func serializeLikesOrderedCollectionPageIntermediateType(t *likesOrderedCollectionPageIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesOrderedCollectionPageIntermediateType will accept a slice of likesOrderedCollectionPageIntermediateType to create a slice result +func serializeSliceLikesOrderedCollectionPageIntermediateType(s []*likesOrderedCollectionPageIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameOrderedCollectionPageIntermediateType will accept a map to create a preferredUsernameOrderedCollectionPageIntermediateType func deserializePreferredUsernameOrderedCollectionPageIntermediateType(in interface{}) (t *preferredUsernameOrderedCollectionPageIntermediateType, err error) { tmp := &preferredUsernameOrderedCollectionPageIntermediateType{} @@ -465282,6 +482198,90 @@ func serializeSliceSourceAcceptIntermediateType(s []*sourceAcceptIntermediateTyp } +// deserializelikedAcceptIntermediateType will accept a map to create a likedAcceptIntermediateType +func deserializeLikedAcceptIntermediateType(in interface{}) (t *likedAcceptIntermediateType, err error) { + tmp := &likedAcceptIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedAcceptIntermediateType will accept a slice to create a slice of likedAcceptIntermediateType +func deserializeSliceLikedAcceptIntermediateType(in []interface{}) (t []*likedAcceptIntermediateType, err error) { + for _, i := range in { + tmp := &likedAcceptIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedAcceptIntermediateType will accept a likedAcceptIntermediateType to create a map +func serializeLikedAcceptIntermediateType(t *likedAcceptIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedAcceptIntermediateType will accept a slice of likedAcceptIntermediateType to create a slice result +func serializeSliceLikedAcceptIntermediateType(s []*likedAcceptIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesAcceptIntermediateType will accept a map to create a likesAcceptIntermediateType +func deserializeLikesAcceptIntermediateType(in interface{}) (t *likesAcceptIntermediateType, err error) { + tmp := &likesAcceptIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesAcceptIntermediateType will accept a slice to create a slice of likesAcceptIntermediateType +func deserializeSliceLikesAcceptIntermediateType(in []interface{}) (t []*likesAcceptIntermediateType, err error) { + for _, i := range in { + tmp := &likesAcceptIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesAcceptIntermediateType will accept a likesAcceptIntermediateType to create a map +func serializeLikesAcceptIntermediateType(t *likesAcceptIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesAcceptIntermediateType will accept a slice of likesAcceptIntermediateType to create a slice result +func serializeSliceLikesAcceptIntermediateType(s []*likesAcceptIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameAcceptIntermediateType will accept a map to create a preferredUsernameAcceptIntermediateType func deserializePreferredUsernameAcceptIntermediateType(in interface{}) (t *preferredUsernameAcceptIntermediateType, err error) { tmp := &preferredUsernameAcceptIntermediateType{} @@ -466794,6 +483794,90 @@ func serializeSliceSourceTentativeAcceptIntermediateType(s []*sourceTentativeAcc } +// deserializelikedTentativeAcceptIntermediateType will accept a map to create a likedTentativeAcceptIntermediateType +func deserializeLikedTentativeAcceptIntermediateType(in interface{}) (t *likedTentativeAcceptIntermediateType, err error) { + tmp := &likedTentativeAcceptIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedTentativeAcceptIntermediateType will accept a slice to create a slice of likedTentativeAcceptIntermediateType +func deserializeSliceLikedTentativeAcceptIntermediateType(in []interface{}) (t []*likedTentativeAcceptIntermediateType, err error) { + for _, i := range in { + tmp := &likedTentativeAcceptIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedTentativeAcceptIntermediateType will accept a likedTentativeAcceptIntermediateType to create a map +func serializeLikedTentativeAcceptIntermediateType(t *likedTentativeAcceptIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedTentativeAcceptIntermediateType will accept a slice of likedTentativeAcceptIntermediateType to create a slice result +func serializeSliceLikedTentativeAcceptIntermediateType(s []*likedTentativeAcceptIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesTentativeAcceptIntermediateType will accept a map to create a likesTentativeAcceptIntermediateType +func deserializeLikesTentativeAcceptIntermediateType(in interface{}) (t *likesTentativeAcceptIntermediateType, err error) { + tmp := &likesTentativeAcceptIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesTentativeAcceptIntermediateType will accept a slice to create a slice of likesTentativeAcceptIntermediateType +func deserializeSliceLikesTentativeAcceptIntermediateType(in []interface{}) (t []*likesTentativeAcceptIntermediateType, err error) { + for _, i := range in { + tmp := &likesTentativeAcceptIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesTentativeAcceptIntermediateType will accept a likesTentativeAcceptIntermediateType to create a map +func serializeLikesTentativeAcceptIntermediateType(t *likesTentativeAcceptIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesTentativeAcceptIntermediateType will accept a slice of likesTentativeAcceptIntermediateType to create a slice result +func serializeSliceLikesTentativeAcceptIntermediateType(s []*likesTentativeAcceptIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameTentativeAcceptIntermediateType will accept a map to create a preferredUsernameTentativeAcceptIntermediateType func deserializePreferredUsernameTentativeAcceptIntermediateType(in interface{}) (t *preferredUsernameTentativeAcceptIntermediateType, err error) { tmp := &preferredUsernameTentativeAcceptIntermediateType{} @@ -468306,6 +485390,90 @@ func serializeSliceSourceAddIntermediateType(s []*sourceAddIntermediateType) (ou } +// deserializelikedAddIntermediateType will accept a map to create a likedAddIntermediateType +func deserializeLikedAddIntermediateType(in interface{}) (t *likedAddIntermediateType, err error) { + tmp := &likedAddIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedAddIntermediateType will accept a slice to create a slice of likedAddIntermediateType +func deserializeSliceLikedAddIntermediateType(in []interface{}) (t []*likedAddIntermediateType, err error) { + for _, i := range in { + tmp := &likedAddIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedAddIntermediateType will accept a likedAddIntermediateType to create a map +func serializeLikedAddIntermediateType(t *likedAddIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedAddIntermediateType will accept a slice of likedAddIntermediateType to create a slice result +func serializeSliceLikedAddIntermediateType(s []*likedAddIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesAddIntermediateType will accept a map to create a likesAddIntermediateType +func deserializeLikesAddIntermediateType(in interface{}) (t *likesAddIntermediateType, err error) { + tmp := &likesAddIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesAddIntermediateType will accept a slice to create a slice of likesAddIntermediateType +func deserializeSliceLikesAddIntermediateType(in []interface{}) (t []*likesAddIntermediateType, err error) { + for _, i := range in { + tmp := &likesAddIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesAddIntermediateType will accept a likesAddIntermediateType to create a map +func serializeLikesAddIntermediateType(t *likesAddIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesAddIntermediateType will accept a slice of likesAddIntermediateType to create a slice result +func serializeSliceLikesAddIntermediateType(s []*likesAddIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameAddIntermediateType will accept a map to create a preferredUsernameAddIntermediateType func deserializePreferredUsernameAddIntermediateType(in interface{}) (t *preferredUsernameAddIntermediateType, err error) { tmp := &preferredUsernameAddIntermediateType{} @@ -469776,6 +486944,90 @@ func serializeSliceSourceArriveIntermediateType(s []*sourceArriveIntermediateTyp } +// deserializelikedArriveIntermediateType will accept a map to create a likedArriveIntermediateType +func deserializeLikedArriveIntermediateType(in interface{}) (t *likedArriveIntermediateType, err error) { + tmp := &likedArriveIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedArriveIntermediateType will accept a slice to create a slice of likedArriveIntermediateType +func deserializeSliceLikedArriveIntermediateType(in []interface{}) (t []*likedArriveIntermediateType, err error) { + for _, i := range in { + tmp := &likedArriveIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedArriveIntermediateType will accept a likedArriveIntermediateType to create a map +func serializeLikedArriveIntermediateType(t *likedArriveIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedArriveIntermediateType will accept a slice of likedArriveIntermediateType to create a slice result +func serializeSliceLikedArriveIntermediateType(s []*likedArriveIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesArriveIntermediateType will accept a map to create a likesArriveIntermediateType +func deserializeLikesArriveIntermediateType(in interface{}) (t *likesArriveIntermediateType, err error) { + tmp := &likesArriveIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesArriveIntermediateType will accept a slice to create a slice of likesArriveIntermediateType +func deserializeSliceLikesArriveIntermediateType(in []interface{}) (t []*likesArriveIntermediateType, err error) { + for _, i := range in { + tmp := &likesArriveIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesArriveIntermediateType will accept a likesArriveIntermediateType to create a map +func serializeLikesArriveIntermediateType(t *likesArriveIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesArriveIntermediateType will accept a slice of likesArriveIntermediateType to create a slice result +func serializeSliceLikesArriveIntermediateType(s []*likesArriveIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameArriveIntermediateType will accept a map to create a preferredUsernameArriveIntermediateType func deserializePreferredUsernameArriveIntermediateType(in interface{}) (t *preferredUsernameArriveIntermediateType, err error) { tmp := &preferredUsernameArriveIntermediateType{} @@ -471288,6 +488540,90 @@ func serializeSliceSourceCreateIntermediateType(s []*sourceCreateIntermediateTyp } +// deserializelikedCreateIntermediateType will accept a map to create a likedCreateIntermediateType +func deserializeLikedCreateIntermediateType(in interface{}) (t *likedCreateIntermediateType, err error) { + tmp := &likedCreateIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedCreateIntermediateType will accept a slice to create a slice of likedCreateIntermediateType +func deserializeSliceLikedCreateIntermediateType(in []interface{}) (t []*likedCreateIntermediateType, err error) { + for _, i := range in { + tmp := &likedCreateIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedCreateIntermediateType will accept a likedCreateIntermediateType to create a map +func serializeLikedCreateIntermediateType(t *likedCreateIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedCreateIntermediateType will accept a slice of likedCreateIntermediateType to create a slice result +func serializeSliceLikedCreateIntermediateType(s []*likedCreateIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesCreateIntermediateType will accept a map to create a likesCreateIntermediateType +func deserializeLikesCreateIntermediateType(in interface{}) (t *likesCreateIntermediateType, err error) { + tmp := &likesCreateIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesCreateIntermediateType will accept a slice to create a slice of likesCreateIntermediateType +func deserializeSliceLikesCreateIntermediateType(in []interface{}) (t []*likesCreateIntermediateType, err error) { + for _, i := range in { + tmp := &likesCreateIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesCreateIntermediateType will accept a likesCreateIntermediateType to create a map +func serializeLikesCreateIntermediateType(t *likesCreateIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesCreateIntermediateType will accept a slice of likesCreateIntermediateType to create a slice result +func serializeSliceLikesCreateIntermediateType(s []*likesCreateIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameCreateIntermediateType will accept a map to create a preferredUsernameCreateIntermediateType func deserializePreferredUsernameCreateIntermediateType(in interface{}) (t *preferredUsernameCreateIntermediateType, err error) { tmp := &preferredUsernameCreateIntermediateType{} @@ -472800,6 +490136,90 @@ func serializeSliceSourceDeleteIntermediateType(s []*sourceDeleteIntermediateTyp } +// deserializelikedDeleteIntermediateType will accept a map to create a likedDeleteIntermediateType +func deserializeLikedDeleteIntermediateType(in interface{}) (t *likedDeleteIntermediateType, err error) { + tmp := &likedDeleteIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedDeleteIntermediateType will accept a slice to create a slice of likedDeleteIntermediateType +func deserializeSliceLikedDeleteIntermediateType(in []interface{}) (t []*likedDeleteIntermediateType, err error) { + for _, i := range in { + tmp := &likedDeleteIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedDeleteIntermediateType will accept a likedDeleteIntermediateType to create a map +func serializeLikedDeleteIntermediateType(t *likedDeleteIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedDeleteIntermediateType will accept a slice of likedDeleteIntermediateType to create a slice result +func serializeSliceLikedDeleteIntermediateType(s []*likedDeleteIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesDeleteIntermediateType will accept a map to create a likesDeleteIntermediateType +func deserializeLikesDeleteIntermediateType(in interface{}) (t *likesDeleteIntermediateType, err error) { + tmp := &likesDeleteIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesDeleteIntermediateType will accept a slice to create a slice of likesDeleteIntermediateType +func deserializeSliceLikesDeleteIntermediateType(in []interface{}) (t []*likesDeleteIntermediateType, err error) { + for _, i := range in { + tmp := &likesDeleteIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesDeleteIntermediateType will accept a likesDeleteIntermediateType to create a map +func serializeLikesDeleteIntermediateType(t *likesDeleteIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesDeleteIntermediateType will accept a slice of likesDeleteIntermediateType to create a slice result +func serializeSliceLikesDeleteIntermediateType(s []*likesDeleteIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameDeleteIntermediateType will accept a map to create a preferredUsernameDeleteIntermediateType func deserializePreferredUsernameDeleteIntermediateType(in interface{}) (t *preferredUsernameDeleteIntermediateType, err error) { tmp := &preferredUsernameDeleteIntermediateType{} @@ -474312,6 +491732,90 @@ func serializeSliceSourceFollowIntermediateType(s []*sourceFollowIntermediateTyp } +// deserializelikedFollowIntermediateType will accept a map to create a likedFollowIntermediateType +func deserializeLikedFollowIntermediateType(in interface{}) (t *likedFollowIntermediateType, err error) { + tmp := &likedFollowIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedFollowIntermediateType will accept a slice to create a slice of likedFollowIntermediateType +func deserializeSliceLikedFollowIntermediateType(in []interface{}) (t []*likedFollowIntermediateType, err error) { + for _, i := range in { + tmp := &likedFollowIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedFollowIntermediateType will accept a likedFollowIntermediateType to create a map +func serializeLikedFollowIntermediateType(t *likedFollowIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedFollowIntermediateType will accept a slice of likedFollowIntermediateType to create a slice result +func serializeSliceLikedFollowIntermediateType(s []*likedFollowIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesFollowIntermediateType will accept a map to create a likesFollowIntermediateType +func deserializeLikesFollowIntermediateType(in interface{}) (t *likesFollowIntermediateType, err error) { + tmp := &likesFollowIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesFollowIntermediateType will accept a slice to create a slice of likesFollowIntermediateType +func deserializeSliceLikesFollowIntermediateType(in []interface{}) (t []*likesFollowIntermediateType, err error) { + for _, i := range in { + tmp := &likesFollowIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesFollowIntermediateType will accept a likesFollowIntermediateType to create a map +func serializeLikesFollowIntermediateType(t *likesFollowIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesFollowIntermediateType will accept a slice of likesFollowIntermediateType to create a slice result +func serializeSliceLikesFollowIntermediateType(s []*likesFollowIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameFollowIntermediateType will accept a map to create a preferredUsernameFollowIntermediateType func deserializePreferredUsernameFollowIntermediateType(in interface{}) (t *preferredUsernameFollowIntermediateType, err error) { tmp := &preferredUsernameFollowIntermediateType{} @@ -475824,6 +493328,90 @@ func serializeSliceSourceIgnoreIntermediateType(s []*sourceIgnoreIntermediateTyp } +// deserializelikedIgnoreIntermediateType will accept a map to create a likedIgnoreIntermediateType +func deserializeLikedIgnoreIntermediateType(in interface{}) (t *likedIgnoreIntermediateType, err error) { + tmp := &likedIgnoreIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedIgnoreIntermediateType will accept a slice to create a slice of likedIgnoreIntermediateType +func deserializeSliceLikedIgnoreIntermediateType(in []interface{}) (t []*likedIgnoreIntermediateType, err error) { + for _, i := range in { + tmp := &likedIgnoreIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedIgnoreIntermediateType will accept a likedIgnoreIntermediateType to create a map +func serializeLikedIgnoreIntermediateType(t *likedIgnoreIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedIgnoreIntermediateType will accept a slice of likedIgnoreIntermediateType to create a slice result +func serializeSliceLikedIgnoreIntermediateType(s []*likedIgnoreIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesIgnoreIntermediateType will accept a map to create a likesIgnoreIntermediateType +func deserializeLikesIgnoreIntermediateType(in interface{}) (t *likesIgnoreIntermediateType, err error) { + tmp := &likesIgnoreIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesIgnoreIntermediateType will accept a slice to create a slice of likesIgnoreIntermediateType +func deserializeSliceLikesIgnoreIntermediateType(in []interface{}) (t []*likesIgnoreIntermediateType, err error) { + for _, i := range in { + tmp := &likesIgnoreIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesIgnoreIntermediateType will accept a likesIgnoreIntermediateType to create a map +func serializeLikesIgnoreIntermediateType(t *likesIgnoreIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesIgnoreIntermediateType will accept a slice of likesIgnoreIntermediateType to create a slice result +func serializeSliceLikesIgnoreIntermediateType(s []*likesIgnoreIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameIgnoreIntermediateType will accept a map to create a preferredUsernameIgnoreIntermediateType func deserializePreferredUsernameIgnoreIntermediateType(in interface{}) (t *preferredUsernameIgnoreIntermediateType, err error) { tmp := &preferredUsernameIgnoreIntermediateType{} @@ -477336,6 +494924,90 @@ func serializeSliceSourceJoinIntermediateType(s []*sourceJoinIntermediateType) ( } +// deserializelikedJoinIntermediateType will accept a map to create a likedJoinIntermediateType +func deserializeLikedJoinIntermediateType(in interface{}) (t *likedJoinIntermediateType, err error) { + tmp := &likedJoinIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedJoinIntermediateType will accept a slice to create a slice of likedJoinIntermediateType +func deserializeSliceLikedJoinIntermediateType(in []interface{}) (t []*likedJoinIntermediateType, err error) { + for _, i := range in { + tmp := &likedJoinIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedJoinIntermediateType will accept a likedJoinIntermediateType to create a map +func serializeLikedJoinIntermediateType(t *likedJoinIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedJoinIntermediateType will accept a slice of likedJoinIntermediateType to create a slice result +func serializeSliceLikedJoinIntermediateType(s []*likedJoinIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesJoinIntermediateType will accept a map to create a likesJoinIntermediateType +func deserializeLikesJoinIntermediateType(in interface{}) (t *likesJoinIntermediateType, err error) { + tmp := &likesJoinIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesJoinIntermediateType will accept a slice to create a slice of likesJoinIntermediateType +func deserializeSliceLikesJoinIntermediateType(in []interface{}) (t []*likesJoinIntermediateType, err error) { + for _, i := range in { + tmp := &likesJoinIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesJoinIntermediateType will accept a likesJoinIntermediateType to create a map +func serializeLikesJoinIntermediateType(t *likesJoinIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesJoinIntermediateType will accept a slice of likesJoinIntermediateType to create a slice result +func serializeSliceLikesJoinIntermediateType(s []*likesJoinIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameJoinIntermediateType will accept a map to create a preferredUsernameJoinIntermediateType func deserializePreferredUsernameJoinIntermediateType(in interface{}) (t *preferredUsernameJoinIntermediateType, err error) { tmp := &preferredUsernameJoinIntermediateType{} @@ -478848,6 +496520,90 @@ func serializeSliceSourceLeaveIntermediateType(s []*sourceLeaveIntermediateType) } +// deserializelikedLeaveIntermediateType will accept a map to create a likedLeaveIntermediateType +func deserializeLikedLeaveIntermediateType(in interface{}) (t *likedLeaveIntermediateType, err error) { + tmp := &likedLeaveIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedLeaveIntermediateType will accept a slice to create a slice of likedLeaveIntermediateType +func deserializeSliceLikedLeaveIntermediateType(in []interface{}) (t []*likedLeaveIntermediateType, err error) { + for _, i := range in { + tmp := &likedLeaveIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedLeaveIntermediateType will accept a likedLeaveIntermediateType to create a map +func serializeLikedLeaveIntermediateType(t *likedLeaveIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedLeaveIntermediateType will accept a slice of likedLeaveIntermediateType to create a slice result +func serializeSliceLikedLeaveIntermediateType(s []*likedLeaveIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesLeaveIntermediateType will accept a map to create a likesLeaveIntermediateType +func deserializeLikesLeaveIntermediateType(in interface{}) (t *likesLeaveIntermediateType, err error) { + tmp := &likesLeaveIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesLeaveIntermediateType will accept a slice to create a slice of likesLeaveIntermediateType +func deserializeSliceLikesLeaveIntermediateType(in []interface{}) (t []*likesLeaveIntermediateType, err error) { + for _, i := range in { + tmp := &likesLeaveIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesLeaveIntermediateType will accept a likesLeaveIntermediateType to create a map +func serializeLikesLeaveIntermediateType(t *likesLeaveIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesLeaveIntermediateType will accept a slice of likesLeaveIntermediateType to create a slice result +func serializeSliceLikesLeaveIntermediateType(s []*likesLeaveIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameLeaveIntermediateType will accept a map to create a preferredUsernameLeaveIntermediateType func deserializePreferredUsernameLeaveIntermediateType(in interface{}) (t *preferredUsernameLeaveIntermediateType, err error) { tmp := &preferredUsernameLeaveIntermediateType{} @@ -480360,6 +498116,90 @@ func serializeSliceSourceLikeIntermediateType(s []*sourceLikeIntermediateType) ( } +// deserializelikedLikeIntermediateType will accept a map to create a likedLikeIntermediateType +func deserializeLikedLikeIntermediateType(in interface{}) (t *likedLikeIntermediateType, err error) { + tmp := &likedLikeIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedLikeIntermediateType will accept a slice to create a slice of likedLikeIntermediateType +func deserializeSliceLikedLikeIntermediateType(in []interface{}) (t []*likedLikeIntermediateType, err error) { + for _, i := range in { + tmp := &likedLikeIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedLikeIntermediateType will accept a likedLikeIntermediateType to create a map +func serializeLikedLikeIntermediateType(t *likedLikeIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedLikeIntermediateType will accept a slice of likedLikeIntermediateType to create a slice result +func serializeSliceLikedLikeIntermediateType(s []*likedLikeIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesLikeIntermediateType will accept a map to create a likesLikeIntermediateType +func deserializeLikesLikeIntermediateType(in interface{}) (t *likesLikeIntermediateType, err error) { + tmp := &likesLikeIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesLikeIntermediateType will accept a slice to create a slice of likesLikeIntermediateType +func deserializeSliceLikesLikeIntermediateType(in []interface{}) (t []*likesLikeIntermediateType, err error) { + for _, i := range in { + tmp := &likesLikeIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesLikeIntermediateType will accept a likesLikeIntermediateType to create a map +func serializeLikesLikeIntermediateType(t *likesLikeIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesLikeIntermediateType will accept a slice of likesLikeIntermediateType to create a slice result +func serializeSliceLikesLikeIntermediateType(s []*likesLikeIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameLikeIntermediateType will accept a map to create a preferredUsernameLikeIntermediateType func deserializePreferredUsernameLikeIntermediateType(in interface{}) (t *preferredUsernameLikeIntermediateType, err error) { tmp := &preferredUsernameLikeIntermediateType{} @@ -481872,6 +499712,90 @@ func serializeSliceSourceOfferIntermediateType(s []*sourceOfferIntermediateType) } +// deserializelikedOfferIntermediateType will accept a map to create a likedOfferIntermediateType +func deserializeLikedOfferIntermediateType(in interface{}) (t *likedOfferIntermediateType, err error) { + tmp := &likedOfferIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedOfferIntermediateType will accept a slice to create a slice of likedOfferIntermediateType +func deserializeSliceLikedOfferIntermediateType(in []interface{}) (t []*likedOfferIntermediateType, err error) { + for _, i := range in { + tmp := &likedOfferIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedOfferIntermediateType will accept a likedOfferIntermediateType to create a map +func serializeLikedOfferIntermediateType(t *likedOfferIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedOfferIntermediateType will accept a slice of likedOfferIntermediateType to create a slice result +func serializeSliceLikedOfferIntermediateType(s []*likedOfferIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesOfferIntermediateType will accept a map to create a likesOfferIntermediateType +func deserializeLikesOfferIntermediateType(in interface{}) (t *likesOfferIntermediateType, err error) { + tmp := &likesOfferIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesOfferIntermediateType will accept a slice to create a slice of likesOfferIntermediateType +func deserializeSliceLikesOfferIntermediateType(in []interface{}) (t []*likesOfferIntermediateType, err error) { + for _, i := range in { + tmp := &likesOfferIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesOfferIntermediateType will accept a likesOfferIntermediateType to create a map +func serializeLikesOfferIntermediateType(t *likesOfferIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesOfferIntermediateType will accept a slice of likesOfferIntermediateType to create a slice result +func serializeSliceLikesOfferIntermediateType(s []*likesOfferIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameOfferIntermediateType will accept a map to create a preferredUsernameOfferIntermediateType func deserializePreferredUsernameOfferIntermediateType(in interface{}) (t *preferredUsernameOfferIntermediateType, err error) { tmp := &preferredUsernameOfferIntermediateType{} @@ -483384,6 +501308,90 @@ func serializeSliceSourceInviteIntermediateType(s []*sourceInviteIntermediateTyp } +// deserializelikedInviteIntermediateType will accept a map to create a likedInviteIntermediateType +func deserializeLikedInviteIntermediateType(in interface{}) (t *likedInviteIntermediateType, err error) { + tmp := &likedInviteIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedInviteIntermediateType will accept a slice to create a slice of likedInviteIntermediateType +func deserializeSliceLikedInviteIntermediateType(in []interface{}) (t []*likedInviteIntermediateType, err error) { + for _, i := range in { + tmp := &likedInviteIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedInviteIntermediateType will accept a likedInviteIntermediateType to create a map +func serializeLikedInviteIntermediateType(t *likedInviteIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedInviteIntermediateType will accept a slice of likedInviteIntermediateType to create a slice result +func serializeSliceLikedInviteIntermediateType(s []*likedInviteIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesInviteIntermediateType will accept a map to create a likesInviteIntermediateType +func deserializeLikesInviteIntermediateType(in interface{}) (t *likesInviteIntermediateType, err error) { + tmp := &likesInviteIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesInviteIntermediateType will accept a slice to create a slice of likesInviteIntermediateType +func deserializeSliceLikesInviteIntermediateType(in []interface{}) (t []*likesInviteIntermediateType, err error) { + for _, i := range in { + tmp := &likesInviteIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesInviteIntermediateType will accept a likesInviteIntermediateType to create a map +func serializeLikesInviteIntermediateType(t *likesInviteIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesInviteIntermediateType will accept a slice of likesInviteIntermediateType to create a slice result +func serializeSliceLikesInviteIntermediateType(s []*likesInviteIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameInviteIntermediateType will accept a map to create a preferredUsernameInviteIntermediateType func deserializePreferredUsernameInviteIntermediateType(in interface{}) (t *preferredUsernameInviteIntermediateType, err error) { tmp := &preferredUsernameInviteIntermediateType{} @@ -484896,6 +502904,90 @@ func serializeSliceSourceRejectIntermediateType(s []*sourceRejectIntermediateTyp } +// deserializelikedRejectIntermediateType will accept a map to create a likedRejectIntermediateType +func deserializeLikedRejectIntermediateType(in interface{}) (t *likedRejectIntermediateType, err error) { + tmp := &likedRejectIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedRejectIntermediateType will accept a slice to create a slice of likedRejectIntermediateType +func deserializeSliceLikedRejectIntermediateType(in []interface{}) (t []*likedRejectIntermediateType, err error) { + for _, i := range in { + tmp := &likedRejectIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedRejectIntermediateType will accept a likedRejectIntermediateType to create a map +func serializeLikedRejectIntermediateType(t *likedRejectIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedRejectIntermediateType will accept a slice of likedRejectIntermediateType to create a slice result +func serializeSliceLikedRejectIntermediateType(s []*likedRejectIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesRejectIntermediateType will accept a map to create a likesRejectIntermediateType +func deserializeLikesRejectIntermediateType(in interface{}) (t *likesRejectIntermediateType, err error) { + tmp := &likesRejectIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesRejectIntermediateType will accept a slice to create a slice of likesRejectIntermediateType +func deserializeSliceLikesRejectIntermediateType(in []interface{}) (t []*likesRejectIntermediateType, err error) { + for _, i := range in { + tmp := &likesRejectIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesRejectIntermediateType will accept a likesRejectIntermediateType to create a map +func serializeLikesRejectIntermediateType(t *likesRejectIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesRejectIntermediateType will accept a slice of likesRejectIntermediateType to create a slice result +func serializeSliceLikesRejectIntermediateType(s []*likesRejectIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameRejectIntermediateType will accept a map to create a preferredUsernameRejectIntermediateType func deserializePreferredUsernameRejectIntermediateType(in interface{}) (t *preferredUsernameRejectIntermediateType, err error) { tmp := &preferredUsernameRejectIntermediateType{} @@ -486408,6 +504500,90 @@ func serializeSliceSourceTentativeRejectIntermediateType(s []*sourceTentativeRej } +// deserializelikedTentativeRejectIntermediateType will accept a map to create a likedTentativeRejectIntermediateType +func deserializeLikedTentativeRejectIntermediateType(in interface{}) (t *likedTentativeRejectIntermediateType, err error) { + tmp := &likedTentativeRejectIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedTentativeRejectIntermediateType will accept a slice to create a slice of likedTentativeRejectIntermediateType +func deserializeSliceLikedTentativeRejectIntermediateType(in []interface{}) (t []*likedTentativeRejectIntermediateType, err error) { + for _, i := range in { + tmp := &likedTentativeRejectIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedTentativeRejectIntermediateType will accept a likedTentativeRejectIntermediateType to create a map +func serializeLikedTentativeRejectIntermediateType(t *likedTentativeRejectIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedTentativeRejectIntermediateType will accept a slice of likedTentativeRejectIntermediateType to create a slice result +func serializeSliceLikedTentativeRejectIntermediateType(s []*likedTentativeRejectIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesTentativeRejectIntermediateType will accept a map to create a likesTentativeRejectIntermediateType +func deserializeLikesTentativeRejectIntermediateType(in interface{}) (t *likesTentativeRejectIntermediateType, err error) { + tmp := &likesTentativeRejectIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesTentativeRejectIntermediateType will accept a slice to create a slice of likesTentativeRejectIntermediateType +func deserializeSliceLikesTentativeRejectIntermediateType(in []interface{}) (t []*likesTentativeRejectIntermediateType, err error) { + for _, i := range in { + tmp := &likesTentativeRejectIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesTentativeRejectIntermediateType will accept a likesTentativeRejectIntermediateType to create a map +func serializeLikesTentativeRejectIntermediateType(t *likesTentativeRejectIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesTentativeRejectIntermediateType will accept a slice of likesTentativeRejectIntermediateType to create a slice result +func serializeSliceLikesTentativeRejectIntermediateType(s []*likesTentativeRejectIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameTentativeRejectIntermediateType will accept a map to create a preferredUsernameTentativeRejectIntermediateType func deserializePreferredUsernameTentativeRejectIntermediateType(in interface{}) (t *preferredUsernameTentativeRejectIntermediateType, err error) { tmp := &preferredUsernameTentativeRejectIntermediateType{} @@ -487920,6 +506096,90 @@ func serializeSliceSourceRemoveIntermediateType(s []*sourceRemoveIntermediateTyp } +// deserializelikedRemoveIntermediateType will accept a map to create a likedRemoveIntermediateType +func deserializeLikedRemoveIntermediateType(in interface{}) (t *likedRemoveIntermediateType, err error) { + tmp := &likedRemoveIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedRemoveIntermediateType will accept a slice to create a slice of likedRemoveIntermediateType +func deserializeSliceLikedRemoveIntermediateType(in []interface{}) (t []*likedRemoveIntermediateType, err error) { + for _, i := range in { + tmp := &likedRemoveIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedRemoveIntermediateType will accept a likedRemoveIntermediateType to create a map +func serializeLikedRemoveIntermediateType(t *likedRemoveIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedRemoveIntermediateType will accept a slice of likedRemoveIntermediateType to create a slice result +func serializeSliceLikedRemoveIntermediateType(s []*likedRemoveIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesRemoveIntermediateType will accept a map to create a likesRemoveIntermediateType +func deserializeLikesRemoveIntermediateType(in interface{}) (t *likesRemoveIntermediateType, err error) { + tmp := &likesRemoveIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesRemoveIntermediateType will accept a slice to create a slice of likesRemoveIntermediateType +func deserializeSliceLikesRemoveIntermediateType(in []interface{}) (t []*likesRemoveIntermediateType, err error) { + for _, i := range in { + tmp := &likesRemoveIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesRemoveIntermediateType will accept a likesRemoveIntermediateType to create a map +func serializeLikesRemoveIntermediateType(t *likesRemoveIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesRemoveIntermediateType will accept a slice of likesRemoveIntermediateType to create a slice result +func serializeSliceLikesRemoveIntermediateType(s []*likesRemoveIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameRemoveIntermediateType will accept a map to create a preferredUsernameRemoveIntermediateType func deserializePreferredUsernameRemoveIntermediateType(in interface{}) (t *preferredUsernameRemoveIntermediateType, err error) { tmp := &preferredUsernameRemoveIntermediateType{} @@ -489432,6 +507692,90 @@ func serializeSliceSourceUndoIntermediateType(s []*sourceUndoIntermediateType) ( } +// deserializelikedUndoIntermediateType will accept a map to create a likedUndoIntermediateType +func deserializeLikedUndoIntermediateType(in interface{}) (t *likedUndoIntermediateType, err error) { + tmp := &likedUndoIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedUndoIntermediateType will accept a slice to create a slice of likedUndoIntermediateType +func deserializeSliceLikedUndoIntermediateType(in []interface{}) (t []*likedUndoIntermediateType, err error) { + for _, i := range in { + tmp := &likedUndoIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedUndoIntermediateType will accept a likedUndoIntermediateType to create a map +func serializeLikedUndoIntermediateType(t *likedUndoIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedUndoIntermediateType will accept a slice of likedUndoIntermediateType to create a slice result +func serializeSliceLikedUndoIntermediateType(s []*likedUndoIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesUndoIntermediateType will accept a map to create a likesUndoIntermediateType +func deserializeLikesUndoIntermediateType(in interface{}) (t *likesUndoIntermediateType, err error) { + tmp := &likesUndoIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesUndoIntermediateType will accept a slice to create a slice of likesUndoIntermediateType +func deserializeSliceLikesUndoIntermediateType(in []interface{}) (t []*likesUndoIntermediateType, err error) { + for _, i := range in { + tmp := &likesUndoIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesUndoIntermediateType will accept a likesUndoIntermediateType to create a map +func serializeLikesUndoIntermediateType(t *likesUndoIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesUndoIntermediateType will accept a slice of likesUndoIntermediateType to create a slice result +func serializeSliceLikesUndoIntermediateType(s []*likesUndoIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameUndoIntermediateType will accept a map to create a preferredUsernameUndoIntermediateType func deserializePreferredUsernameUndoIntermediateType(in interface{}) (t *preferredUsernameUndoIntermediateType, err error) { tmp := &preferredUsernameUndoIntermediateType{} @@ -490944,6 +509288,90 @@ func serializeSliceSourceUpdateIntermediateType(s []*sourceUpdateIntermediateTyp } +// deserializelikedUpdateIntermediateType will accept a map to create a likedUpdateIntermediateType +func deserializeLikedUpdateIntermediateType(in interface{}) (t *likedUpdateIntermediateType, err error) { + tmp := &likedUpdateIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedUpdateIntermediateType will accept a slice to create a slice of likedUpdateIntermediateType +func deserializeSliceLikedUpdateIntermediateType(in []interface{}) (t []*likedUpdateIntermediateType, err error) { + for _, i := range in { + tmp := &likedUpdateIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedUpdateIntermediateType will accept a likedUpdateIntermediateType to create a map +func serializeLikedUpdateIntermediateType(t *likedUpdateIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedUpdateIntermediateType will accept a slice of likedUpdateIntermediateType to create a slice result +func serializeSliceLikedUpdateIntermediateType(s []*likedUpdateIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesUpdateIntermediateType will accept a map to create a likesUpdateIntermediateType +func deserializeLikesUpdateIntermediateType(in interface{}) (t *likesUpdateIntermediateType, err error) { + tmp := &likesUpdateIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesUpdateIntermediateType will accept a slice to create a slice of likesUpdateIntermediateType +func deserializeSliceLikesUpdateIntermediateType(in []interface{}) (t []*likesUpdateIntermediateType, err error) { + for _, i := range in { + tmp := &likesUpdateIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesUpdateIntermediateType will accept a likesUpdateIntermediateType to create a map +func serializeLikesUpdateIntermediateType(t *likesUpdateIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesUpdateIntermediateType will accept a slice of likesUpdateIntermediateType to create a slice result +func serializeSliceLikesUpdateIntermediateType(s []*likesUpdateIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameUpdateIntermediateType will accept a map to create a preferredUsernameUpdateIntermediateType func deserializePreferredUsernameUpdateIntermediateType(in interface{}) (t *preferredUsernameUpdateIntermediateType, err error) { tmp := &preferredUsernameUpdateIntermediateType{} @@ -492456,6 +510884,90 @@ func serializeSliceSourceViewIntermediateType(s []*sourceViewIntermediateType) ( } +// deserializelikedViewIntermediateType will accept a map to create a likedViewIntermediateType +func deserializeLikedViewIntermediateType(in interface{}) (t *likedViewIntermediateType, err error) { + tmp := &likedViewIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedViewIntermediateType will accept a slice to create a slice of likedViewIntermediateType +func deserializeSliceLikedViewIntermediateType(in []interface{}) (t []*likedViewIntermediateType, err error) { + for _, i := range in { + tmp := &likedViewIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedViewIntermediateType will accept a likedViewIntermediateType to create a map +func serializeLikedViewIntermediateType(t *likedViewIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedViewIntermediateType will accept a slice of likedViewIntermediateType to create a slice result +func serializeSliceLikedViewIntermediateType(s []*likedViewIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesViewIntermediateType will accept a map to create a likesViewIntermediateType +func deserializeLikesViewIntermediateType(in interface{}) (t *likesViewIntermediateType, err error) { + tmp := &likesViewIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesViewIntermediateType will accept a slice to create a slice of likesViewIntermediateType +func deserializeSliceLikesViewIntermediateType(in []interface{}) (t []*likesViewIntermediateType, err error) { + for _, i := range in { + tmp := &likesViewIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesViewIntermediateType will accept a likesViewIntermediateType to create a map +func serializeLikesViewIntermediateType(t *likesViewIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesViewIntermediateType will accept a slice of likesViewIntermediateType to create a slice result +func serializeSliceLikesViewIntermediateType(s []*likesViewIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameViewIntermediateType will accept a map to create a preferredUsernameViewIntermediateType func deserializePreferredUsernameViewIntermediateType(in interface{}) (t *preferredUsernameViewIntermediateType, err error) { tmp := &preferredUsernameViewIntermediateType{} @@ -493968,6 +512480,90 @@ func serializeSliceSourceListenIntermediateType(s []*sourceListenIntermediateTyp } +// deserializelikedListenIntermediateType will accept a map to create a likedListenIntermediateType +func deserializeLikedListenIntermediateType(in interface{}) (t *likedListenIntermediateType, err error) { + tmp := &likedListenIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedListenIntermediateType will accept a slice to create a slice of likedListenIntermediateType +func deserializeSliceLikedListenIntermediateType(in []interface{}) (t []*likedListenIntermediateType, err error) { + for _, i := range in { + tmp := &likedListenIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedListenIntermediateType will accept a likedListenIntermediateType to create a map +func serializeLikedListenIntermediateType(t *likedListenIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedListenIntermediateType will accept a slice of likedListenIntermediateType to create a slice result +func serializeSliceLikedListenIntermediateType(s []*likedListenIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesListenIntermediateType will accept a map to create a likesListenIntermediateType +func deserializeLikesListenIntermediateType(in interface{}) (t *likesListenIntermediateType, err error) { + tmp := &likesListenIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesListenIntermediateType will accept a slice to create a slice of likesListenIntermediateType +func deserializeSliceLikesListenIntermediateType(in []interface{}) (t []*likesListenIntermediateType, err error) { + for _, i := range in { + tmp := &likesListenIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesListenIntermediateType will accept a likesListenIntermediateType to create a map +func serializeLikesListenIntermediateType(t *likesListenIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesListenIntermediateType will accept a slice of likesListenIntermediateType to create a slice result +func serializeSliceLikesListenIntermediateType(s []*likesListenIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameListenIntermediateType will accept a map to create a preferredUsernameListenIntermediateType func deserializePreferredUsernameListenIntermediateType(in interface{}) (t *preferredUsernameListenIntermediateType, err error) { tmp := &preferredUsernameListenIntermediateType{} @@ -495480,6 +514076,90 @@ func serializeSliceSourceReadIntermediateType(s []*sourceReadIntermediateType) ( } +// deserializelikedReadIntermediateType will accept a map to create a likedReadIntermediateType +func deserializeLikedReadIntermediateType(in interface{}) (t *likedReadIntermediateType, err error) { + tmp := &likedReadIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedReadIntermediateType will accept a slice to create a slice of likedReadIntermediateType +func deserializeSliceLikedReadIntermediateType(in []interface{}) (t []*likedReadIntermediateType, err error) { + for _, i := range in { + tmp := &likedReadIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedReadIntermediateType will accept a likedReadIntermediateType to create a map +func serializeLikedReadIntermediateType(t *likedReadIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedReadIntermediateType will accept a slice of likedReadIntermediateType to create a slice result +func serializeSliceLikedReadIntermediateType(s []*likedReadIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesReadIntermediateType will accept a map to create a likesReadIntermediateType +func deserializeLikesReadIntermediateType(in interface{}) (t *likesReadIntermediateType, err error) { + tmp := &likesReadIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesReadIntermediateType will accept a slice to create a slice of likesReadIntermediateType +func deserializeSliceLikesReadIntermediateType(in []interface{}) (t []*likesReadIntermediateType, err error) { + for _, i := range in { + tmp := &likesReadIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesReadIntermediateType will accept a likesReadIntermediateType to create a map +func serializeLikesReadIntermediateType(t *likesReadIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesReadIntermediateType will accept a slice of likesReadIntermediateType to create a slice result +func serializeSliceLikesReadIntermediateType(s []*likesReadIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameReadIntermediateType will accept a map to create a preferredUsernameReadIntermediateType func deserializePreferredUsernameReadIntermediateType(in interface{}) (t *preferredUsernameReadIntermediateType, err error) { tmp := &preferredUsernameReadIntermediateType{} @@ -496992,6 +515672,90 @@ func serializeSliceSourceMoveIntermediateType(s []*sourceMoveIntermediateType) ( } +// deserializelikedMoveIntermediateType will accept a map to create a likedMoveIntermediateType +func deserializeLikedMoveIntermediateType(in interface{}) (t *likedMoveIntermediateType, err error) { + tmp := &likedMoveIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedMoveIntermediateType will accept a slice to create a slice of likedMoveIntermediateType +func deserializeSliceLikedMoveIntermediateType(in []interface{}) (t []*likedMoveIntermediateType, err error) { + for _, i := range in { + tmp := &likedMoveIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedMoveIntermediateType will accept a likedMoveIntermediateType to create a map +func serializeLikedMoveIntermediateType(t *likedMoveIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedMoveIntermediateType will accept a slice of likedMoveIntermediateType to create a slice result +func serializeSliceLikedMoveIntermediateType(s []*likedMoveIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesMoveIntermediateType will accept a map to create a likesMoveIntermediateType +func deserializeLikesMoveIntermediateType(in interface{}) (t *likesMoveIntermediateType, err error) { + tmp := &likesMoveIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesMoveIntermediateType will accept a slice to create a slice of likesMoveIntermediateType +func deserializeSliceLikesMoveIntermediateType(in []interface{}) (t []*likesMoveIntermediateType, err error) { + for _, i := range in { + tmp := &likesMoveIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesMoveIntermediateType will accept a likesMoveIntermediateType to create a map +func serializeLikesMoveIntermediateType(t *likesMoveIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesMoveIntermediateType will accept a slice of likesMoveIntermediateType to create a slice result +func serializeSliceLikesMoveIntermediateType(s []*likesMoveIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameMoveIntermediateType will accept a map to create a preferredUsernameMoveIntermediateType func deserializePreferredUsernameMoveIntermediateType(in interface{}) (t *preferredUsernameMoveIntermediateType, err error) { tmp := &preferredUsernameMoveIntermediateType{} @@ -498462,6 +517226,90 @@ func serializeSliceSourceTravelIntermediateType(s []*sourceTravelIntermediateTyp } +// deserializelikedTravelIntermediateType will accept a map to create a likedTravelIntermediateType +func deserializeLikedTravelIntermediateType(in interface{}) (t *likedTravelIntermediateType, err error) { + tmp := &likedTravelIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedTravelIntermediateType will accept a slice to create a slice of likedTravelIntermediateType +func deserializeSliceLikedTravelIntermediateType(in []interface{}) (t []*likedTravelIntermediateType, err error) { + for _, i := range in { + tmp := &likedTravelIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedTravelIntermediateType will accept a likedTravelIntermediateType to create a map +func serializeLikedTravelIntermediateType(t *likedTravelIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedTravelIntermediateType will accept a slice of likedTravelIntermediateType to create a slice result +func serializeSliceLikedTravelIntermediateType(s []*likedTravelIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesTravelIntermediateType will accept a map to create a likesTravelIntermediateType +func deserializeLikesTravelIntermediateType(in interface{}) (t *likesTravelIntermediateType, err error) { + tmp := &likesTravelIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesTravelIntermediateType will accept a slice to create a slice of likesTravelIntermediateType +func deserializeSliceLikesTravelIntermediateType(in []interface{}) (t []*likesTravelIntermediateType, err error) { + for _, i := range in { + tmp := &likesTravelIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesTravelIntermediateType will accept a likesTravelIntermediateType to create a map +func serializeLikesTravelIntermediateType(t *likesTravelIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesTravelIntermediateType will accept a slice of likesTravelIntermediateType to create a slice result +func serializeSliceLikesTravelIntermediateType(s []*likesTravelIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameTravelIntermediateType will accept a map to create a preferredUsernameTravelIntermediateType func deserializePreferredUsernameTravelIntermediateType(in interface{}) (t *preferredUsernameTravelIntermediateType, err error) { tmp := &preferredUsernameTravelIntermediateType{} @@ -499974,6 +518822,90 @@ func serializeSliceSourceAnnounceIntermediateType(s []*sourceAnnounceIntermediat } +// deserializelikedAnnounceIntermediateType will accept a map to create a likedAnnounceIntermediateType +func deserializeLikedAnnounceIntermediateType(in interface{}) (t *likedAnnounceIntermediateType, err error) { + tmp := &likedAnnounceIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedAnnounceIntermediateType will accept a slice to create a slice of likedAnnounceIntermediateType +func deserializeSliceLikedAnnounceIntermediateType(in []interface{}) (t []*likedAnnounceIntermediateType, err error) { + for _, i := range in { + tmp := &likedAnnounceIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedAnnounceIntermediateType will accept a likedAnnounceIntermediateType to create a map +func serializeLikedAnnounceIntermediateType(t *likedAnnounceIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedAnnounceIntermediateType will accept a slice of likedAnnounceIntermediateType to create a slice result +func serializeSliceLikedAnnounceIntermediateType(s []*likedAnnounceIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesAnnounceIntermediateType will accept a map to create a likesAnnounceIntermediateType +func deserializeLikesAnnounceIntermediateType(in interface{}) (t *likesAnnounceIntermediateType, err error) { + tmp := &likesAnnounceIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesAnnounceIntermediateType will accept a slice to create a slice of likesAnnounceIntermediateType +func deserializeSliceLikesAnnounceIntermediateType(in []interface{}) (t []*likesAnnounceIntermediateType, err error) { + for _, i := range in { + tmp := &likesAnnounceIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesAnnounceIntermediateType will accept a likesAnnounceIntermediateType to create a map +func serializeLikesAnnounceIntermediateType(t *likesAnnounceIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesAnnounceIntermediateType will accept a slice of likesAnnounceIntermediateType to create a slice result +func serializeSliceLikesAnnounceIntermediateType(s []*likesAnnounceIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameAnnounceIntermediateType will accept a map to create a preferredUsernameAnnounceIntermediateType func deserializePreferredUsernameAnnounceIntermediateType(in interface{}) (t *preferredUsernameAnnounceIntermediateType, err error) { tmp := &preferredUsernameAnnounceIntermediateType{} @@ -501486,6 +520418,90 @@ func serializeSliceSourceBlockIntermediateType(s []*sourceBlockIntermediateType) } +// deserializelikedBlockIntermediateType will accept a map to create a likedBlockIntermediateType +func deserializeLikedBlockIntermediateType(in interface{}) (t *likedBlockIntermediateType, err error) { + tmp := &likedBlockIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedBlockIntermediateType will accept a slice to create a slice of likedBlockIntermediateType +func deserializeSliceLikedBlockIntermediateType(in []interface{}) (t []*likedBlockIntermediateType, err error) { + for _, i := range in { + tmp := &likedBlockIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedBlockIntermediateType will accept a likedBlockIntermediateType to create a map +func serializeLikedBlockIntermediateType(t *likedBlockIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedBlockIntermediateType will accept a slice of likedBlockIntermediateType to create a slice result +func serializeSliceLikedBlockIntermediateType(s []*likedBlockIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesBlockIntermediateType will accept a map to create a likesBlockIntermediateType +func deserializeLikesBlockIntermediateType(in interface{}) (t *likesBlockIntermediateType, err error) { + tmp := &likesBlockIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesBlockIntermediateType will accept a slice to create a slice of likesBlockIntermediateType +func deserializeSliceLikesBlockIntermediateType(in []interface{}) (t []*likesBlockIntermediateType, err error) { + for _, i := range in { + tmp := &likesBlockIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesBlockIntermediateType will accept a likesBlockIntermediateType to create a map +func serializeLikesBlockIntermediateType(t *likesBlockIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesBlockIntermediateType will accept a slice of likesBlockIntermediateType to create a slice result +func serializeSliceLikesBlockIntermediateType(s []*likesBlockIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameBlockIntermediateType will accept a map to create a preferredUsernameBlockIntermediateType func deserializePreferredUsernameBlockIntermediateType(in interface{}) (t *preferredUsernameBlockIntermediateType, err error) { tmp := &preferredUsernameBlockIntermediateType{} @@ -502998,6 +522014,90 @@ func serializeSliceSourceFlagIntermediateType(s []*sourceFlagIntermediateType) ( } +// deserializelikedFlagIntermediateType will accept a map to create a likedFlagIntermediateType +func deserializeLikedFlagIntermediateType(in interface{}) (t *likedFlagIntermediateType, err error) { + tmp := &likedFlagIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedFlagIntermediateType will accept a slice to create a slice of likedFlagIntermediateType +func deserializeSliceLikedFlagIntermediateType(in []interface{}) (t []*likedFlagIntermediateType, err error) { + for _, i := range in { + tmp := &likedFlagIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedFlagIntermediateType will accept a likedFlagIntermediateType to create a map +func serializeLikedFlagIntermediateType(t *likedFlagIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedFlagIntermediateType will accept a slice of likedFlagIntermediateType to create a slice result +func serializeSliceLikedFlagIntermediateType(s []*likedFlagIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesFlagIntermediateType will accept a map to create a likesFlagIntermediateType +func deserializeLikesFlagIntermediateType(in interface{}) (t *likesFlagIntermediateType, err error) { + tmp := &likesFlagIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesFlagIntermediateType will accept a slice to create a slice of likesFlagIntermediateType +func deserializeSliceLikesFlagIntermediateType(in []interface{}) (t []*likesFlagIntermediateType, err error) { + for _, i := range in { + tmp := &likesFlagIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesFlagIntermediateType will accept a likesFlagIntermediateType to create a map +func serializeLikesFlagIntermediateType(t *likesFlagIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesFlagIntermediateType will accept a slice of likesFlagIntermediateType to create a slice result +func serializeSliceLikesFlagIntermediateType(s []*likesFlagIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameFlagIntermediateType will accept a map to create a preferredUsernameFlagIntermediateType func deserializePreferredUsernameFlagIntermediateType(in interface{}) (t *preferredUsernameFlagIntermediateType, err error) { tmp := &preferredUsernameFlagIntermediateType{} @@ -504510,6 +523610,90 @@ func serializeSliceSourceDislikeIntermediateType(s []*sourceDislikeIntermediateT } +// deserializelikedDislikeIntermediateType will accept a map to create a likedDislikeIntermediateType +func deserializeLikedDislikeIntermediateType(in interface{}) (t *likedDislikeIntermediateType, err error) { + tmp := &likedDislikeIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedDislikeIntermediateType will accept a slice to create a slice of likedDislikeIntermediateType +func deserializeSliceLikedDislikeIntermediateType(in []interface{}) (t []*likedDislikeIntermediateType, err error) { + for _, i := range in { + tmp := &likedDislikeIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedDislikeIntermediateType will accept a likedDislikeIntermediateType to create a map +func serializeLikedDislikeIntermediateType(t *likedDislikeIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedDislikeIntermediateType will accept a slice of likedDislikeIntermediateType to create a slice result +func serializeSliceLikedDislikeIntermediateType(s []*likedDislikeIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesDislikeIntermediateType will accept a map to create a likesDislikeIntermediateType +func deserializeLikesDislikeIntermediateType(in interface{}) (t *likesDislikeIntermediateType, err error) { + tmp := &likesDislikeIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesDislikeIntermediateType will accept a slice to create a slice of likesDislikeIntermediateType +func deserializeSliceLikesDislikeIntermediateType(in []interface{}) (t []*likesDislikeIntermediateType, err error) { + for _, i := range in { + tmp := &likesDislikeIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesDislikeIntermediateType will accept a likesDislikeIntermediateType to create a map +func serializeLikesDislikeIntermediateType(t *likesDislikeIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesDislikeIntermediateType will accept a slice of likesDislikeIntermediateType to create a slice result +func serializeSliceLikesDislikeIntermediateType(s []*likesDislikeIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameDislikeIntermediateType will accept a map to create a preferredUsernameDislikeIntermediateType func deserializePreferredUsernameDislikeIntermediateType(in interface{}) (t *preferredUsernameDislikeIntermediateType, err error) { tmp := &preferredUsernameDislikeIntermediateType{} @@ -506106,6 +525290,90 @@ func serializeSliceSourceQuestionIntermediateType(s []*sourceQuestionIntermediat } +// deserializelikedQuestionIntermediateType will accept a map to create a likedQuestionIntermediateType +func deserializeLikedQuestionIntermediateType(in interface{}) (t *likedQuestionIntermediateType, err error) { + tmp := &likedQuestionIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedQuestionIntermediateType will accept a slice to create a slice of likedQuestionIntermediateType +func deserializeSliceLikedQuestionIntermediateType(in []interface{}) (t []*likedQuestionIntermediateType, err error) { + for _, i := range in { + tmp := &likedQuestionIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedQuestionIntermediateType will accept a likedQuestionIntermediateType to create a map +func serializeLikedQuestionIntermediateType(t *likedQuestionIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedQuestionIntermediateType will accept a slice of likedQuestionIntermediateType to create a slice result +func serializeSliceLikedQuestionIntermediateType(s []*likedQuestionIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesQuestionIntermediateType will accept a map to create a likesQuestionIntermediateType +func deserializeLikesQuestionIntermediateType(in interface{}) (t *likesQuestionIntermediateType, err error) { + tmp := &likesQuestionIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesQuestionIntermediateType will accept a slice to create a slice of likesQuestionIntermediateType +func deserializeSliceLikesQuestionIntermediateType(in []interface{}) (t []*likesQuestionIntermediateType, err error) { + for _, i := range in { + tmp := &likesQuestionIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesQuestionIntermediateType will accept a likesQuestionIntermediateType to create a map +func serializeLikesQuestionIntermediateType(t *likesQuestionIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesQuestionIntermediateType will accept a slice of likesQuestionIntermediateType to create a slice result +func serializeSliceLikesQuestionIntermediateType(s []*likesQuestionIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameQuestionIntermediateType will accept a map to create a preferredUsernameQuestionIntermediateType func deserializePreferredUsernameQuestionIntermediateType(in interface{}) (t *preferredUsernameQuestionIntermediateType, err error) { tmp := &preferredUsernameQuestionIntermediateType{} @@ -507366,6 +526634,90 @@ func serializeSliceSourceApplicationIntermediateType(s []*sourceApplicationInter } +// deserializelikedApplicationIntermediateType will accept a map to create a likedApplicationIntermediateType +func deserializeLikedApplicationIntermediateType(in interface{}) (t *likedApplicationIntermediateType, err error) { + tmp := &likedApplicationIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedApplicationIntermediateType will accept a slice to create a slice of likedApplicationIntermediateType +func deserializeSliceLikedApplicationIntermediateType(in []interface{}) (t []*likedApplicationIntermediateType, err error) { + for _, i := range in { + tmp := &likedApplicationIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedApplicationIntermediateType will accept a likedApplicationIntermediateType to create a map +func serializeLikedApplicationIntermediateType(t *likedApplicationIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedApplicationIntermediateType will accept a slice of likedApplicationIntermediateType to create a slice result +func serializeSliceLikedApplicationIntermediateType(s []*likedApplicationIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesApplicationIntermediateType will accept a map to create a likesApplicationIntermediateType +func deserializeLikesApplicationIntermediateType(in interface{}) (t *likesApplicationIntermediateType, err error) { + tmp := &likesApplicationIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesApplicationIntermediateType will accept a slice to create a slice of likesApplicationIntermediateType +func deserializeSliceLikesApplicationIntermediateType(in []interface{}) (t []*likesApplicationIntermediateType, err error) { + for _, i := range in { + tmp := &likesApplicationIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesApplicationIntermediateType will accept a likesApplicationIntermediateType to create a map +func serializeLikesApplicationIntermediateType(t *likesApplicationIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesApplicationIntermediateType will accept a slice of likesApplicationIntermediateType to create a slice result +func serializeSliceLikesApplicationIntermediateType(s []*likesApplicationIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameApplicationIntermediateType will accept a map to create a preferredUsernameApplicationIntermediateType func deserializePreferredUsernameApplicationIntermediateType(in interface{}) (t *preferredUsernameApplicationIntermediateType, err error) { tmp := &preferredUsernameApplicationIntermediateType{} @@ -508626,6 +527978,90 @@ func serializeSliceSourceGroupIntermediateType(s []*sourceGroupIntermediateType) } +// deserializelikedGroupIntermediateType will accept a map to create a likedGroupIntermediateType +func deserializeLikedGroupIntermediateType(in interface{}) (t *likedGroupIntermediateType, err error) { + tmp := &likedGroupIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedGroupIntermediateType will accept a slice to create a slice of likedGroupIntermediateType +func deserializeSliceLikedGroupIntermediateType(in []interface{}) (t []*likedGroupIntermediateType, err error) { + for _, i := range in { + tmp := &likedGroupIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedGroupIntermediateType will accept a likedGroupIntermediateType to create a map +func serializeLikedGroupIntermediateType(t *likedGroupIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedGroupIntermediateType will accept a slice of likedGroupIntermediateType to create a slice result +func serializeSliceLikedGroupIntermediateType(s []*likedGroupIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesGroupIntermediateType will accept a map to create a likesGroupIntermediateType +func deserializeLikesGroupIntermediateType(in interface{}) (t *likesGroupIntermediateType, err error) { + tmp := &likesGroupIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesGroupIntermediateType will accept a slice to create a slice of likesGroupIntermediateType +func deserializeSliceLikesGroupIntermediateType(in []interface{}) (t []*likesGroupIntermediateType, err error) { + for _, i := range in { + tmp := &likesGroupIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesGroupIntermediateType will accept a likesGroupIntermediateType to create a map +func serializeLikesGroupIntermediateType(t *likesGroupIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesGroupIntermediateType will accept a slice of likesGroupIntermediateType to create a slice result +func serializeSliceLikesGroupIntermediateType(s []*likesGroupIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameGroupIntermediateType will accept a map to create a preferredUsernameGroupIntermediateType func deserializePreferredUsernameGroupIntermediateType(in interface{}) (t *preferredUsernameGroupIntermediateType, err error) { tmp := &preferredUsernameGroupIntermediateType{} @@ -509886,6 +529322,90 @@ func serializeSliceSourceOrganizationIntermediateType(s []*sourceOrganizationInt } +// deserializelikedOrganizationIntermediateType will accept a map to create a likedOrganizationIntermediateType +func deserializeLikedOrganizationIntermediateType(in interface{}) (t *likedOrganizationIntermediateType, err error) { + tmp := &likedOrganizationIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedOrganizationIntermediateType will accept a slice to create a slice of likedOrganizationIntermediateType +func deserializeSliceLikedOrganizationIntermediateType(in []interface{}) (t []*likedOrganizationIntermediateType, err error) { + for _, i := range in { + tmp := &likedOrganizationIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedOrganizationIntermediateType will accept a likedOrganizationIntermediateType to create a map +func serializeLikedOrganizationIntermediateType(t *likedOrganizationIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedOrganizationIntermediateType will accept a slice of likedOrganizationIntermediateType to create a slice result +func serializeSliceLikedOrganizationIntermediateType(s []*likedOrganizationIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesOrganizationIntermediateType will accept a map to create a likesOrganizationIntermediateType +func deserializeLikesOrganizationIntermediateType(in interface{}) (t *likesOrganizationIntermediateType, err error) { + tmp := &likesOrganizationIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesOrganizationIntermediateType will accept a slice to create a slice of likesOrganizationIntermediateType +func deserializeSliceLikesOrganizationIntermediateType(in []interface{}) (t []*likesOrganizationIntermediateType, err error) { + for _, i := range in { + tmp := &likesOrganizationIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesOrganizationIntermediateType will accept a likesOrganizationIntermediateType to create a map +func serializeLikesOrganizationIntermediateType(t *likesOrganizationIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesOrganizationIntermediateType will accept a slice of likesOrganizationIntermediateType to create a slice result +func serializeSliceLikesOrganizationIntermediateType(s []*likesOrganizationIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameOrganizationIntermediateType will accept a map to create a preferredUsernameOrganizationIntermediateType func deserializePreferredUsernameOrganizationIntermediateType(in interface{}) (t *preferredUsernameOrganizationIntermediateType, err error) { tmp := &preferredUsernameOrganizationIntermediateType{} @@ -511146,6 +530666,90 @@ func serializeSliceSourcePersonIntermediateType(s []*sourcePersonIntermediateTyp } +// deserializelikedPersonIntermediateType will accept a map to create a likedPersonIntermediateType +func deserializeLikedPersonIntermediateType(in interface{}) (t *likedPersonIntermediateType, err error) { + tmp := &likedPersonIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedPersonIntermediateType will accept a slice to create a slice of likedPersonIntermediateType +func deserializeSliceLikedPersonIntermediateType(in []interface{}) (t []*likedPersonIntermediateType, err error) { + for _, i := range in { + tmp := &likedPersonIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedPersonIntermediateType will accept a likedPersonIntermediateType to create a map +func serializeLikedPersonIntermediateType(t *likedPersonIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedPersonIntermediateType will accept a slice of likedPersonIntermediateType to create a slice result +func serializeSliceLikedPersonIntermediateType(s []*likedPersonIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesPersonIntermediateType will accept a map to create a likesPersonIntermediateType +func deserializeLikesPersonIntermediateType(in interface{}) (t *likesPersonIntermediateType, err error) { + tmp := &likesPersonIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesPersonIntermediateType will accept a slice to create a slice of likesPersonIntermediateType +func deserializeSliceLikesPersonIntermediateType(in []interface{}) (t []*likesPersonIntermediateType, err error) { + for _, i := range in { + tmp := &likesPersonIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesPersonIntermediateType will accept a likesPersonIntermediateType to create a map +func serializeLikesPersonIntermediateType(t *likesPersonIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesPersonIntermediateType will accept a slice of likesPersonIntermediateType to create a slice result +func serializeSliceLikesPersonIntermediateType(s []*likesPersonIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernamePersonIntermediateType will accept a map to create a preferredUsernamePersonIntermediateType func deserializePreferredUsernamePersonIntermediateType(in interface{}) (t *preferredUsernamePersonIntermediateType, err error) { tmp := &preferredUsernamePersonIntermediateType{} @@ -512406,6 +532010,90 @@ func serializeSliceSourceServiceIntermediateType(s []*sourceServiceIntermediateT } +// deserializelikedServiceIntermediateType will accept a map to create a likedServiceIntermediateType +func deserializeLikedServiceIntermediateType(in interface{}) (t *likedServiceIntermediateType, err error) { + tmp := &likedServiceIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedServiceIntermediateType will accept a slice to create a slice of likedServiceIntermediateType +func deserializeSliceLikedServiceIntermediateType(in []interface{}) (t []*likedServiceIntermediateType, err error) { + for _, i := range in { + tmp := &likedServiceIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedServiceIntermediateType will accept a likedServiceIntermediateType to create a map +func serializeLikedServiceIntermediateType(t *likedServiceIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedServiceIntermediateType will accept a slice of likedServiceIntermediateType to create a slice result +func serializeSliceLikedServiceIntermediateType(s []*likedServiceIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesServiceIntermediateType will accept a map to create a likesServiceIntermediateType +func deserializeLikesServiceIntermediateType(in interface{}) (t *likesServiceIntermediateType, err error) { + tmp := &likesServiceIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesServiceIntermediateType will accept a slice to create a slice of likesServiceIntermediateType +func deserializeSliceLikesServiceIntermediateType(in []interface{}) (t []*likesServiceIntermediateType, err error) { + for _, i := range in { + tmp := &likesServiceIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesServiceIntermediateType will accept a likesServiceIntermediateType to create a map +func serializeLikesServiceIntermediateType(t *likesServiceIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesServiceIntermediateType will accept a slice of likesServiceIntermediateType to create a slice result +func serializeSliceLikesServiceIntermediateType(s []*likesServiceIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameServiceIntermediateType will accept a map to create a preferredUsernameServiceIntermediateType func deserializePreferredUsernameServiceIntermediateType(in interface{}) (t *preferredUsernameServiceIntermediateType, err error) { tmp := &preferredUsernameServiceIntermediateType{} @@ -513792,6 +533480,90 @@ func serializeSliceSourceRelationshipIntermediateType(s []*sourceRelationshipInt } +// deserializelikedRelationshipIntermediateType will accept a map to create a likedRelationshipIntermediateType +func deserializeLikedRelationshipIntermediateType(in interface{}) (t *likedRelationshipIntermediateType, err error) { + tmp := &likedRelationshipIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedRelationshipIntermediateType will accept a slice to create a slice of likedRelationshipIntermediateType +func deserializeSliceLikedRelationshipIntermediateType(in []interface{}) (t []*likedRelationshipIntermediateType, err error) { + for _, i := range in { + tmp := &likedRelationshipIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedRelationshipIntermediateType will accept a likedRelationshipIntermediateType to create a map +func serializeLikedRelationshipIntermediateType(t *likedRelationshipIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedRelationshipIntermediateType will accept a slice of likedRelationshipIntermediateType to create a slice result +func serializeSliceLikedRelationshipIntermediateType(s []*likedRelationshipIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesRelationshipIntermediateType will accept a map to create a likesRelationshipIntermediateType +func deserializeLikesRelationshipIntermediateType(in interface{}) (t *likesRelationshipIntermediateType, err error) { + tmp := &likesRelationshipIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesRelationshipIntermediateType will accept a slice to create a slice of likesRelationshipIntermediateType +func deserializeSliceLikesRelationshipIntermediateType(in []interface{}) (t []*likesRelationshipIntermediateType, err error) { + for _, i := range in { + tmp := &likesRelationshipIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesRelationshipIntermediateType will accept a likesRelationshipIntermediateType to create a map +func serializeLikesRelationshipIntermediateType(t *likesRelationshipIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesRelationshipIntermediateType will accept a slice of likesRelationshipIntermediateType to create a slice result +func serializeSliceLikesRelationshipIntermediateType(s []*likesRelationshipIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameRelationshipIntermediateType will accept a map to create a preferredUsernameRelationshipIntermediateType func deserializePreferredUsernameRelationshipIntermediateType(in interface{}) (t *preferredUsernameRelationshipIntermediateType, err error) { tmp := &preferredUsernameRelationshipIntermediateType{} @@ -515052,6 +534824,90 @@ func serializeSliceSourceArticleIntermediateType(s []*sourceArticleIntermediateT } +// deserializelikedArticleIntermediateType will accept a map to create a likedArticleIntermediateType +func deserializeLikedArticleIntermediateType(in interface{}) (t *likedArticleIntermediateType, err error) { + tmp := &likedArticleIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedArticleIntermediateType will accept a slice to create a slice of likedArticleIntermediateType +func deserializeSliceLikedArticleIntermediateType(in []interface{}) (t []*likedArticleIntermediateType, err error) { + for _, i := range in { + tmp := &likedArticleIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedArticleIntermediateType will accept a likedArticleIntermediateType to create a map +func serializeLikedArticleIntermediateType(t *likedArticleIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedArticleIntermediateType will accept a slice of likedArticleIntermediateType to create a slice result +func serializeSliceLikedArticleIntermediateType(s []*likedArticleIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesArticleIntermediateType will accept a map to create a likesArticleIntermediateType +func deserializeLikesArticleIntermediateType(in interface{}) (t *likesArticleIntermediateType, err error) { + tmp := &likesArticleIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesArticleIntermediateType will accept a slice to create a slice of likesArticleIntermediateType +func deserializeSliceLikesArticleIntermediateType(in []interface{}) (t []*likesArticleIntermediateType, err error) { + for _, i := range in { + tmp := &likesArticleIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesArticleIntermediateType will accept a likesArticleIntermediateType to create a map +func serializeLikesArticleIntermediateType(t *likesArticleIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesArticleIntermediateType will accept a slice of likesArticleIntermediateType to create a slice result +func serializeSliceLikesArticleIntermediateType(s []*likesArticleIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameArticleIntermediateType will accept a map to create a preferredUsernameArticleIntermediateType func deserializePreferredUsernameArticleIntermediateType(in interface{}) (t *preferredUsernameArticleIntermediateType, err error) { tmp := &preferredUsernameArticleIntermediateType{} @@ -516312,6 +536168,90 @@ func serializeSliceSourceDocumentIntermediateType(s []*sourceDocumentIntermediat } +// deserializelikedDocumentIntermediateType will accept a map to create a likedDocumentIntermediateType +func deserializeLikedDocumentIntermediateType(in interface{}) (t *likedDocumentIntermediateType, err error) { + tmp := &likedDocumentIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedDocumentIntermediateType will accept a slice to create a slice of likedDocumentIntermediateType +func deserializeSliceLikedDocumentIntermediateType(in []interface{}) (t []*likedDocumentIntermediateType, err error) { + for _, i := range in { + tmp := &likedDocumentIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedDocumentIntermediateType will accept a likedDocumentIntermediateType to create a map +func serializeLikedDocumentIntermediateType(t *likedDocumentIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedDocumentIntermediateType will accept a slice of likedDocumentIntermediateType to create a slice result +func serializeSliceLikedDocumentIntermediateType(s []*likedDocumentIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesDocumentIntermediateType will accept a map to create a likesDocumentIntermediateType +func deserializeLikesDocumentIntermediateType(in interface{}) (t *likesDocumentIntermediateType, err error) { + tmp := &likesDocumentIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesDocumentIntermediateType will accept a slice to create a slice of likesDocumentIntermediateType +func deserializeSliceLikesDocumentIntermediateType(in []interface{}) (t []*likesDocumentIntermediateType, err error) { + for _, i := range in { + tmp := &likesDocumentIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesDocumentIntermediateType will accept a likesDocumentIntermediateType to create a map +func serializeLikesDocumentIntermediateType(t *likesDocumentIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesDocumentIntermediateType will accept a slice of likesDocumentIntermediateType to create a slice result +func serializeSliceLikesDocumentIntermediateType(s []*likesDocumentIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameDocumentIntermediateType will accept a map to create a preferredUsernameDocumentIntermediateType func deserializePreferredUsernameDocumentIntermediateType(in interface{}) (t *preferredUsernameDocumentIntermediateType, err error) { tmp := &preferredUsernameDocumentIntermediateType{} @@ -517572,6 +537512,90 @@ func serializeSliceSourceAudioIntermediateType(s []*sourceAudioIntermediateType) } +// deserializelikedAudioIntermediateType will accept a map to create a likedAudioIntermediateType +func deserializeLikedAudioIntermediateType(in interface{}) (t *likedAudioIntermediateType, err error) { + tmp := &likedAudioIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedAudioIntermediateType will accept a slice to create a slice of likedAudioIntermediateType +func deserializeSliceLikedAudioIntermediateType(in []interface{}) (t []*likedAudioIntermediateType, err error) { + for _, i := range in { + tmp := &likedAudioIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedAudioIntermediateType will accept a likedAudioIntermediateType to create a map +func serializeLikedAudioIntermediateType(t *likedAudioIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedAudioIntermediateType will accept a slice of likedAudioIntermediateType to create a slice result +func serializeSliceLikedAudioIntermediateType(s []*likedAudioIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesAudioIntermediateType will accept a map to create a likesAudioIntermediateType +func deserializeLikesAudioIntermediateType(in interface{}) (t *likesAudioIntermediateType, err error) { + tmp := &likesAudioIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesAudioIntermediateType will accept a slice to create a slice of likesAudioIntermediateType +func deserializeSliceLikesAudioIntermediateType(in []interface{}) (t []*likesAudioIntermediateType, err error) { + for _, i := range in { + tmp := &likesAudioIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesAudioIntermediateType will accept a likesAudioIntermediateType to create a map +func serializeLikesAudioIntermediateType(t *likesAudioIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesAudioIntermediateType will accept a slice of likesAudioIntermediateType to create a slice result +func serializeSliceLikesAudioIntermediateType(s []*likesAudioIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameAudioIntermediateType will accept a map to create a preferredUsernameAudioIntermediateType func deserializePreferredUsernameAudioIntermediateType(in interface{}) (t *preferredUsernameAudioIntermediateType, err error) { tmp := &preferredUsernameAudioIntermediateType{} @@ -518916,6 +538940,90 @@ func serializeSliceSourceImageIntermediateType(s []*sourceImageIntermediateType) } +// deserializelikedImageIntermediateType will accept a map to create a likedImageIntermediateType +func deserializeLikedImageIntermediateType(in interface{}) (t *likedImageIntermediateType, err error) { + tmp := &likedImageIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedImageIntermediateType will accept a slice to create a slice of likedImageIntermediateType +func deserializeSliceLikedImageIntermediateType(in []interface{}) (t []*likedImageIntermediateType, err error) { + for _, i := range in { + tmp := &likedImageIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedImageIntermediateType will accept a likedImageIntermediateType to create a map +func serializeLikedImageIntermediateType(t *likedImageIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedImageIntermediateType will accept a slice of likedImageIntermediateType to create a slice result +func serializeSliceLikedImageIntermediateType(s []*likedImageIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesImageIntermediateType will accept a map to create a likesImageIntermediateType +func deserializeLikesImageIntermediateType(in interface{}) (t *likesImageIntermediateType, err error) { + tmp := &likesImageIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesImageIntermediateType will accept a slice to create a slice of likesImageIntermediateType +func deserializeSliceLikesImageIntermediateType(in []interface{}) (t []*likesImageIntermediateType, err error) { + for _, i := range in { + tmp := &likesImageIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesImageIntermediateType will accept a likesImageIntermediateType to create a map +func serializeLikesImageIntermediateType(t *likesImageIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesImageIntermediateType will accept a slice of likesImageIntermediateType to create a slice result +func serializeSliceLikesImageIntermediateType(s []*likesImageIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameImageIntermediateType will accept a map to create a preferredUsernameImageIntermediateType func deserializePreferredUsernameImageIntermediateType(in interface{}) (t *preferredUsernameImageIntermediateType, err error) { tmp := &preferredUsernameImageIntermediateType{} @@ -520176,6 +540284,90 @@ func serializeSliceSourceVideoIntermediateType(s []*sourceVideoIntermediateType) } +// deserializelikedVideoIntermediateType will accept a map to create a likedVideoIntermediateType +func deserializeLikedVideoIntermediateType(in interface{}) (t *likedVideoIntermediateType, err error) { + tmp := &likedVideoIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedVideoIntermediateType will accept a slice to create a slice of likedVideoIntermediateType +func deserializeSliceLikedVideoIntermediateType(in []interface{}) (t []*likedVideoIntermediateType, err error) { + for _, i := range in { + tmp := &likedVideoIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedVideoIntermediateType will accept a likedVideoIntermediateType to create a map +func serializeLikedVideoIntermediateType(t *likedVideoIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedVideoIntermediateType will accept a slice of likedVideoIntermediateType to create a slice result +func serializeSliceLikedVideoIntermediateType(s []*likedVideoIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesVideoIntermediateType will accept a map to create a likesVideoIntermediateType +func deserializeLikesVideoIntermediateType(in interface{}) (t *likesVideoIntermediateType, err error) { + tmp := &likesVideoIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesVideoIntermediateType will accept a slice to create a slice of likesVideoIntermediateType +func deserializeSliceLikesVideoIntermediateType(in []interface{}) (t []*likesVideoIntermediateType, err error) { + for _, i := range in { + tmp := &likesVideoIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesVideoIntermediateType will accept a likesVideoIntermediateType to create a map +func serializeLikesVideoIntermediateType(t *likesVideoIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesVideoIntermediateType will accept a slice of likesVideoIntermediateType to create a slice result +func serializeSliceLikesVideoIntermediateType(s []*likesVideoIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameVideoIntermediateType will accept a map to create a preferredUsernameVideoIntermediateType func deserializePreferredUsernameVideoIntermediateType(in interface{}) (t *preferredUsernameVideoIntermediateType, err error) { tmp := &preferredUsernameVideoIntermediateType{} @@ -521436,6 +541628,90 @@ func serializeSliceSourceNoteIntermediateType(s []*sourceNoteIntermediateType) ( } +// deserializelikedNoteIntermediateType will accept a map to create a likedNoteIntermediateType +func deserializeLikedNoteIntermediateType(in interface{}) (t *likedNoteIntermediateType, err error) { + tmp := &likedNoteIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedNoteIntermediateType will accept a slice to create a slice of likedNoteIntermediateType +func deserializeSliceLikedNoteIntermediateType(in []interface{}) (t []*likedNoteIntermediateType, err error) { + for _, i := range in { + tmp := &likedNoteIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedNoteIntermediateType will accept a likedNoteIntermediateType to create a map +func serializeLikedNoteIntermediateType(t *likedNoteIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedNoteIntermediateType will accept a slice of likedNoteIntermediateType to create a slice result +func serializeSliceLikedNoteIntermediateType(s []*likedNoteIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesNoteIntermediateType will accept a map to create a likesNoteIntermediateType +func deserializeLikesNoteIntermediateType(in interface{}) (t *likesNoteIntermediateType, err error) { + tmp := &likesNoteIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesNoteIntermediateType will accept a slice to create a slice of likesNoteIntermediateType +func deserializeSliceLikesNoteIntermediateType(in []interface{}) (t []*likesNoteIntermediateType, err error) { + for _, i := range in { + tmp := &likesNoteIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesNoteIntermediateType will accept a likesNoteIntermediateType to create a map +func serializeLikesNoteIntermediateType(t *likesNoteIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesNoteIntermediateType will accept a slice of likesNoteIntermediateType to create a slice result +func serializeSliceLikesNoteIntermediateType(s []*likesNoteIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameNoteIntermediateType will accept a map to create a preferredUsernameNoteIntermediateType func deserializePreferredUsernameNoteIntermediateType(in interface{}) (t *preferredUsernameNoteIntermediateType, err error) { tmp := &preferredUsernameNoteIntermediateType{} @@ -522696,6 +542972,90 @@ func serializeSliceSourcePageIntermediateType(s []*sourcePageIntermediateType) ( } +// deserializelikedPageIntermediateType will accept a map to create a likedPageIntermediateType +func deserializeLikedPageIntermediateType(in interface{}) (t *likedPageIntermediateType, err error) { + tmp := &likedPageIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedPageIntermediateType will accept a slice to create a slice of likedPageIntermediateType +func deserializeSliceLikedPageIntermediateType(in []interface{}) (t []*likedPageIntermediateType, err error) { + for _, i := range in { + tmp := &likedPageIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedPageIntermediateType will accept a likedPageIntermediateType to create a map +func serializeLikedPageIntermediateType(t *likedPageIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedPageIntermediateType will accept a slice of likedPageIntermediateType to create a slice result +func serializeSliceLikedPageIntermediateType(s []*likedPageIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesPageIntermediateType will accept a map to create a likesPageIntermediateType +func deserializeLikesPageIntermediateType(in interface{}) (t *likesPageIntermediateType, err error) { + tmp := &likesPageIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesPageIntermediateType will accept a slice to create a slice of likesPageIntermediateType +func deserializeSliceLikesPageIntermediateType(in []interface{}) (t []*likesPageIntermediateType, err error) { + for _, i := range in { + tmp := &likesPageIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesPageIntermediateType will accept a likesPageIntermediateType to create a map +func serializeLikesPageIntermediateType(t *likesPageIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesPageIntermediateType will accept a slice of likesPageIntermediateType to create a slice result +func serializeSliceLikesPageIntermediateType(s []*likesPageIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernamePageIntermediateType will accept a map to create a preferredUsernamePageIntermediateType func deserializePreferredUsernamePageIntermediateType(in interface{}) (t *preferredUsernamePageIntermediateType, err error) { tmp := &preferredUsernamePageIntermediateType{} @@ -523956,6 +544316,90 @@ func serializeSliceSourceEventIntermediateType(s []*sourceEventIntermediateType) } +// deserializelikedEventIntermediateType will accept a map to create a likedEventIntermediateType +func deserializeLikedEventIntermediateType(in interface{}) (t *likedEventIntermediateType, err error) { + tmp := &likedEventIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedEventIntermediateType will accept a slice to create a slice of likedEventIntermediateType +func deserializeSliceLikedEventIntermediateType(in []interface{}) (t []*likedEventIntermediateType, err error) { + for _, i := range in { + tmp := &likedEventIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedEventIntermediateType will accept a likedEventIntermediateType to create a map +func serializeLikedEventIntermediateType(t *likedEventIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedEventIntermediateType will accept a slice of likedEventIntermediateType to create a slice result +func serializeSliceLikedEventIntermediateType(s []*likedEventIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesEventIntermediateType will accept a map to create a likesEventIntermediateType +func deserializeLikesEventIntermediateType(in interface{}) (t *likesEventIntermediateType, err error) { + tmp := &likesEventIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesEventIntermediateType will accept a slice to create a slice of likesEventIntermediateType +func deserializeSliceLikesEventIntermediateType(in []interface{}) (t []*likesEventIntermediateType, err error) { + for _, i := range in { + tmp := &likesEventIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesEventIntermediateType will accept a likesEventIntermediateType to create a map +func serializeLikesEventIntermediateType(t *likesEventIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesEventIntermediateType will accept a slice of likesEventIntermediateType to create a slice result +func serializeSliceLikesEventIntermediateType(s []*likesEventIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameEventIntermediateType will accept a map to create a preferredUsernameEventIntermediateType func deserializePreferredUsernameEventIntermediateType(in interface{}) (t *preferredUsernameEventIntermediateType, err error) { tmp := &preferredUsernameEventIntermediateType{} @@ -525426,6 +545870,90 @@ func serializeSliceSourcePlaceIntermediateType(s []*sourcePlaceIntermediateType) } +// deserializelikedPlaceIntermediateType will accept a map to create a likedPlaceIntermediateType +func deserializeLikedPlaceIntermediateType(in interface{}) (t *likedPlaceIntermediateType, err error) { + tmp := &likedPlaceIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedPlaceIntermediateType will accept a slice to create a slice of likedPlaceIntermediateType +func deserializeSliceLikedPlaceIntermediateType(in []interface{}) (t []*likedPlaceIntermediateType, err error) { + for _, i := range in { + tmp := &likedPlaceIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedPlaceIntermediateType will accept a likedPlaceIntermediateType to create a map +func serializeLikedPlaceIntermediateType(t *likedPlaceIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedPlaceIntermediateType will accept a slice of likedPlaceIntermediateType to create a slice result +func serializeSliceLikedPlaceIntermediateType(s []*likedPlaceIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesPlaceIntermediateType will accept a map to create a likesPlaceIntermediateType +func deserializeLikesPlaceIntermediateType(in interface{}) (t *likesPlaceIntermediateType, err error) { + tmp := &likesPlaceIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesPlaceIntermediateType will accept a slice to create a slice of likesPlaceIntermediateType +func deserializeSliceLikesPlaceIntermediateType(in []interface{}) (t []*likesPlaceIntermediateType, err error) { + for _, i := range in { + tmp := &likesPlaceIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesPlaceIntermediateType will accept a likesPlaceIntermediateType to create a map +func serializeLikesPlaceIntermediateType(t *likesPlaceIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesPlaceIntermediateType will accept a slice of likesPlaceIntermediateType to create a slice result +func serializeSliceLikesPlaceIntermediateType(s []*likesPlaceIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernamePlaceIntermediateType will accept a map to create a preferredUsernamePlaceIntermediateType func deserializePreferredUsernamePlaceIntermediateType(in interface{}) (t *preferredUsernamePlaceIntermediateType, err error) { tmp := &preferredUsernamePlaceIntermediateType{} @@ -526728,6 +547256,90 @@ func serializeSliceSourceProfileIntermediateType(s []*sourceProfileIntermediateT } +// deserializelikedProfileIntermediateType will accept a map to create a likedProfileIntermediateType +func deserializeLikedProfileIntermediateType(in interface{}) (t *likedProfileIntermediateType, err error) { + tmp := &likedProfileIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedProfileIntermediateType will accept a slice to create a slice of likedProfileIntermediateType +func deserializeSliceLikedProfileIntermediateType(in []interface{}) (t []*likedProfileIntermediateType, err error) { + for _, i := range in { + tmp := &likedProfileIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedProfileIntermediateType will accept a likedProfileIntermediateType to create a map +func serializeLikedProfileIntermediateType(t *likedProfileIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedProfileIntermediateType will accept a slice of likedProfileIntermediateType to create a slice result +func serializeSliceLikedProfileIntermediateType(s []*likedProfileIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesProfileIntermediateType will accept a map to create a likesProfileIntermediateType +func deserializeLikesProfileIntermediateType(in interface{}) (t *likesProfileIntermediateType, err error) { + tmp := &likesProfileIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesProfileIntermediateType will accept a slice to create a slice of likesProfileIntermediateType +func deserializeSliceLikesProfileIntermediateType(in []interface{}) (t []*likesProfileIntermediateType, err error) { + for _, i := range in { + tmp := &likesProfileIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesProfileIntermediateType will accept a likesProfileIntermediateType to create a map +func serializeLikesProfileIntermediateType(t *likesProfileIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesProfileIntermediateType will accept a slice of likesProfileIntermediateType to create a slice result +func serializeSliceLikesProfileIntermediateType(s []*likesProfileIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameProfileIntermediateType will accept a map to create a preferredUsernameProfileIntermediateType func deserializePreferredUsernameProfileIntermediateType(in interface{}) (t *preferredUsernameProfileIntermediateType, err error) { tmp := &preferredUsernameProfileIntermediateType{} @@ -528072,6 +548684,90 @@ func serializeSliceSourceTombstoneIntermediateType(s []*sourceTombstoneIntermedi } +// deserializelikedTombstoneIntermediateType will accept a map to create a likedTombstoneIntermediateType +func deserializeLikedTombstoneIntermediateType(in interface{}) (t *likedTombstoneIntermediateType, err error) { + tmp := &likedTombstoneIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likedTombstoneIntermediateType will accept a slice to create a slice of likedTombstoneIntermediateType +func deserializeSliceLikedTombstoneIntermediateType(in []interface{}) (t []*likedTombstoneIntermediateType, err error) { + for _, i := range in { + tmp := &likedTombstoneIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikedTombstoneIntermediateType will accept a likedTombstoneIntermediateType to create a map +func serializeLikedTombstoneIntermediateType(t *likedTombstoneIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikedTombstoneIntermediateType will accept a slice of likedTombstoneIntermediateType to create a slice result +func serializeSliceLikedTombstoneIntermediateType(s []*likedTombstoneIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + +// deserializelikesTombstoneIntermediateType will accept a map to create a likesTombstoneIntermediateType +func deserializeLikesTombstoneIntermediateType(in interface{}) (t *likesTombstoneIntermediateType, err error) { + tmp := &likesTombstoneIntermediateType{} + err = tmp.Deserialize(in) + return tmp, err + +} + +// deserializeSlice likesTombstoneIntermediateType will accept a slice to create a slice of likesTombstoneIntermediateType +func deserializeSliceLikesTombstoneIntermediateType(in []interface{}) (t []*likesTombstoneIntermediateType, err error) { + for _, i := range in { + tmp := &likesTombstoneIntermediateType{} + err = tmp.Deserialize(i) + if err != nil { + return + } + t = append(t, tmp) + } + return + +} + +// serializelikesTombstoneIntermediateType will accept a likesTombstoneIntermediateType to create a map +func serializeLikesTombstoneIntermediateType(t *likesTombstoneIntermediateType) (i interface{}, err error) { + i, err = t.Serialize() + return + +} + +// serializeSlicelikesTombstoneIntermediateType will accept a slice of likesTombstoneIntermediateType to create a slice result +func serializeSliceLikesTombstoneIntermediateType(s []*likesTombstoneIntermediateType) (out []interface{}, err error) { + for _, t := range s { + v, err := t.Serialize() + if err != nil { + return nil, err + } + out = append(out, v) + } + return + +} + // deserializepreferredUsernameTombstoneIntermediateType will accept a map to create a preferredUsernameTombstoneIntermediateType func deserializePreferredUsernameTombstoneIntermediateType(in interface{}) (t *preferredUsernameTombstoneIntermediateType, err error) { tmp := &preferredUsernameTombstoneIntermediateType{}