Current section

Files

Jump to
gleam_javascript src gleam@javascript@array.erl
Raw

src/gleam@javascript@array.erl

-module(gleam@javascript@array).
-compile(no_auto_import).
-export([to_list/1, from_list/1, length/1, map/2, fold/3, fold_right/3, get/2]).
-export_type([array/1]).
-type array(Element) :: any() | {gleam_phantom, Element}.
-spec to_list(array(ENJ)) -> list(ENJ).
to_list(Field@0) ->
'../../gleam.mjs':'toList'(Field@0).
-spec from_list(list(ENM)) -> array(ENM).
from_list(Field@0) ->
'../../ffi.mjs':'toArray'(Field@0).
-spec length(array(any())) -> integer().
length(Field@0) ->
'../../ffi.mjs':length(Field@0).
-spec map(array(ENT), fun((ENT) -> ENR)) -> array(ENR).
map(Field@0, Field@1) ->
'../../ffi.mjs':map(Field@0, Field@1).
-spec fold(array(ENW), ENV, fun((ENV, ENW) -> ENV)) -> ENV.
fold(Field@0, Field@1, Field@2) ->
'../../ffi.mjs':reduce(Field@0, Field@1, Field@2).
-spec fold_right(array(ENZ), ENY, fun((ENY, ENZ) -> ENY)) -> ENY.
fold_right(Field@0, Field@1, Field@2) ->
'../../ffi.mjs':'reduceRight'(Field@0, Field@1, Field@2).
-spec get(array(EOB), integer()) -> {ok, EOB} | {error, nil}.
get(Field@0, Field@1) ->
'../../ffi.mjs':index(Field@0, Field@1).