gleamgen/module

Types

pub type Attribute {
  ExternalErlang
  ExternalJavascript
  Deprecated(String)
  Internal
}

Constructors

  • ExternalErlang
  • ExternalJavascript
  • Deprecated(String)
  • Internal
pub type Definable {
  Function(function.Function(Unchecked, Unchecked))
  CustomTypeBuilder(
    custom.CustomTypeBuilder(Unchecked, Nil, Nil),
  )
  Constant(Expression(Unchecked))
  TypeAlias(types.GeneratedType(Unchecked))
}

Constructors

  • Function(function.Function(Unchecked, Unchecked))
  • CustomTypeBuilder(custom.CustomTypeBuilder(Unchecked, Nil, Nil))
  • Constant(Expression(Unchecked))
  • TypeAlias(types.GeneratedType(Unchecked))
pub type Definition {
  Definition(details: DefinitionDetails, value: Definable)
}

Constructors

  • Definition(details: DefinitionDetails, value: Definable)
pub type DefinitionDetails {
  DefinitionDetails(
    name: String,
    is_public: Bool,
    attributes: List(Attribute),
  )
}

Constructors

  • DefinitionDetails(
      name: String,
      is_public: Bool,
      attributes: List(Attribute),
    )
pub type Module {
  Module(
    definitions: List(Definition),
    imports: List(import_.ImportedModule),
  )
}

Constructors

  • Module(
      definitions: List(Definition),
      imports: List(import_.ImportedModule),
    )

Functions

pub fn eof() -> Module
pub fn render(module: Module, context: Context) -> Rendered
pub fn render_function(
  func: Function(Unchecked, Unchecked),
  context: Context,
  name: String,
) -> Rendered
pub fn render_imported_module(module: ImportedModule) -> Rendered
pub fn with_constant(
  details: DefinitionDetails,
  value: Expression(a),
  handler: fn(Expression(a)) -> Module,
) -> Module
pub fn with_custom_type1(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(a, #(#(), b), c),
  handler: fn(CustomType(a, c), Constructor(a, b, c)) -> Module,
) -> Module
pub fn with_custom_type2(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(a, #(#(#(), b), c), d),
  handler: fn(
    CustomType(a, d),
    Constructor(a, b, d),
    Constructor(a, c, d),
  ) -> Module,
) -> Module
pub fn with_custom_type3(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(a, #(#(#(#(), b), c), d), e),
  handler: fn(
    CustomType(a, e),
    Constructor(a, b, e),
    Constructor(a, c, e),
    Constructor(a, d, e),
  ) -> Module,
) -> Module
pub fn with_custom_type4(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(a, #(#(#(#(#(), b), c), d), e), f),
  handler: fn(
    CustomType(a, f),
    Constructor(a, b, f),
    Constructor(a, c, f),
    Constructor(a, d, f),
    Constructor(a, e, f),
  ) -> Module,
) -> Module
pub fn with_custom_type5(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(
    a,
    #(#(#(#(#(#(), b), c), d), e), f),
    g,
  ),
  handler: fn(
    CustomType(a, g),
    Constructor(a, b, g),
    Constructor(a, c, g),
    Constructor(a, d, g),
    Constructor(a, e, g),
    Constructor(a, f, g),
  ) -> Module,
) -> Module
pub fn with_custom_type6(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(
    a,
    #(#(#(#(#(#(#(), b), c), d), e), f), g),
    h,
  ),
  handler: fn(
    CustomType(a, h),
    Constructor(a, b, h),
    Constructor(a, c, h),
    Constructor(a, d, h),
    Constructor(a, e, h),
    Constructor(a, f, h),
    Constructor(a, g, h),
  ) -> Module,
) -> Module
pub fn with_custom_type7(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(
    a,
    #(#(#(#(#(#(#(#(), b), c), d), e), f), g), h),
    i,
  ),
  handler: fn(
    CustomType(a, i),
    Constructor(a, b, i),
    Constructor(a, c, i),
    Constructor(a, d, i),
    Constructor(a, e, i),
    Constructor(a, f, i),
    Constructor(a, g, i),
    Constructor(a, h, i),
  ) -> Module,
) -> Module
pub fn with_custom_type8(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(
    a,
    #(#(#(#(#(#(#(#(#(), b), c), d), e), f), g), h), i),
    j,
  ),
  handler: fn(
    CustomType(a, j),
    Constructor(a, b, j),
    Constructor(a, c, j),
    Constructor(a, d, j),
    Constructor(a, e, j),
    Constructor(a, f, j),
    Constructor(a, g, j),
    Constructor(a, h, j),
    Constructor(a, i, j),
  ) -> Module,
) -> Module
pub fn with_custom_type9(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(
    a,
    #(#(#(#(#(#(#(#(#(#(), b), c), d), e), f), g), h), i), j),
    k,
  ),
  handler: fn(
    CustomType(a, k),
    Constructor(a, b, k),
    Constructor(a, c, k),
    Constructor(a, d, k),
    Constructor(a, e, k),
    Constructor(a, f, k),
    Constructor(a, g, k),
    Constructor(a, h, k),
    Constructor(a, i, k),
    Constructor(a, j, k),
  ) -> Module,
) -> Module
pub fn with_custom_type_unchecked(
  details: DefinitionDetails,
  type_: CustomTypeBuilder(a, Unchecked, b),
  handler: fn(
    CustomType(a, b),
    List(Constructor(a, Unchecked, b)),
  ) -> Module,
) -> Module
pub fn with_function(
  details: DefinitionDetails,
  func: Function(a, b),
  handler: fn(Expression(a)) -> Module,
) -> Module
pub fn with_import(
  module: ImportedModule,
  handler: fn(ImportedModule) -> Module,
) -> Module
pub fn with_imports_unchecked(
  modules: List(ImportedModule),
  handler: fn(List(ImportedModule)) -> Module,
) -> Module
pub fn with_type_alias(
  details: DefinitionDetails,
  type_: GeneratedType(a),
  handler: fn(GeneratedType(a)) -> Module,
) -> Module
Search Document