package uuid
import "github.com/hashicorp/go-cty-funcs/uuid"
Index ¶
- Variables
- func V4() (cty.Value, error)
- func V5(namespace cty.Value, name cty.Value) (cty.Value, error)
Variables ¶
var V4Func = function.New(&function.Spec{ Params: []function.Parameter{}, Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { uuid, err := uuid.NewRandom() if err != nil { return cty.UnknownVal(cty.String), err } return cty.StringVal(uuid.String()), nil }, })
var V5Func = function.New(&function.Spec{ Params: []function.Parameter{ { Name: "namespace", Type: cty.String, }, { Name: "name", Type: cty.String, }, }, Type: function.StaticReturnType(cty.String), Impl: func(args []cty.Value, retType cty.Type) (ret cty.Value, err error) { var namespace uuidv5.UUID switch { case args[0].AsString() == "dns": namespace = uuidv5.NameSpaceDNS case args[0].AsString() == "url": namespace = uuidv5.NameSpaceURL case args[0].AsString() == "oid": namespace = uuidv5.NameSpaceOID case args[0].AsString() == "x500": namespace = uuidv5.NameSpaceX500 default: if namespace, err = uuidv5.Parse(args[0].AsString()); err != nil { return cty.UnknownVal(cty.String), fmt.Errorf("uuidv5() doesn't support namespace %s (%v)", args[0].AsString(), err) } } val := args[1].AsString() return cty.StringVal(uuidv5.NewSHA1(namespace, []byte(val)).String()), nil }, })
Functions ¶
func V4 ¶
V4 generates and returns a Type-4 UUID in the standard hexadecimal string format.
This is not a "pure" function: it will generate a different result for each call.
func V5 ¶
V5 generates and returns a Type-5 UUID in the standard hexadecimal string format.
This is not a "pure" function: it will generate a different result for each call.
Source Files ¶
- Version
- v0.0.0-20250210171435-dda779884a9f (latest)
- Published
- Feb 10, 2025
- Platform
- js/wasm
- Imports
- 4 packages
- Last checked
- 11 minutes ago –
Tools for package owners.