From 29da9b51c0d918b86108bdbf0f4c6e914b240283 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Thu, 11 Jan 2024 18:25:46 +0000 Subject: Advanced features --- .../lesson04_externals/code.gleam | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/content/chapter5_advance_features/lesson04_externals/code.gleam (limited to 'src/content/chapter5_advance_features/lesson04_externals/code.gleam') diff --git a/src/content/chapter5_advance_features/lesson04_externals/code.gleam b/src/content/chapter5_advance_features/lesson04_externals/code.gleam new file mode 100644 index 0000000..be4aff0 --- /dev/null +++ b/src/content/chapter5_advance_features/lesson04_externals/code.gleam @@ -0,0 +1,18 @@ +import gleam/io + +// A type with no Gleam constructors +pub type DateTime + +// An external function that creates an instance of the type +@external(javascript, "./my_package_ffi.mjs", "now") +pub fn now() -> DateTime + +// The `now` function in `./my_package_ffi.mjs` looks like this: +// external function now() { +// return new Date(); +// } + +pub fn main() { + io.debug(now()) +} + -- cgit v1.2.3