From c67d4fa20c0f479238241076a6ac1e458c65f874 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Sun, 29 Aug 2021 15:15:35 +0100 Subject: Array fold --- src/ffi.js | 4 ++++ src/gleam/javascript/array.gleam | 3 +++ 2 files changed, 7 insertions(+) (limited to 'src') diff --git a/src/ffi.js b/src/ffi.js index 06303fc..91a2f73 100644 --- a/src/ffi.js +++ b/src/ffi.js @@ -9,3 +9,7 @@ export function map(thing, fn) { export function length(thing) { return thing.length; } + +export function reduce(thing, acc, fn) { + return thing.reduce(fn, acc); +} diff --git a/src/gleam/javascript/array.gleam b/src/gleam/javascript/array.gleam index 6c4819e..20d12d1 100644 --- a/src/gleam/javascript/array.gleam +++ b/src/gleam/javascript/array.gleam @@ -11,3 +11,6 @@ pub external fn length(Array(element)) -> Int = pub external fn map(Array(a), fn(a) -> b) -> Array(b) = "../../ffi.js" "map" + +pub external fn fold(Array(e), a, fn(a, e) -> a) -> a = + "../../ffi.js" "reduce" -- cgit v1.2.3