friendly_id/generator

Types

This record contains the objects and predicates arrays, needed to generate a friendly ID. Should only be initialized once, then passed as a dependency.

pub opaque type Generator
pub type GeneratorError {
  NegativePredicateCount
}

Constructors

  • NegativePredicateCount

Values

pub fn get_obj_multiplier(generator: Generator) -> Int
pub fn get_objects(
  generator: Generator,
) -> glearray.Array(String)
pub fn get_pred_multiplier(generator: Generator) -> Int
pub fn get_predicate_count(generator: Generator) -> Int
pub fn get_predicates(
  generator: Generator,
) -> glearray.Array(String)
pub fn get_separator(generator: Generator) -> String
pub fn get_transform_fn(
  generator: Generator,
) -> fn(String) -> String
pub fn new() -> Generator

Create a Generator record with the following defaults:

  • Predicate count: 1
  • No separator
  • No transformation
  • Provided word lists

Examples

let generator = generator.new()
pub fn new_with_words(
  objects objects: glearray.Array(String),
  predicates predicates: glearray.Array(String),
) -> Generator

Create a Generator record with the word lists passed to it and the following defaults:

  • Predicate count: 1
  • No separator
  • No transformation

Examples

let objects = glearray.from_list(["apple, potato"])
let predicates = glearray.from_list(["brave, insightful"])
let generator = generator.new_with_words(objects:, predicates:)
pub fn set_predicate_count(
  generator: Generator,
  predicate_count: Int,
) -> Result(Generator, GeneratorError)
pub fn set_separator(
  generator: Generator,
  separator: String,
) -> Generator
pub fn set_transform_fn(
  generator: Generator,
  transform_fn: fn(String) -> String,
) -> Generator
Search Document