2024-10-16 11:18:02 +02:00
|
|
|
// 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"
|
|
|
|
|
)
|
|
|
|
|
|
2024-08-20 15:55:04 +02:00
|
|
|
func Bool(val bool) ipld.Node {
|
2024-08-19 23:16:36 +02:00
|
|
|
nb := basicnode.Prototype.Bool.NewBuilder()
|
|
|
|
|
nb.AssignBool(val)
|
2024-08-20 15:55:04 +02:00
|
|
|
return nb.Build()
|
2024-08-19 23:16:36 +02:00
|
|
|
}
|
|
|
|
|
|
2024-08-20 15:55:04 +02:00
|
|
|
func Int(val int64) ipld.Node {
|
|
|
|
|
nb := basicnode.Prototype.Int.NewBuilder()
|
|
|
|
|
nb.AssignInt(val)
|
|
|
|
|
return nb.Build()
|
2024-08-19 23:16:36 +02:00
|
|
|
}
|
|
|
|
|
|
2024-08-20 15:55:04 +02:00
|
|
|
func Float(val float64) ipld.Node {
|
|
|
|
|
nb := basicnode.Prototype.Float.NewBuilder()
|
|
|
|
|
nb.AssignFloat(val)
|
|
|
|
|
return nb.Build()
|
2024-08-19 23:16:36 +02:00
|
|
|
}
|
|
|
|
|
|
2024-08-20 15:55:04 +02:00
|
|
|
func String(val string) ipld.Node {
|
|
|
|
|
nb := basicnode.Prototype.String.NewBuilder()
|
|
|
|
|
nb.AssignString(val)
|
|
|
|
|
return nb.Build()
|
2024-08-19 23:16:36 +02:00
|
|
|
}
|
|
|
|
|
|
2024-08-20 15:55:04 +02:00
|
|
|
func Bytes(val []byte) ipld.Node {
|
|
|
|
|
nb := basicnode.Prototype.Bytes.NewBuilder()
|
|
|
|
|
nb.AssignBytes(val)
|
|
|
|
|
return nb.Build()
|
2024-08-19 23:16:36 +02:00
|
|
|
}
|
|
|
|
|
|
2024-10-14 20:09:21 +02:00
|
|
|
func Link(link ipld.Link) ipld.Node {
|
|
|
|
|
nb := basicnode.Prototype.Link.NewBuilder()
|
|
|
|
|
nb.AssignLink(link)
|
|
|
|
|
return nb.Build()
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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
|
|
|
}
|