Compare commits

...

5 commits
v1.2.0 ... main

Author SHA1 Message Date
de5dd7ce13 Fix bad id key 2025-04-09 16:41:53 +02:00
cb09d23eb5 Fix nil map in ValueValue 2025-04-09 15:46:23 +02:00
bb46f46cd6 Maybe fix nil map 2025-04-09 15:44:23 +02:00
832ee39b45 Add missing appends 2025-04-09 15:11:49 +02:00
e94a1f9267 Change ldcontext type to any 2025-04-09 14:56:45 +02:00
9 changed files with 60 additions and 3 deletions

View file

@ -21,6 +21,9 @@ func (idtype *FullIdType) GetSelfOrBase() (BaseApChain, bool) {
func (idtype *FullIdType) MarshalToMapWithName(name string) map[string]any {
m := idtype.Next.MarshalToMap()
if m == nil {
m = map[string]any{}
}
m[name] = []map[string]any{{KEY_ID: idtype.Id}}
return m
}
@ -63,6 +66,9 @@ func (v *FullValueType[T]) GetSelfOrBase() (BaseApChain, bool) {
func (v *FullValueType[T]) MarshalToMapWithName(name string) map[string]any {
m := v.Next.MarshalToMap()
if m == nil {
m = map[string]any{}
}
m[name] = []map[string]any{v.Value.Marshal()}
return m
}

View file

@ -20,6 +20,10 @@ func ParseOstatusAtomUriData(raw map[string]any, next BaseApChain) (BaseApChain,
return &OstatusAtomUriData{*v}, nil
}
func AppendOstatusAtomUriData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &OstatusAtomUriData{FullValueType[string]{base, data}}
}
type OstatusConversationData struct {
FullValueType[string]
}
@ -40,6 +44,10 @@ func ParseOstatusConversationData(raw map[string]any, next BaseApChain) (BaseApC
return &OstatusConversationData{*v}, nil
}
func AppendOstatusConversationData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &OstatusConversationData{FullValueType[string]{base, data}}
}
type OstatusReplyToAtomUriData struct {
FullValueType[string]
}
@ -59,3 +67,7 @@ func ParseOstatusInReplyToAtomUriData(raw map[string]any, next BaseApChain) (Bas
}
return &OstatusReplyToAtomUriData{*v}, nil
}
func AppendOstatusInReplyToAtomUriData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &OstatusReplyToAtomUriData{FullValueType[string]{base, data}}
}

View file

@ -19,3 +19,7 @@ func ParseSchemaValueData(raw map[string]any, next BaseApChain) (BaseApChain, er
}
return &SchemaValueData{*tmp}, nil
}
func AppendSchemaValueData(base BaseApChain, data ValueValue[string]) BaseApChain {
return &SchemaValueData{FullValueType[string]{base, data}}
}

View file

@ -10,7 +10,7 @@ func (u *UDIdData) GetSelfOrBase() (BaseApChain, bool) {
}
func (b *UDIdData) MarshalToMap() map[string]any {
return appendWithKey(b.Next.MarshalToMap(), "KEY_ID", b.Id)
return appendWithKey(b.Next.MarshalToMap(), KEY_ID, b.Id)
}
func ParseUDIdData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
@ -29,6 +29,10 @@ func ParseUDIdData(raw map[string]any, next BaseApChain) (BaseApChain, error) {
}, nil
}
func AppendUDIdData(base BaseApChain, id string) BaseApChain {
return &UDIdData{base, id}
}
type UDTypeData struct {
Next BaseApChain
Type string
@ -56,3 +60,7 @@ func ParseUDTypeData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}
return &UDTypeData{Next: next, Type: objType[0]}, nil
}
func AppendUDTypeData(base BaseApChain, typeString string) BaseApChain {
return &UDTypeData{base, typeString}
}

View file

@ -19,3 +19,7 @@ func ParseW3InboxData(raw map[string]any, next BaseApChain) (BaseApChain, error)
}
return &W3InboxData{*tmp}, nil
}
func AppendW3InboxData(base BaseApChain, id string) BaseApChain {
return &W3InboxData{FullIdType{base, id}}
}

View file

@ -20,6 +20,10 @@ func ParseW3SecurityOwnerData(raw map[string]any, next BaseApChain) (BaseApChain
return &W3SecurityOwnerData{*tmp}, nil
}
func AppendW3SecurityOwnerData(base BaseApChain, id string) BaseApChain {
return &W3SecurityOwnerData{FullIdType{base, id}}
}
// TODO: Handle case with multiple public keys (if allowed, idk if it is)
type W3SecurityPublicKeyData struct {
@ -78,6 +82,10 @@ func ParseW3SecurityPublicKeyData(raw map[string]any, next BaseApChain) (BaseApC
}, nil
}
func AppendW3SecurityPublicKeyData(base BaseApChain, id, owner, key string) BaseApChain {
return &W3SecurityPublicKeyData{base, id, owner, key}
}
type W3SecurityPublicKeyPemData struct {
FullValueType[string]
}
@ -97,3 +105,7 @@ func ParseW3SecurityPublicKeyPemData(raw map[string]any, next BaseApChain) (Base
}
return &W3SecurityPublicKeyPemData{*tmp}, nil
}
func AppendW3SecurityPublicKeyPemData(base BaseApChain, value ValueValue[string]) BaseApChain {
return &W3SecurityPublicKeyPemData{FullValueType[string]{base, value}}
}

View file

@ -20,6 +20,10 @@ func ParseW3VcardAddressData(raw map[string]any, next BaseApChain) (BaseApChain,
return &W3VcardAddressData{*tmp}, nil
}
func AppendW3VcardAddressData(base BaseApChain, value ValueValue[string]) BaseApChain {
return &W3VcardAddressData{FullValueType[string]{base, value}}
}
type W3VcardBirthdayData struct {
FullValueType[string]
}
@ -39,3 +43,7 @@ func ParseW3VcardBirthdayData(raw map[string]any, next BaseApChain) (BaseApChain
}
return &W3VcardBirthdayData{*tmp}, nil
}
func AppendW3VcardBirthdayData(base BaseApChain, value ValueValue[string]) BaseApChain {
return &W3VcardBirthdayData{FullValueType[string]{base, value}}
}

View file

@ -157,14 +157,14 @@ func FindAttribute[T BaseApChain](object BaseApChain) (T, bool) {
return obj, true
}
func Compact(chain BaseApChain, ldContext map[string]any) (map[string]any, error) {
func Compact(chain BaseApChain, ldContext any) (map[string]any, error) {
chainMap := chain.MarshalToMap()
proc := ld.NewJsonLdProcessor()
options := ld.NewJsonLdOptions("")
return proc.Compact(chainMap, ldContext, options)
}
func Marshal(chain BaseApChain, ldContext map[string]any) ([]byte, error) {
func Marshal(chain BaseApChain, ldContext any) ([]byte, error) {
chainMap := chain.MarshalToMap()
proc := ld.NewJsonLdProcessor()
options := ld.NewJsonLdOptions("")

View file

@ -56,6 +56,9 @@ func (i IdValue) Marshal() map[string]any {
func (v ValueValue[T]) Marshal() map[string]any {
m := maps.Clone(v.OtherThings)
if m == nil {
m = map[string]any{}
}
m[KEY_VALUE] = v.Value
if v.Type != nil {
m[KEY_TYPE] = *v.Type