Module Js.Array

module Array: Js_array

type 'a t = 'a array 
type 'a array_like 
val from : 'a array_like -> 'b array
val fromMap : 'a array_like -> ('a -> 'b) -> 'b array
ES2015
val isArray : 'a -> bool
ES2015

ES2015

ES2015
val length : 'a array -> int
val copyWithin : to_:int -> 'a t -> 'a t
val copyWithinFrom : to_:int -> from:int -> 'a t -> 'a t
ES2015
val copyWithinFromRange : to_:int -> start:int -> end_:int -> 'a t -> 'a t
ES2015

ES2015
val fillInPlace : 'a -> 'a t -> 'a t
val fillFromInPlace : 'a -> from:int -> 'a t -> 'a t
ES2015
val fillRangeInPlace : 'a -> start:int -> end_:int -> 'a t -> 'a t
ES2015

ES2015
val pop : 'a t -> 'a option
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
val push : 'a -> 'a t -> int
val pushMany : 'a array -> 'a t -> int
val reverseInPlace : 'a t -> 'a t
val shift : 'a t -> 'a option
val sortInPlace : 'a t -> 'a t
val sortInPlaceWith : ('a -> 'a -> int) -> 'a t -> 'a t
val spliceInPlace : pos:int -> remove:int -> add:'a array -> 'a t -> 'a t
val removeFromInPlace : pos:int -> 'a t -> 'a t
val removeCountInPlace : pos:int -> count:int -> 'a t -> 'a t
val unshift : 'a -> 'a t -> int
val unshiftMany : 'a array -> 'a t -> int
val append : 'a -> 'a t -> 'a t
val concat : 'a t -> 'a t -> 'a t
val concatMany : 'a t array -> 'a t -> 'a t
val includes : 'a -> 'a t -> bool

ES2016
val indexOf : 'a -> 'a t -> int
val indexOfFrom : 'a -> from:int -> 'a t -> int
val join : 'a t -> string
val joinWith : string -> 'a t -> string
val lastIndexOf : 'a -> 'a t -> int
val lastIndexOfFrom : 'a -> from:int -> 'a t -> int
val lastIndexOf_start : 'a -> 'a t -> int
val slice : start:int -> end_:int -> 'a t -> 'a t
val copy : 'a t -> 'a t
val slice_copy : unit -> 'a t -> 'a t
val sliceFrom : int -> 'a t -> 'a t
val slice_start : int -> 'a t -> 'a t
val toString : 'a t -> string
val toLocaleString : 'a t -> string
val every : ('a -> bool) -> 'a t -> bool
val everyi : ('a -> int -> bool) -> 'a t -> bool
val filter : ('a -> bool) -> 'a t -> 'a t
should we use bool or boolan seems they are intechangeable here
val filteri : ('a -> int -> bool) -> 'a t -> 'a t
val find : ('a -> bool) -> 'a t -> 'a option
val findi : ('a -> int -> bool) -> 'a t -> 'a option
ES2015

ES2015
val findIndex : ('a -> bool) -> 'a t -> int
val findIndexi : ('a -> int -> bool) -> 'a t -> int
ES2015

ES2015
val forEach : ('a -> unit) -> 'a t -> unit
val forEachi : ('a -> int -> unit) -> 'a t -> unit
val map : ('a -> 'b) -> 'a t -> 'b t
val mapi : ('a -> int -> 'b) -> 'a t -> 'b t
val reduce : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'b
val reducei : ('b -> 'a -> int -> 'b) -> 'b -> 'a t -> 'b
val reduceRight : ('b -> 'a -> 'b) -> 'b -> 'a t -> 'b
val reduceRighti : ('b -> 'a -> int -> 'b) -> 'b -> 'a t -> 'b
val some : ('a -> bool) -> 'a t -> bool
val somei : ('a -> int -> bool) -> 'a t -> bool