gleamgen/function

Types

pub type Function(type_, ret) {
  Function(
    parameters: List(parameter.Parameter(type_.Dynamic)),
    returns: type_.GeneratedType(ret),
    body: expression.Expression(ret),
  )
}

Constructors

Values

pub fn anonymous(
  function: Function(type_, ret),
) -> expression.Expression(type_)
pub fn new0(
  returns returns: type_.GeneratedType(ret),
  handler handler: fn() -> expression.Expression(ret),
) -> Function(fn() -> ret, ret)
pub fn new1(
  param1 param1: parameter.Parameter(param1),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(expression.Expression(param1)) -> expression.Expression(
    ret,
  ),
) -> Function(fn(param1) -> ret, ret)
pub fn new2(
  param1 param1: parameter.Parameter(param1),
  param2 param2: parameter.Parameter(param2),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(
    expression.Expression(param1),
    expression.Expression(param2),
  ) -> expression.Expression(ret),
) -> Function(fn(param1, param2) -> ret, ret)
pub fn new3(
  param1 param1: parameter.Parameter(param1),
  param2 param2: parameter.Parameter(param2),
  param3 param3: parameter.Parameter(param3),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(
    expression.Expression(param1),
    expression.Expression(param2),
    expression.Expression(param3),
  ) -> expression.Expression(ret),
) -> Function(fn(param1, param2, param3) -> ret, ret)
pub fn new4(
  param1 param1: parameter.Parameter(param1),
  param2 param2: parameter.Parameter(param2),
  param3 param3: parameter.Parameter(param3),
  param4 param4: parameter.Parameter(param4),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(
    expression.Expression(param1),
    expression.Expression(param2),
    expression.Expression(param3),
    expression.Expression(param4),
  ) -> expression.Expression(ret),
) -> Function(fn(param1, param2, param3, param4) -> ret, ret)
pub fn new5(
  param1 param1: parameter.Parameter(param1),
  param2 param2: parameter.Parameter(param2),
  param3 param3: parameter.Parameter(param3),
  param4 param4: parameter.Parameter(param4),
  param5 param5: parameter.Parameter(param5),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(
    expression.Expression(param1),
    expression.Expression(param2),
    expression.Expression(param3),
    expression.Expression(param4),
    expression.Expression(param5),
  ) -> expression.Expression(ret),
) -> Function(
  fn(param1, param2, param3, param4, param5) -> ret,
  ret,
)
pub fn new6(
  param1 param1: parameter.Parameter(param1),
  param2 param2: parameter.Parameter(param2),
  param3 param3: parameter.Parameter(param3),
  param4 param4: parameter.Parameter(param4),
  param5 param5: parameter.Parameter(param5),
  param6 param6: parameter.Parameter(param6),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(
    expression.Expression(param1),
    expression.Expression(param2),
    expression.Expression(param3),
    expression.Expression(param4),
    expression.Expression(param5),
    expression.Expression(param6),
  ) -> expression.Expression(ret),
) -> Function(
  fn(param1, param2, param3, param4, param5, param6) -> ret,
  ret,
)
pub fn new7(
  param1 param1: parameter.Parameter(param1),
  param2 param2: parameter.Parameter(param2),
  param3 param3: parameter.Parameter(param3),
  param4 param4: parameter.Parameter(param4),
  param5 param5: parameter.Parameter(param5),
  param6 param6: parameter.Parameter(param6),
  param7 param7: parameter.Parameter(param7),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(
    expression.Expression(param1),
    expression.Expression(param2),
    expression.Expression(param3),
    expression.Expression(param4),
    expression.Expression(param5),
    expression.Expression(param6),
    expression.Expression(param7),
  ) -> expression.Expression(ret),
) -> Function(
  fn(param1, param2, param3, param4, param5, param6, param7) -> ret,
  ret,
)
pub fn new8(
  param1 param1: parameter.Parameter(param1),
  param2 param2: parameter.Parameter(param2),
  param3 param3: parameter.Parameter(param3),
  param4 param4: parameter.Parameter(param4),
  param5 param5: parameter.Parameter(param5),
  param6 param6: parameter.Parameter(param6),
  param7 param7: parameter.Parameter(param7),
  param8 param8: parameter.Parameter(param8),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(
    expression.Expression(param1),
    expression.Expression(param2),
    expression.Expression(param3),
    expression.Expression(param4),
    expression.Expression(param5),
    expression.Expression(param6),
    expression.Expression(param7),
    expression.Expression(param8),
  ) -> expression.Expression(ret),
) -> Function(
  fn(
    param1,
    param2,
    param3,
    param4,
    param5,
    param6,
    param7,
    param8,
  ) -> ret,
  ret,
)
pub fn new9(
  param1 param1: parameter.Parameter(param1),
  param2 param2: parameter.Parameter(param2),
  param3 param3: parameter.Parameter(param3),
  param4 param4: parameter.Parameter(param4),
  param5 param5: parameter.Parameter(param5),
  param6 param6: parameter.Parameter(param6),
  param7 param7: parameter.Parameter(param7),
  param8 param8: parameter.Parameter(param8),
  param9 param9: parameter.Parameter(param9),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(
    expression.Expression(param1),
    expression.Expression(param2),
    expression.Expression(param3),
    expression.Expression(param4),
    expression.Expression(param5),
    expression.Expression(param6),
    expression.Expression(param7),
    expression.Expression(param8),
    expression.Expression(param9),
  ) -> expression.Expression(ret),
) -> Function(
  fn(
    param1,
    param2,
    param3,
    param4,
    param5,
    param6,
    param7,
    param8,
    param9,
  ) -> ret,
  ret,
)
pub fn new_dynamic(
  parameters parameters: List(parameter.Parameter(type_.Dynamic)),
  returns returns: type_.GeneratedType(ret),
  handler handler: fn(List(expression.Expression(type_.Dynamic))) -> expression.Expression(
    ret,
  ),
) -> Function(type_.Dynamic, ret)
pub fn render(
  func: Function(type_, ret),
  context: render.Context,
  name: option.Option(String),
) -> render.Rendered
pub fn to_dynamic(
  type_: Function(a, b),
) -> Function(type_.Dynamic, type_.Dynamic)
Search Document