gleamgen/import_

Types

pub type ImportReference =
  @internal ImportReference
pub type ImportedModule {
  ImportedModule(
    name: List(String),
    alias: option.Option(String),
    exposing: List(UnqualifiedItem),
    before_text: String,
    predefined: Bool,
  )
}

Constructors

  • ImportedModule(
      name: List(String),
      alias: option.Option(String),
      exposing: List(UnqualifiedItem),
      before_text: String,
      predefined: Bool,
    )

One entry in an import path.{ … } exposing list.

pub type UnqualifiedItem {
  UnqualifiedType(name: String, alias: option.Option(String))
  UnqualifiedValue(name: String, alias: option.Option(String))
}

Constructors

  • UnqualifiedType(name: String, alias: option.Option(String))

    Renders as type name or type name as alias.

  • UnqualifiedValue(name: String, alias: option.Option(String))

    Renders as name or name as alias.

Values

pub fn import_to_reference(
  module: ImportedModule,
) -> ImportReference

Convert an import statement into its corresponding reference. In almost all cases, you should prefer using module.with_import.

pub fn merge_imports(
  imports: List(ImportedModule),
) -> List(ImportedModule)
pub fn new(name: List(String)) -> ImportedModule
pub fn raw_ident(
  imported: ImportReference,
  name: String,
) -> expression.Expression(any)
pub fn raw_type(
  imported: ImportReference,
  name: String,
) -> custom.CustomType(t, generics)
pub fn unqualified_type(name: String) -> UnqualifiedItem
pub fn unqualified_type_as(
  name: String,
  alias: String,
) -> UnqualifiedItem
pub fn unqualified_value(name: String) -> UnqualifiedItem
pub fn unqualified_value_as(
  name: String,
  alias: String,
) -> UnqualifiedItem
pub fn value_of_type(
  imported: ImportReference,
  name: String,
  type_: type_.GeneratedType(t),
) -> expression.Expression(t)
pub fn with_alias(
  imported: ImportedModule,
  alias: String,
) -> ImportedModule
pub fn with_predefined(
  imported: ImportedModule,
  predefined: Bool,
) -> ImportedModule

When True, the import line is always emitted even if static analysis finds no reference to the module prefix (e.g. types only nested inside other ASTs).

pub fn with_unqualified_items(
  imported: ImportedModule,
  exposing: List(UnqualifiedItem),
) -> ImportedModule
Search Document