diff options
author | 2021-08-12 21:03:24 +0200 | |
---|---|---|
committer | 2021-08-12 21:03:24 +0200 | |
commit | 98263a7de64269898a2f81207e38943b5c8e8653 (patch) | |
tree | 743c90f109a6c5d27832d1dcef2388d939f0f77a /vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox | |
parent | Text duplication fix (#137) (diff) | |
download | gotosocial-98263a7de64269898a2f81207e38943b5c8e8653.tar.xz |
Grand test fixup (#138)
* start fixing up tests
* fix up tests + automate with drone
* fiddle with linting
* messing about with drone.yml
* some more fiddling
* hmmm
* add cache
* add vendor directory
* verbose
* ci updates
* update some little things
* update sig
Diffstat (limited to 'vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox')
3 files changed, 312 insertions, 0 deletions
diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_doc.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_doc.go new file mode 100644 index 000000000..b3f67f050 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_doc.go @@ -0,0 +1,17 @@ +// Code generated by astool. DO NOT EDIT. + +// Package propertyinbox contains the implementation for the inbox 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 propertyinbox diff --git a/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_pkg.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_pkg.go new file mode 100644 index 000000000..fd89c2c62 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_pkg.go @@ -0,0 +1,27 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyinbox + +import vocab "github.com/go-fed/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/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_property_activitystreams_inbox.go b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_property_activitystreams_inbox.go new file mode 100644 index 000000000..d93011f27 --- /dev/null +++ b/vendor/github.com/go-fed/activity/streams/impl/activitystreams/property_inbox/gen_property_activitystreams_inbox.go @@ -0,0 +1,268 @@ +// Code generated by astool. DO NOT EDIT. + +package propertyinbox + +import ( + "fmt" + vocab "github.com/go-fed/activity/streams/vocab" + "net/url" +) + +// ActivityStreamsInboxProperty is the functional property "inbox". 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 ActivityStreamsInboxProperty struct { + activitystreamsOrderedCollectionMember vocab.ActivityStreamsOrderedCollection + activitystreamsOrderedCollectionPageMember vocab.ActivityStreamsOrderedCollectionPage + unknown interface{} + iri *url.URL + alias string +} + +// DeserializeInboxProperty creates a "inbox" property from an interface +// representation that has been unmarshalled from a text or binary format. +func DeserializeInboxProperty(m map[string]interface{}, aliasMap map[string]string) (*ActivityStreamsInboxProperty, error) { + alias := "" + if a, ok := aliasMap["https://www.w3.org/ns/activitystreams"]; ok { + alias = a + } + propName := "inbox" + if len(alias) > 0 { + // Use alias both to find the property, and set within the property. + propName = fmt.Sprintf("%s:%s", alias, "inbox") + } + 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 := &ActivityStreamsInboxProperty{ + 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 := &ActivityStreamsInboxProperty{ + activitystreamsOrderedCollectionMember: v, + alias: alias, + } + return this, nil + } else if v, err := mgr.DeserializeOrderedCollectionPageActivityStreams()(m, aliasMap); err == nil { + this := &ActivityStreamsInboxProperty{ + activitystreamsOrderedCollectionPageMember: v, + alias: alias, + } + return this, nil + } + } + this := &ActivityStreamsInboxProperty{ + alias: alias, + unknown: i, + } + return this, nil + } + return nil, nil +} + +// NewActivityStreamsInboxProperty creates a new inbox property. +func NewActivityStreamsInboxProperty() *ActivityStreamsInboxProperty { + return &ActivityStreamsInboxProperty{alias: ""} +} + +// Clear ensures no value of this property is set. Calling HasAny or any of the +// 'Is' methods afterwards will return false. +func (this *ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) JSONLDContext() map[string]string { + m := map[string]string{"https://www.w3.org/ns/activitystreams": 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 ActivityStreamsInboxProperty) 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 ActivityStreamsInboxProperty) LessThan(o vocab.ActivityStreamsInboxProperty) 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: "inbox". +func (this ActivityStreamsInboxProperty) Name() string { + if len(this.alias) > 0 { + return this.alias + ":" + "inbox" + } else { + return "inbox" + } +} + +// 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 ActivityStreamsInboxProperty) 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 *ActivityStreamsInboxProperty) SetActivityStreamsOrderedCollection(v vocab.ActivityStreamsOrderedCollection) { + this.Clear() + this.activitystreamsOrderedCollectionMember = v +} + +// SetActivityStreamsOrderedCollectionPage sets the value of this property. +// Calling IsActivityStreamsOrderedCollectionPage afterwards returns true. +func (this *ActivityStreamsInboxProperty) SetActivityStreamsOrderedCollectionPage(v vocab.ActivityStreamsOrderedCollectionPage) { + this.Clear() + this.activitystreamsOrderedCollectionPageMember = v +} + +// SetIRI sets the value of this property. Calling IsIRI afterwards returns true. +func (this *ActivityStreamsInboxProperty) 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 *ActivityStreamsInboxProperty) 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 inbox property: %T", t) +} |