Add Chain appenders to listed ns files

This commit is contained in:
Melody Becker 2025-04-07 17:38:13 +02:00
parent f85e4b0a9b
commit 45fa095a15
7 changed files with 193 additions and 7 deletions

View file

@ -163,3 +163,8 @@ func PersonFromChain(base goap.BaseApChain) (*Person, error) {
Url: url.Id, Url: url.Id,
}, nil }, nil
} }
func (p *Person) ToChain() goap.BaseApChain {
var x goap.BaseApChain = &goap.EmptyBaseObject{}
panic("not implemented") // TODO: Implement me
}

View file

@ -27,6 +27,10 @@ func ParseASActorData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASActorData{FullIdType: *id}, nil return &ASActorData{FullIdType: *id}, nil
} }
func AppendASActorData(base BaseApChain, id string) BaseApChain {
return &ASActorData{FullIdType{base, id}}
}
type ASAlsoKnownAsData struct { type ASAlsoKnownAsData struct {
FullIdType FullIdType
} }
@ -47,6 +51,10 @@ func ParseASAlsoKnownAsData(raw map[string]any, next BaseApChain) (BaseApChain,
return &ASAlsoKnownAsData{FullIdType: *id}, nil return &ASAlsoKnownAsData{FullIdType: *id}, nil
} }
func AppendASAlsoKnownAsData(base BaseApChain, id string) BaseApChain {
return &ASAlsoKnownAsData{FullIdType{base, id}}
}
type ASAttachmentsData struct { type ASAttachmentsData struct {
Next BaseApChain Next BaseApChain
Attachments []Attachment Attachments []Attachment
@ -96,6 +104,10 @@ func ParseASAttachmentsData(raw map[string]any, next BaseApChain) (BaseApChain,
}, nil }, nil
} }
func AppendASAttachmentsData(base BaseApChain, attachments ...Attachment) BaseApChain {
return &ASAttachmentsData{base, attachments}
}
type ASAttributedToData struct { type ASAttributedToData struct {
FullIdType FullIdType
} }
@ -116,6 +128,10 @@ func ParseASAttributedToData(raw map[string]any, next BaseApChain) (BaseApChain,
return &ASAttributedToData{FullIdType: *id}, nil return &ASAttributedToData{FullIdType: *id}, nil
} }
func AppendASAttributedToData(base BaseApChain, id string) BaseApChain {
return &ASAttributedToData{FullIdType{base, id}}
}
type ASCCData struct { type ASCCData struct {
Next BaseApChain Next BaseApChain
Targets []string Targets []string
@ -167,6 +183,10 @@ func ParseASCCData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
}, nil }, nil
} }
func AppendASCCData(base BaseApChain, targets ...string) BaseApChain {
return &ASCCData{base, targets}
}
// Content is an array of string value types due to some servers including the content in multiple languages or with different metadata attached // Content is an array of string value types due to some servers including the content in multiple languages or with different metadata attached
type ASContentData struct { type ASContentData struct {
Next BaseApChain Next BaseApChain
@ -215,6 +235,10 @@ func ParseASContentData(raw map[string]any, next BaseApChain) (BaseApChain, erro
}, nil }, nil
} }
func AppendASContentData(base BaseApChain, entries ...ValueValue[string]) BaseApChain {
return &ASContentData{base, entries}
}
type ASEndpointsData struct { type ASEndpointsData struct {
Next BaseApChain Next BaseApChain
Endpoints map[string]string Endpoints map[string]string
@ -279,6 +303,10 @@ func ParseASEndpointsData(raw map[string]any, next BaseApChain) (BaseApChain, er
}, nil }, nil
} }
func AppendASEndpointsData(base BaseApChain, endpoints map[string]string) BaseApChain {
return &ASEndpointsData{base, endpoints}
}
type ASFollowersData struct { type ASFollowersData struct {
FullIdType FullIdType
} }
@ -299,6 +327,10 @@ func ParseASFollowersData(raw map[string]any, next BaseApChain) (BaseApChain, er
return &ASFollowersData{FullIdType: *id}, nil return &ASFollowersData{FullIdType: *id}, nil
} }
func AppendASFollowersData(base BaseApChain, id string) BaseApChain {
return &ASActorData{FullIdType{base, id}}
}
type ASFollowingData struct { type ASFollowingData struct {
FullIdType FullIdType
} }
@ -319,6 +351,10 @@ func ParseASFollowingData(raw map[string]any, next BaseApChain) (BaseApChain, er
return &ASFollowingData{FullIdType: *id}, nil return &ASFollowingData{FullIdType: *id}, nil
} }
func AppendASFollowingData(base BaseApChain, id string) BaseApChain {
return &ASFollowingData{FullIdType{base, id}}
}
type ASHrefData struct { type ASHrefData struct {
FullIdType FullIdType
} }
@ -339,6 +375,10 @@ func ParseASHrefData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASHrefData{FullIdType: *id}, nil return &ASHrefData{FullIdType: *id}, nil
} }
func AppendASHrefData(base BaseApChain, id string) BaseApChain {
return &ASHrefData{FullIdType{base, id}}
}
type ASIconData struct { type ASIconData struct {
Next BaseApChain Next BaseApChain
Media Media Media Media
@ -379,6 +419,10 @@ func ParseASIconData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}, nil }, nil
} }
func AppendASIconData(base BaseApChain, media Media) BaseApChain {
return &ASIconData{base, media}
}
type ASImageData struct { type ASImageData struct {
Next BaseApChain Next BaseApChain
Media Media Media Media
@ -423,6 +467,10 @@ func ParseASImageData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}, nil }, nil
} }
func AppendASImageData(base BaseApChain, media Media) BaseApChain {
return &ASImageData{base, media}
}
type ASMediaTypeData struct { type ASMediaTypeData struct {
FullValueType[string] FullValueType[string]
} }
@ -443,6 +491,10 @@ func ParseASMediaTypeData(raw map[string]any, next BaseApChain) (BaseApChain, er
return &ASMediaTypeData{*tmp}, nil return &ASMediaTypeData{*tmp}, nil
} }
func AppendASMediaTypeData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASMediaTypeData{FullValueType[string]{base, data}}
}
type ASNameData struct { type ASNameData struct {
FullValueType[string] FullValueType[string]
} }
@ -463,6 +515,10 @@ func ParseASNameData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASNameData{*tmp}, nil return &ASNameData{*tmp}, nil
} }
func AppendASNameData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASNameData{FullValueType[string]{base, data}}
}
type ASOutboxData struct { type ASOutboxData struct {
FullIdType FullIdType
} }
@ -483,6 +539,10 @@ func ParseASOutboxData(raw map[string]any, next BaseApChain) (BaseApChain, error
return &ASOutboxData{FullIdType: *id}, nil return &ASOutboxData{FullIdType: *id}, nil
} }
func AppendASOutboxData(base BaseApChain, id string) BaseApChain {
return &ASOutboxData{FullIdType{base, id}}
}
type ASObjectData struct { type ASObjectData struct {
Next BaseApChain Next BaseApChain
// Unparsed objects. Please parse yourself. Go doesn't like the recursion if the parser for this attribute was calling Unmarshal // Unparsed objects. Please parse yourself. Go doesn't like the recursion if the parser for this attribute was calling Unmarshal
@ -509,6 +569,10 @@ func ParseASObjectData(raw map[string]any, next BaseApChain) (BaseApChain, error
return &ASObjectData{Next: next, Objects: data}, nil return &ASObjectData{Next: next, Objects: data}, nil
} }
func AppendASObjectData(base BaseApChain, rawObjects []map[string]any) BaseApChain {
return &ASObjectData{base, rawObjects}
}
type ASPreferredNameData struct { type ASPreferredNameData struct {
FullValueType[string] FullValueType[string]
} }
@ -529,6 +593,10 @@ func ParseASPreferredNameData(raw map[string]any, next BaseApChain) (BaseApChain
return &ASPreferredNameData{*tmp}, nil return &ASPreferredNameData{*tmp}, nil
} }
func AppendASPreferredNameData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASPreferredNameData{FullValueType[string]{base, data}}
}
type ASPublishedData struct { type ASPublishedData struct {
Next BaseApChain Next BaseApChain
Timestamp time.Time Timestamp time.Time
@ -576,6 +644,10 @@ func ParseASPublishedData(raw map[string]any, next BaseApChain) (BaseApChain, er
}, nil }, nil
} }
func AppendASPublishedData(base BaseApChain, timestamp time.Time) BaseApChain {
return &ASPublishedData{base, timestamp}
}
type ASRestrictedFollowData struct { type ASRestrictedFollowData struct {
FullValueType[bool] FullValueType[bool]
} }
@ -596,6 +668,10 @@ func ParseASRestrictedData(raw map[string]any, next BaseApChain) (BaseApChain, e
return &ASRestrictedFollowData{*tmp}, nil return &ASRestrictedFollowData{*tmp}, nil
} }
func AppendASRestrictedFollowData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &ASRestrictedFollowData{FullValueType[bool]{base, data}}
}
type ASRepliesData struct { type ASRepliesData struct {
FullIdType FullIdType
} }
@ -616,6 +692,10 @@ func ParseASRepliesData(raw map[string]any, next BaseApChain) (BaseApChain, erro
return &ASRepliesData{FullIdType: *id}, nil return &ASRepliesData{FullIdType: *id}, nil
} }
func AppendASRepliesData(base BaseApChain, id string) BaseApChain {
return &ASRepliesData{FullIdType{base, id}}
}
type ASSharedInboxData struct { type ASSharedInboxData struct {
FullIdType FullIdType
} }
@ -636,6 +716,10 @@ func ParseASSharedInboxData(raw map[string]any, next BaseApChain) (BaseApChain,
return &ASSharedInboxData{FullIdType: *id}, nil return &ASSharedInboxData{FullIdType: *id}, nil
} }
func AppendASSharedInboxData(base BaseApChain, id string) BaseApChain {
return &ASSharedInboxData{FullIdType{base, id}}
}
type ASSummaryData struct { type ASSummaryData struct {
FullValueType[string] FullValueType[string]
} }
@ -656,6 +740,10 @@ func ParseASSummaryData(raw map[string]any, next BaseApChain) (BaseApChain, erro
return &ASSummaryData{*tmp}, nil return &ASSummaryData{*tmp}, nil
} }
func AppendASSummaryData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASSummaryData{FullValueType[string]{base, data}}
}
type ASSensitiveData struct { type ASSensitiveData struct {
FullValueType[bool] FullValueType[bool]
} }
@ -676,6 +764,10 @@ func ParseASSensitiveData(raw map[string]any, next BaseApChain) (BaseApChain, er
return &ASSensitiveData{*tmp}, nil return &ASSensitiveData{*tmp}, nil
} }
func AppendASSensitiveData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &ASSensitiveData{FullValueType[bool]{base, data}}
}
type ASTagData struct { type ASTagData struct {
Next BaseApChain Next BaseApChain
Tags []Tag Tags []Tag
@ -719,6 +811,10 @@ func ParseASTagData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
}, nil }, nil
} }
func AppendASTagData(base BaseApChain, tags []Tag) BaseApChain {
return &ASTagData{base, tags}
}
type ASToData struct { type ASToData struct {
Next BaseApChain Next BaseApChain
Targets []string Targets []string
@ -767,6 +863,10 @@ func ParseASToData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
}, nil }, nil
} }
func AppendASToData(base BaseApChain, targets ...string) BaseApChain {
return &ASToData{base, targets}
}
type ASUrlData struct { type ASUrlData struct {
FullIdType FullIdType
} }
@ -787,6 +887,10 @@ func ParseASUrlData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
return &ASUrlData{FullIdType: *id}, nil return &ASUrlData{FullIdType: *id}, nil
} }
func AppendASUrlData(base BaseApChain, id string) BaseApChain {
return &ASUrlData{FullIdType{base, id}}
}
type ASUpdatedData struct { type ASUpdatedData struct {
Next BaseApChain Next BaseApChain
Timestamp time.Time Timestamp time.Time
@ -834,6 +938,10 @@ func ParseASUpdatedData(raw map[string]any, next BaseApChain) (BaseApChain, erro
}, nil }, nil
} }
func AppendASUpdatedData(base BaseApChain, timestamp time.Time) BaseApChain {
return &ASUpdatedData{base, timestamp}
}
type ASFirstData struct { type ASFirstData struct {
Next BaseApChain Next BaseApChain
// Technically the object is decodable into BaseApChain as well // Technically the object is decodable into BaseApChain as well
@ -873,6 +981,10 @@ func ParseASFirstData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}, nil }, nil
} }
func AppendASFirstData(base BaseApChain, rawObject map[string]any) BaseApChain {
return &ASFirstData{base, rawObject}
}
type ASItemsData struct { type ASItemsData struct {
Next BaseApChain Next BaseApChain
// Items are all AP objects, but can't preparse since Go doesn't like the potential recursion // Items are all AP objects, but can't preparse since Go doesn't like the potential recursion
@ -899,6 +1011,10 @@ func ParseASItemsData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASItemsData{Next: next, Items: data}, nil return &ASItemsData{Next: next, Items: data}, nil
} }
func AppendASItemsData(base BaseApChain, rawObjects ...map[string]any) BaseApChain {
return &ASItemsData{base, rawObjects}
}
type ASNextData struct { type ASNextData struct {
FullIdType FullIdType
} }
@ -919,6 +1035,10 @@ func ParseASNextData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &ASNextData{FullIdType: *id}, nil return &ASNextData{FullIdType: *id}, nil
} }
func AppendASNextData(base BaseApChain, id string) BaseApChain {
return &ASNextData{FullIdType{base, id}}
}
type ASPartOfData struct { type ASPartOfData struct {
FullIdType FullIdType
} }
@ -939,15 +1059,19 @@ func ParseASPartOfData(raw map[string]any, next BaseApChain) (BaseApChain, error
return &ASPartOfData{FullIdType: *id}, nil return &ASPartOfData{FullIdType: *id}, nil
} }
type ASInReplyTo struct { func AppendASPartOfData(base BaseApChain, id string) BaseApChain {
return &ASPartOfData{FullIdType{base, id}}
}
type ASInReplyToData struct {
FullIdType FullIdType
} }
func (a *ASInReplyTo) GetSelfOrBase() (BaseApChain, bool) { func (a *ASInReplyToData) GetSelfOrBase() (BaseApChain, bool) {
return a.Next, true return a.Next, true
} }
func (a *ASInReplyTo) MarshalToMap() map[string]any { func (a *ASInReplyToData) MarshalToMap() map[string]any {
return a.MarshalToMapWithName(KEY_ACTIVITYSTREAMS_INREPLYTO) return a.MarshalToMapWithName(KEY_ACTIVITYSTREAMS_INREPLYTO)
} }
@ -956,7 +1080,11 @@ func ParseASInReplyToData(raw map[string]any, next BaseApChain) (BaseApChain, er
if err != nil { if err != nil {
return nil, err return nil, err
} }
return &ASInReplyTo{*id}, nil return &ASInReplyToData{*id}, nil
}
func AppendASInReplyToData(base BaseApChain, id string) BaseApChain {
return &ASInReplyToData{FullIdType{base, id}}
} }
type ASQuoteUrlData struct { type ASQuoteUrlData struct {
@ -978,3 +1106,7 @@ func ParseASQuoteUrlData(raw map[string]any, next BaseApChain) (BaseApChain, err
} }
return &ASQuoteUrlData{*tmp}, nil return &ASQuoteUrlData{*tmp}, nil
} }
func AppendASQuoteUrlData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &ASQuoteUrlData{FullValueType[string]{base, data}}
}

View file

@ -19,3 +19,7 @@ func ParseFedibirdQuoteUriData(raw map[string]any, next BaseApChain) (BaseApChai
} }
return &FedibirdQuoteUriData{*v}, nil return &FedibirdQuoteUriData{*v}, nil
} }
func AppendFedibirdQuoteUriData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &FedibirdQuoteUriData{FullValueType[string]{base, data}}
}

View file

@ -32,6 +32,10 @@ func ParseLitepubCapabilitiesData(raw map[string]any, next BaseApChain) (BaseApC
}, nil }, nil
} }
func AppendLitepubCapabilitiesData(base BaseApChain, rawData ...map[string]any) BaseApChain {
return &LitepubCapabilitiesData{base, rawData}
}
type LitepubOauthRegistrationEndpointData struct { type LitepubOauthRegistrationEndpointData struct {
FullIdType FullIdType
} }
@ -56,3 +60,7 @@ func ParseLitepubOauthRegistrationEndpointData(
} }
return &LitepubOauthRegistrationEndpointData{FullIdType: *id}, nil return &LitepubOauthRegistrationEndpointData{FullIdType: *id}, nil
} }
func AppendLitepubOauthRegistrationEndpointsData(base BaseApChain, id string) BaseApChain {
return &LitepubOauthRegistrationEndpointData{FullIdType{base, id}}
}

View file

@ -20,6 +20,10 @@ func ParseMastoDevicesData(raw map[string]any, next BaseApChain) (BaseApChain, e
return &MastoDevicesData{FullIdType: *id}, nil return &MastoDevicesData{FullIdType: *id}, nil
} }
func AppendMastoDevicesData(base BaseApChain, id string) BaseApChain {
return &MastoDevicesData{FullIdType{base, id}}
}
type MastoDiscoverableData struct { type MastoDiscoverableData struct {
FullValueType[bool] FullValueType[bool]
} }
@ -40,6 +44,10 @@ func ParseMastoDiscoverableData(raw map[string]any, next BaseApChain) (BaseApCha
return &MastoDiscoverableData{*tmp}, nil return &MastoDiscoverableData{*tmp}, nil
} }
func AppendMastoDiscoverableData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &MastoDiscoverableData{FullValueType[bool]{base, data}}
}
type MastoFeaturedData struct { type MastoFeaturedData struct {
FullIdType FullIdType
} }
@ -60,6 +68,10 @@ func ParseMastoFeaturedData(raw map[string]any, next BaseApChain) (BaseApChain,
return &MastoFeaturedData{FullIdType: *id}, nil return &MastoFeaturedData{FullIdType: *id}, nil
} }
func AppendMastoFeaturedData(base BaseApChain, id string) BaseApChain {
return &MastoFeaturedData{FullIdType{base, id}}
}
type MastoFeaturedTagsData struct { type MastoFeaturedTagsData struct {
FullIdType FullIdType
} }
@ -80,6 +92,10 @@ func ParseMastoFeaturedTagsData(raw map[string]any, next BaseApChain) (BaseApCha
return &MastoFeaturedTagsData{FullIdType: *id}, nil return &MastoFeaturedTagsData{FullIdType: *id}, nil
} }
func AppendMastoFeaturedTagsData(base BaseApChain, id string) BaseApChain {
return &MastoFeaturedTagsData{FullIdType{base, id}}
}
type MastoIndexableData struct { type MastoIndexableData struct {
FullValueType[bool] FullValueType[bool]
} }
@ -100,6 +116,10 @@ func ParseMastoIndexableData(raw map[string]any, next BaseApChain) (BaseApChain,
return &MastoIndexableData{*tmp}, nil return &MastoIndexableData{*tmp}, nil
} }
func AppendMastoIndexableData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &MastoIndexableData{FullValueType[bool]{base, data}}
}
type MastoMemorialData struct { type MastoMemorialData struct {
FullValueType[bool] FullValueType[bool]
} }
@ -119,3 +139,7 @@ func ParseMastoMemorialData(raw map[string]any, next BaseApChain) (BaseApChain,
} }
return &MastoMemorialData{*tmp}, nil return &MastoMemorialData{*tmp}, nil
} }
func AppendMastoMemorialData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &MastoMemorialData{FullValueType[bool]{base, data}}
}

View file

@ -22,6 +22,10 @@ func ParseMKSummaryData(raw map[string]any, next BaseApChain) (BaseApChain, erro
return &MKSummaryData{*tmp}, nil return &MKSummaryData{*tmp}, nil
} }
func AppendMKSummaryData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &MKSummaryData{FullValueType[string]{base, data}}
}
type MKIsCatData struct { type MKIsCatData struct {
FullValueType[bool] FullValueType[bool]
} }
@ -42,6 +46,10 @@ func ParseMKIsCatData(raw map[string]any, next BaseApChain) (BaseApChain, error)
return &MKIsCatData{*tmp}, nil return &MKIsCatData{*tmp}, nil
} }
func AppendMKIsCatData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &MKIsCatData{FullValueType[bool]{base, data}}
}
type FFSpeakAsCatData struct { type FFSpeakAsCatData struct {
FullValueType[bool] FullValueType[bool]
} }
@ -62,6 +70,10 @@ func ParseFFSpeakAsCatData(raw map[string]any, next BaseApChain) (BaseApChain, e
return &FFSpeakAsCatData{*tmp}, nil return &FFSpeakAsCatData{*tmp}, nil
} }
func AppendFFSpeakAsCatData(base BaseApChain, data ValueValue[bool]) BaseApChain {
return &FFSpeakAsCatData{FullValueType[bool]{base, data}}
}
type MKQuoteData struct { type MKQuoteData struct {
FullValueType[string] FullValueType[string]
} }
@ -81,3 +93,7 @@ func ParseMKQuoteData(raw map[string]any, next BaseApChain) (BaseApChain, error)
} }
return &MKQuoteData{*tmp}, nil return &MKQuoteData{*tmp}, nil
} }
func AppendMKQuoteData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &MKQuoteData{FullValueType[string]{base, data}}
}

View file

@ -2,10 +2,7 @@ package goap
import "time" import "time"
// go-sumtype:decl TagSum
type Tag interface { type Tag interface {
// TagEmoji | TagMention | TagHashtag
Marshal() map[string]any Marshal() map[string]any
sealed() sealed()
} }