glitr

Types

pub type JsonConverter(a) {
  JsonConverter(encoder: JsonEncoder(a), decoder: JsonDecoder(a))
}

Constructors

  • JsonConverter(encoder: JsonEncoder(a), decoder: JsonDecoder(a))
pub type JsonDecoder(a) =
  fn(dynamic.Dynamic) -> Result(a, List(dynamic.DecodeError))
pub type JsonEncoder(a) =
  fn(a) -> json.Json
pub type PathConverter(a) {
  PathConverter(encoder: PathEncoder(a), decoder: PathDecoder(a))
}

Constructors

  • PathConverter(encoder: PathEncoder(a), decoder: PathDecoder(a))
pub type PathDecoder(a) =
  fn(List(String)) -> Result(a, Nil)
pub type PathEncoder(a) =
  fn(a) -> List(String)
pub type QueryConverter(a) {
  QueryConverter(
    encoder: QueryEncoder(a),
    decoder: QueryDecoder(a),
  )
}

Constructors

  • QueryConverter(
      encoder: QueryEncoder(a),
      decoder: QueryDecoder(a),
    )
pub type QueryDecoder(a) =
  fn(List(#(String, String))) -> Result(a, Nil)
pub type QueryEncoder(a) =
  fn(a) -> List(#(String, String))
pub type Route(
  path_type,
  query_type,
  req_body_type,
  res_body_type,
) {
  Route(
    method: http.Method,
    path_converter: option.Option(PathConverter(path_type)),
    query_converter: option.Option(QueryConverter(query_type)),
    req_body_converter: option.Option(
      JsonConverter(req_body_type),
    ),
    res_body_converter: option.Option(
      JsonConverter(res_body_type),
    ),
  )
}

Constructors

  • Route(
      method: http.Method,
      path_converter: option.Option(PathConverter(path_type)),
      query_converter: option.Option(QueryConverter(query_type)),
      req_body_converter: option.Option(JsonConverter(req_body_type)),
      res_body_converter: option.Option(JsonConverter(res_body_type)),
    )
pub type RouteOptions(p, q, b) {
  RouteOptions(path: p, query: q, body: b)
}

Constructors

  • RouteOptions(path: p, query: q, body: b)
Search Document