-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).