aboutsummaryrefslogtreecommitdiff
path: root/src/any.gleam
blob: 7721ad84a4b6f36fe7db6e9bd5b959fe4033de96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
doc """
`Any` 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 external type Any
;

doc """
Convert any Gleam data into `Any` data.
"""
pub external fn from(a) -> Any = 'gleam_foreign' 'identity'

doc """
Unsafely cast any type into any other type.o

This is an escape hatch for the type system that may be useful when wrapping
native Erlang APIs. It is to be used as a last measure only.
"""
pub external fn unsafeCoerce(a) -> b = 'gleam_foreign' 'identity'

fn identity(x) {
  x
}