mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-02 17:31:39 +00:00
34 lines
723 B
Go
34 lines
723 B
Go
package resaccount
|
|||
|
|
|
||
|
|
import "github.com/onsonr/sonr/crypto/ucan"
|
||
|
|
|
||
|
|
func Build(ty ResAccount, value string) ucan.Resource {
|
||
|
|
return newStringLengthResource(ty.String(), value)
|
||
|
|
}
|
||
|
|
|
||
|
|
type stringLengthRsc struct {
|
||
|
|
t string
|
||
|
|
v string
|
||
|
|
}
|
||
|
|
|
||
|
|
// NewStringLengthResource is a silly implementation of resource to use while
|
||
|
|
// I figure out what an OR filter on strings is. Don't use this.
|
||
|
|
func newStringLengthResource(typ, val string) ucan.Resource {
|
||
|
|
return stringLengthRsc{
|
||
|
|
t: typ,
|
||
|
|
v: val,
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (r stringLengthRsc) Type() string {
|
||
|
|
return r.t
|
||
|
|
}
|
||
|
|
|
||
|
|
func (r stringLengthRsc) Value() string {
|
||
|
|
return r.v
|
||
|
|
}
|
||
|
|
|
||
|
|
func (r stringLengthRsc) Contains(b ucan.Resource) bool {
|
||
|
|
return r.Type() == b.Type() && len(r.Value()) <= len(b.Value())
|
||
|
|
}
|