@tellahq/rescript 10.1.0-alpha.2 → 10.1.4-republish-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +204 -2
- package/README.md +1 -1
- package/darwinarm64/bsb_helper.exe +0 -0
- package/darwinarm64/bsc.exe +0 -0
- package/darwinarm64/ninja.exe +0 -0
- package/darwinarm64/rescript.exe +0 -0
- package/docs/docson/build-schema.json +497 -516
- package/lib/4.06.1/bsb_helper.ml +6 -1
- package/lib/4.06.1/rescript.ml +1414 -1191
- package/lib/4.06.1/whole_compiler.ml +69844 -69069
- package/lib/es6/belt_internalBuckets.js +13 -13
- package/lib/es6/caml_float.js +5 -5
- package/lib/es6/caml_format.js +1 -1
- package/lib/es6/caml_int64.js +1 -1
- package/lib/es6/caml_obj.js +26 -6
- package/lib/es6/complex.js +4 -4
- package/lib/es6/js.js +3 -0
- package/lib/es6/js_promise2.js +16 -0
- package/lib/es6/jsxPPXReactSupport.js +26 -0
- package/lib/js/belt_internalBuckets.js +13 -13
- package/lib/js/caml_float.js +5 -5
- package/lib/js/caml_format.js +1 -1
- package/lib/js/caml_int64.js +1 -1
- package/lib/js/caml_obj.js +26 -6
- package/lib/js/complex.js +4 -4
- package/lib/js/js.js +3 -0
- package/lib/js/js_promise2.js +14 -0
- package/lib/js/jsxPPXReactSupport.js +24 -0
- package/package.json +2 -1
- package/scripts/buildNinjaBinary.js +29 -0
- package/scripts/install.js +7 -3
- package/scripts/installUtils.js +9 -1
- package/scripts/rescript_arg.js +2 -4
- package/scripts/rescript_format.js +73 -39
- package/win32/refmt.exe +0 -0
- package/darwin/bsb_helper.exe +0 -0
- package/darwin/bsc.exe +0 -0
- package/darwin/ninja.COPYING +0 -202
- package/darwin/ninja.exe +0 -0
- package/darwin/rescript.exe +0 -0
- package/darwinarm64/ninja.COPYING +0 -202
- package/freebsd/ninja.COPYING +0 -202
- package/lib/ocaml/arg.cmi +0 -0
- package/lib/ocaml/arg.cmt +0 -0
- package/lib/ocaml/arg.cmti +0 -0
- package/lib/ocaml/arg.ml +0 -359
- package/lib/ocaml/arg.mli +0 -185
- package/lib/ocaml/array.cmi +0 -0
- package/lib/ocaml/array.cmt +0 -0
- package/lib/ocaml/array.cmti +0 -0
- package/lib/ocaml/array.ml +0 -307
- package/lib/ocaml/array.mli +0 -275
- package/lib/ocaml/arrayLabels.cmi +0 -0
- package/lib/ocaml/arrayLabels.cmt +0 -0
- package/lib/ocaml/arrayLabels.cmti +0 -0
- package/lib/ocaml/arrayLabels.ml +0 -307
- package/lib/ocaml/arrayLabels.mli +0 -276
- package/lib/ocaml/belt.cmi +0 -0
- package/lib/ocaml/belt.cmt +0 -0
- package/lib/ocaml/belt.ml +0 -352
- package/lib/ocaml/belt_Array.cmi +0 -0
- package/lib/ocaml/belt_Array.cmt +0 -0
- package/lib/ocaml/belt_Array.cmti +0 -0
- package/lib/ocaml/belt_Array.ml +0 -525
- package/lib/ocaml/belt_Array.mli +0 -707
- package/lib/ocaml/belt_Float.cmi +0 -0
- package/lib/ocaml/belt_Float.cmt +0 -0
- package/lib/ocaml/belt_Float.cmti +0 -0
- package/lib/ocaml/belt_Float.ml +0 -50
- package/lib/ocaml/belt_Float.mli +0 -106
- package/lib/ocaml/belt_HashMap.cmi +0 -0
- package/lib/ocaml/belt_HashMap.cmt +0 -0
- package/lib/ocaml/belt_HashMap.cmti +0 -0
- package/lib/ocaml/belt_HashMap.ml +0 -226
- package/lib/ocaml/belt_HashMap.mli +0 -436
- package/lib/ocaml/belt_HashMapInt.cmi +0 -0
- package/lib/ocaml/belt_HashMapInt.cmt +0 -0
- package/lib/ocaml/belt_HashMapInt.cmti +0 -0
- package/lib/ocaml/belt_HashMapInt.ml +0 -206
- package/lib/ocaml/belt_HashMapInt.mli +0 -50
- package/lib/ocaml/belt_HashMapString.cmi +0 -0
- package/lib/ocaml/belt_HashMapString.cmt +0 -0
- package/lib/ocaml/belt_HashMapString.cmti +0 -0
- package/lib/ocaml/belt_HashMapString.ml +0 -206
- package/lib/ocaml/belt_HashMapString.mli +0 -50
- package/lib/ocaml/belt_HashSet.cmi +0 -0
- package/lib/ocaml/belt_HashSet.cmt +0 -0
- package/lib/ocaml/belt_HashSet.cmti +0 -0
- package/lib/ocaml/belt_HashSet.ml +0 -196
- package/lib/ocaml/belt_HashSet.mli +0 -125
- package/lib/ocaml/belt_HashSetInt.cmi +0 -0
- package/lib/ocaml/belt_HashSetInt.cmt +0 -0
- package/lib/ocaml/belt_HashSetInt.cmti +0 -0
- package/lib/ocaml/belt_HashSetInt.ml +0 -155
- package/lib/ocaml/belt_HashSetInt.mli +0 -74
- package/lib/ocaml/belt_HashSetString.cmi +0 -0
- package/lib/ocaml/belt_HashSetString.cmt +0 -0
- package/lib/ocaml/belt_HashSetString.cmti +0 -0
- package/lib/ocaml/belt_HashSetString.ml +0 -156
- package/lib/ocaml/belt_HashSetString.mli +0 -74
- package/lib/ocaml/belt_Id.cmi +0 -0
- package/lib/ocaml/belt_Id.cmt +0 -0
- package/lib/ocaml/belt_Id.cmti +0 -0
- package/lib/ocaml/belt_Id.ml +0 -133
- package/lib/ocaml/belt_Id.mli +0 -171
- package/lib/ocaml/belt_Int.cmi +0 -0
- package/lib/ocaml/belt_Int.cmt +0 -0
- package/lib/ocaml/belt_Int.cmti +0 -0
- package/lib/ocaml/belt_Int.ml +0 -50
- package/lib/ocaml/belt_Int.mli +0 -103
- package/lib/ocaml/belt_List.cmi +0 -0
- package/lib/ocaml/belt_List.cmt +0 -0
- package/lib/ocaml/belt_List.cmti +0 -0
- package/lib/ocaml/belt_List.ml +0 -803
- package/lib/ocaml/belt_List.mli +0 -844
- package/lib/ocaml/belt_Map.cmi +0 -0
- package/lib/ocaml/belt_Map.cmt +0 -0
- package/lib/ocaml/belt_Map.cmti +0 -0
- package/lib/ocaml/belt_Map.ml +0 -170
- package/lib/ocaml/belt_Map.mli +0 -496
- package/lib/ocaml/belt_MapDict.cmi +0 -0
- package/lib/ocaml/belt_MapDict.cmt +0 -0
- package/lib/ocaml/belt_MapDict.cmti +0 -0
- package/lib/ocaml/belt_MapDict.ml +0 -278
- package/lib/ocaml/belt_MapDict.mli +0 -268
- package/lib/ocaml/belt_MapInt.cmi +0 -0
- package/lib/ocaml/belt_MapInt.cmt +0 -0
- package/lib/ocaml/belt_MapInt.cmti +0 -0
- package/lib/ocaml/belt_MapInt.ml +0 -169
- package/lib/ocaml/belt_MapInt.mli +0 -187
- package/lib/ocaml/belt_MapString.cmi +0 -0
- package/lib/ocaml/belt_MapString.cmt +0 -0
- package/lib/ocaml/belt_MapString.cmti +0 -0
- package/lib/ocaml/belt_MapString.ml +0 -169
- package/lib/ocaml/belt_MapString.mli +0 -187
- package/lib/ocaml/belt_MutableMap.cmi +0 -0
- package/lib/ocaml/belt_MutableMap.cmt +0 -0
- package/lib/ocaml/belt_MutableMap.cmti +0 -0
- package/lib/ocaml/belt_MutableMap.ml +0 -241
- package/lib/ocaml/belt_MutableMap.mli +0 -145
- package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
- package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
- package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
- package/lib/ocaml/belt_MutableMapInt.ml +0 -172
- package/lib/ocaml/belt_MutableMapInt.mli +0 -135
- package/lib/ocaml/belt_MutableMapString.cmi +0 -0
- package/lib/ocaml/belt_MutableMapString.cmt +0 -0
- package/lib/ocaml/belt_MutableMapString.cmti +0 -0
- package/lib/ocaml/belt_MutableMapString.ml +0 -172
- package/lib/ocaml/belt_MutableMapString.mli +0 -135
- package/lib/ocaml/belt_MutableQueue.cmi +0 -0
- package/lib/ocaml/belt_MutableQueue.cmt +0 -0
- package/lib/ocaml/belt_MutableQueue.cmti +0 -0
- package/lib/ocaml/belt_MutableQueue.ml +0 -222
- package/lib/ocaml/belt_MutableQueue.mli +0 -116
- package/lib/ocaml/belt_MutableSet.cmi +0 -0
- package/lib/ocaml/belt_MutableSet.cmt +0 -0
- package/lib/ocaml/belt_MutableSet.cmti +0 -0
- package/lib/ocaml/belt_MutableSet.ml +0 -371
- package/lib/ocaml/belt_MutableSet.mli +0 -617
- package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
- package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
- package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
- package/lib/ocaml/belt_MutableSetInt.ml +0 -342
- package/lib/ocaml/belt_MutableSetInt.mli +0 -124
- package/lib/ocaml/belt_MutableSetString.cmi +0 -0
- package/lib/ocaml/belt_MutableSetString.cmt +0 -0
- package/lib/ocaml/belt_MutableSetString.cmti +0 -0
- package/lib/ocaml/belt_MutableSetString.ml +0 -342
- package/lib/ocaml/belt_MutableSetString.mli +0 -124
- package/lib/ocaml/belt_MutableStack.cmi +0 -0
- package/lib/ocaml/belt_MutableStack.cmt +0 -0
- package/lib/ocaml/belt_MutableStack.cmti +0 -0
- package/lib/ocaml/belt_MutableStack.ml +0 -106
- package/lib/ocaml/belt_MutableStack.mli +0 -63
- package/lib/ocaml/belt_Option.cmi +0 -0
- package/lib/ocaml/belt_Option.cmt +0 -0
- package/lib/ocaml/belt_Option.cmti +0 -0
- package/lib/ocaml/belt_Option.ml +0 -93
- package/lib/ocaml/belt_Option.mli +0 -270
- package/lib/ocaml/belt_Range.cmi +0 -0
- package/lib/ocaml/belt_Range.cmt +0 -0
- package/lib/ocaml/belt_Range.cmti +0 -0
- package/lib/ocaml/belt_Range.ml +0 -76
- package/lib/ocaml/belt_Range.mli +0 -114
- package/lib/ocaml/belt_Result.cmi +0 -0
- package/lib/ocaml/belt_Result.cmt +0 -0
- package/lib/ocaml/belt_Result.cmti +0 -0
- package/lib/ocaml/belt_Result.ml +0 -75
- package/lib/ocaml/belt_Result.mli +0 -205
- package/lib/ocaml/belt_Set.cmi +0 -0
- package/lib/ocaml/belt_Set.cmt +0 -0
- package/lib/ocaml/belt_Set.cmti +0 -0
- package/lib/ocaml/belt_Set.cppo.ml +0 -205
- package/lib/ocaml/belt_Set.cppo.mli +0 -153
- package/lib/ocaml/belt_Set.ml +0 -164
- package/lib/ocaml/belt_Set.mli +0 -523
- package/lib/ocaml/belt_SetDict.cmi +0 -0
- package/lib/ocaml/belt_SetDict.cmt +0 -0
- package/lib/ocaml/belt_SetDict.cmti +0 -0
- package/lib/ocaml/belt_SetDict.ml +0 -237
- package/lib/ocaml/belt_SetDict.mli +0 -567
- package/lib/ocaml/belt_SetInt.cmi +0 -0
- package/lib/ocaml/belt_SetInt.cmt +0 -0
- package/lib/ocaml/belt_SetInt.cmti +0 -0
- package/lib/ocaml/belt_SetInt.ml +0 -201
- package/lib/ocaml/belt_SetInt.mli +0 -151
- package/lib/ocaml/belt_SetString.cmi +0 -0
- package/lib/ocaml/belt_SetString.cmt +0 -0
- package/lib/ocaml/belt_SetString.cmti +0 -0
- package/lib/ocaml/belt_SetString.ml +0 -201
- package/lib/ocaml/belt_SetString.mli +0 -151
- package/lib/ocaml/belt_SortArray.cmi +0 -0
- package/lib/ocaml/belt_SortArray.cmt +0 -0
- package/lib/ocaml/belt_SortArray.cmti +0 -0
- package/lib/ocaml/belt_SortArray.ml +0 -322
- package/lib/ocaml/belt_SortArray.mli +0 -146
- package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
- package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
- package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
- package/lib/ocaml/belt_SortArrayInt.ml +0 -263
- package/lib/ocaml/belt_SortArrayInt.mli +0 -93
- package/lib/ocaml/belt_SortArrayString.cmi +0 -0
- package/lib/ocaml/belt_SortArrayString.cmt +0 -0
- package/lib/ocaml/belt_SortArrayString.cmti +0 -0
- package/lib/ocaml/belt_SortArrayString.ml +0 -263
- package/lib/ocaml/belt_SortArrayString.mli +0 -93
- package/lib/ocaml/belt_internalAVLset.cmt +0 -0
- package/lib/ocaml/belt_internalAVLset.cmti +0 -0
- package/lib/ocaml/belt_internalAVLset.ml +0 -665
- package/lib/ocaml/belt_internalAVLset.mli +0 -124
- package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
- package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
- package/lib/ocaml/belt_internalAVLtree.ml +0 -762
- package/lib/ocaml/belt_internalAVLtree.mli +0 -215
- package/lib/ocaml/belt_internalBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalBuckets.ml +0 -218
- package/lib/ocaml/belt_internalBuckets.mli +0 -57
- package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
- package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
- package/lib/ocaml/belt_internalBucketsType.ml +0 -59
- package/lib/ocaml/belt_internalBucketsType.mli +0 -46
- package/lib/ocaml/belt_internalMapInt.cmt +0 -0
- package/lib/ocaml/belt_internalMapInt.ml +0 -227
- package/lib/ocaml/belt_internalMapString.cmt +0 -0
- package/lib/ocaml/belt_internalMapString.ml +0 -227
- package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalSetBuckets.ml +0 -157
- package/lib/ocaml/belt_internalSetBuckets.mli +0 -47
- package/lib/ocaml/belt_internalSetInt.cmt +0 -0
- package/lib/ocaml/belt_internalSetInt.ml +0 -129
- package/lib/ocaml/belt_internalSetString.cmt +0 -0
- package/lib/ocaml/belt_internalSetString.ml +0 -129
- package/lib/ocaml/belt_internals.cmti +0 -0
- package/lib/ocaml/belt_internals.mli +0 -79
- package/lib/ocaml/buffer.cmi +0 -0
- package/lib/ocaml/buffer.cmt +0 -0
- package/lib/ocaml/buffer.cmti +0 -0
- package/lib/ocaml/buffer.ml +0 -250
- package/lib/ocaml/buffer.mli +0 -149
- package/lib/ocaml/bytes.cmi +0 -0
- package/lib/ocaml/bytes.cmt +0 -0
- package/lib/ocaml/bytes.cmti +0 -0
- package/lib/ocaml/bytes.ml +0 -431
- package/lib/ocaml/bytes.mli +0 -430
- package/lib/ocaml/bytesLabels.cmi +0 -0
- package/lib/ocaml/bytesLabels.cmt +0 -0
- package/lib/ocaml/bytesLabels.cmti +0 -0
- package/lib/ocaml/bytesLabels.ml +0 -428
- package/lib/ocaml/bytesLabels.mli +0 -276
- package/lib/ocaml/callback.cmi +0 -0
- package/lib/ocaml/callback.cmt +0 -0
- package/lib/ocaml/callback.cmti +0 -0
- package/lib/ocaml/callback.ml +0 -20
- package/lib/ocaml/callback.mli +0 -34
- package/lib/ocaml/camlinternalLazy.cmi +0 -0
- package/lib/ocaml/camlinternalLazy.cmt +0 -0
- package/lib/ocaml/camlinternalLazy.cmti +0 -0
- package/lib/ocaml/camlinternalLazy.ml +0 -89
- package/lib/ocaml/camlinternalLazy.mli +0 -27
- package/lib/ocaml/camlinternalMod.cmi +0 -0
- package/lib/ocaml/camlinternalMod.cmt +0 -0
- package/lib/ocaml/camlinternalMod.cmti +0 -0
- package/lib/ocaml/camlinternalMod.ml +0 -21
- package/lib/ocaml/camlinternalMod.mli +0 -25
- package/lib/ocaml/char.cmi +0 -0
- package/lib/ocaml/char.cmt +0 -0
- package/lib/ocaml/char.cmti +0 -0
- package/lib/ocaml/char.ml +0 -76
- package/lib/ocaml/char.mli +0 -72
- package/lib/ocaml/complex.cmi +0 -0
- package/lib/ocaml/complex.cmt +0 -0
- package/lib/ocaml/complex.cmti +0 -0
- package/lib/ocaml/complex.ml +0 -87
- package/lib/ocaml/complex.mli +0 -86
- package/lib/ocaml/digest.cmi +0 -0
- package/lib/ocaml/digest.cmt +0 -0
- package/lib/ocaml/digest.cmti +0 -0
- package/lib/ocaml/digest.ml +0 -66
- package/lib/ocaml/digest.mli +0 -68
- package/lib/ocaml/dom.cmi +0 -0
- package/lib/ocaml/dom.cmt +0 -0
- package/lib/ocaml/dom.ml +0 -296
- package/lib/ocaml/dom_storage.cmi +0 -0
- package/lib/ocaml/dom_storage.cmt +0 -0
- package/lib/ocaml/dom_storage.ml +0 -22
- package/lib/ocaml/dom_storage2.cmi +0 -0
- package/lib/ocaml/dom_storage2.cmt +0 -0
- package/lib/ocaml/dom_storage2.ml +0 -11
- package/lib/ocaml/filename.cmi +0 -0
- package/lib/ocaml/filename.cmt +0 -0
- package/lib/ocaml/filename.cmti +0 -0
- package/lib/ocaml/filename.ml +0 -233
- package/lib/ocaml/filename.mli +0 -134
- package/lib/ocaml/genlex.cmi +0 -0
- package/lib/ocaml/genlex.cmt +0 -0
- package/lib/ocaml/genlex.cmti +0 -0
- package/lib/ocaml/genlex.ml +0 -201
- package/lib/ocaml/genlex.mli +0 -73
- package/lib/ocaml/hashmap.cppo.ml +0 -214
- package/lib/ocaml/hashmap.cppo.mli +0 -54
- package/lib/ocaml/hashset.cppo.ml +0 -165
- package/lib/ocaml/hashset.cppo.mli +0 -77
- package/lib/ocaml/hashtbl.cmi +0 -0
- package/lib/ocaml/hashtbl.cmt +0 -0
- package/lib/ocaml/hashtbl.cmti +0 -0
- package/lib/ocaml/hashtbl.ml +0 -541
- package/lib/ocaml/hashtbl.mli +0 -411
- package/lib/ocaml/hashtblLabels.cmi +0 -0
- package/lib/ocaml/hashtblLabels.cmt +0 -0
- package/lib/ocaml/hashtblLabels.ml +0 -130
- package/lib/ocaml/int32.cmi +0 -0
- package/lib/ocaml/int32.cmt +0 -0
- package/lib/ocaml/int32.cmti +0 -0
- package/lib/ocaml/int32.ml +0 -64
- package/lib/ocaml/int32.mli +0 -186
- package/lib/ocaml/int64.cmi +0 -0
- package/lib/ocaml/int64.cmt +0 -0
- package/lib/ocaml/int64.cmti +0 -0
- package/lib/ocaml/int64.ml +0 -72
- package/lib/ocaml/int64.mli +0 -197
- package/lib/ocaml/internal_map.cppo.ml +0 -230
- package/lib/ocaml/internal_set.cppo.ml +0 -134
- package/lib/ocaml/js.cmi +0 -0
- package/lib/ocaml/js.cmt +0 -0
- package/lib/ocaml/js.ml +0 -313
- package/lib/ocaml/js_OO.cmi +0 -0
- package/lib/ocaml/js_OO.cmt +0 -0
- package/lib/ocaml/js_OO.ml +0 -180
- package/lib/ocaml/js_array.cmi +0 -0
- package/lib/ocaml/js_array.cmt +0 -0
- package/lib/ocaml/js_array.ml +0 -970
- package/lib/ocaml/js_array2.cmi +0 -0
- package/lib/ocaml/js_array2.cmt +0 -0
- package/lib/ocaml/js_array2.ml +0 -1065
- package/lib/ocaml/js_bigint.cmi +0 -0
- package/lib/ocaml/js_bigint.cmt +0 -0
- package/lib/ocaml/js_bigint.ml +0 -3
- package/lib/ocaml/js_cast.cmi +0 -0
- package/lib/ocaml/js_cast.cmt +0 -0
- package/lib/ocaml/js_cast.cmti +0 -0
- package/lib/ocaml/js_cast.ml +0 -29
- package/lib/ocaml/js_cast.mli +0 -45
- package/lib/ocaml/js_console.cmi +0 -0
- package/lib/ocaml/js_console.cmt +0 -0
- package/lib/ocaml/js_console.ml +0 -51
- package/lib/ocaml/js_date.cmi +0 -0
- package/lib/ocaml/js_date.cmt +0 -0
- package/lib/ocaml/js_date.ml +0 -1263
- package/lib/ocaml/js_dict.cmi +0 -0
- package/lib/ocaml/js_dict.cmt +0 -0
- package/lib/ocaml/js_dict.cmti +0 -0
- package/lib/ocaml/js_dict.ml +0 -114
- package/lib/ocaml/js_dict.mli +0 -152
- package/lib/ocaml/js_exn.cmi +0 -0
- package/lib/ocaml/js_exn.cmt +0 -0
- package/lib/ocaml/js_exn.cmti +0 -0
- package/lib/ocaml/js_exn.ml +0 -102
- package/lib/ocaml/js_exn.mli +0 -79
- package/lib/ocaml/js_float.cmi +0 -0
- package/lib/ocaml/js_float.cmt +0 -0
- package/lib/ocaml/js_float.ml +0 -294
- package/lib/ocaml/js_global.cmi +0 -0
- package/lib/ocaml/js_global.cmt +0 -0
- package/lib/ocaml/js_global.ml +0 -185
- package/lib/ocaml/js_int.cmi +0 -0
- package/lib/ocaml/js_int.cmt +0 -0
- package/lib/ocaml/js_int.ml +0 -158
- package/lib/ocaml/js_json.cmi +0 -0
- package/lib/ocaml/js_json.cmt +0 -0
- package/lib/ocaml/js_json.cmti +0 -0
- package/lib/ocaml/js_json.ml +0 -195
- package/lib/ocaml/js_json.mli +0 -244
- package/lib/ocaml/js_list.cmi +0 -0
- package/lib/ocaml/js_list.cmt +0 -0
- package/lib/ocaml/js_list.cmti +0 -0
- package/lib/ocaml/js_list.ml +0 -174
- package/lib/ocaml/js_list.mli +0 -72
- package/lib/ocaml/js_map.cmi +0 -0
- package/lib/ocaml/js_map.cmt +0 -0
- package/lib/ocaml/js_map.ml +0 -3
- package/lib/ocaml/js_mapperRt.cmi +0 -0
- package/lib/ocaml/js_mapperRt.cmt +0 -0
- package/lib/ocaml/js_mapperRt.cmti +0 -0
- package/lib/ocaml/js_mapperRt.ml +0 -50
- package/lib/ocaml/js_mapperRt.mli +0 -44
- package/lib/ocaml/js_math.cmi +0 -0
- package/lib/ocaml/js_math.cmt +0 -0
- package/lib/ocaml/js_math.ml +0 -626
- package/lib/ocaml/js_null.cmi +0 -0
- package/lib/ocaml/js_null.cmt +0 -0
- package/lib/ocaml/js_null.cmti +0 -0
- package/lib/ocaml/js_null.ml +0 -57
- package/lib/ocaml/js_null.mli +0 -87
- package/lib/ocaml/js_null_undefined.cmi +0 -0
- package/lib/ocaml/js_null_undefined.cmt +0 -0
- package/lib/ocaml/js_null_undefined.cmti +0 -0
- package/lib/ocaml/js_null_undefined.ml +0 -50
- package/lib/ocaml/js_null_undefined.mli +0 -85
- package/lib/ocaml/js_obj.cmi +0 -0
- package/lib/ocaml/js_obj.cmt +0 -0
- package/lib/ocaml/js_obj.ml +0 -100
- package/lib/ocaml/js_option.cmi +0 -0
- package/lib/ocaml/js_option.cmt +0 -0
- package/lib/ocaml/js_option.cmti +0 -0
- package/lib/ocaml/js_option.ml +0 -203
- package/lib/ocaml/js_option.mli +0 -52
- package/lib/ocaml/js_promise.cmi +0 -0
- package/lib/ocaml/js_promise.cmt +0 -0
- package/lib/ocaml/js_promise.ml +0 -100
- package/lib/ocaml/js_re.cmi +0 -0
- package/lib/ocaml/js_re.cmt +0 -0
- package/lib/ocaml/js_re.ml +0 -184
- package/lib/ocaml/js_result.cmi +0 -0
- package/lib/ocaml/js_result.cmt +0 -0
- package/lib/ocaml/js_result.cmti +0 -0
- package/lib/ocaml/js_result.ml +0 -28
- package/lib/ocaml/js_result.mli +0 -28
- package/lib/ocaml/js_set.cmi +0 -0
- package/lib/ocaml/js_set.cmt +0 -0
- package/lib/ocaml/js_set.ml +0 -3
- package/lib/ocaml/js_string.cmi +0 -0
- package/lib/ocaml/js_string.cmt +0 -0
- package/lib/ocaml/js_string.ml +0 -914
- package/lib/ocaml/js_string2.cmi +0 -0
- package/lib/ocaml/js_string2.cmt +0 -0
- package/lib/ocaml/js_string2.ml +0 -912
- package/lib/ocaml/js_typed_array.cmi +0 -0
- package/lib/ocaml/js_typed_array.cmt +0 -0
- package/lib/ocaml/js_typed_array.cppo.ml +0 -429
- package/lib/ocaml/js_typed_array.ml +0 -1405
- package/lib/ocaml/js_typed_array2.cmi +0 -0
- package/lib/ocaml/js_typed_array2.cmt +0 -0
- package/lib/ocaml/js_typed_array2.cppo.ml +0 -296
- package/lib/ocaml/js_typed_array2.ml +0 -1269
- package/lib/ocaml/js_types.cmi +0 -0
- package/lib/ocaml/js_types.cmt +0 -0
- package/lib/ocaml/js_types.cmti +0 -0
- package/lib/ocaml/js_types.ml +0 -118
- package/lib/ocaml/js_types.mli +0 -78
- package/lib/ocaml/js_undefined.cmi +0 -0
- package/lib/ocaml/js_undefined.cmt +0 -0
- package/lib/ocaml/js_undefined.cmti +0 -0
- package/lib/ocaml/js_undefined.ml +0 -59
- package/lib/ocaml/js_undefined.mli +0 -92
- package/lib/ocaml/js_vector.cmi +0 -0
- package/lib/ocaml/js_vector.cmt +0 -0
- package/lib/ocaml/js_vector.cmti +0 -0
- package/lib/ocaml/js_vector.ml +0 -143
- package/lib/ocaml/js_vector.mli +0 -92
- package/lib/ocaml/js_weakmap.cmi +0 -0
- package/lib/ocaml/js_weakmap.cmt +0 -0
- package/lib/ocaml/js_weakmap.ml +0 -3
- package/lib/ocaml/js_weakset.cmi +0 -0
- package/lib/ocaml/js_weakset.cmt +0 -0
- package/lib/ocaml/js_weakset.ml +0 -3
- package/lib/ocaml/jsx.cmi +0 -0
- package/lib/ocaml/jsx.cmt +0 -0
- package/lib/ocaml/jsx.ml +0 -39
- package/lib/ocaml/jsxDOM.cmi +0 -0
- package/lib/ocaml/jsxDOM.cmt +0 -0
- package/lib/ocaml/jsxDOM.ml +0 -2087
- package/lib/ocaml/jsxDOMStyle.cmi +0 -0
- package/lib/ocaml/jsxDOMStyle.cmt +0 -0
- package/lib/ocaml/jsxDOMStyle.ml +0 -777
- package/lib/ocaml/jsxEvent.cmi +0 -0
- package/lib/ocaml/jsxEvent.cmt +0 -0
- package/lib/ocaml/jsxEvent.ml +0 -358
- package/lib/ocaml/lazy.cmi +0 -0
- package/lib/ocaml/lazy.cmt +0 -0
- package/lib/ocaml/lazy.cmti +0 -0
- package/lib/ocaml/lazy.ml +0 -70
- package/lib/ocaml/lazy.mli +0 -95
- package/lib/ocaml/lexing.cmi +0 -0
- package/lib/ocaml/lexing.cmt +0 -0
- package/lib/ocaml/lexing.cmti +0 -0
- package/lib/ocaml/lexing.ml +0 -230
- package/lib/ocaml/lexing.mli +0 -172
- package/lib/ocaml/list.cmi +0 -0
- package/lib/ocaml/list.cmt +0 -0
- package/lib/ocaml/list.cmti +0 -0
- package/lib/ocaml/list.ml +0 -485
- package/lib/ocaml/list.mli +0 -347
- package/lib/ocaml/listLabels.cmi +0 -0
- package/lib/ocaml/listLabels.cmt +0 -0
- package/lib/ocaml/listLabels.cmti +0 -0
- package/lib/ocaml/listLabels.ml +0 -485
- package/lib/ocaml/listLabels.mli +0 -353
- package/lib/ocaml/map.cmi +0 -0
- package/lib/ocaml/map.cmt +0 -0
- package/lib/ocaml/map.cmti +0 -0
- package/lib/ocaml/map.cppo.ml +0 -174
- package/lib/ocaml/map.cppo.mli +0 -191
- package/lib/ocaml/map.ml +0 -480
- package/lib/ocaml/map.mli +0 -315
- package/lib/ocaml/mapLabels.cmi +0 -0
- package/lib/ocaml/mapLabels.cmt +0 -0
- package/lib/ocaml/mapLabels.ml +0 -480
- package/lib/ocaml/mapm.cppo.ml +0 -177
- package/lib/ocaml/mapm.cppo.mli +0 -138
- package/lib/ocaml/moreLabels.cmi +0 -0
- package/lib/ocaml/moreLabels.cmt +0 -0
- package/lib/ocaml/moreLabels.cmti +0 -0
- package/lib/ocaml/moreLabels.ml +0 -22
- package/lib/ocaml/moreLabels.mli +0 -198
- package/lib/ocaml/node.cmi +0 -0
- package/lib/ocaml/node.cmt +0 -0
- package/lib/ocaml/node.ml +0 -84
- package/lib/ocaml/node_buffer.cmi +0 -0
- package/lib/ocaml/node_buffer.cmt +0 -0
- package/lib/ocaml/node_buffer.ml +0 -47
- package/lib/ocaml/node_child_process.cmi +0 -0
- package/lib/ocaml/node_child_process.cmt +0 -0
- package/lib/ocaml/node_child_process.ml +0 -50
- package/lib/ocaml/node_fs.cmi +0 -0
- package/lib/ocaml/node_fs.cmt +0 -0
- package/lib/ocaml/node_fs.ml +0 -153
- package/lib/ocaml/node_module.cmi +0 -0
- package/lib/ocaml/node_module.cmt +0 -0
- package/lib/ocaml/node_module.ml +0 -29
- package/lib/ocaml/node_path.cmi +0 -0
- package/lib/ocaml/node_path.cmt +0 -0
- package/lib/ocaml/node_path.ml +0 -71
- package/lib/ocaml/node_process.cmi +0 -0
- package/lib/ocaml/node_process.cmt +0 -0
- package/lib/ocaml/node_process.cmti +0 -0
- package/lib/ocaml/node_process.ml +0 -59
- package/lib/ocaml/node_process.mli +0 -48
- package/lib/ocaml/obj.cmi +0 -0
- package/lib/ocaml/obj.cmt +0 -0
- package/lib/ocaml/obj.cmti +0 -0
- package/lib/ocaml/obj.ml +0 -29
- package/lib/ocaml/obj.mli +0 -62
- package/lib/ocaml/parsing.cmi +0 -0
- package/lib/ocaml/parsing.cmt +0 -0
- package/lib/ocaml/parsing.cmti +0 -0
- package/lib/ocaml/parsing.ml +0 -212
- package/lib/ocaml/parsing.mli +0 -105
- package/lib/ocaml/pervasives.cmi +0 -0
- package/lib/ocaml/pervasives.cmt +0 -0
- package/lib/ocaml/pervasives.cmti +0 -0
- package/lib/ocaml/pervasives.ml +0 -297
- package/lib/ocaml/pervasives.mli +0 -771
- package/lib/ocaml/printexc.cmi +0 -0
- package/lib/ocaml/printexc.cmt +0 -0
- package/lib/ocaml/printexc.cmti +0 -0
- package/lib/ocaml/printexc.ml +0 -79
- package/lib/ocaml/printexc.mli +0 -57
- package/lib/ocaml/queue.cmi +0 -0
- package/lib/ocaml/queue.cmt +0 -0
- package/lib/ocaml/queue.cmti +0 -0
- package/lib/ocaml/queue.ml +0 -132
- package/lib/ocaml/queue.mli +0 -82
- package/lib/ocaml/random.cmi +0 -0
- package/lib/ocaml/random.cmt +0 -0
- package/lib/ocaml/random.cmti +0 -0
- package/lib/ocaml/random.ml +0 -273
- package/lib/ocaml/random.mli +0 -102
- package/lib/ocaml/set.cmi +0 -0
- package/lib/ocaml/set.cmt +0 -0
- package/lib/ocaml/set.cmti +0 -0
- package/lib/ocaml/set.ml +0 -526
- package/lib/ocaml/set.mli +0 -266
- package/lib/ocaml/setLabels.cmi +0 -0
- package/lib/ocaml/setLabels.cmt +0 -0
- package/lib/ocaml/setLabels.ml +0 -526
- package/lib/ocaml/setm.cppo.ml +0 -346
- package/lib/ocaml/setm.cppo.mli +0 -126
- package/lib/ocaml/sort.cmi +0 -0
- package/lib/ocaml/sort.cmt +0 -0
- package/lib/ocaml/sort.cmti +0 -0
- package/lib/ocaml/sort.cppo.ml +0 -267
- package/lib/ocaml/sort.cppo.mli +0 -96
- package/lib/ocaml/sort.ml +0 -99
- package/lib/ocaml/sort.mli +0 -44
- package/lib/ocaml/stack.cmi +0 -0
- package/lib/ocaml/stack.cmt +0 -0
- package/lib/ocaml/stack.cmti +0 -0
- package/lib/ocaml/stack.ml +0 -44
- package/lib/ocaml/stack.mli +0 -63
- package/lib/ocaml/stdLabels.cmi +0 -0
- package/lib/ocaml/stdLabels.cmt +0 -0
- package/lib/ocaml/stdLabels.cmti +0 -0
- package/lib/ocaml/stdLabels.ml +0 -24
- package/lib/ocaml/stdLabels.mli +0 -29
- package/lib/ocaml/stream.cmi +0 -0
- package/lib/ocaml/stream.cmt +0 -0
- package/lib/ocaml/stream.cmti +0 -0
- package/lib/ocaml/stream.ml +0 -213
- package/lib/ocaml/stream.mli +0 -108
- package/lib/ocaml/string.cmi +0 -0
- package/lib/ocaml/string.cmt +0 -0
- package/lib/ocaml/string.cmti +0 -0
- package/lib/ocaml/string.ml +0 -190
- package/lib/ocaml/string.mli +0 -286
- package/lib/ocaml/stringLabels.cmi +0 -0
- package/lib/ocaml/stringLabels.cmt +0 -0
- package/lib/ocaml/stringLabels.cmti +0 -0
- package/lib/ocaml/stringLabels.ml +0 -190
- package/lib/ocaml/stringLabels.mli +0 -241
- package/lib/ocaml/sys.cmi +0 -0
- package/lib/ocaml/sys.cmt +0 -0
- package/lib/ocaml/sys.cmti +0 -0
- package/lib/ocaml/sys.ml +0 -135
- package/lib/ocaml/sys.mli +0 -333
- package/lib/ocaml/uchar.cmi +0 -0
- package/lib/ocaml/uchar.cmt +0 -0
- package/lib/ocaml/uchar.cmti +0 -0
- package/lib/ocaml/uchar.ml +0 -58
- package/lib/ocaml/uchar.mli +0 -98
- package/linux/bsb_helper.exe +0 -0
- package/linux/bsc.exe +0 -0
- package/linux/ninja.COPYING +0 -202
- package/linux/ninja.exe +0 -0
- package/linux/rescript.exe +0 -0
- package/openbsd/.keep +0 -0
- package/scripts/LICENSE.ml +0 -27
- package/scripts/buckle_lto.js +0 -55
- package/scripts/build_sorted.ml +0 -233
- package/scripts/caml_oo_curry_gen.ml +0 -71
- package/scripts/checkUnused.js +0 -63
- package/scripts/ciTest.js +0 -172
- package/scripts/cover.sh +0 -3
- package/scripts/curry_gen.ml +0 -167
- package/scripts/dbg +0 -13
- package/scripts/dedupe.js +0 -44
- package/scripts/doc_gen.js +0 -117
- package/scripts/js_internal_gen.js +0 -135
- package/scripts/jsconfig.json +0 -12
- package/scripts/littlecase.js +0 -21
- package/scripts/ninja.js +0 -1980
- package/scripts/pack.js +0 -107
- package/scripts/prebuilt.js +0 -99
- package/scripts/release.js +0 -41
- package/scripts/repl.js +0 -151
- package/scripts/shake.js +0 -138
- package/scripts/tasks.js +0 -149
- package/scripts/test.sh +0 -3
- package/scripts/tmp.js +0 -98
- package/scripts/validate.js +0 -41
- package/vendor/ninja.tar.gz +0 -0
- package/win32/bsb_helper.exe +0 -0
- package/win32/bsc.exe +0 -0
- package/win32/ninja.COPYING +0 -202
- package/win32/ninja.exe +0 -0
- package/win32/rescript.exe +0 -0
package/lib/ocaml/belt_Array.mli
DELETED
|
@@ -1,707 +0,0 @@
|
|
|
1
|
-
(***********************************************************************)
|
|
2
|
-
(* *)
|
|
3
|
-
(* OCaml *)
|
|
4
|
-
(* *)
|
|
5
|
-
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
6
|
-
(* *)
|
|
7
|
-
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
8
|
-
(* en Automatique. All rights reserved. This file is distributed *)
|
|
9
|
-
(* under the terms of the GNU Library General Public License, with *)
|
|
10
|
-
(* the special exception on linking described in file ../LICENSE. *)
|
|
11
|
-
(* *)
|
|
12
|
-
(***********************************************************************)
|
|
13
|
-
(* Adapted significantly by Authors of ReScript *)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
(** Utililites for `Array` functions.
|
|
17
|
-
|
|
18
|
-
### Note about index syntax
|
|
19
|
-
|
|
20
|
-
Code like `arr[0]` does *not* compile to JavaScript `arr[0]`. Reason transforms the `[]` index syntax into a function: `Array.get(arr, 0)`. By default, this uses the default standard library's `Array.get` function, which may raise an exception if the index isn't found. If you `open Belt`, it will use the `Belt.Array.get` function which returns options instead of raising exceptions. [See this for more information](../belt.mdx#array-access-runtime-safety).
|
|
21
|
-
*)
|
|
22
|
-
|
|
23
|
-
type 'a t = 'a array
|
|
24
|
-
|
|
25
|
-
external length: 'a t -> int = "%array_length"
|
|
26
|
-
(** return the size of the array
|
|
27
|
-
|
|
28
|
-
```res example
|
|
29
|
-
// Returns 1
|
|
30
|
-
Belt.Array.length(["test"])
|
|
31
|
-
```
|
|
32
|
-
*)
|
|
33
|
-
|
|
34
|
-
external size: 'a t -> int = "%array_length"
|
|
35
|
-
(** **See** [`length`]() *)
|
|
36
|
-
|
|
37
|
-
val get: 'a t -> int -> 'a option
|
|
38
|
-
(**
|
|
39
|
-
If `i <= 0 <= length(arr)` returns `Some(value)` where `value` is the item at index `i`.
|
|
40
|
-
If `i` is out of range returns `None`.
|
|
41
|
-
```
|
|
42
|
-
Belt.Array.get(["a", "b", "c"], 0) == Some("a")
|
|
43
|
-
Belt.Array.get(["a", "b", "c"], 3) == None
|
|
44
|
-
Belt.Array.get(["a", "b", "c"], -1) == None
|
|
45
|
-
```
|
|
46
|
-
*)
|
|
47
|
-
|
|
48
|
-
val getExn: 'a t -> int -> 'a
|
|
49
|
-
(**
|
|
50
|
-
Raise an exception if `i` is out of range.
|
|
51
|
-
Otherwise return the value at index `i` in `arr`.
|
|
52
|
-
*)
|
|
53
|
-
|
|
54
|
-
external getUnsafe: 'a t -> int -> 'a = "%array_unsafe_get"
|
|
55
|
-
(**
|
|
56
|
-
`getUnsafe(arr, i)`
|
|
57
|
-
|
|
58
|
-
**Unsafe**
|
|
59
|
-
|
|
60
|
-
no bounds checking; this would cause type error if `i` does not stay within range
|
|
61
|
-
*)
|
|
62
|
-
|
|
63
|
-
external getUndefined: 'a t -> int -> 'a Js.undefined = "%array_unsafe_get"
|
|
64
|
-
(**
|
|
65
|
-
`getUndefined(arr, i)`
|
|
66
|
-
|
|
67
|
-
It does the samething in the runtime as [`getUnsafe`]();
|
|
68
|
-
it is _type safe_ since the return type still track whether it is
|
|
69
|
-
in range or not
|
|
70
|
-
*)
|
|
71
|
-
|
|
72
|
-
val set: 'a t -> int -> 'a -> bool
|
|
73
|
-
(**
|
|
74
|
-
`set(arr, n, x)` modifies `arr` in place; it replaces the nth element of `arr` with `x`.
|
|
75
|
-
Returning `false` means not updated due to out of range.
|
|
76
|
-
*)
|
|
77
|
-
|
|
78
|
-
val setExn: 'a t -> int -> 'a -> unit
|
|
79
|
-
(**
|
|
80
|
-
`setExn(arr, i, x)` raise an exception if `i` is out of range.
|
|
81
|
-
*)
|
|
82
|
-
|
|
83
|
-
external setUnsafe: 'a t -> int -> 'a -> unit = "%array_unsafe_set"
|
|
84
|
-
|
|
85
|
-
val shuffleInPlace: 'a t -> unit
|
|
86
|
-
(** `shuffleInPlace(arr)` randomly re-orders the items in `arr` *)
|
|
87
|
-
|
|
88
|
-
val shuffle: 'a t -> 'a t
|
|
89
|
-
(** Returns a fresh array with items in original array randomly shuffled. *)
|
|
90
|
-
|
|
91
|
-
val reverseInPlace: 'a t -> unit
|
|
92
|
-
(**
|
|
93
|
-
`reverseInPlace(arr)` reverses items in `arr` in place.
|
|
94
|
-
|
|
95
|
-
```res example
|
|
96
|
-
let arr = [10, 11, 12, 13, 14]
|
|
97
|
-
|
|
98
|
-
let () = Belt.Array.reverseInPlace(arr)
|
|
99
|
-
|
|
100
|
-
arr == [14, 13, 12, 11, 10]
|
|
101
|
-
```
|
|
102
|
-
*)
|
|
103
|
-
|
|
104
|
-
val reverse: 'a t -> 'a t
|
|
105
|
-
(**
|
|
106
|
-
`reverse(arr)` returns a fresh array with items in arr in reverse order.
|
|
107
|
-
|
|
108
|
-
```res example
|
|
109
|
-
Belt.Array.reverse([10, 11, 12, 13, 14]) == [14, 13, 12, 11, 10]
|
|
110
|
-
```
|
|
111
|
-
*)
|
|
112
|
-
|
|
113
|
-
external makeUninitialized: int -> 'a Js.undefined array = "Array" [@@bs.new]
|
|
114
|
-
(**
|
|
115
|
-
`makeUninitialized(n)` creates an array of length `n` filled with the undefined value. You must specify the type of data that will eventually fill the array.
|
|
116
|
-
|
|
117
|
-
```res example
|
|
118
|
-
let arr: array<Js.undefined<string>> = Belt.Array.makeUninitialized(5)
|
|
119
|
-
|
|
120
|
-
Belt.Array.getExn(arr, 0) == Js.undefined
|
|
121
|
-
```
|
|
122
|
-
*)
|
|
123
|
-
|
|
124
|
-
external makeUninitializedUnsafe: int -> 'a t = "Array" [@@bs.new]
|
|
125
|
-
(**
|
|
126
|
-
**Unsafe**
|
|
127
|
-
|
|
128
|
-
```res example
|
|
129
|
-
let arr = Belt.Array.makeUninitializedUnsafe(5)
|
|
130
|
-
|
|
131
|
-
Js.log(Belt.Array.getExn(arr, 0)) // undefined
|
|
132
|
-
|
|
133
|
-
Belt.Array.setExn(arr, 0, "example")
|
|
134
|
-
|
|
135
|
-
Js.log(Belt.Array.getExn(arr, 0) == "example")
|
|
136
|
-
```
|
|
137
|
-
*)
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
val make: int -> 'a -> 'a t
|
|
141
|
-
(**
|
|
142
|
-
`make(n, e)` return an array of size `n` filled with value `e`.
|
|
143
|
-
Returns an empty array when `n` is negative.
|
|
144
|
-
*)
|
|
145
|
-
|
|
146
|
-
val range: int -> int -> int array
|
|
147
|
-
(**
|
|
148
|
-
`range(start, finish)` create an inclusive array.
|
|
149
|
-
|
|
150
|
-
```res example
|
|
151
|
-
Belt.Array.range(0, 3) == [0, 1, 2, 3]
|
|
152
|
-
|
|
153
|
-
Belt.Array.range(3, 0) == []
|
|
154
|
-
|
|
155
|
-
Belt.Array.range(3, 3) == [3]
|
|
156
|
-
```
|
|
157
|
-
*)
|
|
158
|
-
|
|
159
|
-
val rangeBy: int -> int -> step:int -> int array
|
|
160
|
-
(**
|
|
161
|
-
`rangeBy(start, finish, ~step)`
|
|
162
|
-
|
|
163
|
-
Returns empty array when step is 0 or negative. It also return an empty array when `start > finish`.
|
|
164
|
-
|
|
165
|
-
```res example
|
|
166
|
-
Belt.Array.rangeBy(0, 10, ~step=3) == [0, 3, 6, 9]
|
|
167
|
-
|
|
168
|
-
Belt.Array.rangeBy(0, 12, ~step=3) == [0, 3, 6, 9, 12]
|
|
169
|
-
|
|
170
|
-
Belt.Array.rangeBy(33, 0, ~step=1) == []
|
|
171
|
-
|
|
172
|
-
Belt.Array.rangeBy(33, 0, ~step=-1) == []
|
|
173
|
-
|
|
174
|
-
Belt.Array.rangeBy(3, 12, ~step=-1) == []
|
|
175
|
-
|
|
176
|
-
Belt.Array.rangeBy(3, 3, ~step=0) == []
|
|
177
|
-
|
|
178
|
-
Belt.Array.rangeBy(3, 3, ~step=1) == [3]
|
|
179
|
-
```
|
|
180
|
-
*)
|
|
181
|
-
|
|
182
|
-
val makeByU: int -> (int -> 'a [@bs]) -> 'a t
|
|
183
|
-
val makeBy: int -> (int -> 'a ) -> 'a t
|
|
184
|
-
(**
|
|
185
|
-
`makeBy(n, f)`
|
|
186
|
-
|
|
187
|
-
Return an empty array when n is negative return an array of size n populated by `f(i)` start from `0` to `n - 1`.
|
|
188
|
-
|
|
189
|
-
```res example
|
|
190
|
-
Belt.Array.makeBy(5, (i) => i) == [0, 1, 2, 3, 4]
|
|
191
|
-
|
|
192
|
-
Belt.Array.makeBy(5, (i) => i * i) == [0, 1, 4, 9, 16]
|
|
193
|
-
```
|
|
194
|
-
*)
|
|
195
|
-
|
|
196
|
-
val makeByAndShuffleU: int -> (int -> 'a [@bs]) -> 'a t
|
|
197
|
-
val makeByAndShuffle: int -> (int -> 'a ) -> 'a t
|
|
198
|
-
(**
|
|
199
|
-
Equivalent to `shuffle(makeBy(n, f))`
|
|
200
|
-
*)
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
val zip: 'a t -> 'b array -> ('a * 'b) array
|
|
204
|
-
(**
|
|
205
|
-
`zip(a, b)`
|
|
206
|
-
|
|
207
|
-
Create an array of pairs from corresponding elements of a and b. Stop with the shorter array.
|
|
208
|
-
|
|
209
|
-
```res example
|
|
210
|
-
Belt.Array.zip([1, 2], [3, 4, 5]) == [(1, 3), (2, 4)]
|
|
211
|
-
```
|
|
212
|
-
*)
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
val zipByU: 'a t -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
|
|
216
|
-
val zipBy: 'a t -> 'b array -> ('a -> 'b -> 'c ) -> 'c array
|
|
217
|
-
(**
|
|
218
|
-
`zipBy(xs, ys, f)`
|
|
219
|
-
|
|
220
|
-
Create an array by applying `f` to corresponding elements of `xs` and `ys`. Stops with shorter array.
|
|
221
|
-
|
|
222
|
-
Equivalent to `map(zip(xs, ys), ((a, b)) => f(a, b))`
|
|
223
|
-
|
|
224
|
-
```res example
|
|
225
|
-
Belt.Array.zipBy([1, 2, 3], [4, 5], (a, b) => 2 * a + b) == [6, 9]
|
|
226
|
-
```
|
|
227
|
-
*)
|
|
228
|
-
|
|
229
|
-
val unzip: ('a * 'b) array -> 'a t * 'b array
|
|
230
|
-
(**
|
|
231
|
-
`unzip(a)` takes an array of pairs and creates a pair of arrays. The first array contains all the first items of the pairs; the second array contains all the second items.
|
|
232
|
-
|
|
233
|
-
```res example
|
|
234
|
-
Belt.Array.unzip([(1, 2), (3, 4)]) == ([1, 3], [2, 4])
|
|
235
|
-
|
|
236
|
-
Belt.Array.unzip([(1, 2), (3, 4), (5, 6), (7, 8)]) == ([1, 3, 5, 7], [2, 4, 6, 8])
|
|
237
|
-
```
|
|
238
|
-
*)
|
|
239
|
-
|
|
240
|
-
val concat: 'a t -> 'a t -> 'a t
|
|
241
|
-
(**
|
|
242
|
-
`concat(xs, ys)`
|
|
243
|
-
|
|
244
|
-
Returns a fresh array containing the concatenation of the arrays `v1` and `v2`;so even if `v1` or `v2` is empty; it can not be shared
|
|
245
|
-
|
|
246
|
-
```res example
|
|
247
|
-
Belt.Array.concat([1, 2, 3], [4, 5]) == [1, 2, 3, 4, 5]
|
|
248
|
-
|
|
249
|
-
Belt.Array.concat([], ["a", "b", "c"]) == ["a", "b", "c"]
|
|
250
|
-
```
|
|
251
|
-
*)
|
|
252
|
-
|
|
253
|
-
val concatMany: 'a t array -> 'a t
|
|
254
|
-
(**
|
|
255
|
-
`concatMany(xss)`
|
|
256
|
-
|
|
257
|
-
Returns a fresh array as the concatenation of `xss` (an array of arrays)
|
|
258
|
-
|
|
259
|
-
```res example
|
|
260
|
-
Belt.Array.concatMany([[1, 2, 3], [4, 5, 6], [7, 8]]) == [1, 2, 3, 4, 5, 6, 7, 8]
|
|
261
|
-
```
|
|
262
|
-
*)
|
|
263
|
-
|
|
264
|
-
val slice: 'a t -> offset:int -> len:int -> 'a t
|
|
265
|
-
(**
|
|
266
|
-
`slice(xs, offset, len)` creates a new array with the len elements of `xs`
|
|
267
|
-
starting at `offset` for `offset` can be negative;and is evaluated as
|
|
268
|
-
`length(xs) - offset(slice, xs) - 1(1)` means get the last element as a
|
|
269
|
-
singleton array `slice(xs, ~-len, len)` will return a copy of the array if the
|
|
270
|
-
array does not have enough data; `slice` extracts through the end of sequence.
|
|
271
|
-
|
|
272
|
-
if `len` is negative; returns the empty array.
|
|
273
|
-
|
|
274
|
-
```res example
|
|
275
|
-
Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=2, ~len=3) == [12, 13, 14]
|
|
276
|
-
|
|
277
|
-
Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=-4, ~len=3) == [13, 14, 15]
|
|
278
|
-
|
|
279
|
-
Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=4, ~len=9) == [14, 15, 16]
|
|
280
|
-
```
|
|
281
|
-
*)
|
|
282
|
-
|
|
283
|
-
val sliceToEnd: 'a t -> int -> 'a t
|
|
284
|
-
(**
|
|
285
|
-
`sliceToEnd(xs, offset)` creates a new array with the elements of `xs` starting at `offset`
|
|
286
|
-
|
|
287
|
-
`offset` can be negative; and is evaluated as `length(xs) - offset(sliceToEnd, xs) - 1` means get the last element as a singleton array
|
|
288
|
-
|
|
289
|
-
`sliceToEnd(xs, 0)` will return a copy of the array
|
|
290
|
-
|
|
291
|
-
```res example
|
|
292
|
-
Belt.Array.sliceToEnd([10, 11, 12, 13, 14, 15, 16], 2) == [12, 13, 14, 15, 16]
|
|
293
|
-
|
|
294
|
-
Belt.Array.sliceToEnd([10, 11, 12, 13, 14, 15, 16], -4) == [13, 14, 15, 16]
|
|
295
|
-
```
|
|
296
|
-
*)
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
external copy : 'a t -> (_ [@bs.as 0]) -> 'a t = "slice" [@@bs.send]
|
|
300
|
-
(**
|
|
301
|
-
`copy(a)`
|
|
302
|
-
|
|
303
|
-
Returns a copy of a; that is; a fresh array containing the same elements as a.
|
|
304
|
-
*)
|
|
305
|
-
|
|
306
|
-
val fill: 'a t -> offset:int -> len:int -> 'a -> unit
|
|
307
|
-
(**
|
|
308
|
-
`fill(arr, ~offset, ~len, x)`
|
|
309
|
-
|
|
310
|
-
Modifies `arr` in place, storing `x` in elements number `offset` to `offset + len - 1`.
|
|
311
|
-
`offset` can be negative; and is evaluated as `length(arr - offset)`
|
|
312
|
-
|
|
313
|
-
`fill(arr, ~offset=-1, ~len=1)` means fill the last element, if the array does not have enough data; `fill` will ignore it
|
|
314
|
-
|
|
315
|
-
```res example
|
|
316
|
-
let arr = Belt.Array.makeBy(5, (i) => i)
|
|
317
|
-
|
|
318
|
-
Belt.Array.fill(arr, ~offset=2, ~len=2, 9)
|
|
319
|
-
|
|
320
|
-
arr == [0, 1, 9, 9, 4]
|
|
321
|
-
|
|
322
|
-
Belt.Array.fill(arr, ~offset=7, ~len=2, 8)
|
|
323
|
-
|
|
324
|
-
arr == [0, 1, 9, 9, 4]
|
|
325
|
-
*)
|
|
326
|
-
|
|
327
|
-
val blit:
|
|
328
|
-
src:'a t -> srcOffset:int -> dst:'a t -> dstOffset:int -> len:int -> unit
|
|
329
|
-
(**
|
|
330
|
-
`blit(~src=v1, ~srcOffset=o1, ~dst=v2, ~dstOffset=o2, ~len)`
|
|
331
|
-
|
|
332
|
-
copies `len` elements from array `v1`;starting at element number `o1`;to array `v2`, starting at element number `o2`.
|
|
333
|
-
|
|
334
|
-
It works correctly even if `v1` and `v2` are the same array;and the source and destination chunks overlap.
|
|
335
|
-
|
|
336
|
-
`offset` can be negative; `-1` means `len - 1`; if `len + offset` is still negative;it will be set as 0
|
|
337
|
-
|
|
338
|
-
For each of the examples;presume that `v1 == [10, 11, 12, 13, 14, 15, 16, 17]` and `v2 == [20, 21, 22, 23, 24, 25, 26, 27]`. The result shown is the content of the destination array.
|
|
339
|
-
|
|
340
|
-
```res example
|
|
341
|
-
let v1 = [10, 11, 12, 13, 14, 15, 16, 17]
|
|
342
|
-
let v2 = [20, 21, 22, 23, 24, 25, 26, 27]
|
|
343
|
-
|
|
344
|
-
Belt.Array.blit(~src=v1, ~srcOffset=4, ~dst=v2, ~dstOffset=2, ~len=3)
|
|
345
|
-
v2 == [20, 21, 14, 15, 16, 25, 26, 27]
|
|
346
|
-
|
|
347
|
-
Belt.Array.blit(~src=v1, ~srcOffset=4, ~dst=v1, ~dstOffset=2, ~len=3)
|
|
348
|
-
v1 == [10, 11, 14, 15, 16, 15, 16, 17]
|
|
349
|
-
```
|
|
350
|
-
*)
|
|
351
|
-
|
|
352
|
-
val blitUnsafe:
|
|
353
|
-
src:'a t -> srcOffset:int -> dst:'a t -> dstOffset:int -> len:int -> unit
|
|
354
|
-
(**
|
|
355
|
-
Unsafe blit without bounds checking.
|
|
356
|
-
*)
|
|
357
|
-
|
|
358
|
-
val forEachU: 'a t -> ('a -> unit [@bs]) -> unit
|
|
359
|
-
val forEach: 'a t -> ('a -> unit ) -> unit
|
|
360
|
-
(**
|
|
361
|
-
`forEach(xs, f)`
|
|
362
|
-
|
|
363
|
-
Call `f` on each element of `xs` from the beginning to end. `f` returns `unit`;so no new array is created. Use `forEach` when you are primarily concerned with repetitively creating side effects.
|
|
364
|
-
|
|
365
|
-
```res example
|
|
366
|
-
Belt.Array.forEach(["a", "b", "c"], x => Js.log("Item: " ++ x))
|
|
367
|
-
|
|
368
|
-
/*
|
|
369
|
-
prints:
|
|
370
|
-
Item: a
|
|
371
|
-
Item: b
|
|
372
|
-
Item: c
|
|
373
|
-
*/
|
|
374
|
-
let total = ref(0)
|
|
375
|
-
|
|
376
|
-
Belt.Array.forEach([1, 2, 3, 4], x => total := total.contents + x)
|
|
377
|
-
|
|
378
|
-
total.contents == 1 + 2 + 3 + 4
|
|
379
|
-
```
|
|
380
|
-
*)
|
|
381
|
-
|
|
382
|
-
val mapU: 'a t -> ('a -> 'b [@bs]) -> 'b array
|
|
383
|
-
val map: 'a t -> ('a -> 'b ) -> 'b array
|
|
384
|
-
(**
|
|
385
|
-
`map(xs, f)`
|
|
386
|
-
|
|
387
|
-
Returns a new array by calling `f` for each element of `xs` from the beginning to end.
|
|
388
|
-
|
|
389
|
-
```res example
|
|
390
|
-
Belt.Array.map([1, 2], (x) => x + 1) == [3, 4]
|
|
391
|
-
```
|
|
392
|
-
*)
|
|
393
|
-
|
|
394
|
-
val flatMapU: 'a t -> ('a -> 'b array [@bs]) -> 'b array
|
|
395
|
-
val flatMap: 'a t -> ('a -> 'b array) -> 'b array
|
|
396
|
-
(**
|
|
397
|
-
`flatMap(xs, f)`
|
|
398
|
-
|
|
399
|
-
**Returns** a new array by calling `f` for each element of `xs` from
|
|
400
|
-
the beginning to end, concatenating the results.
|
|
401
|
-
|
|
402
|
-
```res example
|
|
403
|
-
flatMap([1, 2], x => [x + 10, x + 20]) == [11, 21, 12, 22]
|
|
404
|
-
```
|
|
405
|
-
*)
|
|
406
|
-
|
|
407
|
-
val getByU: 'a t -> ('a -> bool [@bs]) -> 'a option
|
|
408
|
-
val getBy: 'a t -> ('a -> bool) -> 'a option
|
|
409
|
-
(**
|
|
410
|
-
`getBy(xs, p)`
|
|
411
|
-
|
|
412
|
-
Returns `Some(value)` for the first value in `xs` that satisifies the predicate function `p`; returns `None` if no element satisifies the function.
|
|
413
|
-
|
|
414
|
-
```res example
|
|
415
|
-
Belt.Array.getBy([1, 4, 3, 2], (x) => mod(x, 2) == 0) == Some(4)
|
|
416
|
-
Belt.Array.getBy([15, 13, 11], (x) => mod(x, 2) == 0) == None
|
|
417
|
-
```
|
|
418
|
-
*)
|
|
419
|
-
|
|
420
|
-
val getIndexByU: 'a t -> ('a -> bool [@bs]) -> int option
|
|
421
|
-
val getIndexBy: 'a t -> ('a -> bool) -> int option
|
|
422
|
-
(**
|
|
423
|
-
`getIndexBy(xs, p)` returns `Some(index)` for the first value in `xs` that satisifies the predicate function `p`;
|
|
424
|
-
returns `None` if no element satisifies the function.
|
|
425
|
-
|
|
426
|
-
```res example
|
|
427
|
-
Belt.Array.getIndexBy([1, 4, 3, 2], (x) => mod(x, 2) == 0) == Some(1)
|
|
428
|
-
Belt.Array.getIndexBy([15, 13, 11], (x) => mod(x, 2) == 0) == None
|
|
429
|
-
```
|
|
430
|
-
*)
|
|
431
|
-
|
|
432
|
-
val keepU: 'a t -> ('a -> bool [@bs]) -> 'a t
|
|
433
|
-
val keep: 'a t -> ('a -> bool ) -> 'a t
|
|
434
|
-
(**
|
|
435
|
-
`keep(xs, p)` returns a new array that keep all elements satisfy `p`.
|
|
436
|
-
*)
|
|
437
|
-
|
|
438
|
-
val keepWithIndexU: 'a t -> ('a -> int -> bool [@bs]) -> 'a t
|
|
439
|
-
val keepWithIndex: 'a t -> ('a -> int -> bool ) -> 'a t
|
|
440
|
-
(**
|
|
441
|
-
`keepWithIndex(xs, p)`
|
|
442
|
-
|
|
443
|
-
Returns a new array that keep all elements satisfy `p`.
|
|
444
|
-
|
|
445
|
-
```res example
|
|
446
|
-
Belt.Array.keepWithIndex([1, 2, 3], (_x, i) => i == 1) == [2]
|
|
447
|
-
```
|
|
448
|
-
*)
|
|
449
|
-
|
|
450
|
-
val keepMapU: 'a t -> ('a -> 'b option [@bs]) -> 'b array
|
|
451
|
-
val keepMap: 'a t -> ('a -> 'b option) -> 'b array
|
|
452
|
-
(**
|
|
453
|
-
`keepMap(xs, p)`
|
|
454
|
-
|
|
455
|
-
Returns a new array that keep all elements that return a non-None applied `p`.
|
|
456
|
-
|
|
457
|
-
```res example
|
|
458
|
-
Belt.Array.keepMap([1, 2, 3], x =>
|
|
459
|
-
if mod(x, 2) == 0 {
|
|
460
|
-
Some(x)
|
|
461
|
-
} else {
|
|
462
|
-
None
|
|
463
|
-
}
|
|
464
|
-
)
|
|
465
|
-
== [2]
|
|
466
|
-
```
|
|
467
|
-
*)
|
|
468
|
-
|
|
469
|
-
val forEachWithIndexU: 'a t -> (int -> 'a -> unit [@bs]) -> unit
|
|
470
|
-
val forEachWithIndex: 'a t -> (int -> 'a -> unit ) -> unit
|
|
471
|
-
(**
|
|
472
|
-
`forEachWithIndex(xs, f)`
|
|
473
|
-
|
|
474
|
-
The same as `Belt.Array.forEach`;
|
|
475
|
-
except that `f` is supplied two arguments: the index starting from 0 and the element from `xs`.
|
|
476
|
-
|
|
477
|
-
```res example
|
|
478
|
-
Belt.Array.forEachWithIndex(["a", "b", "c"], (i, x) => Js.log("Item " ++ Belt.Int.toString(i) ++ " is " ++ x))
|
|
479
|
-
|
|
480
|
-
/*
|
|
481
|
-
prints:
|
|
482
|
-
Item 0 is a
|
|
483
|
-
Item 1 is b
|
|
484
|
-
Item 2 is cc
|
|
485
|
-
*/
|
|
486
|
-
let total = ref(0)
|
|
487
|
-
|
|
488
|
-
Belt.Array.forEachWithIndex([10, 11, 12, 13], (i, x) => total := total.contents + x + i)
|
|
489
|
-
|
|
490
|
-
total.contents == 0 + 10 + 1 + 11 + 2 + 12 + 3 + 13
|
|
491
|
-
```
|
|
492
|
-
*)
|
|
493
|
-
|
|
494
|
-
val mapWithIndexU: 'a t -> (int -> 'a -> 'b [@bs]) -> 'b array
|
|
495
|
-
val mapWithIndex: 'a t -> (int -> 'a -> 'b ) -> 'b array
|
|
496
|
-
(**
|
|
497
|
-
`mapWithIndex(xs, f)`
|
|
498
|
-
|
|
499
|
-
`mapWithIndex(xs, f)` applies `f` to each element of `xs`. Function `f` takes two arguments: the index starting from 0 and the element from `xs`.
|
|
500
|
-
|
|
501
|
-
```res example
|
|
502
|
-
Belt.Array.mapWithIndex([1, 2, 3], (i, x) => i + x) == [0 + 1, 1 + 2, 2 + 3]
|
|
503
|
-
```
|
|
504
|
-
*)
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
val partitionU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
|
|
508
|
-
val partition : 'a t -> ('a -> bool) -> 'a t * 'a t
|
|
509
|
-
(**
|
|
510
|
-
`partition(f, a)` split array into tuple of two arrays based on predicate `f`; first of tuple where predicate cause true, second where predicate cause false
|
|
511
|
-
|
|
512
|
-
```res example
|
|
513
|
-
Belt.Array.partition([1, 2, 3, 4, 5], (x) => mod(x, 2) == 0) == ([2, 4], [1, 3, 5])
|
|
514
|
-
|
|
515
|
-
Belt.Array.partition([1, 2, 3, 4, 5], (x) => mod(x, 2) != 0) == ([1, 3, 5], [2, 4])
|
|
516
|
-
```
|
|
517
|
-
*)
|
|
518
|
-
|
|
519
|
-
val reduceU: 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) ->'a
|
|
520
|
-
val reduce: 'b array -> 'a -> ('a -> 'b -> 'a ) ->'a
|
|
521
|
-
(**
|
|
522
|
-
`reduce(xs, init, f)`
|
|
523
|
-
|
|
524
|
-
Applies `f` to each element of `xs` from beginning to end. Function `f` has two parameters: the item from the list and an “accumulator”; which starts with a value of `init`. `reduce` returns the final value of the accumulator.
|
|
525
|
-
|
|
526
|
-
```res example
|
|
527
|
-
Belt.Array.reduce([2, 3, 4], 1, (a, b) => a + b) == 10
|
|
528
|
-
|
|
529
|
-
Belt.Array.reduce(["a", "b", "c", "d"], "", (a, b) => a ++ b) == "abcd"
|
|
530
|
-
```
|
|
531
|
-
*)
|
|
532
|
-
|
|
533
|
-
val reduceReverseU: 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
|
|
534
|
-
val reduceReverse: 'b array -> 'a -> ('a -> 'b -> 'a ) -> 'a
|
|
535
|
-
(**
|
|
536
|
-
`reduceReverse(xs, init, f)`
|
|
537
|
-
|
|
538
|
-
Works like `Belt_Array.reduce`; except that function `f` is applied to each item of `xs` from the last back to the first.
|
|
539
|
-
|
|
540
|
-
```res example
|
|
541
|
-
Belt.Array.reduceReverse(["a", "b", "c", "d"], "", (a, b) => a ++ b) == "dcba"
|
|
542
|
-
```
|
|
543
|
-
*)
|
|
544
|
-
|
|
545
|
-
val reduceReverse2U:
|
|
546
|
-
'a t -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
|
|
547
|
-
val reduceReverse2:
|
|
548
|
-
'a t -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
|
|
549
|
-
(**
|
|
550
|
-
`reduceReverse2(xs, ys, init, f)`
|
|
551
|
-
|
|
552
|
-
Reduces two arrays xs and ys;taking items starting at `min(length(xs), length(ys))` down to and including zero.
|
|
553
|
-
|
|
554
|
-
```res example
|
|
555
|
-
Belt.Array.reduceReverse2([1, 2, 3], [1, 2], 0, (acc, x, y) => acc + x + y) == 6
|
|
556
|
-
```
|
|
557
|
-
*)
|
|
558
|
-
|
|
559
|
-
val reduceWithIndexU: 'a t -> 'b -> ('b -> 'a -> int -> 'b [@bs]) -> 'b
|
|
560
|
-
val reduceWithIndex: 'a t -> 'b -> ('b -> 'a -> int -> 'b) -> 'b
|
|
561
|
-
(**
|
|
562
|
-
Applies `f` to each element of `xs` from beginning to end. Function `f` has three parameters: the item from the array and an “accumulator”, which starts with a value of `init` and the index of each element. `reduceWithIndex` returns the final value of the accumulator.
|
|
563
|
-
|
|
564
|
-
```res example
|
|
565
|
-
Belt.Array.reduceWithIndex([1, 2, 3, 4], 0, (acc, x, i) => acc + x + i) == 16
|
|
566
|
-
```
|
|
567
|
-
*)
|
|
568
|
-
|
|
569
|
-
val joinWithU: 'a t -> string -> ('a -> string [@bs]) -> string
|
|
570
|
-
val joinWith: 'a t -> string -> ('a -> string) -> string
|
|
571
|
-
(**
|
|
572
|
-
`joinWith(xs, sep, toString)`
|
|
573
|
-
|
|
574
|
-
Concatenates all the elements of `xs` converted to string with `toString`, each separated by `sep`, the string
|
|
575
|
-
given as the second argument, into a single string.
|
|
576
|
-
If the array has only one element, then that element will be returned
|
|
577
|
-
without using the separator.
|
|
578
|
-
If the array is empty, the empty string will be returned.
|
|
579
|
-
|
|
580
|
-
```res example
|
|
581
|
-
joinWith([0, 1], ", ", string_of_int) == "0, 1"
|
|
582
|
-
joinWith([], " ", string_of_int) == ""
|
|
583
|
-
joinWith([1], " ", string_of_int) == "1"
|
|
584
|
-
```
|
|
585
|
-
*)
|
|
586
|
-
|
|
587
|
-
val someU: 'a t -> ('a -> bool [@bs]) -> bool
|
|
588
|
-
val some: 'a t -> ('a -> bool) -> bool
|
|
589
|
-
(**
|
|
590
|
-
`some(xs, p)`
|
|
591
|
-
|
|
592
|
-
Returns true if at least one of the elements in `xs` satifies `p`; where `p` is a predicate: a function taking an element and returning a `bool`.
|
|
593
|
-
|
|
594
|
-
```res example
|
|
595
|
-
Belt.Array.some([2, 3, 4], (x) => mod(x, 2) == 1) == true
|
|
596
|
-
|
|
597
|
-
Belt.Array.some([(-1), (-3), (-5)], (x) => x > 0) == false
|
|
598
|
-
```
|
|
599
|
-
*)
|
|
600
|
-
|
|
601
|
-
val everyU: 'a t -> ('a -> bool [@bs]) -> bool
|
|
602
|
-
val every: 'a t -> ('a -> bool ) -> bool
|
|
603
|
-
(**
|
|
604
|
-
`every(xs, p)`
|
|
605
|
-
|
|
606
|
-
Returns `true` if all elements satisfy `p`; where `p` is a predicate: a function taking an element and returning a `bool`.
|
|
607
|
-
|
|
608
|
-
```res example
|
|
609
|
-
Belt.Array.every([1, 3, 5], (x) => mod(x, 2) == 1) == true
|
|
610
|
-
|
|
611
|
-
Belt.Array.every([1, (-3), 5], (x) => x > 0) == false
|
|
612
|
-
```
|
|
613
|
-
*)
|
|
614
|
-
|
|
615
|
-
val every2U: 'a t -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
|
|
616
|
-
val every2: 'a t -> 'b array -> ('a -> 'b -> bool ) -> bool
|
|
617
|
-
(**
|
|
618
|
-
`every2(xs, ys, p)`
|
|
619
|
-
|
|
620
|
-
returns true if `p(xi, yi)` is true for all pairs of elements up to the shorter length (i.e. `min(length(xs), length(ys))`)
|
|
621
|
-
|
|
622
|
-
```res example
|
|
623
|
-
Belt.Array.every2([1, 2, 3], [0, 1], (a, b) => a > b) == true
|
|
624
|
-
|
|
625
|
-
Belt.Array.every2([], [1], (x, y) => x > y) == true
|
|
626
|
-
|
|
627
|
-
Belt.Array.every2([2, 3], [1], (x, y) => x > y) == true
|
|
628
|
-
|
|
629
|
-
Belt.Array.every2([0, 1], [5, 0], (x, y) => x > y) == false
|
|
630
|
-
```
|
|
631
|
-
*)
|
|
632
|
-
|
|
633
|
-
val some2U: 'a t -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
|
|
634
|
-
val some2: 'a t -> 'b array -> ('a -> 'b -> bool ) -> bool
|
|
635
|
-
(**
|
|
636
|
-
`some2(xs, ys, p)`
|
|
637
|
-
|
|
638
|
-
returns true if `p(xi, yi)` is true for any pair of elements up to the shorter length (i.e. `min(length(xs), length(ys))`)
|
|
639
|
-
|
|
640
|
-
```res example
|
|
641
|
-
Belt.Array.some2([0, 2], [1, 0, 3], (a, b) => a > b) == true
|
|
642
|
-
|
|
643
|
-
Belt.Array.some2([], [1], (x, y) => x > y) == false
|
|
644
|
-
|
|
645
|
-
Belt.Array.some2([2, 3], [1, 4], (x, y) => x > y) == true
|
|
646
|
-
```
|
|
647
|
-
*)
|
|
648
|
-
|
|
649
|
-
val cmpU: 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
|
|
650
|
-
val cmp: 'a t -> 'a t -> ('a -> 'a -> int ) -> int
|
|
651
|
-
(**
|
|
652
|
-
`cmp(xs, ys, f)`
|
|
653
|
-
|
|
654
|
-
Compared by length if `length(xs) != length(ys)`; returning -1 if `length(xs) < length(ys)` or 1 if `length(xs) > length(ys)`
|
|
655
|
-
Otherwise compare one by one `f(x, y)`. `f` returns
|
|
656
|
-
a negative number if `x` is “less than” `y`
|
|
657
|
-
zero if `x` is “equal to” `y`
|
|
658
|
-
a positive number if `x` is “greater than” `y`
|
|
659
|
-
The comparison returns the first non-zero result of `f`;or zero if `f` returns zero for all `x` and `y`.
|
|
660
|
-
|
|
661
|
-
```res example
|
|
662
|
-
Belt.Array.cmp([1, 3, 5], [1, 4, 2], (a, b) => compare(a, b)) == -1
|
|
663
|
-
|
|
664
|
-
Belt.Array.cmp([1, 3, 5], [1, 2, 3], (a, b) => compare(a, b)) == 1
|
|
665
|
-
|
|
666
|
-
Belt.Array.cmp([1, 3, 5], [1, 3, 5], (a, b) => compare(a, b)) == 0
|
|
667
|
-
```
|
|
668
|
-
*)
|
|
669
|
-
|
|
670
|
-
val eqU: 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
|
|
671
|
-
val eq: 'a t -> 'a t -> ('a -> 'a -> bool ) -> bool
|
|
672
|
-
(**
|
|
673
|
-
`eq(xs, ys)`
|
|
674
|
-
|
|
675
|
-
return false if length is not the same
|
|
676
|
-
otherwise compare items one by one using `f(xi, yi)`; and return true if all results are truefalse otherwise
|
|
677
|
-
|
|
678
|
-
```res example
|
|
679
|
-
Belt.Array.eq([1, 2, 3], [(-1), (-2), (-3)], (a, b) => abs(a) == abs(b)) == true
|
|
680
|
-
```
|
|
681
|
-
*)
|
|
682
|
-
|
|
683
|
-
external truncateToLengthUnsafe: 'a t -> int -> unit = "length" [@@bs.set]
|
|
684
|
-
(**
|
|
685
|
-
Unsafe `truncateToLengthUnsafe(xs, n)` sets length of array `xs` to `n`.
|
|
686
|
-
|
|
687
|
-
If `n` is greater than the length of `xs`; the extra elements are set to `Js.Null_undefined.null`.
|
|
688
|
-
|
|
689
|
-
If `n` is less than zero; raises a `RangeError`.
|
|
690
|
-
|
|
691
|
-
```res example
|
|
692
|
-
let arr = ["ant", "bee", "cat", "dog", "elk"]
|
|
693
|
-
|
|
694
|
-
Belt.Array.truncateToLengthUnsafe(arr, 3)
|
|
695
|
-
|
|
696
|
-
arr == ["ant", "bee", "cat"]
|
|
697
|
-
```
|
|
698
|
-
*)
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
val initU : int -> (int -> 'a [@bs]) -> 'a t
|
|
702
|
-
val init : int -> (int -> 'a) -> 'a t
|
|
703
|
-
|
|
704
|
-
(**
|
|
705
|
-
`arr->push(item)` pushes an element `item` into an array `arr`.
|
|
706
|
-
*)
|
|
707
|
-
external push : 'a t -> 'a -> unit = "push" [@@send]
|
package/lib/ocaml/belt_Float.cmi
DELETED
|
Binary file
|
package/lib/ocaml/belt_Float.cmt
DELETED
|
Binary file
|
|
Binary file
|