diff options
Diffstat (limited to 'vendor/github.com/superseriousbusiness/activity/streams/gen_json_resolver.go')
-rw-r--r-- | vendor/github.com/superseriousbusiness/activity/streams/gen_json_resolver.go | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/vendor/github.com/superseriousbusiness/activity/streams/gen_json_resolver.go b/vendor/github.com/superseriousbusiness/activity/streams/gen_json_resolver.go index a07585337..a2cb36d0e 100644 --- a/vendor/github.com/superseriousbusiness/activity/streams/gen_json_resolver.go +++ b/vendor/github.com/superseriousbusiness/activity/streams/gen_json_resolver.go @@ -121,6 +121,8 @@ func NewJSONResolver(callbacks ...interface{}) (*JSONResolver, error) { // Do nothing, this callback has a correct signature. case func(context.Context, vocab.ActivityStreamsProfile) error: // Do nothing, this callback has a correct signature. + case func(context.Context, vocab.SchemaPropertyValue) error: + // Do nothing, this callback has a correct signature. case func(context.Context, vocab.W3IDSecurityV1PublicKey) error: // Do nothing, this callback has a correct signature. case func(context.Context, vocab.ForgeFedPush) error: @@ -252,6 +254,13 @@ func (this JSONResolver) Resolve(ctx context.Context, m map[string]interface{}) if len(TootAlias) > 0 { TootAlias += ":" } + SchemaAlias, ok := aliasMap["https://schema.org"] + if !ok { + SchemaAlias = aliasMap["http://schema.org"] + } + if len(SchemaAlias) > 0 { + SchemaAlias += ":" + } W3IDSecurityV1Alias, ok := aliasMap["https://w3id.org/security/v1"] if !ok { W3IDSecurityV1Alias = aliasMap["http://w3id.org/security/v1"] @@ -755,6 +764,17 @@ func (this JSONResolver) Resolve(ctx context.Context, m map[string]interface{}) } } return ErrNoCallbackMatch + } else if typeString == SchemaAlias+"PropertyValue" { + v, err := mgr.DeserializePropertyValueSchema()(m, aliasMap) + if err != nil { + return err + } + for _, i := range this.callbacks { + if fn, ok := i.(func(context.Context, vocab.SchemaPropertyValue) error); ok { + return fn(ctx, v) + } + } + return ErrNoCallbackMatch } else if typeString == W3IDSecurityV1Alias+"PublicKey" { v, err := mgr.DeserializePublicKeyW3IDSecurityV1()(m, aliasMap) if err != nil { |