@tellahq/rescript 10.1.0-alpha.1
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 +1717 -0
- package/COPYING +674 -0
- package/COPYING.LESSER +165 -0
- package/CREDITS.md +59 -0
- package/LICENSE +24 -0
- package/README.md +114 -0
- package/bsc +22 -0
- package/bsrefmt +16 -0
- package/darwin/bsb_helper.exe +0 -0
- package/darwin/bsc.exe +0 -0
- package/darwin/ninja.COPYING +202 -0
- package/darwin/ninja.exe +0 -0
- package/darwin/refmt.exe +0 -0
- package/darwin/rescript.exe +0 -0
- package/darwinarm64/bsb_helper.exe +0 -0
- package/darwinarm64/bsc.exe +0 -0
- package/darwinarm64/ninja.COPYING +202 -0
- package/darwinarm64/ninja.exe +0 -0
- package/darwinarm64/refmt.exe +0 -0
- package/darwinarm64/rescript.exe +0 -0
- package/docs/docson/build-schema.json +557 -0
- package/freebsd/ninja.COPYING +202 -0
- package/jscomp/stubs/ext_basic_hash_stubs.c +216 -0
- package/lib/4.06.1/bsb_helper.ml +2436 -0
- package/lib/4.06.1/bsb_helper.mli +0 -0
- package/lib/4.06.1/refmt_main3.ml +115517 -0
- package/lib/4.06.1/refmt_main3.mli +1 -0
- package/lib/4.06.1/rescript.ml +15500 -0
- package/lib/4.06.1/rescript.mli +0 -0
- package/lib/4.06.1/whole_compiler.ml +306395 -0
- package/lib/4.06.1/whole_compiler.mli +0 -0
- package/lib/bstracing +270 -0
- package/lib/es6/arg.js +717 -0
- package/lib/es6/array.js +511 -0
- package/lib/es6/arrayLabels.js +511 -0
- package/lib/es6/belt.js +57 -0
- package/lib/es6/belt_Array.js +764 -0
- package/lib/es6/belt_Float.js +16 -0
- package/lib/es6/belt_HashMap.js +280 -0
- package/lib/es6/belt_HashMapInt.js +264 -0
- package/lib/es6/belt_HashMapString.js +264 -0
- package/lib/es6/belt_HashSet.js +222 -0
- package/lib/es6/belt_HashSetInt.js +207 -0
- package/lib/es6/belt_HashSetString.js +207 -0
- package/lib/es6/belt_Id.js +71 -0
- package/lib/es6/belt_Int.js +16 -0
- package/lib/es6/belt_List.js +1512 -0
- package/lib/es6/belt_Map.js +376 -0
- package/lib/es6/belt_MapDict.js +417 -0
- package/lib/es6/belt_MapInt.js +307 -0
- package/lib/es6/belt_MapString.js +307 -0
- package/lib/es6/belt_MutableMap.js +395 -0
- package/lib/es6/belt_MutableMapInt.js +362 -0
- package/lib/es6/belt_MutableMapString.js +362 -0
- package/lib/es6/belt_MutableQueue.js +299 -0
- package/lib/es6/belt_MutableSet.js +538 -0
- package/lib/es6/belt_MutableSetInt.js +501 -0
- package/lib/es6/belt_MutableSetString.js +501 -0
- package/lib/es6/belt_MutableStack.js +137 -0
- package/lib/es6/belt_Option.js +151 -0
- package/lib/es6/belt_Range.js +109 -0
- package/lib/es6/belt_Result.js +136 -0
- package/lib/es6/belt_Set.js +314 -0
- package/lib/es6/belt_SetDict.js +362 -0
- package/lib/es6/belt_SetInt.js +359 -0
- package/lib/es6/belt_SetString.js +359 -0
- package/lib/es6/belt_SortArray.js +427 -0
- package/lib/es6/belt_SortArrayInt.js +374 -0
- package/lib/es6/belt_SortArrayString.js +374 -0
- package/lib/es6/belt_internalAVLset.js +940 -0
- package/lib/es6/belt_internalAVLtree.js +1146 -0
- package/lib/es6/belt_internalBuckets.js +287 -0
- package/lib/es6/belt_internalBucketsType.js +49 -0
- package/lib/es6/belt_internalMapInt.js +365 -0
- package/lib/es6/belt_internalMapString.js +365 -0
- package/lib/es6/belt_internalSetBuckets.js +191 -0
- package/lib/es6/belt_internalSetInt.js +209 -0
- package/lib/es6/belt_internalSetString.js +209 -0
- package/lib/es6/buffer.js +477 -0
- package/lib/es6/bytes.js +704 -0
- package/lib/es6/bytesLabels.js +704 -0
- package/lib/es6/callback.js +16 -0
- package/lib/es6/caml.js +196 -0
- package/lib/es6/caml_array.js +122 -0
- package/lib/es6/caml_array_extern.js +1 -0
- package/lib/es6/caml_bytes.js +122 -0
- package/lib/es6/caml_exceptions.js +31 -0
- package/lib/es6/caml_external_polyfill.js +32 -0
- package/lib/es6/caml_float.js +129 -0
- package/lib/es6/caml_float_extern.js +1 -0
- package/lib/es6/caml_format.js +818 -0
- package/lib/es6/caml_hash.js +101 -0
- package/lib/es6/caml_hash_primitive.js +51 -0
- package/lib/es6/caml_int32.js +28 -0
- package/lib/es6/caml_int64.js +606 -0
- package/lib/es6/caml_int64_extern.js +1 -0
- package/lib/es6/caml_js_exceptions.js +31 -0
- package/lib/es6/caml_lexer.js +258 -0
- package/lib/es6/caml_md5.js +168 -0
- package/lib/es6/caml_module.js +117 -0
- package/lib/es6/caml_nativeint_extern.js +1 -0
- package/lib/es6/caml_obj.js +413 -0
- package/lib/es6/caml_option.js +86 -0
- package/lib/es6/caml_parser.js +303 -0
- package/lib/es6/caml_splice_call.js +52 -0
- package/lib/es6/caml_string.js +23 -0
- package/lib/es6/caml_string_extern.js +1 -0
- package/lib/es6/caml_sys.js +99 -0
- package/lib/es6/caml_undefined_extern.js +1 -0
- package/lib/es6/camlinternalLazy.js +59 -0
- package/lib/es6/camlinternalMod.js +1 -0
- package/lib/es6/char.js +126 -0
- package/lib/es6/complex.js +176 -0
- package/lib/es6/curry.js +526 -0
- package/lib/es6/digest.js +118 -0
- package/lib/es6/dom.js +12 -0
- package/lib/es6/dom_storage.js +27 -0
- package/lib/es6/dom_storage2.js +1 -0
- package/lib/es6/filename.js +496 -0
- package/lib/es6/genlex.js +666 -0
- package/lib/es6/hashtbl.js +1115 -0
- package/lib/es6/hashtblLabels.js +170 -0
- package/lib/es6/int32.js +75 -0
- package/lib/es6/int64.js +70 -0
- package/lib/es6/js.js +111 -0
- package/lib/es6/js_OO.js +15 -0
- package/lib/es6/js_array.js +223 -0
- package/lib/es6/js_array2.js +1 -0
- package/lib/es6/js_bigint.js +1 -0
- package/lib/es6/js_cast.js +1 -0
- package/lib/es6/js_console.js +1 -0
- package/lib/es6/js_date.js +1 -0
- package/lib/es6/js_dict.js +85 -0
- package/lib/es6/js_exn.js +44 -0
- package/lib/es6/js_float.js +1 -0
- package/lib/es6/js_global.js +1 -0
- package/lib/es6/js_int.js +17 -0
- package/lib/es6/js_json.js +172 -0
- package/lib/es6/js_list.js +333 -0
- package/lib/es6/js_map.js +1 -0
- package/lib/es6/js_mapperRt.js +54 -0
- package/lib/es6/js_math.js +50 -0
- package/lib/es6/js_null.js +49 -0
- package/lib/es6/js_null_undefined.js +35 -0
- package/lib/es6/js_obj.js +1 -0
- package/lib/es6/js_option.js +104 -0
- package/lib/es6/js_promise.js +17 -0
- package/lib/es6/js_re.js +1 -0
- package/lib/es6/js_result.js +1 -0
- package/lib/es6/js_set.js +1 -0
- package/lib/es6/js_string.js +199 -0
- package/lib/es6/js_string2.js +1 -0
- package/lib/es6/js_typed_array.js +1733 -0
- package/lib/es6/js_typed_array2.js +39 -0
- package/lib/es6/js_types.js +77 -0
- package/lib/es6/js_undefined.js +52 -0
- package/lib/es6/js_vector.js +134 -0
- package/lib/es6/js_weakmap.js +1 -0
- package/lib/es6/js_weakset.js +1 -0
- package/lib/es6/jsx.js +1 -0
- package/lib/es6/jsxDOM.js +1 -0
- package/lib/es6/jsxDOMStyle.js +1 -0
- package/lib/es6/jsxEvent.js +59 -0
- package/lib/es6/lazy.js +44 -0
- package/lib/es6/lexing.js +217 -0
- package/lib/es6/list.js +1713 -0
- package/lib/es6/listLabels.js +1713 -0
- package/lib/es6/map.js +936 -0
- package/lib/es6/mapLabels.js +951 -0
- package/lib/es6/moreLabels.js +1931 -0
- package/lib/es6/node.js +39 -0
- package/lib/es6/node_buffer.js +1 -0
- package/lib/es6/node_child_process.js +1 -0
- package/lib/es6/node_fs.js +9 -0
- package/lib/es6/node_module.js +1 -0
- package/lib/es6/node_path.js +1 -0
- package/lib/es6/node_process.js +18 -0
- package/lib/es6/obj.js +11 -0
- package/lib/es6/package.json +1 -0
- package/lib/es6/parsing.js +237 -0
- package/lib/es6/pervasives.js +250 -0
- package/lib/es6/printexc.js +102 -0
- package/lib/es6/queue.js +181 -0
- package/lib/es6/random.js +280 -0
- package/lib/es6/set.js +955 -0
- package/lib/es6/setLabels.js +988 -0
- package/lib/es6/sort.js +168 -0
- package/lib/es6/stack.js +88 -0
- package/lib/es6/stdLabels.js +18 -0
- package/lib/es6/stream.js +496 -0
- package/lib/es6/string.js +337 -0
- package/lib/es6/stringLabels.js +337 -0
- package/lib/es6/sys.js +182 -0
- package/lib/es6/uchar.js +133 -0
- package/lib/js/arg.js +715 -0
- package/lib/js/array.js +509 -0
- package/lib/js/arrayLabels.js +509 -0
- package/lib/js/belt.js +55 -0
- package/lib/js/belt_Array.js +762 -0
- package/lib/js/belt_Float.js +14 -0
- package/lib/js/belt_HashMap.js +278 -0
- package/lib/js/belt_HashMapInt.js +262 -0
- package/lib/js/belt_HashMapString.js +262 -0
- package/lib/js/belt_HashSet.js +220 -0
- package/lib/js/belt_HashSetInt.js +205 -0
- package/lib/js/belt_HashSetString.js +205 -0
- package/lib/js/belt_Id.js +69 -0
- package/lib/js/belt_Int.js +14 -0
- package/lib/js/belt_List.js +1510 -0
- package/lib/js/belt_Map.js +374 -0
- package/lib/js/belt_MapDict.js +415 -0
- package/lib/js/belt_MapInt.js +305 -0
- package/lib/js/belt_MapString.js +305 -0
- package/lib/js/belt_MutableMap.js +393 -0
- package/lib/js/belt_MutableMapInt.js +360 -0
- package/lib/js/belt_MutableMapString.js +360 -0
- package/lib/js/belt_MutableQueue.js +297 -0
- package/lib/js/belt_MutableSet.js +536 -0
- package/lib/js/belt_MutableSetInt.js +499 -0
- package/lib/js/belt_MutableSetString.js +499 -0
- package/lib/js/belt_MutableStack.js +135 -0
- package/lib/js/belt_Option.js +149 -0
- package/lib/js/belt_Range.js +107 -0
- package/lib/js/belt_Result.js +134 -0
- package/lib/js/belt_Set.js +312 -0
- package/lib/js/belt_SetDict.js +360 -0
- package/lib/js/belt_SetInt.js +357 -0
- package/lib/js/belt_SetString.js +357 -0
- package/lib/js/belt_SortArray.js +425 -0
- package/lib/js/belt_SortArrayInt.js +372 -0
- package/lib/js/belt_SortArrayString.js +372 -0
- package/lib/js/belt_internalAVLset.js +938 -0
- package/lib/js/belt_internalAVLtree.js +1144 -0
- package/lib/js/belt_internalBuckets.js +285 -0
- package/lib/js/belt_internalBucketsType.js +47 -0
- package/lib/js/belt_internalMapInt.js +363 -0
- package/lib/js/belt_internalMapString.js +363 -0
- package/lib/js/belt_internalSetBuckets.js +189 -0
- package/lib/js/belt_internalSetInt.js +207 -0
- package/lib/js/belt_internalSetString.js +207 -0
- package/lib/js/buffer.js +475 -0
- package/lib/js/bytes.js +702 -0
- package/lib/js/bytesLabels.js +702 -0
- package/lib/js/callback.js +14 -0
- package/lib/js/caml.js +194 -0
- package/lib/js/caml_array.js +120 -0
- package/lib/js/caml_array_extern.js +1 -0
- package/lib/js/caml_bytes.js +120 -0
- package/lib/js/caml_exceptions.js +29 -0
- package/lib/js/caml_external_polyfill.js +30 -0
- package/lib/js/caml_float.js +127 -0
- package/lib/js/caml_float_extern.js +1 -0
- package/lib/js/caml_format.js +816 -0
- package/lib/js/caml_hash.js +99 -0
- package/lib/js/caml_hash_primitive.js +49 -0
- package/lib/js/caml_int32.js +26 -0
- package/lib/js/caml_int64.js +604 -0
- package/lib/js/caml_int64_extern.js +1 -0
- package/lib/js/caml_js_exceptions.js +29 -0
- package/lib/js/caml_lexer.js +256 -0
- package/lib/js/caml_md5.js +166 -0
- package/lib/js/caml_module.js +115 -0
- package/lib/js/caml_nativeint_extern.js +1 -0
- package/lib/js/caml_obj.js +411 -0
- package/lib/js/caml_option.js +84 -0
- package/lib/js/caml_parser.js +301 -0
- package/lib/js/caml_splice_call.js +50 -0
- package/lib/js/caml_string.js +21 -0
- package/lib/js/caml_string_extern.js +1 -0
- package/lib/js/caml_sys.js +97 -0
- package/lib/js/caml_undefined_extern.js +1 -0
- package/lib/js/camlinternalLazy.js +57 -0
- package/lib/js/camlinternalMod.js +1 -0
- package/lib/js/char.js +124 -0
- package/lib/js/complex.js +174 -0
- package/lib/js/curry.js +524 -0
- package/lib/js/digest.js +116 -0
- package/lib/js/dom.js +10 -0
- package/lib/js/dom_storage.js +25 -0
- package/lib/js/dom_storage2.js +1 -0
- package/lib/js/filename.js +494 -0
- package/lib/js/genlex.js +664 -0
- package/lib/js/hashtbl.js +1113 -0
- package/lib/js/hashtblLabels.js +168 -0
- package/lib/js/int32.js +73 -0
- package/lib/js/int64.js +68 -0
- package/lib/js/js.js +109 -0
- package/lib/js/js_OO.js +13 -0
- package/lib/js/js_array.js +221 -0
- package/lib/js/js_array2.js +1 -0
- package/lib/js/js_bigint.js +1 -0
- package/lib/js/js_cast.js +1 -0
- package/lib/js/js_console.js +1 -0
- package/lib/js/js_date.js +1 -0
- package/lib/js/js_dict.js +83 -0
- package/lib/js/js_exn.js +42 -0
- package/lib/js/js_float.js +1 -0
- package/lib/js/js_global.js +1 -0
- package/lib/js/js_int.js +15 -0
- package/lib/js/js_json.js +170 -0
- package/lib/js/js_list.js +331 -0
- package/lib/js/js_map.js +1 -0
- package/lib/js/js_mapperRt.js +52 -0
- package/lib/js/js_math.js +48 -0
- package/lib/js/js_null.js +47 -0
- package/lib/js/js_null_undefined.js +33 -0
- package/lib/js/js_obj.js +1 -0
- package/lib/js/js_option.js +103 -0
- package/lib/js/js_promise.js +15 -0
- package/lib/js/js_re.js +1 -0
- package/lib/js/js_result.js +1 -0
- package/lib/js/js_set.js +1 -0
- package/lib/js/js_string.js +197 -0
- package/lib/js/js_string2.js +1 -0
- package/lib/js/js_typed_array.js +1731 -0
- package/lib/js/js_typed_array2.js +37 -0
- package/lib/js/js_types.js +75 -0
- package/lib/js/js_undefined.js +50 -0
- package/lib/js/js_vector.js +132 -0
- package/lib/js/js_weakmap.js +1 -0
- package/lib/js/js_weakset.js +1 -0
- package/lib/js/jsx.js +1 -0
- package/lib/js/jsxDOM.js +1 -0
- package/lib/js/jsxDOMStyle.js +1 -0
- package/lib/js/jsxEvent.js +57 -0
- package/lib/js/lazy.js +42 -0
- package/lib/js/lexing.js +215 -0
- package/lib/js/list.js +1711 -0
- package/lib/js/listLabels.js +1711 -0
- package/lib/js/map.js +934 -0
- package/lib/js/mapLabels.js +949 -0
- package/lib/js/moreLabels.js +1929 -0
- package/lib/js/node.js +37 -0
- package/lib/js/node_buffer.js +1 -0
- package/lib/js/node_child_process.js +1 -0
- package/lib/js/node_fs.js +7 -0
- package/lib/js/node_module.js +1 -0
- package/lib/js/node_path.js +1 -0
- package/lib/js/node_process.js +16 -0
- package/lib/js/obj.js +9 -0
- package/lib/js/parsing.js +235 -0
- package/lib/js/pervasives.js +248 -0
- package/lib/js/printexc.js +100 -0
- package/lib/js/queue.js +179 -0
- package/lib/js/random.js +278 -0
- package/lib/js/set.js +953 -0
- package/lib/js/setLabels.js +986 -0
- package/lib/js/sort.js +166 -0
- package/lib/js/stack.js +86 -0
- package/lib/js/stdLabels.js +16 -0
- package/lib/js/stream.js +494 -0
- package/lib/js/string.js +335 -0
- package/lib/js/stringLabels.js +335 -0
- package/lib/js/sys.js +180 -0
- package/lib/js/uchar.js +131 -0
- package/lib/minisocket.js +93 -0
- 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 +359 -0
- package/lib/ocaml/arg.mli +185 -0
- 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 +307 -0
- package/lib/ocaml/array.mli +275 -0
- 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 +307 -0
- package/lib/ocaml/arrayLabels.mli +276 -0
- package/lib/ocaml/belt.cmi +0 -0
- package/lib/ocaml/belt.cmt +0 -0
- package/lib/ocaml/belt.ml +352 -0
- 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 +525 -0
- package/lib/ocaml/belt_Array.mli +707 -0
- 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 +50 -0
- package/lib/ocaml/belt_Float.mli +106 -0
- 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 +226 -0
- package/lib/ocaml/belt_HashMap.mli +436 -0
- 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 +206 -0
- package/lib/ocaml/belt_HashMapInt.mli +50 -0
- 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 +206 -0
- package/lib/ocaml/belt_HashMapString.mli +50 -0
- 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 +196 -0
- package/lib/ocaml/belt_HashSet.mli +125 -0
- 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 +155 -0
- package/lib/ocaml/belt_HashSetInt.mli +74 -0
- 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 +156 -0
- package/lib/ocaml/belt_HashSetString.mli +74 -0
- 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 +133 -0
- package/lib/ocaml/belt_Id.mli +171 -0
- 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 +50 -0
- package/lib/ocaml/belt_Int.mli +103 -0
- 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 +803 -0
- package/lib/ocaml/belt_List.mli +844 -0
- 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 +170 -0
- package/lib/ocaml/belt_Map.mli +496 -0
- 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 +278 -0
- package/lib/ocaml/belt_MapDict.mli +268 -0
- 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 +169 -0
- package/lib/ocaml/belt_MapInt.mli +187 -0
- 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 +169 -0
- package/lib/ocaml/belt_MapString.mli +187 -0
- 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 +241 -0
- package/lib/ocaml/belt_MutableMap.mli +145 -0
- 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 +172 -0
- package/lib/ocaml/belt_MutableMapInt.mli +135 -0
- 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 +172 -0
- package/lib/ocaml/belt_MutableMapString.mli +135 -0
- 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 +222 -0
- package/lib/ocaml/belt_MutableQueue.mli +116 -0
- 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 +371 -0
- package/lib/ocaml/belt_MutableSet.mli +617 -0
- 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 +342 -0
- package/lib/ocaml/belt_MutableSetInt.mli +124 -0
- 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 +342 -0
- package/lib/ocaml/belt_MutableSetString.mli +124 -0
- 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 +106 -0
- package/lib/ocaml/belt_MutableStack.mli +63 -0
- 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 +93 -0
- package/lib/ocaml/belt_Option.mli +270 -0
- 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 +76 -0
- package/lib/ocaml/belt_Range.mli +114 -0
- 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 +75 -0
- package/lib/ocaml/belt_Result.mli +205 -0
- 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 +205 -0
- package/lib/ocaml/belt_Set.cppo.mli +153 -0
- package/lib/ocaml/belt_Set.ml +164 -0
- package/lib/ocaml/belt_Set.mli +523 -0
- 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 +237 -0
- package/lib/ocaml/belt_SetDict.mli +567 -0
- 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 +201 -0
- package/lib/ocaml/belt_SetInt.mli +151 -0
- 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 +201 -0
- package/lib/ocaml/belt_SetString.mli +151 -0
- 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 +322 -0
- package/lib/ocaml/belt_SortArray.mli +146 -0
- 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 +263 -0
- package/lib/ocaml/belt_SortArrayInt.mli +93 -0
- 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 +263 -0
- package/lib/ocaml/belt_SortArrayString.mli +93 -0
- package/lib/ocaml/belt_internalAVLset.cmt +0 -0
- package/lib/ocaml/belt_internalAVLset.cmti +0 -0
- package/lib/ocaml/belt_internalAVLset.ml +665 -0
- package/lib/ocaml/belt_internalAVLset.mli +124 -0
- package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
- package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
- package/lib/ocaml/belt_internalAVLtree.ml +762 -0
- package/lib/ocaml/belt_internalAVLtree.mli +215 -0
- package/lib/ocaml/belt_internalBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalBuckets.ml +218 -0
- package/lib/ocaml/belt_internalBuckets.mli +57 -0
- package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
- package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
- package/lib/ocaml/belt_internalBucketsType.ml +59 -0
- package/lib/ocaml/belt_internalBucketsType.mli +46 -0
- package/lib/ocaml/belt_internalMapInt.cmt +0 -0
- package/lib/ocaml/belt_internalMapInt.ml +227 -0
- package/lib/ocaml/belt_internalMapString.cmt +0 -0
- package/lib/ocaml/belt_internalMapString.ml +227 -0
- package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalSetBuckets.ml +157 -0
- package/lib/ocaml/belt_internalSetBuckets.mli +47 -0
- package/lib/ocaml/belt_internalSetInt.cmt +0 -0
- package/lib/ocaml/belt_internalSetInt.ml +129 -0
- package/lib/ocaml/belt_internalSetString.cmt +0 -0
- package/lib/ocaml/belt_internalSetString.ml +129 -0
- package/lib/ocaml/belt_internals.cmti +0 -0
- package/lib/ocaml/belt_internals.mli +79 -0
- 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 +250 -0
- package/lib/ocaml/buffer.mli +149 -0
- 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 +431 -0
- package/lib/ocaml/bytes.mli +430 -0
- 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 +428 -0
- package/lib/ocaml/bytesLabels.mli +276 -0
- 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 +20 -0
- package/lib/ocaml/callback.mli +34 -0
- 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 +89 -0
- package/lib/ocaml/camlinternalLazy.mli +27 -0
- 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 +21 -0
- package/lib/ocaml/camlinternalMod.mli +25 -0
- 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 +76 -0
- package/lib/ocaml/char.mli +72 -0
- 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 +87 -0
- package/lib/ocaml/complex.mli +86 -0
- 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 +66 -0
- package/lib/ocaml/digest.mli +68 -0
- package/lib/ocaml/dom.cmi +0 -0
- package/lib/ocaml/dom.cmt +0 -0
- package/lib/ocaml/dom.ml +296 -0
- package/lib/ocaml/dom_storage.cmi +0 -0
- package/lib/ocaml/dom_storage.cmt +0 -0
- package/lib/ocaml/dom_storage.ml +22 -0
- package/lib/ocaml/dom_storage2.cmi +0 -0
- package/lib/ocaml/dom_storage2.cmt +0 -0
- package/lib/ocaml/dom_storage2.ml +11 -0
- 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 +233 -0
- package/lib/ocaml/filename.mli +134 -0
- 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 +201 -0
- package/lib/ocaml/genlex.mli +73 -0
- package/lib/ocaml/hashmap.cppo.ml +214 -0
- package/lib/ocaml/hashmap.cppo.mli +54 -0
- package/lib/ocaml/hashset.cppo.ml +165 -0
- package/lib/ocaml/hashset.cppo.mli +77 -0
- 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 +541 -0
- package/lib/ocaml/hashtbl.mli +411 -0
- package/lib/ocaml/hashtblLabels.cmi +0 -0
- package/lib/ocaml/hashtblLabels.cmt +0 -0
- package/lib/ocaml/hashtblLabels.ml +130 -0
- 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 +64 -0
- package/lib/ocaml/int32.mli +186 -0
- 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 +72 -0
- package/lib/ocaml/int64.mli +197 -0
- package/lib/ocaml/internal_map.cppo.ml +230 -0
- package/lib/ocaml/internal_set.cppo.ml +134 -0
- package/lib/ocaml/js.cmi +0 -0
- package/lib/ocaml/js.cmt +0 -0
- package/lib/ocaml/js.ml +313 -0
- package/lib/ocaml/js_OO.cmi +0 -0
- package/lib/ocaml/js_OO.cmt +0 -0
- package/lib/ocaml/js_OO.ml +180 -0
- package/lib/ocaml/js_array.cmi +0 -0
- package/lib/ocaml/js_array.cmt +0 -0
- package/lib/ocaml/js_array.ml +970 -0
- package/lib/ocaml/js_array2.cmi +0 -0
- package/lib/ocaml/js_array2.cmt +0 -0
- package/lib/ocaml/js_array2.ml +1065 -0
- package/lib/ocaml/js_bigint.cmi +0 -0
- package/lib/ocaml/js_bigint.cmt +0 -0
- package/lib/ocaml/js_bigint.ml +3 -0
- 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 +29 -0
- package/lib/ocaml/js_cast.mli +45 -0
- package/lib/ocaml/js_console.cmi +0 -0
- package/lib/ocaml/js_console.cmt +0 -0
- package/lib/ocaml/js_console.ml +51 -0
- package/lib/ocaml/js_date.cmi +0 -0
- package/lib/ocaml/js_date.cmt +0 -0
- package/lib/ocaml/js_date.ml +1263 -0
- 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 +114 -0
- package/lib/ocaml/js_dict.mli +152 -0
- 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 +102 -0
- package/lib/ocaml/js_exn.mli +79 -0
- package/lib/ocaml/js_float.cmi +0 -0
- package/lib/ocaml/js_float.cmt +0 -0
- package/lib/ocaml/js_float.ml +294 -0
- package/lib/ocaml/js_global.cmi +0 -0
- package/lib/ocaml/js_global.cmt +0 -0
- package/lib/ocaml/js_global.ml +185 -0
- package/lib/ocaml/js_int.cmi +0 -0
- package/lib/ocaml/js_int.cmt +0 -0
- package/lib/ocaml/js_int.ml +158 -0
- 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 +195 -0
- package/lib/ocaml/js_json.mli +244 -0
- 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 +174 -0
- package/lib/ocaml/js_list.mli +72 -0
- package/lib/ocaml/js_map.cmi +0 -0
- package/lib/ocaml/js_map.cmt +0 -0
- package/lib/ocaml/js_map.ml +3 -0
- 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 +50 -0
- package/lib/ocaml/js_mapperRt.mli +44 -0
- package/lib/ocaml/js_math.cmi +0 -0
- package/lib/ocaml/js_math.cmt +0 -0
- package/lib/ocaml/js_math.ml +626 -0
- 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 +57 -0
- package/lib/ocaml/js_null.mli +87 -0
- 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 +50 -0
- package/lib/ocaml/js_null_undefined.mli +85 -0
- package/lib/ocaml/js_obj.cmi +0 -0
- package/lib/ocaml/js_obj.cmt +0 -0
- package/lib/ocaml/js_obj.ml +100 -0
- 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 +203 -0
- package/lib/ocaml/js_option.mli +52 -0
- package/lib/ocaml/js_promise.cmi +0 -0
- package/lib/ocaml/js_promise.cmt +0 -0
- package/lib/ocaml/js_promise.ml +100 -0
- package/lib/ocaml/js_re.cmi +0 -0
- package/lib/ocaml/js_re.cmt +0 -0
- package/lib/ocaml/js_re.ml +184 -0
- 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 +28 -0
- package/lib/ocaml/js_result.mli +28 -0
- package/lib/ocaml/js_set.cmi +0 -0
- package/lib/ocaml/js_set.cmt +0 -0
- package/lib/ocaml/js_set.ml +3 -0
- package/lib/ocaml/js_string.cmi +0 -0
- package/lib/ocaml/js_string.cmt +0 -0
- package/lib/ocaml/js_string.ml +914 -0
- package/lib/ocaml/js_string2.cmi +0 -0
- package/lib/ocaml/js_string2.cmt +0 -0
- package/lib/ocaml/js_string2.ml +912 -0
- 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 +429 -0
- package/lib/ocaml/js_typed_array.ml +1405 -0
- 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 +296 -0
- package/lib/ocaml/js_typed_array2.ml +1269 -0
- 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 +118 -0
- package/lib/ocaml/js_types.mli +78 -0
- 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 +59 -0
- package/lib/ocaml/js_undefined.mli +92 -0
- 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 +143 -0
- package/lib/ocaml/js_vector.mli +92 -0
- package/lib/ocaml/js_weakmap.cmi +0 -0
- package/lib/ocaml/js_weakmap.cmt +0 -0
- package/lib/ocaml/js_weakmap.ml +3 -0
- package/lib/ocaml/js_weakset.cmi +0 -0
- package/lib/ocaml/js_weakset.cmt +0 -0
- package/lib/ocaml/js_weakset.ml +3 -0
- package/lib/ocaml/jsx.cmi +0 -0
- package/lib/ocaml/jsx.cmt +0 -0
- package/lib/ocaml/jsx.ml +39 -0
- package/lib/ocaml/jsxDOM.cmi +0 -0
- package/lib/ocaml/jsxDOM.cmt +0 -0
- package/lib/ocaml/jsxDOM.ml +2087 -0
- package/lib/ocaml/jsxDOMStyle.cmi +0 -0
- package/lib/ocaml/jsxDOMStyle.cmt +0 -0
- package/lib/ocaml/jsxDOMStyle.ml +777 -0
- package/lib/ocaml/jsxEvent.cmi +0 -0
- package/lib/ocaml/jsxEvent.cmt +0 -0
- package/lib/ocaml/jsxEvent.ml +358 -0
- 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 +70 -0
- package/lib/ocaml/lazy.mli +95 -0
- 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 +230 -0
- package/lib/ocaml/lexing.mli +172 -0
- 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 +485 -0
- package/lib/ocaml/list.mli +347 -0
- 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 +485 -0
- package/lib/ocaml/listLabels.mli +353 -0
- 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 +174 -0
- package/lib/ocaml/map.cppo.mli +191 -0
- package/lib/ocaml/map.ml +480 -0
- package/lib/ocaml/map.mli +315 -0
- package/lib/ocaml/mapLabels.cmi +0 -0
- package/lib/ocaml/mapLabels.cmt +0 -0
- package/lib/ocaml/mapLabels.ml +480 -0
- package/lib/ocaml/mapm.cppo.ml +177 -0
- package/lib/ocaml/mapm.cppo.mli +138 -0
- 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 +22 -0
- package/lib/ocaml/moreLabels.mli +198 -0
- package/lib/ocaml/node.cmi +0 -0
- package/lib/ocaml/node.cmt +0 -0
- package/lib/ocaml/node.ml +84 -0
- package/lib/ocaml/node_buffer.cmi +0 -0
- package/lib/ocaml/node_buffer.cmt +0 -0
- package/lib/ocaml/node_buffer.ml +47 -0
- 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 +50 -0
- package/lib/ocaml/node_fs.cmi +0 -0
- package/lib/ocaml/node_fs.cmt +0 -0
- package/lib/ocaml/node_fs.ml +153 -0
- package/lib/ocaml/node_module.cmi +0 -0
- package/lib/ocaml/node_module.cmt +0 -0
- package/lib/ocaml/node_module.ml +29 -0
- package/lib/ocaml/node_path.cmi +0 -0
- package/lib/ocaml/node_path.cmt +0 -0
- package/lib/ocaml/node_path.ml +71 -0
- 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 +59 -0
- package/lib/ocaml/node_process.mli +48 -0
- 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 +29 -0
- package/lib/ocaml/obj.mli +62 -0
- 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 +212 -0
- package/lib/ocaml/parsing.mli +105 -0
- 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 +297 -0
- package/lib/ocaml/pervasives.mli +771 -0
- 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 +79 -0
- package/lib/ocaml/printexc.mli +57 -0
- 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 +132 -0
- package/lib/ocaml/queue.mli +82 -0
- 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 +273 -0
- package/lib/ocaml/random.mli +102 -0
- 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 +526 -0
- package/lib/ocaml/set.mli +266 -0
- package/lib/ocaml/setLabels.cmi +0 -0
- package/lib/ocaml/setLabels.cmt +0 -0
- package/lib/ocaml/setLabels.ml +526 -0
- package/lib/ocaml/setm.cppo.ml +346 -0
- package/lib/ocaml/setm.cppo.mli +126 -0
- 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 +267 -0
- package/lib/ocaml/sort.cppo.mli +96 -0
- package/lib/ocaml/sort.ml +99 -0
- package/lib/ocaml/sort.mli +44 -0
- 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 +44 -0
- package/lib/ocaml/stack.mli +63 -0
- 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 +24 -0
- package/lib/ocaml/stdLabels.mli +29 -0
- 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 +213 -0
- package/lib/ocaml/stream.mli +108 -0
- 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 +190 -0
- package/lib/ocaml/string.mli +286 -0
- 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 +190 -0
- package/lib/ocaml/stringLabels.mli +241 -0
- 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 +135 -0
- package/lib/ocaml/sys.mli +333 -0
- 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 +58 -0
- package/lib/ocaml/uchar.mli +98 -0
- package/linux/bsb_helper.exe +0 -0
- package/linux/bsc.exe +0 -0
- package/linux/ninja.COPYING +202 -0
- package/linux/ninja.exe +0 -0
- package/linux/refmt.exe +0 -0
- package/linux/rescript.exe +0 -0
- package/openbsd/.keep +0 -0
- package/package.json +71 -0
- package/rescript +591 -0
- package/scripts/LICENSE.ml +27 -0
- package/scripts/bin_path.js +38 -0
- package/scripts/buckle_lto.js +55 -0
- package/scripts/build_sorted.ml +233 -0
- package/scripts/buildocaml.js +102 -0
- package/scripts/caml_oo_curry_gen.ml +71 -0
- package/scripts/checkUnused.js +63 -0
- package/scripts/ciTest.js +172 -0
- package/scripts/config.js +24 -0
- package/scripts/cover.sh +3 -0
- package/scripts/curry_gen.ml +167 -0
- package/scripts/dbg +13 -0
- package/scripts/dedupe.js +44 -0
- package/scripts/doc_gen.js +117 -0
- package/scripts/install.js +237 -0
- package/scripts/installUtils.js +61 -0
- package/scripts/js_internal_gen.js +135 -0
- package/scripts/jsconfig.json +12 -0
- package/scripts/littlecase.js +21 -0
- package/scripts/ninja.js +1980 -0
- package/scripts/ninjaFactory.js +36 -0
- package/scripts/pack.js +107 -0
- package/scripts/prebuilt.js +99 -0
- package/scripts/release.js +41 -0
- package/scripts/repl.js +151 -0
- package/scripts/rescript_arg.js +168 -0
- package/scripts/rescript_convert.js +128 -0
- package/scripts/rescript_dump.js +48 -0
- package/scripts/rescript_format.js +194 -0
- package/scripts/shake.js +138 -0
- package/scripts/tasks.js +149 -0
- package/scripts/test.sh +3 -0
- package/scripts/tmp.js +98 -0
- package/scripts/validate.js +41 -0
- package/vendor/ninja.tar.gz +0 -0
- package/vendor/ocaml.tar.gz +0 -0
- package/win32/bsb_helper.exe +0 -0
- package/win32/bsc.exe +0 -0
- package/win32/ninja.COPYING +202 -0
- package/win32/ninja.exe +0 -0
- package/win32/refmt.exe +0 -0
- package/win32/rescript.exe +0 -0
|
@@ -0,0 +1,844 @@
|
|
|
1
|
+
(* Copyright (C) 2017 Authors of ReScript
|
|
2
|
+
*
|
|
3
|
+
* This program is free software: you can redistribute it and/or modify
|
|
4
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
5
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
6
|
+
* (at your option) any later version.
|
|
7
|
+
*
|
|
8
|
+
* In addition to the permissions granted to you by the LGPL, you may combine
|
|
9
|
+
* or link a "work that uses the Library" with a publicly distributed version
|
|
10
|
+
* of this file to produce a combined library or application, then distribute
|
|
11
|
+
* that combined work under the terms of your choosing, with no requirement
|
|
12
|
+
* to comply with the obligations normally placed on you by section 4 of the
|
|
13
|
+
* LGPL version 3 (or the corresponding section of a later version of the LGPL
|
|
14
|
+
* should you choose to use a later version).
|
|
15
|
+
*
|
|
16
|
+
* This program is distributed in the hope that it will be useful,
|
|
17
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
* GNU Lesser General Public License for more details.
|
|
20
|
+
*
|
|
21
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
+
* along with this program; if not, write to the Free Software
|
|
23
|
+
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
|
|
24
|
+
|
|
25
|
+
(**
|
|
26
|
+
Collection functions for manipulating the `list` data structures, a singly-linked list.
|
|
27
|
+
|
|
28
|
+
**Prefer Array** if you need any of the following:
|
|
29
|
+
|
|
30
|
+
- Random access of element
|
|
31
|
+
- Better interop with JavaScript
|
|
32
|
+
- Better memory usage & performance.
|
|
33
|
+
*)
|
|
34
|
+
|
|
35
|
+
type 'a t = 'a list
|
|
36
|
+
(** `'a t` is compatible with built-in `list` type *)
|
|
37
|
+
|
|
38
|
+
val length : 'a t -> int
|
|
39
|
+
(**
|
|
40
|
+
Returns the length of a list.
|
|
41
|
+
|
|
42
|
+
```res example
|
|
43
|
+
Belt.List.length(list{1, 2, 3}) // 3
|
|
44
|
+
```
|
|
45
|
+
*)
|
|
46
|
+
|
|
47
|
+
val size : 'a t -> int
|
|
48
|
+
(** **See** [`length`](##length) *)
|
|
49
|
+
|
|
50
|
+
val head : 'a t -> 'a option
|
|
51
|
+
(**
|
|
52
|
+
Returns `Some(value)` where `value` is the first element in the list, or
|
|
53
|
+
`None` if `someList` is an empty list.
|
|
54
|
+
|
|
55
|
+
```res example
|
|
56
|
+
Belt.List.head(list{}) // None
|
|
57
|
+
Belt.List.head(list{1, 2, 3}) // Some(1)
|
|
58
|
+
```
|
|
59
|
+
*)
|
|
60
|
+
|
|
61
|
+
val headExn : 'a t -> 'a
|
|
62
|
+
(**
|
|
63
|
+
Same as [head](#head), but raises an exception if `someList` is empty. Use
|
|
64
|
+
with care.
|
|
65
|
+
|
|
66
|
+
```res example
|
|
67
|
+
Belt.List.headExn(list{1, 2, 3}) // 1
|
|
68
|
+
|
|
69
|
+
Belt.List.headExn(list{}) // Raises an Error
|
|
70
|
+
```
|
|
71
|
+
*)
|
|
72
|
+
|
|
73
|
+
val tail : 'a t -> 'a t option
|
|
74
|
+
(**
|
|
75
|
+
Returns `None` if `someList` is empty, otherwise it returns `Some(tail)`
|
|
76
|
+
where `tail` is everything except the first element of `someList`.
|
|
77
|
+
|
|
78
|
+
```res example
|
|
79
|
+
Belt.List.tail(list{1, 2, 3}) // Some(list{2, 3})
|
|
80
|
+
|
|
81
|
+
Belt.List.tail(list{}) // None
|
|
82
|
+
```
|
|
83
|
+
*)
|
|
84
|
+
|
|
85
|
+
val tailExn : 'a t -> 'a t
|
|
86
|
+
(**
|
|
87
|
+
Same as [tail](#tail), but raises an exception if `someList` is empty. Use
|
|
88
|
+
with care.
|
|
89
|
+
|
|
90
|
+
```res example
|
|
91
|
+
Belt.List.tailExn(list{1, 2, 3}) // list{2, 3}
|
|
92
|
+
|
|
93
|
+
Belt.List.tailExn(list{}) // Raises an Error
|
|
94
|
+
```
|
|
95
|
+
*)
|
|
96
|
+
|
|
97
|
+
val add : 'a t -> 'a -> 'a t
|
|
98
|
+
(**
|
|
99
|
+
Adds `value` to the beginning of `someList`.
|
|
100
|
+
|
|
101
|
+
```res example
|
|
102
|
+
Belt.List.add(list{2, 3}, 1) // list{1, 2, 3}
|
|
103
|
+
|
|
104
|
+
Belt.List.add(list{"World", "!"}, "Hello") // list{"Hello", "World", "!"}
|
|
105
|
+
```
|
|
106
|
+
*)
|
|
107
|
+
|
|
108
|
+
val get : 'a t -> int -> 'a option
|
|
109
|
+
(**
|
|
110
|
+
Return the nth element in `someList`, or `None` if `index` is larger than the
|
|
111
|
+
length.
|
|
112
|
+
|
|
113
|
+
```res example
|
|
114
|
+
let abc = list{"A", "B", "C"}
|
|
115
|
+
|
|
116
|
+
abc->Belt.List.get(1) // Some("B")
|
|
117
|
+
|
|
118
|
+
abc->Belt.List.get(4) // None
|
|
119
|
+
```
|
|
120
|
+
*)
|
|
121
|
+
|
|
122
|
+
val getExn : 'a t -> int -> 'a
|
|
123
|
+
(**
|
|
124
|
+
Same as [get](#get), but raises an exception if `index` is larger than the
|
|
125
|
+
length. Use with care.
|
|
126
|
+
|
|
127
|
+
```res example
|
|
128
|
+
let abc = list{"A", "B", "C"}
|
|
129
|
+
|
|
130
|
+
abc->Belt.List.getExn(1) // "B"
|
|
131
|
+
|
|
132
|
+
abc->Belt.List.getExn(4) // Raises an Error
|
|
133
|
+
```
|
|
134
|
+
*)
|
|
135
|
+
|
|
136
|
+
val make : int -> 'a -> 'a t
|
|
137
|
+
(**
|
|
138
|
+
Returns a list of length `numItems` with each element filled with value `v`. Returns an empty list if `numItems` is negative.
|
|
139
|
+
|
|
140
|
+
```res example
|
|
141
|
+
Belt.List.make(3, 1) // list{1, 1, 1}
|
|
142
|
+
```
|
|
143
|
+
*)
|
|
144
|
+
|
|
145
|
+
val makeByU : int -> ((int -> 'a)[@bs]) -> 'a t
|
|
146
|
+
(** Uncurried version of [makeBy](#makeBy) *)
|
|
147
|
+
|
|
148
|
+
val makeBy : int -> (int -> 'a) -> 'a t
|
|
149
|
+
(**
|
|
150
|
+
Return a list of length `numItems` with element `i` initialized with `f(i)`.
|
|
151
|
+
Returns an empty list if `numItems` is negative.
|
|
152
|
+
|
|
153
|
+
```res example
|
|
154
|
+
Belt.List.makeBy(5, i => i) // list{0, 1, 2, 3, 4}
|
|
155
|
+
|
|
156
|
+
Belt.List.makeBy(5, i => i * i) // list{0, 1, 4, 9, 16}
|
|
157
|
+
```
|
|
158
|
+
*)
|
|
159
|
+
|
|
160
|
+
val shuffle : 'a t -> 'a t
|
|
161
|
+
(**
|
|
162
|
+
Returns a new list in random order.
|
|
163
|
+
|
|
164
|
+
```res example
|
|
165
|
+
Belt.List.shuffle(list{1, 2, 3}) // list{2, 1, 3}
|
|
166
|
+
```
|
|
167
|
+
*)
|
|
168
|
+
|
|
169
|
+
val drop : 'a t -> int -> 'a t option
|
|
170
|
+
(**
|
|
171
|
+
Return a new list, dropping the first `n` elements. Returns `None` if `someList` has fewer than `n` elements.
|
|
172
|
+
|
|
173
|
+
```res example
|
|
174
|
+
list{1, 2, 3}->Belt.List.drop(2) // Some(list{3})
|
|
175
|
+
|
|
176
|
+
list{1, 2, 3}->Belt.List.drop(3) // Some(list{})
|
|
177
|
+
|
|
178
|
+
list{1, 2, 3}->Belt.List.drop(4) // None
|
|
179
|
+
```
|
|
180
|
+
*)
|
|
181
|
+
|
|
182
|
+
val take : 'a t -> int -> 'a t option
|
|
183
|
+
(**
|
|
184
|
+
Returns a list with the first `n` elements from `someList`, or `None` if `someList` has fewer than `n` elements.
|
|
185
|
+
|
|
186
|
+
```res example
|
|
187
|
+
list{1, 2, 3}->Belt.List.take(1) // Some(list{1})
|
|
188
|
+
|
|
189
|
+
list{1, 2, 3}->Belt.List.take(2) // Some(list{1, 2})
|
|
190
|
+
|
|
191
|
+
list{1, 2, 3}->Belt.List.take(4) // None
|
|
192
|
+
```
|
|
193
|
+
*)
|
|
194
|
+
|
|
195
|
+
val splitAt : 'a t -> int -> ('a list * 'a list) option
|
|
196
|
+
(**
|
|
197
|
+
Split the list `someList` at `index`. Returns `None` when the length of `someList` is less than `index`.
|
|
198
|
+
|
|
199
|
+
```res example
|
|
200
|
+
list{"Hello", "World"}->Belt.List.splitAt(1) // Some((list{"Hello"}, list{"World"}))
|
|
201
|
+
|
|
202
|
+
list{0, 1, 2, 3, 4}->Belt.List.splitAt(2) // Some((list{0, 1}, list{2, 3, 4}))
|
|
203
|
+
```
|
|
204
|
+
*)
|
|
205
|
+
|
|
206
|
+
val concat : 'a t -> 'a t -> 'a t
|
|
207
|
+
(**
|
|
208
|
+
Returns the list obtained by adding `secondList` after `firstList`.
|
|
209
|
+
|
|
210
|
+
```res example
|
|
211
|
+
Belt.List.concat(list{1, 2, 3}, list{4, 5}) // list{1, 2, 3, 4, 5}
|
|
212
|
+
```
|
|
213
|
+
*)
|
|
214
|
+
|
|
215
|
+
val concatMany : 'a t array -> 'a t
|
|
216
|
+
(**
|
|
217
|
+
Returns the list obtained by concatenating all the lists in array `a`, in
|
|
218
|
+
order.
|
|
219
|
+
|
|
220
|
+
```res example
|
|
221
|
+
Belt.List.concatMany([list{1, 2, 3}, list{}, list{3}]) // list{1, 2, 3, 3}
|
|
222
|
+
```
|
|
223
|
+
*)
|
|
224
|
+
|
|
225
|
+
val reverseConcat : 'a t -> 'a t -> 'a t
|
|
226
|
+
(**
|
|
227
|
+
Equivalent to writing: `concat(reverse(firstList, secondList)`
|
|
228
|
+
|
|
229
|
+
```res example
|
|
230
|
+
Belt.List.reverseConcat(list{1, 2}, list{3, 4}) // list{2, 1, 3, 4}
|
|
231
|
+
```
|
|
232
|
+
*)
|
|
233
|
+
|
|
234
|
+
val flatten : 'a t t -> 'a t
|
|
235
|
+
(**
|
|
236
|
+
Return the list obtained by concatenating all the lists in list `ls`, in order.
|
|
237
|
+
|
|
238
|
+
```res example
|
|
239
|
+
Belt.List.flatten(list{list{1, 2, 3}, list{}, list{3}}) // list{1, 2, 3, 3}
|
|
240
|
+
```
|
|
241
|
+
*)
|
|
242
|
+
|
|
243
|
+
val mapU : 'a t -> (('a -> 'b)[@bs]) -> 'b t
|
|
244
|
+
(** Uncurried version of [map](#map). *)
|
|
245
|
+
|
|
246
|
+
val map : 'a t -> ('a -> 'b) -> 'b t
|
|
247
|
+
(**
|
|
248
|
+
Returns a new list with `f` applied to each element of `someList`.
|
|
249
|
+
|
|
250
|
+
```res example
|
|
251
|
+
list{1, 2}->Belt.List.map(x => x + 1) // list{3, 4}
|
|
252
|
+
```
|
|
253
|
+
*)
|
|
254
|
+
|
|
255
|
+
val zip : 'a t -> 'b t -> ('a * 'b) t
|
|
256
|
+
(**
|
|
257
|
+
Returns a list of pairs from the two lists with the length of the shorter list.
|
|
258
|
+
|
|
259
|
+
```res example
|
|
260
|
+
Belt.List.zip(list{1, 2}, list{3, 4, 5}) // list{(1, 3), (2, 4)}
|
|
261
|
+
```
|
|
262
|
+
*)
|
|
263
|
+
|
|
264
|
+
val zipByU : 'a t -> 'b t -> (('a -> 'b -> 'c)[@bs]) -> 'c t
|
|
265
|
+
(** Uncurried version of [zipBy](#zipBy). *)
|
|
266
|
+
|
|
267
|
+
val zipBy : 'a t -> 'b t -> ('a -> 'b -> 'c) -> 'c t
|
|
268
|
+
(**
|
|
269
|
+
**See:** [zip](#zip)
|
|
270
|
+
|
|
271
|
+
```res example
|
|
272
|
+
Belt.List.zipBy(list{1, 2, 3}, list{4, 5}, (a, b) => 2 * a + b) // list{6, 9}
|
|
273
|
+
```
|
|
274
|
+
*)
|
|
275
|
+
|
|
276
|
+
val mapWithIndexU : 'a t -> ((int -> 'a -> 'b)[@bs]) -> 'b t
|
|
277
|
+
(** Uncurried version of [mapWithIndex](#mapWithIndex). *)
|
|
278
|
+
|
|
279
|
+
val mapWithIndex : 'a t -> (int -> 'a -> 'b) -> 'b t
|
|
280
|
+
(**
|
|
281
|
+
Applies `f` to each element of `someList`.
|
|
282
|
+
Function `f` takes two arguments: the index starting from 0 and the element from `someList`, in that order.
|
|
283
|
+
|
|
284
|
+
```res example
|
|
285
|
+
list{1, 2, 3}->Belt.List.mapWithIndex((index, x) => index + x) // list{1, 3, 5}
|
|
286
|
+
```
|
|
287
|
+
*)
|
|
288
|
+
|
|
289
|
+
val fromArray : 'a array -> 'a t
|
|
290
|
+
(**
|
|
291
|
+
Converts the given array to a list.
|
|
292
|
+
|
|
293
|
+
```res example
|
|
294
|
+
Belt.List.fromArray([1, 2, 3]) // list{1, 2, 3}
|
|
295
|
+
```
|
|
296
|
+
*)
|
|
297
|
+
|
|
298
|
+
val toArray : 'a t -> 'a array
|
|
299
|
+
(**
|
|
300
|
+
Converts the given list to an array.
|
|
301
|
+
|
|
302
|
+
```res example
|
|
303
|
+
Belt.List.toArray(list{1, 2, 3}) // [1, 2, 3]
|
|
304
|
+
```
|
|
305
|
+
*)
|
|
306
|
+
|
|
307
|
+
(* type json = Js_json.t *)
|
|
308
|
+
|
|
309
|
+
(* val toJson : 'a t -> ('a -> json [@bs]) -> json *)
|
|
310
|
+
(* val fromJson : json -> (json -> 'a [@bs]) -> 'a t *)
|
|
311
|
+
|
|
312
|
+
val reverse : 'a t -> 'a t
|
|
313
|
+
(**
|
|
314
|
+
Returns a new list whose elements are those of `someList` in reversed order.
|
|
315
|
+
|
|
316
|
+
```res example
|
|
317
|
+
Belt.List.reverse(list{1, 2, 3}) /* list{3, 2, 1} */
|
|
318
|
+
```
|
|
319
|
+
*)
|
|
320
|
+
|
|
321
|
+
val mapReverseU : 'a t -> (('a -> 'b)[@bs]) -> 'b t
|
|
322
|
+
(** Uncurried version of [mapReverse](#mapReverse). *)
|
|
323
|
+
|
|
324
|
+
val mapReverse : 'a t -> ('a -> 'b) -> 'b t
|
|
325
|
+
(**
|
|
326
|
+
Equivalent to:
|
|
327
|
+
|
|
328
|
+
```res
|
|
329
|
+
map(someList, f)->reverse
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
```res example
|
|
333
|
+
list{3, 4, 5}->Belt.List.mapReverse(x => x * x) /* list{25, 16, 9} */
|
|
334
|
+
```
|
|
335
|
+
*)
|
|
336
|
+
|
|
337
|
+
val forEachU : 'a t -> (('a -> 'b)[@bs]) -> unit
|
|
338
|
+
(** Uncurried version of [forEach](#forEach). *)
|
|
339
|
+
|
|
340
|
+
val forEach : 'a t -> ('a -> 'b) -> unit
|
|
341
|
+
(**
|
|
342
|
+
Call `f` on each element of `someList` from the beginning to end.
|
|
343
|
+
`f` returns `unit`, so no new array is created. Use `forEach` when you are primarily concerned with repetitively creating side effects.
|
|
344
|
+
|
|
345
|
+
```res example
|
|
346
|
+
Belt.List.forEach(list{"a", "b", "c"}, x => Js.log("Item: " ++ x))
|
|
347
|
+
/*
|
|
348
|
+
prints:
|
|
349
|
+
Item: a
|
|
350
|
+
Item: b
|
|
351
|
+
Item: c
|
|
352
|
+
*/
|
|
353
|
+
```
|
|
354
|
+
*)
|
|
355
|
+
|
|
356
|
+
val forEachWithIndexU : 'a t -> ((int -> 'a -> 'b)[@bs]) -> unit
|
|
357
|
+
(** Uncurried version of [forEachWithIndex](#forEachWithIndex). *)
|
|
358
|
+
|
|
359
|
+
val forEachWithIndex : 'a t -> (int -> 'a -> 'b) -> unit
|
|
360
|
+
(**
|
|
361
|
+
Call `f` on each element of `someList` from beginning to end.
|
|
362
|
+
Function `f` takes two arguments: the index starting from 0 and the element from `someList`. `f` returns `unit`.
|
|
363
|
+
|
|
364
|
+
```res example
|
|
365
|
+
Belt.List.forEachWithIndex(list{"a", "b", "c"}, (index, x) => {
|
|
366
|
+
Js.log("Item " ++ Belt.Int.toString(index) ++ " is " ++ x)
|
|
367
|
+
})
|
|
368
|
+
/*
|
|
369
|
+
prints:
|
|
370
|
+
Item 0 is a
|
|
371
|
+
Item 1 is b
|
|
372
|
+
Item 2 is cc
|
|
373
|
+
*/
|
|
374
|
+
```
|
|
375
|
+
*)
|
|
376
|
+
|
|
377
|
+
val reduceU : 'a t -> 'b -> (('b -> 'a -> 'b)[@bs]) -> 'b
|
|
378
|
+
(** Uncurried version of [reduce](#reduce). *)
|
|
379
|
+
|
|
380
|
+
val reduce : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
|
|
381
|
+
(**
|
|
382
|
+
Applies `f` to each element of `someList` from beginning to end. Function `f` has two parameters: the item from the list and an “accumulator”, which starts with a value of `initialValue`. reduce returns the final value of the accumulator.
|
|
383
|
+
|
|
384
|
+
```res example
|
|
385
|
+
list{1, 2, 3, 4}->Belt.List.reduce(0, (a, b) => a + b) /* 10 */
|
|
386
|
+
|
|
387
|
+
/* same as */
|
|
388
|
+
|
|
389
|
+
list{1, 2, 3, 4}->Belt.List.reduce(0, (acc, item) => acc + item) /* 10 */
|
|
390
|
+
```
|
|
391
|
+
*)
|
|
392
|
+
|
|
393
|
+
val reduceWithIndexU : 'a t -> 'b -> (('b -> 'a -> int -> 'b)[@bs]) -> 'b
|
|
394
|
+
(** Uncurried version of [reduceWithIndex](#reduceWithIndex). *)
|
|
395
|
+
|
|
396
|
+
val reduceWithIndex : 'a t -> 'b -> ('b -> 'a -> int -> 'b) -> 'b
|
|
397
|
+
(**
|
|
398
|
+
Applies `f` to each element of `someList` from beginning to end. Function `f` has three parameters: the item from the list and an “accumulator”, which starts with a value of `initialValue` and the index of each element. `reduceWithIndex` returns the final value of the accumulator.
|
|
399
|
+
|
|
400
|
+
```res example
|
|
401
|
+
list{1, 2, 3, 4}->Belt.List.reduceWithIndex(0, (acc, item, index) => acc + item + index) /* 16 */
|
|
402
|
+
```
|
|
403
|
+
*)
|
|
404
|
+
|
|
405
|
+
val reduceReverseU : 'a t -> 'b -> (('b -> 'a -> 'b)[@bs]) -> 'b
|
|
406
|
+
(** Uncurried version of [reduceReverse](#reduceReverse). *)
|
|
407
|
+
|
|
408
|
+
val reduceReverse : 'a t -> 'b -> ('b -> 'a -> 'b) -> 'b
|
|
409
|
+
(**
|
|
410
|
+
Works like [reduce](#reduce), except that function `f` is applied to each
|
|
411
|
+
item of `someList` from the last back to the first.
|
|
412
|
+
|
|
413
|
+
```res example
|
|
414
|
+
list{1, 2, 3, 4}->Belt.List.reduceReverse(0, (a, b) => a + b) /* 10 */
|
|
415
|
+
|
|
416
|
+
list{1, 2, 3, 4}->Belt.List.reduceReverse(10, (a, b) => a - b) /* 0 */
|
|
417
|
+
|
|
418
|
+
list{1, 2, 3, 4}->Belt.List.reduceReverse(list{}, Belt.List.add) // list{1, 2, 3, 4}
|
|
419
|
+
```
|
|
420
|
+
*)
|
|
421
|
+
|
|
422
|
+
val mapReverse2U : 'a t -> 'b t -> (('a -> 'b -> 'c)[@bs]) -> 'c t
|
|
423
|
+
(** Uncurried version of [mapReverse2](#mapReverse2). *)
|
|
424
|
+
|
|
425
|
+
val mapReverse2 : 'a t -> 'b t -> ('a -> 'b -> 'c) -> 'c t
|
|
426
|
+
(**
|
|
427
|
+
Equivalent to: `zipBy(xs, ys, f)->reverse`
|
|
428
|
+
|
|
429
|
+
```res example
|
|
430
|
+
|
|
431
|
+
Belt.List.mapReverse2(list{1, 2, 3}, list{1, 2}, (a, b) => a + b) // list{4, 2}
|
|
432
|
+
```
|
|
433
|
+
*)
|
|
434
|
+
|
|
435
|
+
val forEach2U : 'a t -> 'b t -> (('a -> 'b -> 'c)[@bs]) -> unit
|
|
436
|
+
(** Uncurried version of [forEach2](#forEach2). *)
|
|
437
|
+
|
|
438
|
+
val forEach2 : 'a t -> 'b t -> ('a -> 'b -> 'c) -> unit
|
|
439
|
+
(**
|
|
440
|
+
Stops at the length of the shorter list.
|
|
441
|
+
|
|
442
|
+
```res example
|
|
443
|
+
Belt.List.forEach2(list{"Z", "Y"}, list{"A", "B", "C"}, (x, y) => Js.log2(x, y))
|
|
444
|
+
|
|
445
|
+
/*
|
|
446
|
+
prints:
|
|
447
|
+
"Z" "A"
|
|
448
|
+
"Y" "B"
|
|
449
|
+
*/
|
|
450
|
+
```
|
|
451
|
+
*)
|
|
452
|
+
|
|
453
|
+
val reduce2U : 'b t -> 'c t -> 'a -> (('a -> 'b -> 'c -> 'a)[@bs]) -> 'a
|
|
454
|
+
(** Uncurried version of [reduce2](#reduce2). *)
|
|
455
|
+
|
|
456
|
+
val reduce2 : 'b t -> 'c t -> 'a -> ('a -> 'b -> 'c -> 'a) -> 'a
|
|
457
|
+
(**
|
|
458
|
+
Applies `f` to each element of `firstList` and `secondList` from beginning to end. Stops with the shorter list. Function `f` has three parameters: an “accumulator” which starts with a value of `initialValue`, an item from `firstList`, and an item from `secondList`. `reduce2` returns the final value of the accumulator.
|
|
459
|
+
|
|
460
|
+
```res example
|
|
461
|
+
Belt.List.reduce2(list{1, 2, 3}, list{4, 5}, 0, (acc, x, y) => acc + x * x + y) /* 0 + (1 * 1 + 4) + (2 * 2 + 5) */
|
|
462
|
+
```
|
|
463
|
+
*)
|
|
464
|
+
|
|
465
|
+
val reduceReverse2U : 'a t -> 'b t -> 'c -> (('c -> 'a -> 'b -> 'c)[@bs]) -> 'c
|
|
466
|
+
(** Uncurried version of [reduceReverse2](#reduceReverse2). *)
|
|
467
|
+
|
|
468
|
+
val reduceReverse2 : 'a t -> 'b t -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
|
|
469
|
+
(**
|
|
470
|
+
Applies `f` to each element of `firstList` and `secondList` from end to
|
|
471
|
+
beginning. Stops with the shorter list. Function `f` has three parameters: an
|
|
472
|
+
“accumulator” which starts with a value of init, an item from `firstList`,
|
|
473
|
+
and an item from `secondList`. `reduce2` returns the final value of the
|
|
474
|
+
accumulator.
|
|
475
|
+
|
|
476
|
+
```res example
|
|
477
|
+
Belt.List.reduceReverse2(list{1, 2, 3}, list{4, 5}, 0, (acc, x, y) => acc + x * x + y) /* + (1 * 1 + 4) + (2 * 2 + 5) */
|
|
478
|
+
```
|
|
479
|
+
*)
|
|
480
|
+
|
|
481
|
+
val everyU : 'a t -> (('a -> bool)[@bs]) -> bool
|
|
482
|
+
(** Uncurried version of [every](#every). *)
|
|
483
|
+
|
|
484
|
+
val every : 'a t -> ('a -> bool) -> bool
|
|
485
|
+
(**
|
|
486
|
+
Returns `true` if all elements satisfy `pred`, where `pred` is a predicate: a function taking an element and returning a bool.
|
|
487
|
+
|
|
488
|
+
```res example
|
|
489
|
+
let isBelow10 = value => value < 10
|
|
490
|
+
|
|
491
|
+
list{1, 9, 8, 2}->Belt.List.every(isBelow10) /* true */
|
|
492
|
+
|
|
493
|
+
list{1, 99, 8, 2}->Belt.List.every(isBelow10) /* false */
|
|
494
|
+
```
|
|
495
|
+
*)
|
|
496
|
+
|
|
497
|
+
val someU : 'a t -> (('a -> bool)[@bs]) -> bool
|
|
498
|
+
(** Uncurried version of [some](#some). *)
|
|
499
|
+
|
|
500
|
+
val some : 'a t -> ('a -> bool) -> bool
|
|
501
|
+
(**
|
|
502
|
+
Returns `true` if at least _one_ of the elements in `someList` satisfies
|
|
503
|
+
`pred`, where `pred` is a predicate: a function taking an element and
|
|
504
|
+
returning a bool.
|
|
505
|
+
|
|
506
|
+
```res example
|
|
507
|
+
let isAbove100 = value => value > 100
|
|
508
|
+
|
|
509
|
+
list{101, 1, 2, 3}->Belt.List.some(isAbove100) /* true */
|
|
510
|
+
|
|
511
|
+
list{1, 2, 3, 4}->Belt.List.some(isAbove100) /* false */
|
|
512
|
+
```
|
|
513
|
+
*)
|
|
514
|
+
|
|
515
|
+
val every2U : 'a t -> 'b t -> (('a -> 'b -> bool)[@bs]) -> bool
|
|
516
|
+
(** Uncurried version of [every2](#every2). *)
|
|
517
|
+
|
|
518
|
+
val every2 : 'a t -> 'b t -> ('a -> 'b -> bool) -> bool
|
|
519
|
+
(**
|
|
520
|
+
Returns `true` if predicate `pred(a, b)` is `true` for all pairs of elements
|
|
521
|
+
up to the shorter length (i.e. `min(length(firstList), length(secondList))`)
|
|
522
|
+
|
|
523
|
+
```res example
|
|
524
|
+
Belt.List.every2(list{1, 2, 3}, list{0, 1}, (a, b) => a > b) /* true */
|
|
525
|
+
|
|
526
|
+
Belt.List.every2(list{}, list{1}, (a, b) => a > b) /* true */
|
|
527
|
+
|
|
528
|
+
Belt.List.every2(list{2, 3}, list{1}, (a, b) => a > b) /* true */
|
|
529
|
+
|
|
530
|
+
Belt.List.every2(list{0, 1}, list{5, 0}, (a, b) => a > b) /* false */
|
|
531
|
+
```
|
|
532
|
+
*)
|
|
533
|
+
|
|
534
|
+
val some2U : 'a t -> 'b t -> (('a -> 'b -> bool)[@bs]) -> bool
|
|
535
|
+
(** Uncurried version of [some2](#some2). *)
|
|
536
|
+
|
|
537
|
+
val some2 : 'a t -> 'b t -> ('a -> 'b -> bool) -> bool
|
|
538
|
+
(**
|
|
539
|
+
Returns `true` if predicate `pred(a, b)` is true for any pair of elements up
|
|
540
|
+
to the shorter length (i.e. `min(length(firstList), length(secondList))`)
|
|
541
|
+
|
|
542
|
+
```res example
|
|
543
|
+
Belt.List.some2(list{1, 2, 3}, list{0, 1}, (a, b) => a > b) /* true */
|
|
544
|
+
|
|
545
|
+
Belt.List.some2(list{}, list{1}, (a, b) => a > b) /* false */
|
|
546
|
+
|
|
547
|
+
Belt.List.some2(list{2, 3}, list{1}, (a, b) => a > b) /* true */
|
|
548
|
+
|
|
549
|
+
Belt.List.some2(list{0, 1}, list{5, 0}, (a, b) => a > b) /* true */
|
|
550
|
+
```
|
|
551
|
+
*)
|
|
552
|
+
|
|
553
|
+
val cmpByLength : 'a t -> 'a t -> int
|
|
554
|
+
(**
|
|
555
|
+
Compare two lists solely by length. Returns `-1` if `length(firstList)` is
|
|
556
|
+
less than `length(secondList)`, `0` if `length(firstList)` equals
|
|
557
|
+
`length(secondList)`, and `1` if `length(firstList)` is greater than
|
|
558
|
+
`length(secondList)`.
|
|
559
|
+
|
|
560
|
+
```res example
|
|
561
|
+
Belt.List.cmpByLength(list{1, 2}, list{3, 4, 5, 6}) /* -1 */
|
|
562
|
+
|
|
563
|
+
Belt.List.cmpByLength(list{1, 2, 3}, list{4, 5, 6}) /* = 0 */
|
|
564
|
+
|
|
565
|
+
Belt.List.cmpByLength(list{1, 2, 3, 4}, list{5, 6}) /* = 1 */
|
|
566
|
+
```
|
|
567
|
+
*)
|
|
568
|
+
|
|
569
|
+
val cmpU : 'a t -> 'a t -> (('a -> 'a -> int)[@bs]) -> int
|
|
570
|
+
(** Uncurried version of [cmp](#cmp). *)
|
|
571
|
+
|
|
572
|
+
val cmp : 'a t -> 'a t -> ('a -> 'a -> int) -> int
|
|
573
|
+
(**
|
|
574
|
+
Compare elements one by one `compareFn(a, b)`. `compareFn` returns a negative number if `a` is "less than" `b`, zero if `a` is "equal to" `b`, a positive number if `a` is "greater than" `b`.
|
|
575
|
+
|
|
576
|
+
The comparison returns the first non-zero result of `compareFn`, or zero if `compareFn` returns zero for all `a` and `b`.
|
|
577
|
+
|
|
578
|
+
If all items have compared equal, but `firstList` is exhausted first, return `-1`. (`firstList` is shorter).
|
|
579
|
+
If all items have compared equal, but `secondList` is exhausted first, return `1` (`firstList` is longer).
|
|
580
|
+
|
|
581
|
+
```res example
|
|
582
|
+
Belt.List.cmp(list{3}, list{3, 7}, (a, b) => compare(a, b)) /* (-1) */
|
|
583
|
+
|
|
584
|
+
Belt.List.cmp(list{5, 3}, list{5}, (a, b) => compare(a, b)) /* 1 */
|
|
585
|
+
|
|
586
|
+
Belt.List.cmp(list{1, 3, 5}, list{1, 4, 2}, (a, b) => compare(a, b)) /* (-1) */
|
|
587
|
+
|
|
588
|
+
Belt.List.cmp(list{1, 3, 5}, list{1, 2, 3}, (a, b) => compare(a, b)) /* 1 */
|
|
589
|
+
|
|
590
|
+
Belt.List.cmp(list{1, 3, 5}, list{1, 3, 5}, (a, b) => compare(a, b)) /* 0 */
|
|
591
|
+
```
|
|
592
|
+
|
|
593
|
+
**Please note:** The total ordering of List is different from Array,
|
|
594
|
+
for Array, we compare the length first and, only if the lengths are equal, elements one by one.
|
|
595
|
+
For lists, we just compare elements one by one.
|
|
596
|
+
*)
|
|
597
|
+
|
|
598
|
+
val eqU : 'a t -> 'a t -> (('a -> 'a -> bool)[@bs]) -> bool
|
|
599
|
+
(** Uncurried version of [eq](#eq). *)
|
|
600
|
+
|
|
601
|
+
val eq : 'a t -> 'a t -> ('a -> 'a -> bool) -> bool
|
|
602
|
+
(**
|
|
603
|
+
Check equality of `firstList` and `secondList` using `eqElem` for equality on
|
|
604
|
+
elements, where `eqElem` is a function that returns `true` if items `x` and
|
|
605
|
+
`y` meet some criterion for equality, `false` otherwise. eq `false` if length
|
|
606
|
+
of `firstList` and `secondList` are not the same.
|
|
607
|
+
|
|
608
|
+
```res example
|
|
609
|
+
Belt.List.eq(list{1, 2, 3}, list{1, 2}, (a, b) => a == b) /* false */
|
|
610
|
+
|
|
611
|
+
Belt.List.eq(list{1, 2}, list{1, 2}, (a, b) => a == b) /* true */
|
|
612
|
+
|
|
613
|
+
Belt.List.eq(list{1, 2, 3}, list{(-1), (-2), (-3)}, (a, b) => abs(a) == abs(b)) /* true */
|
|
614
|
+
```
|
|
615
|
+
*)
|
|
616
|
+
|
|
617
|
+
val hasU : 'a t -> 'b -> (('a -> 'b -> bool)[@bs]) -> bool
|
|
618
|
+
(** Uncurried version of [has](#has). *)
|
|
619
|
+
|
|
620
|
+
val has : 'a t -> 'b -> ('a -> 'b -> bool) -> bool
|
|
621
|
+
(**
|
|
622
|
+
Returns `true` if the list contains at least one element for which
|
|
623
|
+
`eqFunction(x)` returns true.
|
|
624
|
+
|
|
625
|
+
```res example
|
|
626
|
+
list{1, 2, 3}->Belt.List.has(2, (a, b) => a == b) /* true */
|
|
627
|
+
|
|
628
|
+
list{1, 2, 3}->Belt.List.has(4, (a, b) => a == b) /* false */
|
|
629
|
+
|
|
630
|
+
list{(-1), (-2), (-3)}->Belt.List.has(2, (a, b) => abs(a) == abs(b)) /* true */
|
|
631
|
+
```
|
|
632
|
+
*)
|
|
633
|
+
|
|
634
|
+
val getByU : 'a t -> (('a -> bool)[@bs]) -> 'a option
|
|
635
|
+
(** Uncurried version of [getBy](#getBy). *)
|
|
636
|
+
|
|
637
|
+
val getBy : 'a t -> ('a -> bool) -> 'a option
|
|
638
|
+
(**
|
|
639
|
+
Returns `Some(value)` for the first value in `someList` that satisfies the
|
|
640
|
+
predicate function `pred`. Returns `None` if no element satisfies the function.
|
|
641
|
+
|
|
642
|
+
```res example
|
|
643
|
+
Belt.List.getBy(list{1, 4, 3, 2}, x => x > 3) /* Some(4) */
|
|
644
|
+
|
|
645
|
+
Belt.List.getBy(list{1, 4, 3, 2}, x => x > 4) /* None */
|
|
646
|
+
```
|
|
647
|
+
*)
|
|
648
|
+
|
|
649
|
+
val keepU : 'a t -> (('a -> bool)[@bs]) -> 'a t
|
|
650
|
+
(** Uncurried version of [keep](#keep). *)
|
|
651
|
+
|
|
652
|
+
val keep : 'a t -> ('a -> bool) -> 'a t
|
|
653
|
+
(**
|
|
654
|
+
Returns a list of all elements in `someList` which satisfy the predicate function `pred`.
|
|
655
|
+
|
|
656
|
+
```res example
|
|
657
|
+
let isEven = x => mod(x, 2) == 0
|
|
658
|
+
|
|
659
|
+
Belt.List.keep(list{1, 2, 3, 4}, isEven) /* list{2, 4} */
|
|
660
|
+
|
|
661
|
+
Belt.List.keep(list{None, Some(2), Some(3), None}, Belt.Option.isSome) /* list{Some(2), Some(3)} */
|
|
662
|
+
```
|
|
663
|
+
*)
|
|
664
|
+
|
|
665
|
+
val filter : 'a t -> ('a -> bool) -> 'a t
|
|
666
|
+
[@@deprecated
|
|
667
|
+
"This function will soon be deprecated. Please, use `List.keep` instead."]
|
|
668
|
+
(**
|
|
669
|
+
Returns a list of all elements in `someList` which satisfy the predicate function `pred`.
|
|
670
|
+
|
|
671
|
+
```res example
|
|
672
|
+
let isEven = x => mod(x, 2) == 0
|
|
673
|
+
|
|
674
|
+
Belt.List.filter(list{1, 2, 3, 4}, isEven) /* list{2, 4} */
|
|
675
|
+
|
|
676
|
+
Belt.List.filter(list{None, Some(2), Some(3), None}, Belt.Option.isSome) /* list{Some(2), Some(3)} */
|
|
677
|
+
```
|
|
678
|
+
*)
|
|
679
|
+
|
|
680
|
+
val keepWithIndexU : 'a t -> (('a -> int -> bool)[@bs]) -> 'a t
|
|
681
|
+
(** Uncurried version of [keepWithIndex](#keepWithIndex). *)
|
|
682
|
+
|
|
683
|
+
val keepWithIndex : 'a t -> ('a -> int -> bool) -> 'a t
|
|
684
|
+
(**
|
|
685
|
+
Returns a list of all elements in `someList` which satisfy the predicate function `pred`.
|
|
686
|
+
|
|
687
|
+
```res example
|
|
688
|
+
let isEven = x => mod(x, 2) == 0
|
|
689
|
+
|
|
690
|
+
Belt.List.keepWithIndex(list{1, 2, 3, 4}, (_x, index) => isEven(index)) /* list{1, 3} */
|
|
691
|
+
```
|
|
692
|
+
*)
|
|
693
|
+
|
|
694
|
+
val filterWithIndex : 'a t -> ('a -> int -> bool) -> 'a t
|
|
695
|
+
[@@deprecated
|
|
696
|
+
"This function will soon be deprecated. Please, use `List.keepWithIndex` \
|
|
697
|
+
instead."]
|
|
698
|
+
(**
|
|
699
|
+
Returns a list of all elements in `someList` which satisfy the predicate function `pred`.
|
|
700
|
+
|
|
701
|
+
```res example
|
|
702
|
+
let isEven = x => mod(x, 2) == 0
|
|
703
|
+
|
|
704
|
+
Belt.List.filterWithIndex(list{1, 2, 3, 4}, (_x, index) => isEven(index)) /* list{1, 3} */
|
|
705
|
+
```
|
|
706
|
+
*)
|
|
707
|
+
|
|
708
|
+
val keepMapU : 'a t -> (('a -> 'b option)[@bs]) -> 'b t
|
|
709
|
+
(** Uncurried version of [keepMap](#keepMap). *)
|
|
710
|
+
|
|
711
|
+
val keepMap : 'a t -> ('a -> 'b option) -> 'b t
|
|
712
|
+
(**
|
|
713
|
+
Applies `f` to each element of `someList`. If `f(x)` returns `Some(value)`, then `value` is _kept_ in the resulting list.
|
|
714
|
+
If `f(x)` returns `None`, the element is _not_ retained in the result.
|
|
715
|
+
|
|
716
|
+
```res example
|
|
717
|
+
let isEven = x => mod(x, 2) == 0
|
|
718
|
+
|
|
719
|
+
list{1, 2, 3, 4}
|
|
720
|
+
->Belt.List.keepMap(x =>
|
|
721
|
+
if (isEven(x)) {
|
|
722
|
+
Some(x)
|
|
723
|
+
} else {
|
|
724
|
+
None
|
|
725
|
+
}
|
|
726
|
+
) /* list{2, 4} */
|
|
727
|
+
|
|
728
|
+
list{Some(1), Some(2), None}->Belt.List.keepMap(x => x) /* list{1, 2} */
|
|
729
|
+
```
|
|
730
|
+
*)
|
|
731
|
+
|
|
732
|
+
val partitionU : 'a t -> (('a -> bool)[@bs]) -> 'a t * 'a t
|
|
733
|
+
(** Uncurried version of [partition](#partition). *)
|
|
734
|
+
|
|
735
|
+
val partition : 'a t -> ('a -> bool) -> 'a t * 'a t
|
|
736
|
+
(**
|
|
737
|
+
Creates a pair of lists; the first list consists of all elements of `someList` that satisfy the predicate function `pred`; the second list consists of all elements of `someList` that _do not_ satisfy `pred.
|
|
738
|
+
|
|
739
|
+
In other words:
|
|
740
|
+
|
|
741
|
+
```res
|
|
742
|
+
(elementsThatSatisfies, elementsThatDoesNotSatisfy)
|
|
743
|
+
```
|
|
744
|
+
|
|
745
|
+
```res example
|
|
746
|
+
Belt.List.partition(list{1, 2, 3, 4}, x => x > 2) /* (list{3, 4}, list{1, 2}) */
|
|
747
|
+
```
|
|
748
|
+
*)
|
|
749
|
+
|
|
750
|
+
val unzip : ('a * 'b) t -> 'a t * 'b t
|
|
751
|
+
(**
|
|
752
|
+
Takes a list of pairs and creates a pair of lists. The first list contains all the first items of the pairs; the second list contains all the second items.
|
|
753
|
+
|
|
754
|
+
```res example
|
|
755
|
+
Belt.List.unzip(list{(1, 2), (3, 4)}) /* (list{1, 3}, list{2, 4}) */
|
|
756
|
+
|
|
757
|
+
Belt.List.unzip(list{("H", "W"), ("e", "o"), ("l", "r"), ("l", "l"), ("o", "d"), (" ", "!")})
|
|
758
|
+
/* (list{"H", "e", "l", "l", "o", " "}, list{"W", "o", "r", "l", "d", "!"}) */
|
|
759
|
+
```
|
|
760
|
+
*)
|
|
761
|
+
|
|
762
|
+
val getAssocU : ('a * 'c) t -> 'b -> (('a -> 'b -> bool)[@bs]) -> 'c option
|
|
763
|
+
(** Uncurried version of [getAssoc](#getAssoc). *)
|
|
764
|
+
|
|
765
|
+
val getAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> 'c option
|
|
766
|
+
(**
|
|
767
|
+
Return the second element of a pair in `someList` where the first element equals `k` as per the predicate function `eqFunction`, or `None` if not found.
|
|
768
|
+
|
|
769
|
+
```res example
|
|
770
|
+
list{(1, "a"), (2, "b"), (3, "c")}->Belt.List.getAssoc(3, (a, b) => a == b) /* Some("c") */
|
|
771
|
+
|
|
772
|
+
list{(9, "morning"), (15, "afternoon"), (22, "night")}
|
|
773
|
+
->Belt.List.getAssoc(15, (k, item) => k /* 15 */ == item /* 9, 5, 22 */)
|
|
774
|
+
/* Some("afternoon") */
|
|
775
|
+
```
|
|
776
|
+
*)
|
|
777
|
+
|
|
778
|
+
val hasAssocU : ('a * 'c) t -> 'b -> (('a -> 'b -> bool)[@bs]) -> bool
|
|
779
|
+
(** Uncurried version of [hasAssoc](#hasAssoc). *)
|
|
780
|
+
|
|
781
|
+
val hasAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> bool
|
|
782
|
+
(**
|
|
783
|
+
Returns `true` if there is a pair in `someList` where the first element equals `k` as per the predicate function `eqFunction`.
|
|
784
|
+
|
|
785
|
+
```res example
|
|
786
|
+
list{(1, "a"), (2, "b"), (3, "c")}->Belt.List.hasAssoc(1, (a, b) => a == b) /* true */
|
|
787
|
+
|
|
788
|
+
list{(9, "morning"), (15, "afternoon"), (22, "night")}
|
|
789
|
+
->Belt.List.hasAssoc(25, (k, item) => k /* 25 */ == item /* 9, 5, 22 */) /* false */
|
|
790
|
+
```
|
|
791
|
+
*)
|
|
792
|
+
|
|
793
|
+
val removeAssocU : ('a * 'c) t -> 'b -> (('a -> 'b -> bool)[@bs]) -> ('a * 'c) t
|
|
794
|
+
(** Uncurried version of [removeAssoc](#removeAssoc). *)
|
|
795
|
+
|
|
796
|
+
val removeAssoc : ('a * 'c) t -> 'b -> ('a -> 'b -> bool) -> ('a * 'c) t
|
|
797
|
+
(**
|
|
798
|
+
Return a list after removing the first pair whose first value is `k` per the equality predicate `eqFunction`; if not found, return a new list identical to `someList`.
|
|
799
|
+
|
|
800
|
+
```res example
|
|
801
|
+
list{(1, "a"), (2, "b"), (3, "c")}->Belt.List.removeAssoc(1, (a, b) => a == b) /* list{(2, "b"), (3, "c")} */
|
|
802
|
+
|
|
803
|
+
list{(9, "morning"), (15, "afternoon"), (22, "night")}
|
|
804
|
+
->Belt.List.removeAssoc(9, (k, item) => k /* 9 */ == item /* 9, 5, 22 */)
|
|
805
|
+
/* list{(15, "afternoon"), (22, "night")} */
|
|
806
|
+
```
|
|
807
|
+
*)
|
|
808
|
+
|
|
809
|
+
val setAssocU :
|
|
810
|
+
('a * 'c) t -> 'a -> 'c -> (('a -> 'a -> bool)[@bs]) -> ('a * 'c) t
|
|
811
|
+
(** Uncurried version of [setAssoc](#setAssoc). *)
|
|
812
|
+
|
|
813
|
+
val setAssoc : ('a * 'c) t -> 'a -> 'c -> ('a -> 'a -> bool) -> ('a * 'c) t
|
|
814
|
+
(**
|
|
815
|
+
If `k` exists in `someList` by satisfying the `eqFunction` predicate, return a new list with the key and value replaced by the new `k` and `v`; otherwise, return a new list with the pair `k`, `v` added to the head of `someList`.
|
|
816
|
+
|
|
817
|
+
```res example
|
|
818
|
+
list{(1, "a"), (2, "b"), (3, "c")}->Belt.List.setAssoc(2, "x", (a, b) => a == b) /* list{(1, "a"), (2, "x"), (3, "c")} */
|
|
819
|
+
|
|
820
|
+
list{(1, "a"), (3, "c")}->Belt.List.setAssoc(2, "b", (a, b) => a == b) /* list{(2, "b"), (1, "a"), (3, "c")} */
|
|
821
|
+
|
|
822
|
+
list{(9, "morning"), (3, "morning?!"), (22, "night")}
|
|
823
|
+
->Belt.List.setAssoc(15, "afternoon", (a, b) => mod(a, 12) == mod(b, 12))
|
|
824
|
+
/* list{(9, "morning"), (15, "afternoon"), (22, "night")} */
|
|
825
|
+
```
|
|
826
|
+
|
|
827
|
+
**Please note**
|
|
828
|
+
|
|
829
|
+
In the last example, since: `15 mod 12` equals `3 mod 12`
|
|
830
|
+
|
|
831
|
+
Both the key _and_ the value are replaced in the list.
|
|
832
|
+
*)
|
|
833
|
+
|
|
834
|
+
val sortU : 'a t -> (('a -> 'a -> int)[@bs]) -> 'a t
|
|
835
|
+
(** Uncurried version of [sort](#sort). *)
|
|
836
|
+
|
|
837
|
+
val sort : 'a t -> ('a -> 'a -> int) -> 'a t
|
|
838
|
+
(**
|
|
839
|
+
Returns a sorted list.
|
|
840
|
+
|
|
841
|
+
```res example
|
|
842
|
+
Belt.List.sort(list{5, 4, 9, 3, 7}, (a, b) => a - b) // list{3, 4, 5, 7, 9}
|
|
843
|
+
```
|
|
844
|
+
*)
|