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, size/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(ENX)) -> list(ENX).
to_list(Field@0) ->
'../../gleam.mjs':'toList'(Field@0).
-spec from_list(list(EOA)) -> array(EOA).
from_list(Field@0) ->
'../../ffi.mjs':'toArray'(Field@0).
-spec size(array(any())) -> integer().
size(Field@0) ->
'../../ffi.mjs':length(Field@0).
-spec map(array(EOH), fun((EOH) -> EOF)) -> array(EOF).
map(Field@0, Field@1) ->
'../../ffi.mjs':map(Field@0, Field@1).
-spec fold(array(EOK), EOJ, fun((EOJ, EOK) -> EOJ)) -> EOJ.
fold(Field@0, Field@1, Field@2) ->
'../../ffi.mjs':reduce(Field@0, Field@1, Field@2).
-spec fold_right(array(EON), EOM, fun((EOM, EON) -> EOM)) -> EOM.
fold_right(Field@0, Field@1, Field@2) ->
'../../ffi.mjs':'reduceRight'(Field@0, Field@1, Field@2).
-spec get(array(EOP), integer()) -> {ok, EOP} | {error, nil}.
get(Field@0, Field@1) ->
'../../ffi.mjs':index(Field@0, Field@1).