Clarity.Vertex.Util (Clarity v0.4.0)

View Source

Utility functions for working with vertices.

Summary

Functions

Generates a vertex ID from a vertex type module and a list of parts.

Functions

id(vertex_type, parts)

@spec id(module(), [module() | atom() | String.t()]) :: String.t()

Generates a vertex ID from a vertex type module and a list of parts.

Parameters

  • vertex_type - The vertex type module (e.g., Clarity.Vertex.Module)
  • parts - A list of modules, atoms, or strings to include in the ID

Examples

iex> Clarity.Vertex.Util.id(Clarity.Vertex.Module, [String])
"module:string"

iex> Clarity.Vertex.Util.id(Clarity.Vertex.Ash.Resource, [Demo.Accounts.User])
"ash-resource:demo-accounts-user"

iex> Clarity.Vertex.Util.id(Clarity.Vertex.Ash.Attribute, [Demo.Accounts.User, :email])
"ash-attribute:demo-accounts-user:email"

iex> Clarity.Vertex.Util.id(Clarity.Vertex.Root, ["custom", :part])
"root:custom:part"