diff options
| author | 2025-04-25 15:15:36 +0200 | |
|---|---|---|
| committer | 2025-04-25 15:15:36 +0200 | |
| commit | ffde1b150faca940bc6c172068aa068cf468aa39 (patch) | |
| tree | 2b325bf50946b95502d948d5700c148d667346d8 /vendor/code.superseriousbusiness.org/activity/streams/impl/toot | |
| parent | [chore] Update `activity` to v1.14.0 (#4038) (diff) | |
| download | gotosocial-ffde1b150faca940bc6c172068aa068cf468aa39.tar.xz | |
[chore] Move deps to code.superseriousbusiness.org (#4054)
Diffstat (limited to 'vendor/code.superseriousbusiness.org/activity/streams/impl/toot')
33 files changed, 6903 insertions, 0 deletions
diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_doc.go new file mode 100644 index 000000000..bb9d0432c --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyblurhash contains the implementation for the blurhash property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyblurhash diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_pkg.go new file mode 100644 index 000000000..1eac1c4e8 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyblurhash + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_property_toot_blurhash.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_property_toot_blurhash.go new file mode 100644 index 000000000..4025f996d --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_blurhash/gen_property_toot_blurhash.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyblurhash + +import ( + string1 "code.superseriousbusiness.org/activity/streams/values/string" + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "net/url" +) + +// TootBlurhashProperty is the functional property "blurhash". It is permitted to +// be a single default-valued value type. +type TootBlurhashProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeBlurhashProperty creates a "blurhash" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeBlurhashProperty(m map[string]interface{}, aliasMap map[string]string) (*TootBlurhashProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "blurhash" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "blurhash") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootBlurhashProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &TootBlurhashProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &TootBlurhashProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootBlurhashProperty creates a new blurhash property. +func NewTootBlurhashProperty() *TootBlurhashProperty { + return &TootBlurhashProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *TootBlurhashProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this TootBlurhashProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootBlurhashProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootBlurhashProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootBlurhashProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this TootBlurhashProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootBlurhashProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootBlurhashProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootBlurhashProperty) LessThan(o vocab.TootBlurhashProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "blurhash". +func (this TootBlurhashProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "blurhash" + } else { + return "blurhash" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootBlurhashProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *TootBlurhashProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootBlurhashProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_doc.go new file mode 100644 index 000000000..768104ece --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertydiscoverable contains the implementation for the discoverable +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertydiscoverable diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_pkg.go new file mode 100644 index 000000000..bb9361723 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydiscoverable + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_property_toot_discoverable.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_property_toot_discoverable.go new file mode 100644 index 000000000..16ea4cde4 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_discoverable/gen_property_toot_discoverable.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertydiscoverable + +import ( + boolean "code.superseriousbusiness.org/activity/streams/values/boolean" + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "net/url" +) + +// TootDiscoverableProperty is the functional property "discoverable". It is +// permitted to be a single default-valued value type. +type TootDiscoverableProperty struct { + xmlschemaBooleanMember bool + hasBooleanMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeDiscoverableProperty creates a "discoverable" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeDiscoverableProperty(m map[string]interface{}, aliasMap map[string]string) (*TootDiscoverableProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "discoverable" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "discoverable") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootDiscoverableProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := boolean.DeserializeBoolean(i); err == nil { + this := &TootDiscoverableProperty{ + alias: alias, + hasBooleanMember: true, + xmlschemaBooleanMember: v, + } + return this, nil + } + this := &TootDiscoverableProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootDiscoverableProperty creates a new discoverable property. +func NewTootDiscoverableProperty() *TootDiscoverableProperty { + return &TootDiscoverableProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaBoolean +// afterwards will return false. +func (this *TootDiscoverableProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasBooleanMember = false +} + +// Get returns the value of this property. When IsXMLSchemaBoolean returns false, +// Get will return any arbitrary value. +func (this TootDiscoverableProperty) Get() bool { + return this.xmlschemaBooleanMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootDiscoverableProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootDiscoverableProperty) HasAny() bool { + return this.IsXMLSchemaBoolean() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootDiscoverableProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaBoolean returns true if this property is set and not an IRI. +func (this TootDiscoverableProperty) IsXMLSchemaBoolean() bool { + return this.hasBooleanMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootDiscoverableProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootDiscoverableProperty) KindIndex() int { + if this.IsXMLSchemaBoolean() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootDiscoverableProperty) LessThan(o vocab.TootDiscoverableProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaBoolean() && !o.IsXMLSchemaBoolean() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaBoolean() && !o.IsXMLSchemaBoolean() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaBoolean() && o.IsXMLSchemaBoolean() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return boolean.LessBoolean(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "discoverable". +func (this TootDiscoverableProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "discoverable" + } else { + return "discoverable" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootDiscoverableProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaBoolean() { + return boolean.SerializeBoolean(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaBoolean afterwards will +// return true. +func (this *TootDiscoverableProperty) Set(v bool) { + this.Clear() + this.xmlschemaBooleanMember = v + this.hasBooleanMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootDiscoverableProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_doc.go new file mode 100644 index 000000000..a1465f0c9 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfeatured contains the implementation for the featured property. +// All applications are strongly encouraged to use the interface instead of +// this concrete definition. The interfaces allow applications to consume only +// the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfeatured diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_pkg.go new file mode 100644 index 000000000..655bc7967 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_pkg.go @@ -0,0 +1,27 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfeatured + +import vocab "code.superseriousbusiness.org/activity/streams/vocab" + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeOrderedCollectionActivityStreams returns the deserialization + // method for the "ActivityStreamsOrderedCollection" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeOrderedCollectionActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollection, error) + // DeserializeOrderedCollectionPageActivityStreams returns the + // deserialization method for the + // "ActivityStreamsOrderedCollectionPage" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeOrderedCollectionPageActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsOrderedCollectionPage, error) +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_property_toot_featured.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_property_toot_featured.go new file mode 100644 index 000000000..19bb8eb70 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_featured/gen_property_toot_featured.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfeatured + +import ( + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "net/url" +) + +// TootFeaturedProperty is the functional property "featured". It is permitted to +// be one of multiple value types. At most, one type of value can be present, +// or none at all. Setting a value will clear the other types of values so +// that only one of the 'Is' methods will return true. It is possible to clear +// all values, so that this property is empty. +type TootFeaturedProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeFeaturedProperty creates a "featured" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeFeaturedProperty(m map[string]interface{}, aliasMap map[string]string) (*TootFeaturedProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "featured" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "featured") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootFeaturedProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if m, ok := i.(map[string]interface{}); ok { + if v, err := mgr.DeserializeOrderedCollectionActivityStreams()(m, aliasMap); err == nil { + this := &TootFeaturedProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &TootFeaturedProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &TootFeaturedProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootFeaturedProperty creates a new featured property. +func NewTootFeaturedProperty() *TootFeaturedProperty { + return &TootFeaturedProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *TootFeaturedProperty) Clear() { + this.activitystreamsOrderedCollectionMember = nil + this.activitystreamsOrderedCollectionPageMember = nil + this.unknown = nil + this.iri = nil +} + +// GetActivityStreamsOrderedCollection returns the value of this property. When +// IsActivityStreamsOrderedCollection returns false, +// GetActivityStreamsOrderedCollection will return an arbitrary value. +func (this TootFeaturedProperty) GetActivityStreamsOrderedCollection() vocab.ActivityStreamsOrderedCollection { + return this.activitystreamsOrderedCollectionMember +} + +// GetActivityStreamsOrderedCollectionPage returns the value of this property. +// When IsActivityStreamsOrderedCollectionPage returns false, +// GetActivityStreamsOrderedCollectionPage will return an arbitrary value. +func (this TootFeaturedProperty) GetActivityStreamsOrderedCollectionPage() vocab.ActivityStreamsOrderedCollectionPage { + return this.activitystreamsOrderedCollectionPageMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return an arbitrary value. +func (this TootFeaturedProperty) GetIRI() *url.URL { + return this.iri +} + +// GetType returns the value in this property as a Type. Returns nil if the value +// is not an ActivityStreams type, such as an IRI or another value. +func (this TootFeaturedProperty) GetType() vocab.Type { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection() + } + if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage() + } + + return nil +} + +// HasAny returns true if any of the different values is set. +func (this TootFeaturedProperty) HasAny() bool { + return this.IsActivityStreamsOrderedCollection() || + this.IsActivityStreamsOrderedCollectionPage() || + this.iri != nil +} + +// IsActivityStreamsOrderedCollection returns true if this property has a type of +// "OrderedCollection". When true, use the GetActivityStreamsOrderedCollection +// and SetActivityStreamsOrderedCollection methods to access and set this +// property. +func (this TootFeaturedProperty) IsActivityStreamsOrderedCollection() bool { + return this.activitystreamsOrderedCollectionMember != nil +} + +// IsActivityStreamsOrderedCollectionPage returns true if this property has a type +// of "OrderedCollectionPage". When true, use the +// GetActivityStreamsOrderedCollectionPage and +// SetActivityStreamsOrderedCollectionPage methods to access and set this +// property. +func (this TootFeaturedProperty) IsActivityStreamsOrderedCollectionPage() bool { + return this.activitystreamsOrderedCollectionPageMember != nil +} + +// IsIRI returns true if this property is an IRI. When true, use GetIRI and SetIRI +// to access and set this property +func (this TootFeaturedProperty) IsIRI() bool { + return this.iri != nil +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootFeaturedProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + if this.IsActivityStreamsOrderedCollection() { + child = this.GetActivityStreamsOrderedCollection().JSONLDContext() + } else if this.IsActivityStreamsOrderedCollectionPage() { + child = this.GetActivityStreamsOrderedCollectionPage().JSONLDContext() + } + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootFeaturedProperty) KindIndex() int { + if this.IsActivityStreamsOrderedCollection() { + return 0 + } + if this.IsActivityStreamsOrderedCollectionPage() { + return 1 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootFeaturedProperty) LessThan(o vocab.TootFeaturedProperty) bool { + idx1 := this.KindIndex() + idx2 := o.KindIndex() + if idx1 < idx2 { + return true + } else if idx1 > idx2 { + return false + } else if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().LessThan(o.GetActivityStreamsOrderedCollection()) + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().LessThan(o.GetActivityStreamsOrderedCollectionPage()) + } else if this.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } + return false +} + +// Name returns the name of this property: "featured". +func (this TootFeaturedProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "featured" + } else { + return "featured" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootFeaturedProperty) Serialize() (interface{}, error) { + if this.IsActivityStreamsOrderedCollection() { + return this.GetActivityStreamsOrderedCollection().Serialize() + } else if this.IsActivityStreamsOrderedCollectionPage() { + return this.GetActivityStreamsOrderedCollectionPage().Serialize() + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// SetActivityStreamsOrderedCollection sets the value of this property. Calling +// IsActivityStreamsOrderedCollection afterwards returns true. +func (this *TootFeaturedProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *TootFeaturedProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *TootFeaturedProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} + +// SetType attempts to set the property for the arbitrary type. Returns an error +// if it is not a valid type to set on this property. +func (this *TootFeaturedProperty) SetType(t vocab.Type) error { + if v, ok := t.(vocab.ActivityStreamsOrderedCollection); ok { + this.SetActivityStreamsOrderedCollection(v) + return nil + } + if v, ok := t.(vocab.ActivityStreamsOrderedCollectionPage); ok { + this.SetActivityStreamsOrderedCollectionPage(v) + return nil + } + + return fmt.Errorf("illegal type to set on featured property: %T", t) +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_doc.go new file mode 100644 index 000000000..150fd5c77 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyfocalpoint contains the implementation for the focalPoint +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyfocalpoint diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_pkg.go new file mode 100644 index 000000000..2bebe7347 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfocalpoint + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_property_toot_focalPoint.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_property_toot_focalPoint.go new file mode 100644 index 000000000..f197a6875 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_focalpoint/gen_property_toot_focalPoint.go @@ -0,0 +1,531 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyfocalpoint + +import ( + float "code.superseriousbusiness.org/activity/streams/values/float" + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "net/url" +) + +// TootFocalPointPropertyIterator is an iterator for a property. It is permitted +// to be a single default-valued value type. +type TootFocalPointPropertyIterator struct { + xmlschemaFloatMember float64 + hasFloatMember bool + unknown interface{} + iri *url.URL + alias string + myIdx int + parent vocab.TootFocalPointProperty +} + +// NewTootFocalPointPropertyIterator creates a new TootFocalPoint property. +func NewTootFocalPointPropertyIterator() *TootFocalPointPropertyIterator { + return &TootFocalPointPropertyIterator{alias: ""} +} + +// deserializeTootFocalPointPropertyIterator creates an iterator from an element +// that has been unmarshalled from a text or binary format. +func deserializeTootFocalPointPropertyIterator(i interface{}, aliasMap map[string]string) (*TootFocalPointPropertyIterator, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootFocalPointPropertyIterator{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := float.DeserializeFloat(i); err == nil { + this := &TootFocalPointPropertyIterator{ + alias: alias, + hasFloatMember: true, + xmlschemaFloatMember: v, + } + return this, nil + } + this := &TootFocalPointPropertyIterator{ + alias: alias, + unknown: i, + } + return this, nil +} + +// Get returns the value of this property. When IsXMLSchemaFloat returns false, +// Get will return any arbitrary value. +func (this TootFocalPointPropertyIterator) Get() float64 { + return this.xmlschemaFloatMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootFocalPointPropertyIterator) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootFocalPointPropertyIterator) HasAny() bool { + return this.IsXMLSchemaFloat() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootFocalPointPropertyIterator) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaFloat returns true if this property is set and not an IRI. +func (this TootFocalPointPropertyIterator) IsXMLSchemaFloat() bool { + return this.hasFloatMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootFocalPointPropertyIterator) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootFocalPointPropertyIterator) KindIndex() int { + if this.IsXMLSchemaFloat() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootFocalPointPropertyIterator) LessThan(o vocab.TootFocalPointPropertyIterator) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaFloat() && !o.IsXMLSchemaFloat() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaFloat() && o.IsXMLSchemaFloat() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return float.LessFloat(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "TootFocalPoint". +func (this TootFocalPointPropertyIterator) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "TootFocalPoint" + } else { + return "TootFocalPoint" + } +} + +// Next returns the next iterator, or nil if there is no next iterator. +func (this TootFocalPointPropertyIterator) Next() vocab.TootFocalPointPropertyIterator { + if this.myIdx+1 >= this.parent.Len() { + return nil + } else { + return this.parent.At(this.myIdx + 1) + } +} + +// Prev returns the previous iterator, or nil if there is no previous iterator. +func (this TootFocalPointPropertyIterator) Prev() vocab.TootFocalPointPropertyIterator { + if this.myIdx-1 < 0 { + return nil + } else { + return this.parent.At(this.myIdx - 1) + } +} + +// Set sets the value of this property. Calling IsXMLSchemaFloat afterwards will +// return true. +func (this *TootFocalPointPropertyIterator) Set(v float64) { + this.clear() + this.xmlschemaFloatMember = v + this.hasFloatMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootFocalPointPropertyIterator) SetIRI(v *url.URL) { + this.clear() + this.iri = v +} + +// clear ensures no value of this property is set. Calling IsXMLSchemaFloat +// afterwards will return false. +func (this *TootFocalPointPropertyIterator) clear() { + this.unknown = nil + this.iri = nil + this.hasFloatMember = false +} + +// serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootFocalPointPropertyIterator) serialize() (interface{}, error) { + if this.IsXMLSchemaFloat() { + return float.SerializeFloat(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// TootFocalPointProperty is the non-functional property "focalPoint". It is +// permitted to have one or more values, and of different value types. +type TootFocalPointProperty struct { + properties []*TootFocalPointPropertyIterator + alias string +} + +// DeserializeFocalPointProperty creates a "focalPoint" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeFocalPointProperty(m map[string]interface{}, aliasMap map[string]string) (vocab.TootFocalPointProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "focalPoint" + if len(alias) > 0 { + propName = fmt.Sprintf("%s:%s", alias, "focalPoint") + } + i, ok := m[propName] + + if ok { + this := &TootFocalPointProperty{ + alias: alias, + properties: []*TootFocalPointPropertyIterator{}, + } + if list, ok := i.([]interface{}); ok { + for _, iterator := range list { + if p, err := deserializeTootFocalPointPropertyIterator(iterator, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + } else { + if p, err := deserializeTootFocalPointPropertyIterator(i, aliasMap); err != nil { + return this, err + } else if p != nil { + this.properties = append(this.properties, p) + } + } + // Set up the properties for iteration. + for idx, ele := range this.properties { + ele.parent = this + ele.myIdx = idx + } + return this, nil + } + return nil, nil +} + +// NewTootFocalPointProperty creates a new focalPoint property. +func NewTootFocalPointProperty() *TootFocalPointProperty { + return &TootFocalPointProperty{alias: ""} +} + +// AppendIRI appends an IRI value to the back of a list of the property +// "focalPoint" +func (this *TootFocalPointProperty) AppendIRI(v *url.URL) { + this.properties = append(this.properties, &TootFocalPointPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: this.Len(), + parent: this, + }) +} + +// AppendXMLSchemaFloat appends a float value to the back of a list of the +// property "focalPoint". Invalidates iterators that are traversing using Prev. +func (this *TootFocalPointProperty) AppendXMLSchemaFloat(v float64) { + this.properties = append(this.properties, &TootFocalPointPropertyIterator{ + alias: this.alias, + hasFloatMember: true, + myIdx: this.Len(), + parent: this, + xmlschemaFloatMember: v, + }) +} + +// At returns the property value for the specified index. Panics if the index is +// out of bounds. +func (this TootFocalPointProperty) At(index int) vocab.TootFocalPointPropertyIterator { + return this.properties[index] +} + +// Begin returns the first iterator, or nil if empty. Can be used with the +// iterator's Next method and this property's End method to iterate from front +// to back through all values. +func (this TootFocalPointProperty) Begin() vocab.TootFocalPointPropertyIterator { + if this.Empty() { + return nil + } else { + return this.properties[0] + } +} + +// Empty returns returns true if there are no elements. +func (this TootFocalPointProperty) Empty() bool { + return this.Len() == 0 +} + +// End returns beyond-the-last iterator, which is nil. Can be used with the +// iterator's Next method and this property's Begin method to iterate from +// front to back through all values. +func (this TootFocalPointProperty) End() vocab.TootFocalPointPropertyIterator { + return nil +} + +// Insert inserts an IRI value at the specified index for a property "focalPoint". +// Existing elements at that index and higher are shifted back once. +// Invalidates all iterators. +func (this *TootFocalPointProperty) InsertIRI(idx int, v *url.URL) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &TootFocalPointPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// InsertXMLSchemaFloat inserts a float value at the specified index for a +// property "focalPoint". Existing elements at that index and higher are +// shifted back once. Invalidates all iterators. +func (this *TootFocalPointProperty) InsertXMLSchemaFloat(idx int, v float64) { + this.properties = append(this.properties, nil) + copy(this.properties[idx+1:], this.properties[idx:]) + this.properties[idx] = &TootFocalPointPropertyIterator{ + alias: this.alias, + hasFloatMember: true, + myIdx: idx, + parent: this, + xmlschemaFloatMember: v, + } + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootFocalPointProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + for _, elem := range this.properties { + child := elem.JSONLDContext() + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API method specifically needed only for alternate implementations +// for go-fed. Applications should not use this method. Panics if the index is +// out of bounds. +func (this TootFocalPointProperty) KindIndex(idx int) int { + return this.properties[idx].KindIndex() +} + +// Len returns the number of values that exist for the "focalPoint" property. +func (this TootFocalPointProperty) Len() (length int) { + return len(this.properties) +} + +// Less computes whether another property is less than this one. Mixing types +// results in a consistent but arbitrary ordering +func (this TootFocalPointProperty) Less(i, j int) bool { + idx1 := this.KindIndex(i) + idx2 := this.KindIndex(j) + if idx1 < idx2 { + return true + } else if idx1 == idx2 { + if idx1 == 0 { + lhs := this.properties[i].Get() + rhs := this.properties[j].Get() + return float.LessFloat(lhs, rhs) + } else if idx1 == -2 { + lhs := this.properties[i].GetIRI() + rhs := this.properties[j].GetIRI() + return lhs.String() < rhs.String() + } + } + return false +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootFocalPointProperty) LessThan(o vocab.TootFocalPointProperty) bool { + l1 := this.Len() + l2 := o.Len() + l := l1 + if l2 < l1 { + l = l2 + } + for i := 0; i < l; i++ { + if this.properties[i].LessThan(o.At(i)) { + return true + } else if o.At(i).LessThan(this.properties[i]) { + return false + } + } + return l1 < l2 +} + +// Name returns the name of this property ("focalPoint") with any alias. +func (this TootFocalPointProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "focalPoint" + } else { + return "focalPoint" + } +} + +// PrependIRI prepends an IRI value to the front of a list of the property +// "focalPoint". +func (this *TootFocalPointProperty) PrependIRI(v *url.URL) { + this.properties = append([]*TootFocalPointPropertyIterator{{ + alias: this.alias, + iri: v, + myIdx: 0, + parent: this, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// PrependXMLSchemaFloat prepends a float value to the front of a list of the +// property "focalPoint". Invalidates all iterators. +func (this *TootFocalPointProperty) PrependXMLSchemaFloat(v float64) { + this.properties = append([]*TootFocalPointPropertyIterator{{ + alias: this.alias, + hasFloatMember: true, + myIdx: 0, + parent: this, + xmlschemaFloatMember: v, + }}, this.properties...) + for i := 1; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Remove deletes an element at the specified index from a list of the property +// "focalPoint", regardless of its type. Panics if the index is out of bounds. +// Invalidates all iterators. +func (this *TootFocalPointProperty) Remove(idx int) { + (this.properties)[idx].parent = nil + copy((this.properties)[idx:], (this.properties)[idx+1:]) + (this.properties)[len(this.properties)-1] = &TootFocalPointPropertyIterator{} + this.properties = (this.properties)[:len(this.properties)-1] + for i := idx; i < this.Len(); i++ { + (this.properties)[i].myIdx = i + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootFocalPointProperty) Serialize() (interface{}, error) { + s := make([]interface{}, 0, len(this.properties)) + for _, iterator := range this.properties { + if b, err := iterator.serialize(); err != nil { + return s, err + } else { + s = append(s, b) + } + } + // Shortcut: if serializing one value, don't return an array -- pretty sure other Fediverse software would choke on a "type" value with array, for example. + if len(s) == 1 { + return s[0], nil + } + return s, nil +} + +// Set sets a float value to be at the specified index for the property +// "focalPoint". Panics if the index is out of bounds. Invalidates all +// iterators. +func (this *TootFocalPointProperty) Set(idx int, v float64) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &TootFocalPointPropertyIterator{ + alias: this.alias, + hasFloatMember: true, + myIdx: idx, + parent: this, + xmlschemaFloatMember: v, + } +} + +// SetIRI sets an IRI value to be at the specified index for the property +// "focalPoint". Panics if the index is out of bounds. +func (this *TootFocalPointProperty) SetIRI(idx int, v *url.URL) { + (this.properties)[idx].parent = nil + (this.properties)[idx] = &TootFocalPointPropertyIterator{ + alias: this.alias, + iri: v, + myIdx: idx, + parent: this, + } +} + +// Swap swaps the location of values at two indices for the "focalPoint" property. +func (this TootFocalPointProperty) Swap(i, j int) { + this.properties[i], this.properties[j] = this.properties[j], this.properties[i] +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_doc.go new file mode 100644 index 000000000..256409d37 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyindexable contains the implementation for the indexable +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyindexable diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_pkg.go new file mode 100644 index 000000000..9952e364b --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyindexable + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_property_toot_indexable.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_property_toot_indexable.go new file mode 100644 index 000000000..4f16b0396 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_indexable/gen_property_toot_indexable.go @@ -0,0 +1,203 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyindexable + +import ( + boolean "code.superseriousbusiness.org/activity/streams/values/boolean" + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "net/url" +) + +// TootIndexableProperty is the functional property "indexable". It is permitted +// to be a single default-valued value type. +type TootIndexableProperty struct { + xmlschemaBooleanMember bool + hasBooleanMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeIndexableProperty creates a "indexable" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeIndexableProperty(m map[string]interface{}, aliasMap map[string]string) (*TootIndexableProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "indexable" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "indexable") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootIndexableProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := boolean.DeserializeBoolean(i); err == nil { + this := &TootIndexableProperty{ + alias: alias, + hasBooleanMember: true, + xmlschemaBooleanMember: v, + } + return this, nil + } + this := &TootIndexableProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootIndexableProperty creates a new indexable property. +func NewTootIndexableProperty() *TootIndexableProperty { + return &TootIndexableProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaBoolean +// afterwards will return false. +func (this *TootIndexableProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasBooleanMember = false +} + +// Get returns the value of this property. When IsXMLSchemaBoolean returns false, +// Get will return any arbitrary value. +func (this TootIndexableProperty) Get() bool { + return this.xmlschemaBooleanMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootIndexableProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootIndexableProperty) HasAny() bool { + return this.IsXMLSchemaBoolean() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootIndexableProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaBoolean returns true if this property is set and not an IRI. +func (this TootIndexableProperty) IsXMLSchemaBoolean() bool { + return this.hasBooleanMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootIndexableProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootIndexableProperty) KindIndex() int { + if this.IsXMLSchemaBoolean() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootIndexableProperty) LessThan(o vocab.TootIndexableProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaBoolean() && !o.IsXMLSchemaBoolean() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaBoolean() && !o.IsXMLSchemaBoolean() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaBoolean() && o.IsXMLSchemaBoolean() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return boolean.LessBoolean(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "indexable". +func (this TootIndexableProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "indexable" + } else { + return "indexable" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootIndexableProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaBoolean() { + return boolean.SerializeBoolean(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaBoolean afterwards will +// return true. +func (this *TootIndexableProperty) Set(v bool) { + this.Clear() + this.xmlschemaBooleanMember = v + this.hasBooleanMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootIndexableProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_doc.go new file mode 100644 index 000000000..d2293a47e --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertysignaturealgorithm contains the implementation for the +// signatureAlgorithm property. All applications are strongly encouraged to +// use the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertysignaturealgorithm diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_pkg.go new file mode 100644 index 000000000..2ed0e281b --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysignaturealgorithm + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_property_toot_signatureAlgorithm.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_property_toot_signatureAlgorithm.go new file mode 100644 index 000000000..f09e38fab --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturealgorithm/gen_property_toot_signatureAlgorithm.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysignaturealgorithm + +import ( + string1 "code.superseriousbusiness.org/activity/streams/values/string" + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "net/url" +) + +// TootSignatureAlgorithmProperty is the functional property "signatureAlgorithm". +// It is permitted to be a single default-valued value type. +type TootSignatureAlgorithmProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeSignatureAlgorithmProperty creates a "signatureAlgorithm" property +// from an interface representation that has been unmarshalled from a text or +// binary format. +func DeserializeSignatureAlgorithmProperty(m map[string]interface{}, aliasMap map[string]string) (*TootSignatureAlgorithmProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "signatureAlgorithm" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "signatureAlgorithm") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootSignatureAlgorithmProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &TootSignatureAlgorithmProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &TootSignatureAlgorithmProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootSignatureAlgorithmProperty creates a new signatureAlgorithm property. +func NewTootSignatureAlgorithmProperty() *TootSignatureAlgorithmProperty { + return &TootSignatureAlgorithmProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *TootSignatureAlgorithmProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this TootSignatureAlgorithmProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootSignatureAlgorithmProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootSignatureAlgorithmProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootSignatureAlgorithmProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this TootSignatureAlgorithmProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootSignatureAlgorithmProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootSignatureAlgorithmProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootSignatureAlgorithmProperty) LessThan(o vocab.TootSignatureAlgorithmProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "signatureAlgorithm". +func (this TootSignatureAlgorithmProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "signatureAlgorithm" + } else { + return "signatureAlgorithm" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootSignatureAlgorithmProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *TootSignatureAlgorithmProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootSignatureAlgorithmProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_doc.go new file mode 100644 index 000000000..668c4e8f3 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertysignaturevalue contains the implementation for the +// signatureValue property. All applications are strongly encouraged to use +// the interface instead of this concrete definition. The interfaces allow +// applications to consume only the types and properties needed and be +// independent of the go-fed implementation if another alternative +// implementation is created. This package is code-generated and subject to +// the same license as the go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertysignaturevalue diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_pkg.go new file mode 100644 index 000000000..540b6f1aa --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysignaturevalue + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_property_toot_signatureValue.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_property_toot_signatureValue.go new file mode 100644 index 000000000..c1c624939 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_signaturevalue/gen_property_toot_signatureValue.go @@ -0,0 +1,204 @@ +// Code generated by astool. DO NOT EDIT. + +package propertysignaturevalue + +import ( + string1 "code.superseriousbusiness.org/activity/streams/values/string" + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "net/url" +) + +// TootSignatureValueProperty is the functional property "signatureValue". It is +// permitted to be a single default-valued value type. +type TootSignatureValueProperty struct { + xmlschemaStringMember string + hasStringMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeSignatureValueProperty creates a "signatureValue" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeSignatureValueProperty(m map[string]interface{}, aliasMap map[string]string) (*TootSignatureValueProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "signatureValue" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "signatureValue") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootSignatureValueProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := string1.DeserializeString(i); err == nil { + this := &TootSignatureValueProperty{ + alias: alias, + hasStringMember: true, + xmlschemaStringMember: v, + } + return this, nil + } + this := &TootSignatureValueProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootSignatureValueProperty creates a new signatureValue property. +func NewTootSignatureValueProperty() *TootSignatureValueProperty { + return &TootSignatureValueProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling IsXMLSchemaString +// afterwards will return false. +func (this *TootSignatureValueProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasStringMember = false +} + +// Get returns the value of this property. When IsXMLSchemaString returns false, +// Get will return any arbitrary value. +func (this TootSignatureValueProperty) Get() string { + return this.xmlschemaStringMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootSignatureValueProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootSignatureValueProperty) HasAny() bool { + return this.IsXMLSchemaString() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootSignatureValueProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaString returns true if this property is set and not an IRI. +func (this TootSignatureValueProperty) IsXMLSchemaString() bool { + return this.hasStringMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootSignatureValueProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootSignatureValueProperty) KindIndex() int { + if this.IsXMLSchemaString() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootSignatureValueProperty) LessThan(o vocab.TootSignatureValueProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaString() && !o.IsXMLSchemaString() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaString() && o.IsXMLSchemaString() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return string1.LessString(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "signatureValue". +func (this TootSignatureValueProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "signatureValue" + } else { + return "signatureValue" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootSignatureValueProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaString() { + return string1.SerializeString(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaString afterwards will +// return true. +func (this *TootSignatureValueProperty) Set(v string) { + this.Clear() + this.xmlschemaStringMember = v + this.hasStringMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootSignatureValueProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_doc.go new file mode 100644 index 000000000..e2d1296b2 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyvoterscount contains the implementation for the votersCount +// property. All applications are strongly encouraged to use the interface +// instead of this concrete definition. The interfaces allow applications to +// consume only the types and properties needed and be independent of the +// go-fed implementation if another alternative implementation is created. +// This package is code-generated and subject to the same license as the +// go-fed tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package propertyvoterscount diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_pkg.go new file mode 100644 index 000000000..668695c06 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_pkg.go @@ -0,0 +1,15 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyvoterscount + +var mgr privateManager + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface{} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_property_toot_votersCount.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_property_toot_votersCount.go new file mode 100644 index 000000000..af68413a3 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/property_voterscount/gen_property_toot_votersCount.go @@ -0,0 +1,205 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyvoterscount + +import ( + nonnegativeinteger "code.superseriousbusiness.org/activity/streams/values/nonNegativeInteger" + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "net/url" +) + +// TootVotersCountProperty is the functional property "votersCount". It is +// permitted to be a single default-valued value type. +type TootVotersCountProperty struct { + xmlschemaNonNegativeIntegerMember int + hasNonNegativeIntegerMember bool + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeVotersCountProperty creates a "votersCount" property from an +// interface representation that has been unmarshalled from a text or binary +// format. +func DeserializeVotersCountProperty(m map[string]interface{}, aliasMap map[string]string) (*TootVotersCountProperty, error) { + alias := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + } + propName := "votersCount" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "votersCount") + } + i, ok := m[propName] + + if ok { + if s, ok := i.(string); ok { + u, err := url.Parse(s) + // If error exists, don't error out -- skip this and treat as unknown string ([]byte) at worst + // Also, if no scheme exists, don't treat it as a URL -- net/url is greedy + if err == nil && len(u.Scheme) > 0 { + this := &TootVotersCountProperty{ + alias: alias, + iri: u, + } + return this, nil + } + } + if v, err := nonnegativeinteger.DeserializeNonNegativeInteger(i); err == nil { + this := &TootVotersCountProperty{ + alias: alias, + hasNonNegativeIntegerMember: true, + xmlschemaNonNegativeIntegerMember: v, + } + return this, nil + } + this := &TootVotersCountProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewTootVotersCountProperty creates a new votersCount property. +func NewTootVotersCountProperty() *TootVotersCountProperty { + return &TootVotersCountProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling +// IsXMLSchemaNonNegativeInteger afterwards will return false. +func (this *TootVotersCountProperty) Clear() { + this.unknown = nil + this.iri = nil + this.hasNonNegativeIntegerMember = false +} + +// Get returns the value of this property. When IsXMLSchemaNonNegativeInteger +// returns false, Get will return any arbitrary value. +func (this TootVotersCountProperty) Get() int { + return this.xmlschemaNonNegativeIntegerMember +} + +// GetIRI returns the IRI of this property. When IsIRI returns false, GetIRI will +// return any arbitrary value. +func (this TootVotersCountProperty) GetIRI() *url.URL { + return this.iri +} + +// HasAny returns true if the value or IRI is set. +func (this TootVotersCountProperty) HasAny() bool { + return this.IsXMLSchemaNonNegativeInteger() || this.iri != nil +} + +// IsIRI returns true if this property is an IRI. +func (this TootVotersCountProperty) IsIRI() bool { + return this.iri != nil +} + +// IsXMLSchemaNonNegativeInteger returns true if this property is set and not an +// IRI. +func (this TootVotersCountProperty) IsXMLSchemaNonNegativeInteger() bool { + return this.hasNonNegativeIntegerMember +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// property and the specific values that are set. The value in the map is the +// alias used to import the property's value or values. +func (this TootVotersCountProperty) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + var child map[string]string + + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + for k, v := range child { + m[k] = v + } + return m +} + +// KindIndex computes an arbitrary value for indexing this kind of value. This is +// a leaky API detail only for folks looking to replace the go-fed +// implementation. Applications should not use this method. +func (this TootVotersCountProperty) KindIndex() int { + if this.IsXMLSchemaNonNegativeInteger() { + return 0 + } + if this.IsIRI() { + return -2 + } + return -1 +} + +// LessThan compares two instances of this property with an arbitrary but stable +// comparison. Applications should not use this because it is only meant to +// help alternative implementations to go-fed to be able to normalize +// nonfunctional properties. +func (this TootVotersCountProperty) LessThan(o vocab.TootVotersCountProperty) bool { + // LessThan comparison for if either or both are IRIs. + if this.IsIRI() && o.IsIRI() { + return this.iri.String() < o.GetIRI().String() + } else if this.IsIRI() { + // IRIs are always less than other values, none, or unknowns + return true + } else if o.IsIRI() { + // This other, none, or unknown value is always greater than IRIs + return false + } + // LessThan comparison for the single value or unknown value. + if !this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Both are unknowns. + return false + } else if this.IsXMLSchemaNonNegativeInteger() && !o.IsXMLSchemaNonNegativeInteger() { + // Values are always greater than unknown values. + return false + } else if !this.IsXMLSchemaNonNegativeInteger() && o.IsXMLSchemaNonNegativeInteger() { + // Unknowns are always less than known values. + return true + } else { + // Actual comparison. + return nonnegativeinteger.LessNonNegativeInteger(this.Get(), o.Get()) + } +} + +// Name returns the name of this property: "votersCount". +func (this TootVotersCountProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "votersCount" + } else { + return "votersCount" + } +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. Applications should not need this +// function as most typical use cases serialize types instead of individual +// properties. It is exposed for alternatives to go-fed implementations to use. +func (this TootVotersCountProperty) Serialize() (interface{}, error) { + if this.IsXMLSchemaNonNegativeInteger() { + return nonnegativeinteger.SerializeNonNegativeInteger(this.Get()) + } else if this.IsIRI() { + return this.iri.String(), nil + } + return this.unknown, nil +} + +// Set sets the value of this property. Calling IsXMLSchemaNonNegativeInteger +// afterwards will return true. +func (this *TootVotersCountProperty) Set(v int) { + this.Clear() + this.xmlschemaNonNegativeIntegerMember = v + this.hasNonNegativeIntegerMember = true +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards will return +// true. +func (this *TootVotersCountProperty) SetIRI(v *url.URL) { + this.Clear() + this.iri = v +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_doc.go new file mode 100644 index 000000000..1fadb2fe0 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeemoji contains the implementation for the Emoji type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeemoji diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_pkg.go new file mode 100644 index 000000000..1cde7cb62 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_pkg.go @@ -0,0 +1,179 @@ +// Code generated by astool. DO NOT EDIT. + +package typeemoji + +import vocab "code.superseriousbusiness.org/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSensitivePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSensitiveProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSensitivePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSensitiveProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_type_toot_emoji.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_type_toot_emoji.go new file mode 100644 index 000000000..a9e6c897b --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_emoji/gen_type_toot_emoji.go @@ -0,0 +1,1655 @@ +// Code generated by astool. DO NOT EDIT. + +package typeemoji + +import ( + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "strings" +) + +// { +// "content": "Hello world :Kappa:", +// "id": "https://example.com/@alice/hello-world", +// "tag": [ +// { +// "icon": { +// "mediaType": "image/png", +// "type": "Image", +// "url": "https://example.com/files/kappa.png" +// }, +// "id": "https://example.com/emoji/123", +// "name": ":Kappa:", +// "type": "Emoji" +// } +// ], +// "type": "Note" +// } +type TootEmoji struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsSensitive vocab.ActivityStreamsSensitiveProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// DeserializeEmoji creates a Emoji from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeEmoji(m map[string]interface{}, aliasMap map[string]string) (*TootEmoji, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &TootEmoji{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Emoji" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Emoji", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Emoji" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Emoji") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSensitivePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSensitive = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "sensitive" { + continue + } else if k == "shares" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "to" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// EmojiIsDisjointWith returns true if the other provided type is disjoint with +// the Emoji type. +func EmojiIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Hashtag", "Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// EmojiIsExtendedBy returns true if the other provided type extends from the +// Emoji type. Note that it returns false if the types are the same; see the +// "IsOrExtendsEmoji" variant instead. +func EmojiIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsEmoji returns true if the other provided type is the Emoji type or +// extends from the Emoji type. +func IsOrExtendsEmoji(other vocab.Type) bool { + if other.GetTypeName() == "Emoji" { + return true + } + return EmojiIsExtendedBy(other) +} + +// NewTootEmoji creates a new Emoji type +func NewTootEmoji() *TootEmoji { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Emoji") + return &TootEmoji{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TootEmojiExtends returns true if the Emoji type extends from the other type. +func TootEmojiExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this TootEmoji) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this TootEmoji) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this TootEmoji) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsSensitive returns the "sensitive" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsSensitive() vocab.ActivityStreamsSensitiveProperty { + return this.ActivityStreamsSensitive +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this TootEmoji) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this TootEmoji) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this TootEmoji) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this TootEmoji) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this TootEmoji) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this TootEmoji) GetTypeName() string { + return "Emoji" +} + +// GetUnknownProperties returns the unknown properties for the Emoji type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this TootEmoji) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Emoji type extends from the other type. +func (this TootEmoji) IsExtending(other vocab.Type) bool { + return TootEmojiExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this TootEmoji) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsSensitive, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this Emoji is lesser, with an arbitrary but stable +// determination. +func (this TootEmoji) LessThan(o vocab.TootEmoji) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "sensitive" + if lhs, rhs := this.ActivityStreamsSensitive, o.GetActivityStreamsSensitive(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this TootEmoji) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Emoji" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Emoji" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "sensitive" + if this.ActivityStreamsSensitive != nil { + if i, err := this.ActivityStreamsSensitive.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSensitive.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *TootEmoji) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *TootEmoji) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *TootEmoji) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *TootEmoji) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *TootEmoji) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *TootEmoji) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *TootEmoji) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *TootEmoji) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *TootEmoji) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *TootEmoji) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *TootEmoji) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *TootEmoji) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *TootEmoji) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *TootEmoji) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *TootEmoji) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *TootEmoji) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *TootEmoji) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *TootEmoji) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *TootEmoji) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *TootEmoji) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *TootEmoji) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *TootEmoji) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *TootEmoji) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsSensitive sets the "sensitive" property. +func (this *TootEmoji) SetActivityStreamsSensitive(i vocab.ActivityStreamsSensitiveProperty) { + this.ActivityStreamsSensitive = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *TootEmoji) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *TootEmoji) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *TootEmoji) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *TootEmoji) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *TootEmoji) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *TootEmoji) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *TootEmoji) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *TootEmoji) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetJSONLDId sets the "id" property. +func (this *TootEmoji) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *TootEmoji) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this TootEmoji) VocabularyURI() string { + return "http://joinmastodon.org/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this TootEmoji) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_doc.go new file mode 100644 index 000000000..ec71c25bc --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typehashtag contains the implementation for the Hashtag type. All +// applications are strongly encouraged to use the interface instead of this +// concrete definition. The interfaces allow applications to consume only the +// types and properties needed and be independent of the go-fed implementation +// if another alternative implementation is created. This package is +// code-generated and subject to the same license as the go-fed tool used to +// generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typehashtag diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_pkg.go new file mode 100644 index 000000000..b83fcb4af --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_pkg.go @@ -0,0 +1,91 @@ +// Code generated by astool. DO NOT EDIT. + +package typehashtag + +import vocab "code.superseriousbusiness.org/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeHeightPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHeightProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHeightPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHeightProperty, error) + // DeserializeHrefPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHrefProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHrefPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHrefProperty, error) + // DeserializeHreflangPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsHreflangProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeHreflangPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsHreflangProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializeRelPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRelProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeRelPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRelProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeWidthPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsWidthProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeWidthPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsWidthProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_type_toot_hashtag.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_type_toot_hashtag.go new file mode 100644 index 000000000..80221b0d4 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_hashtag/gen_type_toot_hashtag.go @@ -0,0 +1,726 @@ +// Code generated by astool. DO NOT EDIT. + +package typehashtag + +import ( + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "strings" +) + +// { +// "content": "example", +// "id": "https://example.com/@alice/hello-world", +// "tag": [ +// { +// "href": "https://example.com/hashtag/example", +// "name": "#example", +// "type": "Hashtag" +// } +// ], +// "type": "Note" +// } +type TootHashtag struct { + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsHeight vocab.ActivityStreamsHeightProperty + ActivityStreamsHref vocab.ActivityStreamsHrefProperty + ActivityStreamsHreflang vocab.ActivityStreamsHreflangProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsRel vocab.ActivityStreamsRelProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsWidth vocab.ActivityStreamsWidthProperty + alias string + unknown map[string]interface{} +} + +// DeserializeHashtag creates a Hashtag from a map representation that has been +// unmarshalled from a text or binary format. +func DeserializeHashtag(m map[string]interface{}, aliasMap map[string]string) (*TootHashtag, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &TootHashtag{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "Hashtag" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "Hashtag", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "Hashtag" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "Hashtag") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeHeightPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHeight = p + } + if p, err := mgr.DeserializeHrefPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHref = p + } + if p, err := mgr.DeserializeHreflangPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsHreflang = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializeRelPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsRel = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeWidthPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsWidth = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "attributedTo" { + continue + } else if k == "height" { + continue + } else if k == "href" { + continue + } else if k == "hreflang" { + continue + } else if k == "id" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "preview" { + continue + } else if k == "rel" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "type" { + continue + } else if k == "width" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// HashtagIsDisjointWith returns true if the other provided type is disjoint with +// the Hashtag type. +func HashtagIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Accept", "Activity", "Add", "Album", "Announce", "AnnounceApproval", "AnnounceAuthorization", "AnnounceRequest", "Application", "Arrive", "Article", "Artist", "Audio", "Block", "Collection", "CollectionPage", "Create", "Delete", "Dislike", "Document", "Emoji", "Event", "Flag", "Follow", "Group", "IdentityProof", "Ignore", "Image", "IntransitiveActivity", "Invite", "Join", "Leave", "Library", "Like", "LikeApproval", "LikeAuthorization", "LikeRequest", "Listen", "Move", "Note", "Object", "Offer", "OrderedCollection", "OrderedCollectionPage", "OrderedCollectionPage", "Organization", "Page", "Person", "Place", "Profile", "PropertyValue", "Question", "Read", "Reject", "Relationship", "Remove", "ReplyApproval", "ReplyAuthorization", "ReplyRequest", "Service", "TentativeAccept", "TentativeReject", "Tombstone", "Track", "Travel", "Undo", "Update", "Video", "View"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// HashtagIsExtendedBy returns true if the other provided type extends from the +// Hashtag type. Note that it returns false if the types are the same; see the +// "IsOrExtendsHashtag" variant instead. +func HashtagIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsHashtag returns true if the other provided type is the Hashtag type +// or extends from the Hashtag type. +func IsOrExtendsHashtag(other vocab.Type) bool { + if other.GetTypeName() == "Hashtag" { + return true + } + return HashtagIsExtendedBy(other) +} + +// NewTootHashtag creates a new Hashtag type +func NewTootHashtag() *TootHashtag { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("Hashtag") + return &TootHashtag{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TootHashtagExtends returns true if the Hashtag type extends from the other type. +func TootHashtagExtends(other vocab.Type) bool { + extensions := []string{"Link"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this TootHashtag) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsHeight returns the "height" property if it exists, and nil +// otherwise. +func (this TootHashtag) GetActivityStreamsHeight() vocab.ActivityStreamsHeightProperty { + return this.ActivityStreamsHeight +} + +// GetActivityStreamsHref returns the "href" property if it exists, and nil +// otherwise. +func (this TootHashtag) GetActivityStreamsHref() vocab.ActivityStreamsHrefProperty { + return this.ActivityStreamsHref +} + +// GetActivityStreamsHreflang returns the "hreflang" property if it exists, and +// nil otherwise. +func (this TootHashtag) GetActivityStreamsHreflang() vocab.ActivityStreamsHreflangProperty { + return this.ActivityStreamsHreflang +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this TootHashtag) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this TootHashtag) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this TootHashtag) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsRel returns the "rel" property if it exists, and nil +// otherwise. +func (this TootHashtag) GetActivityStreamsRel() vocab.ActivityStreamsRelProperty { + return this.ActivityStreamsRel +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this TootHashtag) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsWidth returns the "width" property if it exists, and nil +// otherwise. +func (this TootHashtag) GetActivityStreamsWidth() vocab.ActivityStreamsWidthProperty { + return this.ActivityStreamsWidth +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this TootHashtag) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this TootHashtag) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTypeName returns the name of this type. +func (this TootHashtag) GetTypeName() string { + return "Hashtag" +} + +// GetUnknownProperties returns the unknown properties for the Hashtag type. Note +// that this should not be used by app developers. It is only used to help +// determine which implementation is LessThan the other. Developers who are +// creating a different implementation of this type's interface can use this +// method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this TootHashtag) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the Hashtag type extends from the other type. +func (this TootHashtag) IsExtending(other vocab.Type) bool { + return TootHashtagExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this TootHashtag) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsHeight, m) + m = this.helperJSONLDContext(this.ActivityStreamsHref, m) + m = this.helperJSONLDContext(this.ActivityStreamsHreflang, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsRel, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsWidth, m) + + return m +} + +// LessThan computes if this Hashtag is lesser, with an arbitrary but stable +// determination. +func (this TootHashtag) LessThan(o vocab.TootHashtag) bool { + // Begin: Compare known properties + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "height" + if lhs, rhs := this.ActivityStreamsHeight, o.GetActivityStreamsHeight(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "href" + if lhs, rhs := this.ActivityStreamsHref, o.GetActivityStreamsHref(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "hreflang" + if lhs, rhs := this.ActivityStreamsHreflang, o.GetActivityStreamsHreflang(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "rel" + if lhs, rhs := this.ActivityStreamsRel, o.GetActivityStreamsRel(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "width" + if lhs, rhs := this.ActivityStreamsWidth, o.GetActivityStreamsWidth(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this TootHashtag) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "Hashtag" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "Hashtag" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "height" + if this.ActivityStreamsHeight != nil { + if i, err := this.ActivityStreamsHeight.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHeight.Name()] = i + } + } + // Maybe serialize property "href" + if this.ActivityStreamsHref != nil { + if i, err := this.ActivityStreamsHref.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHref.Name()] = i + } + } + // Maybe serialize property "hreflang" + if this.ActivityStreamsHreflang != nil { + if i, err := this.ActivityStreamsHreflang.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsHreflang.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "rel" + if this.ActivityStreamsRel != nil { + if i, err := this.ActivityStreamsRel.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsRel.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "width" + if this.ActivityStreamsWidth != nil { + if i, err := this.ActivityStreamsWidth.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsWidth.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *TootHashtag) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsHeight sets the "height" property. +func (this *TootHashtag) SetActivityStreamsHeight(i vocab.ActivityStreamsHeightProperty) { + this.ActivityStreamsHeight = i +} + +// SetActivityStreamsHref sets the "href" property. +func (this *TootHashtag) SetActivityStreamsHref(i vocab.ActivityStreamsHrefProperty) { + this.ActivityStreamsHref = i +} + +// SetActivityStreamsHreflang sets the "hreflang" property. +func (this *TootHashtag) SetActivityStreamsHreflang(i vocab.ActivityStreamsHreflangProperty) { + this.ActivityStreamsHreflang = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *TootHashtag) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *TootHashtag) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *TootHashtag) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsRel sets the "rel" property. +func (this *TootHashtag) SetActivityStreamsRel(i vocab.ActivityStreamsRelProperty) { + this.ActivityStreamsRel = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *TootHashtag) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsWidth sets the "width" property. +func (this *TootHashtag) SetActivityStreamsWidth(i vocab.ActivityStreamsWidthProperty) { + this.ActivityStreamsWidth = i +} + +// SetJSONLDId sets the "id" property. +func (this *TootHashtag) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *TootHashtag) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this TootHashtag) VocabularyURI() string { + return "http://joinmastodon.org/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this TootHashtag) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_doc.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_doc.go new file mode 100644 index 000000000..a785de594 --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package typeidentityproof contains the implementation for the IdentityProof +// type. All applications are strongly encouraged to use the interface instead +// of this concrete definition. The interfaces allow applications to consume +// only the types and properties needed and be independent of the go-fed +// implementation if another alternative implementation is created. This +// package is code-generated and subject to the same license as the go-fed +// tool used to generate it. +// +// This package is independent of other types' and properties' implementations +// by having a Manager injected into it to act as a factory for the concrete +// implementations. The implementations have been generated into their own +// separate subpackages for each vocabulary. +// +// Strongly consider using the interfaces instead of this package. +package typeidentityproof diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_pkg.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_pkg.go new file mode 100644 index 000000000..f75ed9b4a --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_pkg.go @@ -0,0 +1,187 @@ +// Code generated by astool. DO NOT EDIT. + +package typeidentityproof + +import vocab "code.superseriousbusiness.org/activity/streams/vocab" + +var mgr privateManager + +var typePropertyConstructor func() vocab.JSONLDTypeProperty + +// privateManager abstracts the code-generated manager that provides access to +// concrete implementations. +type privateManager interface { + // DeserializeAltitudePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAltitudeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAltitudePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAltitudeProperty, error) + // DeserializeAttachmentPropertyActivityStreams returns the + // deserialization method for the "ActivityStreamsAttachmentProperty" + // non-functional property in the vocabulary "ActivityStreams" + DeserializeAttachmentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttachmentProperty, error) + // DeserializeAttributedToPropertyActivityStreams returns the + // deserialization method for the + // "ActivityStreamsAttributedToProperty" non-functional property in + // the vocabulary "ActivityStreams" + DeserializeAttributedToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAttributedToProperty, error) + // DeserializeAudiencePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsAudienceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeAudiencePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsAudienceProperty, error) + // DeserializeBccPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBccProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBccPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBccProperty, error) + // DeserializeBtoPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsBtoProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeBtoPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsBtoProperty, error) + // DeserializeCcPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsCcProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeCcPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsCcProperty, error) + // DeserializeContentPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContentProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContentPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContentProperty, error) + // DeserializeContextPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsContextProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeContextPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsContextProperty, error) + // DeserializeDurationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsDurationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeDurationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsDurationProperty, error) + // DeserializeEndTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsEndTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeEndTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsEndTimeProperty, error) + // DeserializeGeneratorPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsGeneratorProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeGeneratorPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsGeneratorProperty, error) + // DeserializeIconPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsIconProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeIconPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsIconProperty, error) + // DeserializeIdPropertyJSONLD returns the deserialization method for the + // "JSONLDIdProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeIdPropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDIdProperty, error) + // DeserializeImagePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsImageProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeImagePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsImageProperty, error) + // DeserializeInReplyToPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsInReplyToProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeInReplyToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsInReplyToProperty, error) + // DeserializeLikesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLikesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLikesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLikesProperty, error) + // DeserializeLocationPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsLocationProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeLocationPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsLocationProperty, error) + // DeserializeMediaTypePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsMediaTypeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeMediaTypePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsMediaTypeProperty, error) + // DeserializeNamePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsNameProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeNamePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsNameProperty, error) + // DeserializeObjectPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsObjectProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeObjectPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsObjectProperty, error) + // DeserializePreviewPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPreviewProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePreviewPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPreviewProperty, error) + // DeserializePublishedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsPublishedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializePublishedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsPublishedProperty, error) + // DeserializeRepliesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsRepliesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeRepliesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsRepliesProperty, error) + // DeserializeSensitivePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSensitiveProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSensitivePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSensitiveProperty, error) + // DeserializeSharesPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSharesProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSharesPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSharesProperty, error) + // DeserializeSignatureAlgorithmPropertyToot returns the deserialization + // method for the "TootSignatureAlgorithmProperty" non-functional + // property in the vocabulary "Toot" + DeserializeSignatureAlgorithmPropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootSignatureAlgorithmProperty, error) + // DeserializeSignatureValuePropertyToot returns the deserialization + // method for the "TootSignatureValueProperty" non-functional property + // in the vocabulary "Toot" + DeserializeSignatureValuePropertyToot() func(map[string]interface{}, map[string]string) (vocab.TootSignatureValueProperty, error) + // DeserializeSourcePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSourceProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSourcePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSourceProperty, error) + // DeserializeStartTimePropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsStartTimeProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeStartTimePropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsStartTimeProperty, error) + // DeserializeSummaryPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsSummaryProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeSummaryPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsSummaryProperty, error) + // DeserializeTagPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsTagProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeTagPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsTagProperty, error) + // DeserializeToPropertyActivityStreams returns the deserialization method + // for the "ActivityStreamsToProperty" non-functional property in the + // vocabulary "ActivityStreams" + DeserializeToPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsToProperty, error) + // DeserializeTypePropertyJSONLD returns the deserialization method for + // the "JSONLDTypeProperty" non-functional property in the vocabulary + // "JSONLD" + DeserializeTypePropertyJSONLD() func(map[string]interface{}, map[string]string) (vocab.JSONLDTypeProperty, error) + // DeserializeUpdatedPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUpdatedProperty" non-functional + // property in the vocabulary "ActivityStreams" + DeserializeUpdatedPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUpdatedProperty, error) + // DeserializeUrlPropertyActivityStreams returns the deserialization + // method for the "ActivityStreamsUrlProperty" non-functional property + // in the vocabulary "ActivityStreams" + DeserializeUrlPropertyActivityStreams() func(map[string]interface{}, map[string]string) (vocab.ActivityStreamsUrlProperty, error) +} + +// jsonldContexter is a private interface to determine the JSON-LD contexts and +// aliases needed for functional and non-functional properties. It is a helper +// interface for this implementation. +type jsonldContexter interface { + // JSONLDContext returns the JSONLD URIs required in the context string + // for this property and the specific values that are set. The value + // in the map is the alias used to import the property's value or + // values. + JSONLDContext() map[string]string +} + +// SetManager sets the manager package-global variable. For internal use only, do +// not use as part of Application behavior. Must be called at golang init time. +func SetManager(m privateManager) { + mgr = m +} + +// SetTypePropertyConstructor sets the "type" property's constructor in the +// package-global variable. For internal use only, do not use as part of +// Application behavior. Must be called at golang init time. Permits +// ActivityStreams types to correctly set their "type" property at +// construction time, so users don't have to remember to do so each time. It +// is dependency injected so other go-fed compatible implementations could +// inject their own type. +func SetTypePropertyConstructor(f func() vocab.JSONLDTypeProperty) { + typePropertyConstructor = f +} diff --git a/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_type_toot_identityproof.go b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_type_toot_identityproof.go new file mode 100644 index 000000000..31fd97e4d --- /dev/null +++ b/vendor/code.superseriousbusiness.org/activity/streams/impl/toot/type_identityproof/gen_type_toot_identityproof.go @@ -0,0 +1,1724 @@ +// Code generated by astool. DO NOT EDIT. + +package typeidentityproof + +import ( + vocab "code.superseriousbusiness.org/activity/streams/vocab" + "fmt" + "strings" +) + +// null +type TootIdentityProof struct { + ActivityStreamsAltitude vocab.ActivityStreamsAltitudeProperty + ActivityStreamsAttachment vocab.ActivityStreamsAttachmentProperty + ActivityStreamsAttributedTo vocab.ActivityStreamsAttributedToProperty + ActivityStreamsAudience vocab.ActivityStreamsAudienceProperty + ActivityStreamsBcc vocab.ActivityStreamsBccProperty + ActivityStreamsBto vocab.ActivityStreamsBtoProperty + ActivityStreamsCc vocab.ActivityStreamsCcProperty + ActivityStreamsContent vocab.ActivityStreamsContentProperty + ActivityStreamsContext vocab.ActivityStreamsContextProperty + ActivityStreamsDuration vocab.ActivityStreamsDurationProperty + ActivityStreamsEndTime vocab.ActivityStreamsEndTimeProperty + ActivityStreamsGenerator vocab.ActivityStreamsGeneratorProperty + ActivityStreamsIcon vocab.ActivityStreamsIconProperty + JSONLDId vocab.JSONLDIdProperty + ActivityStreamsImage vocab.ActivityStreamsImageProperty + ActivityStreamsInReplyTo vocab.ActivityStreamsInReplyToProperty + ActivityStreamsLikes vocab.ActivityStreamsLikesProperty + ActivityStreamsLocation vocab.ActivityStreamsLocationProperty + ActivityStreamsMediaType vocab.ActivityStreamsMediaTypeProperty + ActivityStreamsName vocab.ActivityStreamsNameProperty + ActivityStreamsObject vocab.ActivityStreamsObjectProperty + ActivityStreamsPreview vocab.ActivityStreamsPreviewProperty + ActivityStreamsPublished vocab.ActivityStreamsPublishedProperty + ActivityStreamsReplies vocab.ActivityStreamsRepliesProperty + ActivityStreamsSensitive vocab.ActivityStreamsSensitiveProperty + ActivityStreamsShares vocab.ActivityStreamsSharesProperty + TootSignatureAlgorithm vocab.TootSignatureAlgorithmProperty + TootSignatureValue vocab.TootSignatureValueProperty + ActivityStreamsSource vocab.ActivityStreamsSourceProperty + ActivityStreamsStartTime vocab.ActivityStreamsStartTimeProperty + ActivityStreamsSummary vocab.ActivityStreamsSummaryProperty + ActivityStreamsTag vocab.ActivityStreamsTagProperty + ActivityStreamsTo vocab.ActivityStreamsToProperty + JSONLDType vocab.JSONLDTypeProperty + ActivityStreamsUpdated vocab.ActivityStreamsUpdatedProperty + ActivityStreamsUrl vocab.ActivityStreamsUrlProperty + alias string + unknown map[string]interface{} +} + +// DeserializeIdentityProof creates a IdentityProof from a map representation that +// has been unmarshalled from a text or binary format. +func DeserializeIdentityProof(m map[string]interface{}, aliasMap map[string]string) (*TootIdentityProof, error) { + alias := "" + aliasPrefix := "" + if a, ok := aliasMap["http://joinmastodon.org/ns"]; ok { + alias = a + aliasPrefix = a + ":" + } + this := &TootIdentityProof{ + alias: alias, + unknown: make(map[string]interface{}), + } + if typeValue, ok := m["type"]; !ok { + return nil, fmt.Errorf("no \"type\" property in map") + } else if typeString, ok := typeValue.(string); ok { + typeName := strings.TrimPrefix(typeString, aliasPrefix) + if typeName != "IdentityProof" { + return nil, fmt.Errorf("\"type\" property is not of %q type: %s", "IdentityProof", typeName) + } + // Fall through, success in finding a proper Type + } else if arrType, ok := typeValue.([]interface{}); ok { + found := false + for _, elemVal := range arrType { + if typeString, ok := elemVal.(string); ok && strings.TrimPrefix(typeString, aliasPrefix) == "IdentityProof" { + found = true + break + } + } + if !found { + return nil, fmt.Errorf("could not find a \"type\" property of value %q", "IdentityProof") + } + // Fall through, success in finding a proper Type + } else { + return nil, fmt.Errorf("\"type\" property is unrecognized type: %T", typeValue) + } + // Begin: Known property deserialization + if p, err := mgr.DeserializeAltitudePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAltitude = p + } + if p, err := mgr.DeserializeAttachmentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttachment = p + } + if p, err := mgr.DeserializeAttributedToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAttributedTo = p + } + if p, err := mgr.DeserializeAudiencePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsAudience = p + } + if p, err := mgr.DeserializeBccPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBcc = p + } + if p, err := mgr.DeserializeBtoPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsBto = p + } + if p, err := mgr.DeserializeCcPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsCc = p + } + if p, err := mgr.DeserializeContentPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContent = p + } + if p, err := mgr.DeserializeContextPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsContext = p + } + if p, err := mgr.DeserializeDurationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsDuration = p + } + if p, err := mgr.DeserializeEndTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsEndTime = p + } + if p, err := mgr.DeserializeGeneratorPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsGenerator = p + } + if p, err := mgr.DeserializeIconPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsIcon = p + } + if p, err := mgr.DeserializeIdPropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDId = p + } + if p, err := mgr.DeserializeImagePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsImage = p + } + if p, err := mgr.DeserializeInReplyToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsInReplyTo = p + } + if p, err := mgr.DeserializeLikesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLikes = p + } + if p, err := mgr.DeserializeLocationPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsLocation = p + } + if p, err := mgr.DeserializeMediaTypePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsMediaType = p + } + if p, err := mgr.DeserializeNamePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsName = p + } + if p, err := mgr.DeserializeObjectPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsObject = p + } + if p, err := mgr.DeserializePreviewPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPreview = p + } + if p, err := mgr.DeserializePublishedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsPublished = p + } + if p, err := mgr.DeserializeRepliesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsReplies = p + } + if p, err := mgr.DeserializeSensitivePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSensitive = p + } + if p, err := mgr.DeserializeSharesPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsShares = p + } + if p, err := mgr.DeserializeSignatureAlgorithmPropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootSignatureAlgorithm = p + } + if p, err := mgr.DeserializeSignatureValuePropertyToot()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.TootSignatureValue = p + } + if p, err := mgr.DeserializeSourcePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSource = p + } + if p, err := mgr.DeserializeStartTimePropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsStartTime = p + } + if p, err := mgr.DeserializeSummaryPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsSummary = p + } + if p, err := mgr.DeserializeTagPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTag = p + } + if p, err := mgr.DeserializeToPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsTo = p + } + if p, err := mgr.DeserializeTypePropertyJSONLD()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.JSONLDType = p + } + if p, err := mgr.DeserializeUpdatedPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUpdated = p + } + if p, err := mgr.DeserializeUrlPropertyActivityStreams()(m, aliasMap); err != nil { + return nil, err + } else if p != nil { + this.ActivityStreamsUrl = p + } + // End: Known property deserialization + + // Begin: Unknown deserialization + for k, v := range m { + // Begin: Code that ensures a property name is unknown + if k == "altitude" { + continue + } else if k == "attachment" { + continue + } else if k == "attributedTo" { + continue + } else if k == "audience" { + continue + } else if k == "bcc" { + continue + } else if k == "bto" { + continue + } else if k == "cc" { + continue + } else if k == "content" { + continue + } else if k == "contentMap" { + continue + } else if k == "context" { + continue + } else if k == "duration" { + continue + } else if k == "endTime" { + continue + } else if k == "generator" { + continue + } else if k == "icon" { + continue + } else if k == "id" { + continue + } else if k == "image" { + continue + } else if k == "inReplyTo" { + continue + } else if k == "likes" { + continue + } else if k == "location" { + continue + } else if k == "mediaType" { + continue + } else if k == "name" { + continue + } else if k == "nameMap" { + continue + } else if k == "object" { + continue + } else if k == "preview" { + continue + } else if k == "published" { + continue + } else if k == "replies" { + continue + } else if k == "sensitive" { + continue + } else if k == "shares" { + continue + } else if k == "signatureAlgorithm" { + continue + } else if k == "signatureValue" { + continue + } else if k == "source" { + continue + } else if k == "startTime" { + continue + } else if k == "summary" { + continue + } else if k == "summaryMap" { + continue + } else if k == "tag" { + continue + } else if k == "to" { + continue + } else if k == "type" { + continue + } else if k == "updated" { + continue + } else if k == "url" { + continue + } // End: Code that ensures a property name is unknown + + this.unknown[k] = v + } + // End: Unknown deserialization + + return this, nil +} + +// IdentityProofIsDisjointWith returns true if the other provided type is disjoint +// with the IdentityProof type. +func IdentityProofIsDisjointWith(other vocab.Type) bool { + disjointWith := []string{"Hashtag", "Link", "Mention"} + for _, disjoint := range disjointWith { + if disjoint == other.GetTypeName() { + return true + } + } + return false +} + +// IdentityProofIsExtendedBy returns true if the other provided type extends from +// the IdentityProof type. Note that it returns false if the types are the +// same; see the "IsOrExtendsIdentityProof" variant instead. +func IdentityProofIsExtendedBy(other vocab.Type) bool { + // Shortcut implementation: is not extended by anything. + return false +} + +// IsOrExtendsIdentityProof returns true if the other provided type is the +// IdentityProof type or extends from the IdentityProof type. +func IsOrExtendsIdentityProof(other vocab.Type) bool { + if other.GetTypeName() == "IdentityProof" { + return true + } + return IdentityProofIsExtendedBy(other) +} + +// NewTootIdentityProof creates a new IdentityProof type +func NewTootIdentityProof() *TootIdentityProof { + typeProp := typePropertyConstructor() + typeProp.AppendXMLSchemaString("IdentityProof") + return &TootIdentityProof{ + JSONLDType: typeProp, + alias: "", + unknown: make(map[string]interface{}), + } +} + +// TootIdentityProofExtends returns true if the IdentityProof type extends from +// the other type. +func TootIdentityProofExtends(other vocab.Type) bool { + extensions := []string{"Object"} + for _, ext := range extensions { + if ext == other.GetTypeName() { + return true + } + } + return false +} + +// GetActivityStreamsAltitude returns the "altitude" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsAltitude() vocab.ActivityStreamsAltitudeProperty { + return this.ActivityStreamsAltitude +} + +// GetActivityStreamsAttachment returns the "attachment" property if it exists, +// and nil otherwise. +func (this TootIdentityProof) GetActivityStreamsAttachment() vocab.ActivityStreamsAttachmentProperty { + return this.ActivityStreamsAttachment +} + +// GetActivityStreamsAttributedTo returns the "attributedTo" property if it +// exists, and nil otherwise. +func (this TootIdentityProof) GetActivityStreamsAttributedTo() vocab.ActivityStreamsAttributedToProperty { + return this.ActivityStreamsAttributedTo +} + +// GetActivityStreamsAudience returns the "audience" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsAudience() vocab.ActivityStreamsAudienceProperty { + return this.ActivityStreamsAudience +} + +// GetActivityStreamsBcc returns the "bcc" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsBcc() vocab.ActivityStreamsBccProperty { + return this.ActivityStreamsBcc +} + +// GetActivityStreamsBto returns the "bto" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsBto() vocab.ActivityStreamsBtoProperty { + return this.ActivityStreamsBto +} + +// GetActivityStreamsCc returns the "cc" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetActivityStreamsCc() vocab.ActivityStreamsCcProperty { + return this.ActivityStreamsCc +} + +// GetActivityStreamsContent returns the "content" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsContent() vocab.ActivityStreamsContentProperty { + return this.ActivityStreamsContent +} + +// GetActivityStreamsContext returns the "context" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsContext() vocab.ActivityStreamsContextProperty { + return this.ActivityStreamsContext +} + +// GetActivityStreamsDuration returns the "duration" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsDuration() vocab.ActivityStreamsDurationProperty { + return this.ActivityStreamsDuration +} + +// GetActivityStreamsEndTime returns the "endTime" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsEndTime() vocab.ActivityStreamsEndTimeProperty { + return this.ActivityStreamsEndTime +} + +// GetActivityStreamsGenerator returns the "generator" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsGenerator() vocab.ActivityStreamsGeneratorProperty { + return this.ActivityStreamsGenerator +} + +// GetActivityStreamsIcon returns the "icon" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsIcon() vocab.ActivityStreamsIconProperty { + return this.ActivityStreamsIcon +} + +// GetActivityStreamsImage returns the "image" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsImage() vocab.ActivityStreamsImageProperty { + return this.ActivityStreamsImage +} + +// GetActivityStreamsInReplyTo returns the "inReplyTo" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsInReplyTo() vocab.ActivityStreamsInReplyToProperty { + return this.ActivityStreamsInReplyTo +} + +// GetActivityStreamsLikes returns the "likes" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsLikes() vocab.ActivityStreamsLikesProperty { + return this.ActivityStreamsLikes +} + +// GetActivityStreamsLocation returns the "location" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsLocation() vocab.ActivityStreamsLocationProperty { + return this.ActivityStreamsLocation +} + +// GetActivityStreamsMediaType returns the "mediaType" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsMediaType() vocab.ActivityStreamsMediaTypeProperty { + return this.ActivityStreamsMediaType +} + +// GetActivityStreamsName returns the "name" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsName() vocab.ActivityStreamsNameProperty { + return this.ActivityStreamsName +} + +// GetActivityStreamsObject returns the "object" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsObject() vocab.ActivityStreamsObjectProperty { + return this.ActivityStreamsObject +} + +// GetActivityStreamsPreview returns the "preview" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsPreview() vocab.ActivityStreamsPreviewProperty { + return this.ActivityStreamsPreview +} + +// GetActivityStreamsPublished returns the "published" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsPublished() vocab.ActivityStreamsPublishedProperty { + return this.ActivityStreamsPublished +} + +// GetActivityStreamsReplies returns the "replies" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsReplies() vocab.ActivityStreamsRepliesProperty { + return this.ActivityStreamsReplies +} + +// GetActivityStreamsSensitive returns the "sensitive" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsSensitive() vocab.ActivityStreamsSensitiveProperty { + return this.ActivityStreamsSensitive +} + +// GetActivityStreamsShares returns the "shares" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsShares() vocab.ActivityStreamsSharesProperty { + return this.ActivityStreamsShares +} + +// GetActivityStreamsSource returns the "source" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsSource() vocab.ActivityStreamsSourceProperty { + return this.ActivityStreamsSource +} + +// GetActivityStreamsStartTime returns the "startTime" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetActivityStreamsStartTime() vocab.ActivityStreamsStartTimeProperty { + return this.ActivityStreamsStartTime +} + +// GetActivityStreamsSummary returns the "summary" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsSummary() vocab.ActivityStreamsSummaryProperty { + return this.ActivityStreamsSummary +} + +// GetActivityStreamsTag returns the "tag" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsTag() vocab.ActivityStreamsTagProperty { + return this.ActivityStreamsTag +} + +// GetActivityStreamsTo returns the "to" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetActivityStreamsTo() vocab.ActivityStreamsToProperty { + return this.ActivityStreamsTo +} + +// GetActivityStreamsUpdated returns the "updated" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsUpdated() vocab.ActivityStreamsUpdatedProperty { + return this.ActivityStreamsUpdated +} + +// GetActivityStreamsUrl returns the "url" property if it exists, and nil +// otherwise. +func (this TootIdentityProof) GetActivityStreamsUrl() vocab.ActivityStreamsUrlProperty { + return this.ActivityStreamsUrl +} + +// GetJSONLDId returns the "id" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetJSONLDId() vocab.JSONLDIdProperty { + return this.JSONLDId +} + +// GetJSONLDType returns the "type" property if it exists, and nil otherwise. +func (this TootIdentityProof) GetJSONLDType() vocab.JSONLDTypeProperty { + return this.JSONLDType +} + +// GetTootSignatureAlgorithm returns the "signatureAlgorithm" property if it +// exists, and nil otherwise. +func (this TootIdentityProof) GetTootSignatureAlgorithm() vocab.TootSignatureAlgorithmProperty { + return this.TootSignatureAlgorithm +} + +// GetTootSignatureValue returns the "signatureValue" property if it exists, and +// nil otherwise. +func (this TootIdentityProof) GetTootSignatureValue() vocab.TootSignatureValueProperty { + return this.TootSignatureValue +} + +// GetTypeName returns the name of this type. +func (this TootIdentityProof) GetTypeName() string { + return "IdentityProof" +} + +// GetUnknownProperties returns the unknown properties for the IdentityProof type. +// Note that this should not be used by app developers. It is only used to +// help determine which implementation is LessThan the other. Developers who +// are creating a different implementation of this type's interface can use +// this method in their LessThan implementation, but routine ActivityPub +// applications should not use this to bypass the code generation tool. +func (this TootIdentityProof) GetUnknownProperties() map[string]interface{} { + return this.unknown +} + +// IsExtending returns true if the IdentityProof type extends from the other type. +func (this TootIdentityProof) IsExtending(other vocab.Type) bool { + return TootIdentityProofExtends(other) +} + +// JSONLDContext returns the JSONLD URIs required in the context string for this +// type and the specific properties that are set. The value in the map is the +// alias used to import the type and its properties. +func (this TootIdentityProof) JSONLDContext() map[string]string { + m := map[string]string{"http://joinmastodon.org/ns": this.alias} + m = this.helperJSONLDContext(this.ActivityStreamsAltitude, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttachment, m) + m = this.helperJSONLDContext(this.ActivityStreamsAttributedTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsAudience, m) + m = this.helperJSONLDContext(this.ActivityStreamsBcc, m) + m = this.helperJSONLDContext(this.ActivityStreamsBto, m) + m = this.helperJSONLDContext(this.ActivityStreamsCc, m) + m = this.helperJSONLDContext(this.ActivityStreamsContent, m) + m = this.helperJSONLDContext(this.ActivityStreamsContext, m) + m = this.helperJSONLDContext(this.ActivityStreamsDuration, m) + m = this.helperJSONLDContext(this.ActivityStreamsEndTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsGenerator, m) + m = this.helperJSONLDContext(this.ActivityStreamsIcon, m) + m = this.helperJSONLDContext(this.JSONLDId, m) + m = this.helperJSONLDContext(this.ActivityStreamsImage, m) + m = this.helperJSONLDContext(this.ActivityStreamsInReplyTo, m) + m = this.helperJSONLDContext(this.ActivityStreamsLikes, m) + m = this.helperJSONLDContext(this.ActivityStreamsLocation, m) + m = this.helperJSONLDContext(this.ActivityStreamsMediaType, m) + m = this.helperJSONLDContext(this.ActivityStreamsName, m) + m = this.helperJSONLDContext(this.ActivityStreamsObject, m) + m = this.helperJSONLDContext(this.ActivityStreamsPreview, m) + m = this.helperJSONLDContext(this.ActivityStreamsPublished, m) + m = this.helperJSONLDContext(this.ActivityStreamsReplies, m) + m = this.helperJSONLDContext(this.ActivityStreamsSensitive, m) + m = this.helperJSONLDContext(this.ActivityStreamsShares, m) + m = this.helperJSONLDContext(this.TootSignatureAlgorithm, m) + m = this.helperJSONLDContext(this.TootSignatureValue, m) + m = this.helperJSONLDContext(this.ActivityStreamsSource, m) + m = this.helperJSONLDContext(this.ActivityStreamsStartTime, m) + m = this.helperJSONLDContext(this.ActivityStreamsSummary, m) + m = this.helperJSONLDContext(this.ActivityStreamsTag, m) + m = this.helperJSONLDContext(this.ActivityStreamsTo, m) + m = this.helperJSONLDContext(this.JSONLDType, m) + m = this.helperJSONLDContext(this.ActivityStreamsUpdated, m) + m = this.helperJSONLDContext(this.ActivityStreamsUrl, m) + + return m +} + +// LessThan computes if this IdentityProof is lesser, with an arbitrary but stable +// determination. +func (this TootIdentityProof) LessThan(o vocab.TootIdentityProof) bool { + // Begin: Compare known properties + // Compare property "altitude" + if lhs, rhs := this.ActivityStreamsAltitude, o.GetActivityStreamsAltitude(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attachment" + if lhs, rhs := this.ActivityStreamsAttachment, o.GetActivityStreamsAttachment(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "attributedTo" + if lhs, rhs := this.ActivityStreamsAttributedTo, o.GetActivityStreamsAttributedTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "audience" + if lhs, rhs := this.ActivityStreamsAudience, o.GetActivityStreamsAudience(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bcc" + if lhs, rhs := this.ActivityStreamsBcc, o.GetActivityStreamsBcc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "bto" + if lhs, rhs := this.ActivityStreamsBto, o.GetActivityStreamsBto(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "cc" + if lhs, rhs := this.ActivityStreamsCc, o.GetActivityStreamsCc(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "content" + if lhs, rhs := this.ActivityStreamsContent, o.GetActivityStreamsContent(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "context" + if lhs, rhs := this.ActivityStreamsContext, o.GetActivityStreamsContext(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "duration" + if lhs, rhs := this.ActivityStreamsDuration, o.GetActivityStreamsDuration(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "endTime" + if lhs, rhs := this.ActivityStreamsEndTime, o.GetActivityStreamsEndTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "generator" + if lhs, rhs := this.ActivityStreamsGenerator, o.GetActivityStreamsGenerator(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "icon" + if lhs, rhs := this.ActivityStreamsIcon, o.GetActivityStreamsIcon(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "id" + if lhs, rhs := this.JSONLDId, o.GetJSONLDId(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "image" + if lhs, rhs := this.ActivityStreamsImage, o.GetActivityStreamsImage(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "inReplyTo" + if lhs, rhs := this.ActivityStreamsInReplyTo, o.GetActivityStreamsInReplyTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "likes" + if lhs, rhs := this.ActivityStreamsLikes, o.GetActivityStreamsLikes(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "location" + if lhs, rhs := this.ActivityStreamsLocation, o.GetActivityStreamsLocation(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "mediaType" + if lhs, rhs := this.ActivityStreamsMediaType, o.GetActivityStreamsMediaType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "name" + if lhs, rhs := this.ActivityStreamsName, o.GetActivityStreamsName(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "object" + if lhs, rhs := this.ActivityStreamsObject, o.GetActivityStreamsObject(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "preview" + if lhs, rhs := this.ActivityStreamsPreview, o.GetActivityStreamsPreview(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "published" + if lhs, rhs := this.ActivityStreamsPublished, o.GetActivityStreamsPublished(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "replies" + if lhs, rhs := this.ActivityStreamsReplies, o.GetActivityStreamsReplies(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "sensitive" + if lhs, rhs := this.ActivityStreamsSensitive, o.GetActivityStreamsSensitive(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "shares" + if lhs, rhs := this.ActivityStreamsShares, o.GetActivityStreamsShares(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "signatureAlgorithm" + if lhs, rhs := this.TootSignatureAlgorithm, o.GetTootSignatureAlgorithm(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "signatureValue" + if lhs, rhs := this.TootSignatureValue, o.GetTootSignatureValue(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "source" + if lhs, rhs := this.ActivityStreamsSource, o.GetActivityStreamsSource(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "startTime" + if lhs, rhs := this.ActivityStreamsStartTime, o.GetActivityStreamsStartTime(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "summary" + if lhs, rhs := this.ActivityStreamsSummary, o.GetActivityStreamsSummary(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "tag" + if lhs, rhs := this.ActivityStreamsTag, o.GetActivityStreamsTag(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "to" + if lhs, rhs := this.ActivityStreamsTo, o.GetActivityStreamsTo(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "type" + if lhs, rhs := this.JSONLDType, o.GetJSONLDType(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "updated" + if lhs, rhs := this.ActivityStreamsUpdated, o.GetActivityStreamsUpdated(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // Compare property "url" + if lhs, rhs := this.ActivityStreamsUrl, o.GetActivityStreamsUrl(); lhs != nil && rhs != nil { + if lhs.LessThan(rhs) { + return true + } else if rhs.LessThan(lhs) { + return false + } + } else if lhs == nil && rhs != nil { + // Nil is less than anything else + return true + } else if rhs != nil && rhs == nil { + // Anything else is greater than nil + return false + } // Else: Both are nil + // End: Compare known properties + + // Begin: Compare unknown properties (only by number of them) + if len(this.unknown) < len(o.GetUnknownProperties()) { + return true + } else if len(o.GetUnknownProperties()) < len(this.unknown) { + return false + } // End: Compare unknown properties (only by number of them) + + // All properties are the same. + return false +} + +// Serialize converts this into an interface representation suitable for +// marshalling into a text or binary format. +func (this TootIdentityProof) Serialize() (map[string]interface{}, error) { + m := make(map[string]interface{}) + typeName := "IdentityProof" + if len(this.alias) > 0 { + typeName = this.alias + ":" + "IdentityProof" + } + m["type"] = typeName + // Begin: Serialize known properties + // Maybe serialize property "altitude" + if this.ActivityStreamsAltitude != nil { + if i, err := this.ActivityStreamsAltitude.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAltitude.Name()] = i + } + } + // Maybe serialize property "attachment" + if this.ActivityStreamsAttachment != nil { + if i, err := this.ActivityStreamsAttachment.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttachment.Name()] = i + } + } + // Maybe serialize property "attributedTo" + if this.ActivityStreamsAttributedTo != nil { + if i, err := this.ActivityStreamsAttributedTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAttributedTo.Name()] = i + } + } + // Maybe serialize property "audience" + if this.ActivityStreamsAudience != nil { + if i, err := this.ActivityStreamsAudience.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsAudience.Name()] = i + } + } + // Maybe serialize property "bcc" + if this.ActivityStreamsBcc != nil { + if i, err := this.ActivityStreamsBcc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBcc.Name()] = i + } + } + // Maybe serialize property "bto" + if this.ActivityStreamsBto != nil { + if i, err := this.ActivityStreamsBto.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsBto.Name()] = i + } + } + // Maybe serialize property "cc" + if this.ActivityStreamsCc != nil { + if i, err := this.ActivityStreamsCc.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsCc.Name()] = i + } + } + // Maybe serialize property "content" + if this.ActivityStreamsContent != nil { + if i, err := this.ActivityStreamsContent.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContent.Name()] = i + } + } + // Maybe serialize property "context" + if this.ActivityStreamsContext != nil { + if i, err := this.ActivityStreamsContext.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsContext.Name()] = i + } + } + // Maybe serialize property "duration" + if this.ActivityStreamsDuration != nil { + if i, err := this.ActivityStreamsDuration.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsDuration.Name()] = i + } + } + // Maybe serialize property "endTime" + if this.ActivityStreamsEndTime != nil { + if i, err := this.ActivityStreamsEndTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsEndTime.Name()] = i + } + } + // Maybe serialize property "generator" + if this.ActivityStreamsGenerator != nil { + if i, err := this.ActivityStreamsGenerator.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsGenerator.Name()] = i + } + } + // Maybe serialize property "icon" + if this.ActivityStreamsIcon != nil { + if i, err := this.ActivityStreamsIcon.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsIcon.Name()] = i + } + } + // Maybe serialize property "id" + if this.JSONLDId != nil { + if i, err := this.JSONLDId.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDId.Name()] = i + } + } + // Maybe serialize property "image" + if this.ActivityStreamsImage != nil { + if i, err := this.ActivityStreamsImage.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsImage.Name()] = i + } + } + // Maybe serialize property "inReplyTo" + if this.ActivityStreamsInReplyTo != nil { + if i, err := this.ActivityStreamsInReplyTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsInReplyTo.Name()] = i + } + } + // Maybe serialize property "likes" + if this.ActivityStreamsLikes != nil { + if i, err := this.ActivityStreamsLikes.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLikes.Name()] = i + } + } + // Maybe serialize property "location" + if this.ActivityStreamsLocation != nil { + if i, err := this.ActivityStreamsLocation.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsLocation.Name()] = i + } + } + // Maybe serialize property "mediaType" + if this.ActivityStreamsMediaType != nil { + if i, err := this.ActivityStreamsMediaType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsMediaType.Name()] = i + } + } + // Maybe serialize property "name" + if this.ActivityStreamsName != nil { + if i, err := this.ActivityStreamsName.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsName.Name()] = i + } + } + // Maybe serialize property "object" + if this.ActivityStreamsObject != nil { + if i, err := this.ActivityStreamsObject.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsObject.Name()] = i + } + } + // Maybe serialize property "preview" + if this.ActivityStreamsPreview != nil { + if i, err := this.ActivityStreamsPreview.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPreview.Name()] = i + } + } + // Maybe serialize property "published" + if this.ActivityStreamsPublished != nil { + if i, err := this.ActivityStreamsPublished.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsPublished.Name()] = i + } + } + // Maybe serialize property "replies" + if this.ActivityStreamsReplies != nil { + if i, err := this.ActivityStreamsReplies.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsReplies.Name()] = i + } + } + // Maybe serialize property "sensitive" + if this.ActivityStreamsSensitive != nil { + if i, err := this.ActivityStreamsSensitive.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSensitive.Name()] = i + } + } + // Maybe serialize property "shares" + if this.ActivityStreamsShares != nil { + if i, err := this.ActivityStreamsShares.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsShares.Name()] = i + } + } + // Maybe serialize property "signatureAlgorithm" + if this.TootSignatureAlgorithm != nil { + if i, err := this.TootSignatureAlgorithm.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootSignatureAlgorithm.Name()] = i + } + } + // Maybe serialize property "signatureValue" + if this.TootSignatureValue != nil { + if i, err := this.TootSignatureValue.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.TootSignatureValue.Name()] = i + } + } + // Maybe serialize property "source" + if this.ActivityStreamsSource != nil { + if i, err := this.ActivityStreamsSource.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSource.Name()] = i + } + } + // Maybe serialize property "startTime" + if this.ActivityStreamsStartTime != nil { + if i, err := this.ActivityStreamsStartTime.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsStartTime.Name()] = i + } + } + // Maybe serialize property "summary" + if this.ActivityStreamsSummary != nil { + if i, err := this.ActivityStreamsSummary.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsSummary.Name()] = i + } + } + // Maybe serialize property "tag" + if this.ActivityStreamsTag != nil { + if i, err := this.ActivityStreamsTag.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTag.Name()] = i + } + } + // Maybe serialize property "to" + if this.ActivityStreamsTo != nil { + if i, err := this.ActivityStreamsTo.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsTo.Name()] = i + } + } + // Maybe serialize property "type" + if this.JSONLDType != nil { + if i, err := this.JSONLDType.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.JSONLDType.Name()] = i + } + } + // Maybe serialize property "updated" + if this.ActivityStreamsUpdated != nil { + if i, err := this.ActivityStreamsUpdated.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUpdated.Name()] = i + } + } + // Maybe serialize property "url" + if this.ActivityStreamsUrl != nil { + if i, err := this.ActivityStreamsUrl.Serialize(); err != nil { + return nil, err + } else if i != nil { + m[this.ActivityStreamsUrl.Name()] = i + } + } + // End: Serialize known properties + + // Begin: Serialize unknown properties + for k, v := range this.unknown { + // To be safe, ensure we aren't overwriting a known property + if _, has := m[k]; !has { + m[k] = v + } + } + // End: Serialize unknown properties + + return m, nil +} + +// SetActivityStreamsAltitude sets the "altitude" property. +func (this *TootIdentityProof) SetActivityStreamsAltitude(i vocab.ActivityStreamsAltitudeProperty) { + this.ActivityStreamsAltitude = i +} + +// SetActivityStreamsAttachment sets the "attachment" property. +func (this *TootIdentityProof) SetActivityStreamsAttachment(i vocab.ActivityStreamsAttachmentProperty) { + this.ActivityStreamsAttachment = i +} + +// SetActivityStreamsAttributedTo sets the "attributedTo" property. +func (this *TootIdentityProof) SetActivityStreamsAttributedTo(i vocab.ActivityStreamsAttributedToProperty) { + this.ActivityStreamsAttributedTo = i +} + +// SetActivityStreamsAudience sets the "audience" property. +func (this *TootIdentityProof) SetActivityStreamsAudience(i vocab.ActivityStreamsAudienceProperty) { + this.ActivityStreamsAudience = i +} + +// SetActivityStreamsBcc sets the "bcc" property. +func (this *TootIdentityProof) SetActivityStreamsBcc(i vocab.ActivityStreamsBccProperty) { + this.ActivityStreamsBcc = i +} + +// SetActivityStreamsBto sets the "bto" property. +func (this *TootIdentityProof) SetActivityStreamsBto(i vocab.ActivityStreamsBtoProperty) { + this.ActivityStreamsBto = i +} + +// SetActivityStreamsCc sets the "cc" property. +func (this *TootIdentityProof) SetActivityStreamsCc(i vocab.ActivityStreamsCcProperty) { + this.ActivityStreamsCc = i +} + +// SetActivityStreamsContent sets the "content" property. +func (this *TootIdentityProof) SetActivityStreamsContent(i vocab.ActivityStreamsContentProperty) { + this.ActivityStreamsContent = i +} + +// SetActivityStreamsContext sets the "context" property. +func (this *TootIdentityProof) SetActivityStreamsContext(i vocab.ActivityStreamsContextProperty) { + this.ActivityStreamsContext = i +} + +// SetActivityStreamsDuration sets the "duration" property. +func (this *TootIdentityProof) SetActivityStreamsDuration(i vocab.ActivityStreamsDurationProperty) { + this.ActivityStreamsDuration = i +} + +// SetActivityStreamsEndTime sets the "endTime" property. +func (this *TootIdentityProof) SetActivityStreamsEndTime(i vocab.ActivityStreamsEndTimeProperty) { + this.ActivityStreamsEndTime = i +} + +// SetActivityStreamsGenerator sets the "generator" property. +func (this *TootIdentityProof) SetActivityStreamsGenerator(i vocab.ActivityStreamsGeneratorProperty) { + this.ActivityStreamsGenerator = i +} + +// SetActivityStreamsIcon sets the "icon" property. +func (this *TootIdentityProof) SetActivityStreamsIcon(i vocab.ActivityStreamsIconProperty) { + this.ActivityStreamsIcon = i +} + +// SetActivityStreamsImage sets the "image" property. +func (this *TootIdentityProof) SetActivityStreamsImage(i vocab.ActivityStreamsImageProperty) { + this.ActivityStreamsImage = i +} + +// SetActivityStreamsInReplyTo sets the "inReplyTo" property. +func (this *TootIdentityProof) SetActivityStreamsInReplyTo(i vocab.ActivityStreamsInReplyToProperty) { + this.ActivityStreamsInReplyTo = i +} + +// SetActivityStreamsLikes sets the "likes" property. +func (this *TootIdentityProof) SetActivityStreamsLikes(i vocab.ActivityStreamsLikesProperty) { + this.ActivityStreamsLikes = i +} + +// SetActivityStreamsLocation sets the "location" property. +func (this *TootIdentityProof) SetActivityStreamsLocation(i vocab.ActivityStreamsLocationProperty) { + this.ActivityStreamsLocation = i +} + +// SetActivityStreamsMediaType sets the "mediaType" property. +func (this *TootIdentityProof) SetActivityStreamsMediaType(i vocab.ActivityStreamsMediaTypeProperty) { + this.ActivityStreamsMediaType = i +} + +// SetActivityStreamsName sets the "name" property. +func (this *TootIdentityProof) SetActivityStreamsName(i vocab.ActivityStreamsNameProperty) { + this.ActivityStreamsName = i +} + +// SetActivityStreamsObject sets the "object" property. +func (this *TootIdentityProof) SetActivityStreamsObject(i vocab.ActivityStreamsObjectProperty) { + this.ActivityStreamsObject = i +} + +// SetActivityStreamsPreview sets the "preview" property. +func (this *TootIdentityProof) SetActivityStreamsPreview(i vocab.ActivityStreamsPreviewProperty) { + this.ActivityStreamsPreview = i +} + +// SetActivityStreamsPublished sets the "published" property. +func (this *TootIdentityProof) SetActivityStreamsPublished(i vocab.ActivityStreamsPublishedProperty) { + this.ActivityStreamsPublished = i +} + +// SetActivityStreamsReplies sets the "replies" property. +func (this *TootIdentityProof) SetActivityStreamsReplies(i vocab.ActivityStreamsRepliesProperty) { + this.ActivityStreamsReplies = i +} + +// SetActivityStreamsSensitive sets the "sensitive" property. +func (this *TootIdentityProof) SetActivityStreamsSensitive(i vocab.ActivityStreamsSensitiveProperty) { + this.ActivityStreamsSensitive = i +} + +// SetActivityStreamsShares sets the "shares" property. +func (this *TootIdentityProof) SetActivityStreamsShares(i vocab.ActivityStreamsSharesProperty) { + this.ActivityStreamsShares = i +} + +// SetActivityStreamsSource sets the "source" property. +func (this *TootIdentityProof) SetActivityStreamsSource(i vocab.ActivityStreamsSourceProperty) { + this.ActivityStreamsSource = i +} + +// SetActivityStreamsStartTime sets the "startTime" property. +func (this *TootIdentityProof) SetActivityStreamsStartTime(i vocab.ActivityStreamsStartTimeProperty) { + this.ActivityStreamsStartTime = i +} + +// SetActivityStreamsSummary sets the "summary" property. +func (this *TootIdentityProof) SetActivityStreamsSummary(i vocab.ActivityStreamsSummaryProperty) { + this.ActivityStreamsSummary = i +} + +// SetActivityStreamsTag sets the "tag" property. +func (this *TootIdentityProof) SetActivityStreamsTag(i vocab.ActivityStreamsTagProperty) { + this.ActivityStreamsTag = i +} + +// SetActivityStreamsTo sets the "to" property. +func (this *TootIdentityProof) SetActivityStreamsTo(i vocab.ActivityStreamsToProperty) { + this.ActivityStreamsTo = i +} + +// SetActivityStreamsUpdated sets the "updated" property. +func (this *TootIdentityProof) SetActivityStreamsUpdated(i vocab.ActivityStreamsUpdatedProperty) { + this.ActivityStreamsUpdated = i +} + +// SetActivityStreamsUrl sets the "url" property. +func (this *TootIdentityProof) SetActivityStreamsUrl(i vocab.ActivityStreamsUrlProperty) { + this.ActivityStreamsUrl = i +} + +// SetJSONLDId sets the "id" property. +func (this *TootIdentityProof) SetJSONLDId(i vocab.JSONLDIdProperty) { + this.JSONLDId = i +} + +// SetJSONLDType sets the "type" property. +func (this *TootIdentityProof) SetJSONLDType(i vocab.JSONLDTypeProperty) { + this.JSONLDType = i +} + +// SetTootSignatureAlgorithm sets the "signatureAlgorithm" property. +func (this *TootIdentityProof) SetTootSignatureAlgorithm(i vocab.TootSignatureAlgorithmProperty) { + this.TootSignatureAlgorithm = i +} + +// SetTootSignatureValue sets the "signatureValue" property. +func (this *TootIdentityProof) SetTootSignatureValue(i vocab.TootSignatureValueProperty) { + this.TootSignatureValue = i +} + +// VocabularyURI returns the vocabulary's URI as a string. +func (this TootIdentityProof) VocabularyURI() string { + return "http://joinmastodon.org/ns" +} + +// helperJSONLDContext obtains the context uris and their aliases from a property, +// if it is not nil. +func (this TootIdentityProof) helperJSONLDContext(i jsonldContexter, toMerge map[string]string) map[string]string { + if i == nil { + return toMerge + } + for k, v := range i.JSONLDContext() { + /* + Since the literal maps in this function are determined at + code-generation time, this loop should not overwrite an existing key with a + new value. + */ + toMerge[k] = v + } + return toMerge +} |
