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