Files
ucan/pkg/policy/literal/literal.go

27 lines
665 B
Go
Raw Normal View History

// Package literal holds a collection of functions to create IPLD types to use in policies, selector and args.
2024-08-19 23:16:36 +02:00
package literal
import (
2024-10-14 20:09:21 +02:00
"github.com/ipfs/go-cid"
2024-08-19 23:16:36 +02:00
"github.com/ipld/go-ipld-prime"
2024-10-14 20:09:21 +02:00
cidlink "github.com/ipld/go-ipld-prime/linking/cid"
2024-08-19 23:16:36 +02:00
"github.com/ipld/go-ipld-prime/node/basicnode"
)
var Bool = basicnode.NewBool
var Int = basicnode.NewInt
var Float = basicnode.NewFloat
var String = basicnode.NewString
var Bytes = basicnode.NewBytes
var Link = basicnode.NewLink
2024-10-14 20:09:21 +02:00
func LinkCid(cid cid.Cid) ipld.Node {
return Link(cidlink.Link{Cid: cid})
}
2024-08-20 15:55:04 +02:00
func Null() ipld.Node {
nb := basicnode.Prototype.Any.NewBuilder()
nb.AssignNull()
return nb.Build()
2024-08-19 23:16:36 +02:00
}