glint/flag

Types

Associates a name with a flag value

pub type Flag {
  Flag(name: String, value: FlagValue)
}

Constructors

  • Flag(name: String, value: FlagValue)

Associate flag names to their current values.

pub type FlagMap =
  Map(String, FlagValue)

Supported flag types.

pub type FlagValue {
  BoolFlag(Bool)
  IntFlag(Int)
  StringFlag(String)
}

Constructors

  • BoolFlag(Bool)
  • IntFlag(Int)
  • StringFlag(String)

Functions

pub fn bool(called name: String, default value: Bool) -> Flag

Creates a Flag(name, BoolFlag(value))

pub fn build_map(flags: List(Flag)) -> Map(String, FlagValue)

Convert a list of flags to a FlagMap.

pub fn int(called name: String, default value: Int) -> Flag

Creates a Flag(name, IntFlag(value))

pub fn string(called name: String, default value: String) -> Flag

Creates a Flag(name, StringFlag(value))

pub fn update_flags(flags: Map(String, FlagValue), flag_input: String) -> Result(
  Map(String, FlagValue),
  Snag,
)

Updates a flag balue, ensuring that the new value can satisfy the required type.