gleam/dynamic

Types

pub type DecodeError {
  DecodeError(
    expected: String,
    found: String,
    path: List(String),
  )
}

Constructors

  • DecodeError(expected: String, found: String, path: List(String))
pub type DecodeErrors =
  List(DecodeError)
pub type Decoder(t) =
  fn(Dynamic) -> Result(t, DecodeErrors)

Dynamic data is data that we don’t know the type of yet. We likely get data like this from interop with Erlang, or from IO with the outside world.

pub type Dynamic

Functions

pub fn any(
  of decoders: List(fn(Dynamic) -> Result(a, List(DecodeError))),
) -> fn(Dynamic) -> Result(a, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn bit_array(
  from data: Dynamic,
) -> Result(BitArray, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn bool(
  from data: Dynamic,
) -> Result(Bool, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn classify(data: Dynamic) -> String

Return a string indicating the type of the dynamic value.

This function may be useful for constructing error messages or logs. If you want to turn dynamic data into well typed data then you want the gleam/dynamic/decode module.

classify(from("Hello"))
// -> "String"
pub fn decode1(
  constructor: fn(a) -> b,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
) -> fn(Dynamic) -> Result(b, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn decode2(
  constructor: fn(a, b) -> c,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
  t2: fn(Dynamic) -> Result(b, List(DecodeError)),
) -> fn(Dynamic) -> Result(c, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn decode3(
  constructor: fn(a, b, c) -> d,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
  t2: fn(Dynamic) -> Result(b, List(DecodeError)),
  t3: fn(Dynamic) -> Result(c, List(DecodeError)),
) -> fn(Dynamic) -> Result(d, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn decode4(
  constructor: fn(a, b, c, d) -> e,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
  t2: fn(Dynamic) -> Result(b, List(DecodeError)),
  t3: fn(Dynamic) -> Result(c, List(DecodeError)),
  t4: fn(Dynamic) -> Result(d, List(DecodeError)),
) -> fn(Dynamic) -> Result(e, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn decode5(
  constructor: fn(a, b, c, d, e) -> f,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
  t2: fn(Dynamic) -> Result(b, List(DecodeError)),
  t3: fn(Dynamic) -> Result(c, List(DecodeError)),
  t4: fn(Dynamic) -> Result(d, List(DecodeError)),
  t5: fn(Dynamic) -> Result(e, List(DecodeError)),
) -> fn(Dynamic) -> Result(f, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn decode6(
  constructor: fn(a, b, c, d, e, f) -> g,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
  t2: fn(Dynamic) -> Result(b, List(DecodeError)),
  t3: fn(Dynamic) -> Result(c, List(DecodeError)),
  t4: fn(Dynamic) -> Result(d, List(DecodeError)),
  t5: fn(Dynamic) -> Result(e, List(DecodeError)),
  t6: fn(Dynamic) -> Result(f, List(DecodeError)),
) -> fn(Dynamic) -> Result(g, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn decode7(
  constructor: fn(a, b, c, d, e, f, g) -> h,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
  t2: fn(Dynamic) -> Result(b, List(DecodeError)),
  t3: fn(Dynamic) -> Result(c, List(DecodeError)),
  t4: fn(Dynamic) -> Result(d, List(DecodeError)),
  t5: fn(Dynamic) -> Result(e, List(DecodeError)),
  t6: fn(Dynamic) -> Result(f, List(DecodeError)),
  t7: fn(Dynamic) -> Result(g, List(DecodeError)),
) -> fn(Dynamic) -> Result(h, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn decode8(
  constructor: fn(a, b, c, d, e, f, g, h) -> i,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
  t2: fn(Dynamic) -> Result(b, List(DecodeError)),
  t3: fn(Dynamic) -> Result(c, List(DecodeError)),
  t4: fn(Dynamic) -> Result(d, List(DecodeError)),
  t5: fn(Dynamic) -> Result(e, List(DecodeError)),
  t6: fn(Dynamic) -> Result(f, List(DecodeError)),
  t7: fn(Dynamic) -> Result(g, List(DecodeError)),
  t8: fn(Dynamic) -> Result(h, List(DecodeError)),
) -> fn(Dynamic) -> Result(i, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn decode9(
  constructor: fn(a, b, c, d, e, f, g, h, i) -> j,
  t1: fn(Dynamic) -> Result(a, List(DecodeError)),
  t2: fn(Dynamic) -> Result(b, List(DecodeError)),
  t3: fn(Dynamic) -> Result(c, List(DecodeError)),
  t4: fn(Dynamic) -> Result(d, List(DecodeError)),
  t5: fn(Dynamic) -> Result(e, List(DecodeError)),
  t6: fn(Dynamic) -> Result(f, List(DecodeError)),
  t7: fn(Dynamic) -> Result(g, List(DecodeError)),
  t8: fn(Dynamic) -> Result(h, List(DecodeError)),
  t9: fn(Dynamic) -> Result(i, List(DecodeError)),
) -> fn(Dynamic) -> Result(j, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn dict(
  of key_type: fn(Dynamic) -> Result(a, List(DecodeError)),
  to value_type: fn(Dynamic) -> Result(b, List(DecodeError)),
) -> fn(Dynamic) -> Result(Dict(a, b), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn dynamic(
  value: Dynamic,
) -> Result(Dynamic, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn element(
  at index: Int,
  of inner_type: fn(Dynamic) -> Result(a, List(DecodeError)),
) -> fn(Dynamic) -> Result(a, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn field(
  named name: a,
  of inner_type: fn(Dynamic) -> Result(b, List(DecodeError)),
) -> fn(Dynamic) -> Result(b, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn float(
  from data: Dynamic,
) -> Result(Float, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn from(a: a) -> Dynamic

Converts any Gleam data into Dynamic data.

pub fn int(from data: Dynamic) -> Result(Int, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn list(
  of decoder_type: fn(Dynamic) -> Result(a, List(DecodeError)),
) -> fn(Dynamic) -> Result(List(a), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn optional(
  of decode: fn(Dynamic) -> Result(a, List(DecodeError)),
) -> fn(Dynamic) -> Result(Option(a), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn optional_field(
  named name: a,
  of inner_type: fn(Dynamic) -> Result(b, List(DecodeError)),
) -> fn(Dynamic) -> Result(Option(b), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn result(
  ok decode_ok: fn(Dynamic) -> Result(a, List(DecodeError)),
  error decode_error: fn(Dynamic) -> Result(b, List(DecodeError)),
) -> fn(Dynamic) -> Result(Result(a, b), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn shallow_list(
  from value: Dynamic,
) -> Result(List(Dynamic), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn string(
  from data: Dynamic,
) -> Result(String, List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn tuple2(
  first decode1: fn(Dynamic) -> Result(a, List(DecodeError)),
  second decode2: fn(Dynamic) -> Result(b, List(DecodeError)),
) -> fn(Dynamic) -> Result(#(a, b), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn tuple3(
  first decode1: fn(Dynamic) -> Result(a, List(DecodeError)),
  second decode2: fn(Dynamic) -> Result(b, List(DecodeError)),
  third decode3: fn(Dynamic) -> Result(c, List(DecodeError)),
) -> fn(Dynamic) -> Result(#(a, b, c), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn tuple4(
  first decode1: fn(Dynamic) -> Result(a, List(DecodeError)),
  second decode2: fn(Dynamic) -> Result(b, List(DecodeError)),
  third decode3: fn(Dynamic) -> Result(c, List(DecodeError)),
  fourth decode4: fn(Dynamic) -> Result(d, List(DecodeError)),
) -> fn(Dynamic) -> Result(#(a, b, c, d), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn tuple5(
  first decode1: fn(Dynamic) -> Result(a, List(DecodeError)),
  second decode2: fn(Dynamic) -> Result(b, List(DecodeError)),
  third decode3: fn(Dynamic) -> Result(c, List(DecodeError)),
  fourth decode4: fn(Dynamic) -> Result(d, List(DecodeError)),
  fifth decode5: fn(Dynamic) -> Result(e, List(DecodeError)),
) -> fn(Dynamic) -> Result(#(a, b, c, d, e), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

pub fn tuple6(
  first decode1: fn(Dynamic) -> Result(a, List(DecodeError)),
  second decode2: fn(Dynamic) -> Result(b, List(DecodeError)),
  third decode3: fn(Dynamic) -> Result(c, List(DecodeError)),
  fourth decode4: fn(Dynamic) -> Result(d, List(DecodeError)),
  fifth decode5: fn(Dynamic) -> Result(e, List(DecodeError)),
  sixth decode6: fn(Dynamic) -> Result(f, List(DecodeError)),
) -> fn(Dynamic) ->
  Result(#(a, b, c, d, e, f), List(DecodeError))

Deprecated: Please use the gleam/dynamic/decode module

Search Document