@tellahq/rescript 10.1.4-republish-2 → 10.1.4-republish-3
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/darwin/bsb_helper.exe +0 -0
- package/darwin/bsc.exe +0 -0
- package/darwin/ninja.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.exe +0 -0
- package/darwinarm64/rescript.exe +0 -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 +316 -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_promise2.cmi +0 -0
- package/lib/ocaml/js_promise2.cmt +0 -0
- package/lib/ocaml/js_promise2.res +58 -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.res +40 -0
- package/lib/ocaml/jsxDOM.cmi +0 -0
- package/lib/ocaml/jsxDOM.cmt +0 -0
- package/lib/ocaml/jsxDOM.res +620 -0
- package/lib/ocaml/jsxDOMStyle.cmi +0 -0
- package/lib/ocaml/jsxDOMStyle.cmt +0 -0
- package/lib/ocaml/jsxDOMStyle.ml +781 -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/jsxPPXReactSupport.cmi +0 -0
- package/lib/ocaml/jsxPPXReactSupport.cmt +0 -0
- package/lib/ocaml/jsxPPXReactSupport.res +48 -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 +75 -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.exe +0 -0
- package/linux/rescript.exe +0 -0
- package/ninja.COPYING +202 -0
- package/package.json +1 -1
- package/vendor/ninja.tar.gz +0 -0
- package/win32/bsb_helper.exe +0 -0
- package/win32/bsc.exe +0 -0
- package/win32/ninja.exe +0 -0
- package/win32/refmt.exe +0 -0
- package/win32/rescript.exe +0 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
# 2 "others/map.cppo.mli"
|
|
2
|
+
type key = string
|
|
3
|
+
# 8 "others/map.cppo.mli"
|
|
4
|
+
type 'value t
|
|
5
|
+
(** The type of maps from type `key` to type `'value`. *)
|
|
6
|
+
|
|
7
|
+
val empty: 'v t
|
|
8
|
+
|
|
9
|
+
val isEmpty: 'v t -> bool
|
|
10
|
+
|
|
11
|
+
val has: 'v t -> key -> bool
|
|
12
|
+
|
|
13
|
+
val cmpU: 'v t -> 'v t -> ('v -> 'v -> int [@bs]) -> int
|
|
14
|
+
val cmp: 'v t -> 'v t -> ('v -> 'v -> int) -> int
|
|
15
|
+
|
|
16
|
+
val eqU: 'v t -> 'v t -> ('v -> 'v -> bool [@bs]) -> bool
|
|
17
|
+
val eq: 'v t -> 'v t -> ('v -> 'v -> bool) -> bool
|
|
18
|
+
(**
|
|
19
|
+
`eq m1 m2` tests whether the maps `m1` and `m2` are
|
|
20
|
+
equal, that is, contain equal keys and associate them with
|
|
21
|
+
equal data.
|
|
22
|
+
*)
|
|
23
|
+
|
|
24
|
+
val findFirstByU : 'v t -> (key -> 'v -> bool [@bs]) -> (key * 'v) option
|
|
25
|
+
val findFirstBy : 'v t -> (key -> 'v -> bool) -> (key * 'v) option
|
|
26
|
+
(**
|
|
27
|
+
`findFirstBy m p` uses funcion `f` to find the first key value pair
|
|
28
|
+
to match predicate `p`.
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
let s0 = fromArray ~id:(module IntCmp) [|4,"4";1,"1";2,"2,"3""|];;
|
|
32
|
+
findFirstBy s0 (fun k v -> k = 4 ) = option (4, "4");;
|
|
33
|
+
```
|
|
34
|
+
*)
|
|
35
|
+
|
|
36
|
+
val forEachU: 'v t -> (key -> 'v -> unit [@bs]) -> unit
|
|
37
|
+
val forEach: 'v t -> (key -> 'v -> unit) -> unit
|
|
38
|
+
(**
|
|
39
|
+
`forEach m f` applies `f` to all bindings in map `m`.
|
|
40
|
+
`f` receives the key as first argument, and the associated value
|
|
41
|
+
as second argument. The bindings are passed to `f` in increasing
|
|
42
|
+
order with respect to the ordering over the type of the keys.
|
|
43
|
+
*)
|
|
44
|
+
|
|
45
|
+
val reduceU: 'v t -> 'v2 -> ('v2 -> key -> 'v -> 'v2 [@bs]) -> 'v2
|
|
46
|
+
val reduce: 'v t -> 'v2 -> ('v2 -> key -> 'v -> 'v2) -> 'v2
|
|
47
|
+
(**
|
|
48
|
+
`reduce m a f` computes `(f kN dN ... (f k1 d1 a)...)`,
|
|
49
|
+
where `k1 ... kN` are the keys of all bindings in `m`
|
|
50
|
+
(in increasing order), and `d1 ... dN` are the associated data.
|
|
51
|
+
*)
|
|
52
|
+
|
|
53
|
+
val everyU: 'v t -> (key -> 'v -> bool [@bs]) -> bool
|
|
54
|
+
val every: 'v t -> (key -> 'v -> bool) -> bool
|
|
55
|
+
(** `every m p` checks if all the bindings of the map
|
|
56
|
+
satisfy the predicate `p`. Order unspecified *)
|
|
57
|
+
|
|
58
|
+
val someU: 'v t -> (key -> 'v -> bool [@bs]) -> bool
|
|
59
|
+
val some: 'v t -> (key -> 'v -> bool) -> bool
|
|
60
|
+
(** `some m p` checks if at least one binding of the map
|
|
61
|
+
satisfy the predicate `p`. Order unspecified *)
|
|
62
|
+
|
|
63
|
+
val size: 'v t -> int
|
|
64
|
+
|
|
65
|
+
val toList: 'v t -> (key * 'v) list
|
|
66
|
+
(** In increasing order. *)
|
|
67
|
+
|
|
68
|
+
val toArray: 'v t -> (key * 'v) array
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
val fromArray: (key * 'v) array -> 'v t
|
|
72
|
+
|
|
73
|
+
val keysToArray: 'v t -> key array
|
|
74
|
+
|
|
75
|
+
val valuesToArray: 'v t -> 'v array
|
|
76
|
+
|
|
77
|
+
val minKey: _ t -> key option
|
|
78
|
+
|
|
79
|
+
val minKeyUndefined: _ t -> key Js.undefined
|
|
80
|
+
|
|
81
|
+
val maxKey: _ t -> key option
|
|
82
|
+
|
|
83
|
+
val maxKeyUndefined: _ t -> key Js.undefined
|
|
84
|
+
|
|
85
|
+
val minimum: 'v t -> (key * 'v) option
|
|
86
|
+
|
|
87
|
+
val minUndefined: 'v t -> (key * 'v) Js.undefined
|
|
88
|
+
|
|
89
|
+
val maximum: 'v t -> (key * 'v) option
|
|
90
|
+
|
|
91
|
+
val maxUndefined: 'v t -> (key * 'v) Js.undefined
|
|
92
|
+
|
|
93
|
+
val get: 'v t -> key -> 'v option
|
|
94
|
+
|
|
95
|
+
val getUndefined: 'v t -> key -> 'v Js.undefined
|
|
96
|
+
|
|
97
|
+
val getWithDefault: 'v t -> key -> 'v -> 'v
|
|
98
|
+
|
|
99
|
+
val getExn: 'v t -> key -> 'v
|
|
100
|
+
|
|
101
|
+
val checkInvariantInternal: _ t -> unit
|
|
102
|
+
(**
|
|
103
|
+
**raise** when invariant is not held
|
|
104
|
+
*)
|
|
105
|
+
|
|
106
|
+
val remove: 'v t -> key -> 'v t
|
|
107
|
+
(** `remove m x` returns a map containing the same bindings as
|
|
108
|
+
`m`, except for `x` which is unbound in the returned map. *)
|
|
109
|
+
|
|
110
|
+
val removeMany: 'v t -> key array -> 'v t
|
|
111
|
+
|
|
112
|
+
val set: 'v t -> key -> 'v -> 'v t
|
|
113
|
+
(**
|
|
114
|
+
`set m x y` returns a map containing the same bindings as
|
|
115
|
+
`m`, plus a binding of `x` to `y`. If `x` was already bound
|
|
116
|
+
in `m`, its previous binding disappears.
|
|
117
|
+
*)
|
|
118
|
+
|
|
119
|
+
val updateU: 'v t -> key -> ('v option -> 'v option [@bs]) -> 'v t
|
|
120
|
+
val update: 'v t -> key -> ('v option -> 'v option) -> 'v t
|
|
121
|
+
|
|
122
|
+
val mergeU:
|
|
123
|
+
'v t -> 'v2 t ->
|
|
124
|
+
(key -> 'v option -> 'v2 option -> 'c option [@bs]) ->
|
|
125
|
+
'c t
|
|
126
|
+
val merge:
|
|
127
|
+
'v t -> 'v2 t ->
|
|
128
|
+
(key -> 'v option -> 'v2 option -> 'c option) ->
|
|
129
|
+
'c t
|
|
130
|
+
(**
|
|
131
|
+
`merge m1 m2 f` computes a map whose keys is a subset of keys of `m1`
|
|
132
|
+
and of `m2`. The presence of each such binding, and the corresponding
|
|
133
|
+
value, is determined with the function `f`.
|
|
134
|
+
*)
|
|
135
|
+
|
|
136
|
+
val mergeMany: 'v t -> (key * 'v) array -> 'v t
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
val keepU:
|
|
140
|
+
'v t ->
|
|
141
|
+
(key -> 'v -> bool [@bs]) ->
|
|
142
|
+
'v t
|
|
143
|
+
val keep:
|
|
144
|
+
'v t ->
|
|
145
|
+
(key -> 'v -> bool) ->
|
|
146
|
+
'v t
|
|
147
|
+
(** `keep m p` returns the map with all the bindings in `m`
|
|
148
|
+
that satisfy predicate `p`. *)
|
|
149
|
+
|
|
150
|
+
val partitionU:
|
|
151
|
+
'v t ->
|
|
152
|
+
(key -> 'v -> bool [@bs]) ->
|
|
153
|
+
'v t * 'v t
|
|
154
|
+
val partition:
|
|
155
|
+
'v t ->
|
|
156
|
+
(key -> 'v -> bool) ->
|
|
157
|
+
'v t * 'v t
|
|
158
|
+
(**
|
|
159
|
+
`partition m p` returns a pair of maps `(m1, m2)`, where
|
|
160
|
+
`m1` contains all the bindings of `s` that satisfy the
|
|
161
|
+
predicate `p`, and `m2` is the map with all the bindings of
|
|
162
|
+
`s` that do not satisfy `p`.
|
|
163
|
+
*)
|
|
164
|
+
|
|
165
|
+
val split: key -> 'v t -> 'v t * 'v option * 'v t
|
|
166
|
+
(**
|
|
167
|
+
`split x m` returns a triple `(l, data, r)`, where
|
|
168
|
+
`l` is the map with all the bindings of `m` whose key
|
|
169
|
+
is strictly less than `x`;
|
|
170
|
+
`r` is the map with all the bindings of `m` whose key
|
|
171
|
+
is strictly greater than `x`;
|
|
172
|
+
`data` is `None` if `m` contains no binding for `x`,
|
|
173
|
+
or `Some v` if `m` binds `v` to `x`.
|
|
174
|
+
*)
|
|
175
|
+
|
|
176
|
+
val mapU: 'v t -> ('v -> 'v2 [@bs]) -> 'v2 t
|
|
177
|
+
val map: 'v t -> ('v -> 'v2) -> 'v2 t
|
|
178
|
+
(**
|
|
179
|
+
`map m f` returns a map with same domain as `m`, where the
|
|
180
|
+
associated value `a` of all bindings of `m` has been
|
|
181
|
+
replaced by the result of the application of `f` to `a`.
|
|
182
|
+
The bindings are passed to `f` in increasing order
|
|
183
|
+
with respect to the ordering over the type of the keys.
|
|
184
|
+
*)
|
|
185
|
+
|
|
186
|
+
val mapWithKeyU: 'v t -> (key -> 'v -> 'v2 [@bs]) -> 'v2 t
|
|
187
|
+
val mapWithKey: 'v t -> (key -> 'v -> 'v2) -> 'v2 t
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
|
|
2
|
+
(* Copyright (C) 2017 Hongbo Zhang, Authors of ReScript
|
|
3
|
+
*
|
|
4
|
+
* This program is free software: you can redistribute it and/or modify
|
|
5
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
6
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
* (at your option) any later version.
|
|
8
|
+
*
|
|
9
|
+
* In addition to the permissions granted to you by the LGPL, you may combine
|
|
10
|
+
* or link a "work that uses the Library" with a publicly distributed version
|
|
11
|
+
* of this file to produce a combined library or application, then distribute
|
|
12
|
+
* that combined work under the terms of your choosing, with no requirement
|
|
13
|
+
* to comply with the obligations normally placed on you by section 4 of the
|
|
14
|
+
* LGPL version 3 (or the corresponding section of a later version of the LGPL
|
|
15
|
+
* should you choose to use a later version).
|
|
16
|
+
*
|
|
17
|
+
* This program is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with this program; if not, write to the Free Software
|
|
24
|
+
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
|
|
25
|
+
|
|
26
|
+
module Int = Belt_MutableMapInt
|
|
27
|
+
module String = Belt_MutableMapString
|
|
28
|
+
|
|
29
|
+
module N = Belt_internalAVLtree
|
|
30
|
+
module A = Belt_Array
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
type ('key, 'id) id = ('key, 'id) Belt_Id.comparable
|
|
34
|
+
type ('key, 'id ) cmp = ('key, 'id) Belt_Id.cmp
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
type ('k, 'v, 'id) t = {
|
|
38
|
+
cmp: ('k, 'id) cmp;
|
|
39
|
+
mutable data: ('k, 'v) N.t
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
let rec removeMutateAux nt x ~cmp =
|
|
45
|
+
let k = nt.N.key in
|
|
46
|
+
let c = (Belt_Id.getCmpInternal cmp) x k [@bs] in
|
|
47
|
+
if c = 0 then
|
|
48
|
+
let {N.left = l; right = r} = nt in
|
|
49
|
+
match l, r with
|
|
50
|
+
| Some _, Some nr ->
|
|
51
|
+
nt.right <- (N.removeMinAuxWithRootMutate nt nr);
|
|
52
|
+
Some (N.balMutate nt)
|
|
53
|
+
| None, Some _ ->
|
|
54
|
+
r
|
|
55
|
+
| (Some _ | None ), None -> l
|
|
56
|
+
else
|
|
57
|
+
begin
|
|
58
|
+
if c < 0 then
|
|
59
|
+
match nt.N.left with
|
|
60
|
+
| None -> Some nt
|
|
61
|
+
| Some l ->
|
|
62
|
+
nt.left <- (removeMutateAux ~cmp l x );
|
|
63
|
+
Some (N.balMutate nt)
|
|
64
|
+
else
|
|
65
|
+
match nt.right with
|
|
66
|
+
| None -> Some nt
|
|
67
|
+
| Some r ->
|
|
68
|
+
nt.right <- (removeMutateAux ~cmp r x);
|
|
69
|
+
Some (N.balMutate nt)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
let remove d k =
|
|
73
|
+
let oldRoot = d.data in
|
|
74
|
+
match oldRoot with
|
|
75
|
+
| None -> ()
|
|
76
|
+
| Some oldRoot2 ->
|
|
77
|
+
let newRoot = removeMutateAux ~cmp:(d.cmp) oldRoot2 k in
|
|
78
|
+
if newRoot != oldRoot then
|
|
79
|
+
d.data <- newRoot
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
let rec removeArrayMutateAux t xs i len ~cmp =
|
|
83
|
+
if i < len then
|
|
84
|
+
let ele = A.getUnsafe xs i in
|
|
85
|
+
let u = removeMutateAux t ele ~cmp in
|
|
86
|
+
match u with
|
|
87
|
+
| None -> None
|
|
88
|
+
| Some t -> removeArrayMutateAux t xs (i+1) len ~cmp
|
|
89
|
+
else Some t
|
|
90
|
+
|
|
91
|
+
let removeMany d xs =
|
|
92
|
+
let oldRoot = d.data in
|
|
93
|
+
match oldRoot with
|
|
94
|
+
| None -> ()
|
|
95
|
+
| Some nt ->
|
|
96
|
+
let len = A.length xs in
|
|
97
|
+
let newRoot = removeArrayMutateAux nt xs 0 len ~cmp:(d.cmp) in
|
|
98
|
+
if newRoot != oldRoot then
|
|
99
|
+
d.data <- newRoot
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
let rec updateDone t x f ~cmp =
|
|
103
|
+
match t with
|
|
104
|
+
| None ->
|
|
105
|
+
(match f None [@bs] with
|
|
106
|
+
| Some data -> N.singleton x data
|
|
107
|
+
| None -> t)
|
|
108
|
+
| Some nt ->
|
|
109
|
+
let k = nt.N.key in
|
|
110
|
+
let c = (Belt_Id.getCmpInternal cmp) x k [@bs] in
|
|
111
|
+
if c = 0 then begin
|
|
112
|
+
match f (Some nt.value) [@bs] with
|
|
113
|
+
| None ->
|
|
114
|
+
let {N.left = l; right = r} = nt in
|
|
115
|
+
begin match l, r with
|
|
116
|
+
| Some _, Some nr ->
|
|
117
|
+
nt.right <- (N.removeMinAuxWithRootMutate nt nr);
|
|
118
|
+
Some (N.balMutate nt)
|
|
119
|
+
| None, Some _ ->
|
|
120
|
+
r
|
|
121
|
+
| (Some _ | None), None -> l
|
|
122
|
+
end
|
|
123
|
+
| Some data ->
|
|
124
|
+
nt.value <- data;
|
|
125
|
+
Some nt
|
|
126
|
+
end
|
|
127
|
+
else begin
|
|
128
|
+
(if c < 0 then
|
|
129
|
+
nt.left <- updateDone nt.left x f ~cmp
|
|
130
|
+
else
|
|
131
|
+
nt.right <- updateDone nt.right x f ~cmp
|
|
132
|
+
);
|
|
133
|
+
Some (N.balMutate nt)
|
|
134
|
+
end
|
|
135
|
+
let updateU t x f =
|
|
136
|
+
let oldRoot = t.data in
|
|
137
|
+
let newRoot = updateDone oldRoot x f ~cmp:(t.cmp) in
|
|
138
|
+
if newRoot != oldRoot then
|
|
139
|
+
t.data <- newRoot
|
|
140
|
+
let update t x f = updateU t x (fun [@bs] a -> f a)
|
|
141
|
+
|
|
142
|
+
let make (type key) (type identity) ~(id : (key,identity) id) =
|
|
143
|
+
let module M = (val id) in
|
|
144
|
+
{cmp = M.cmp ; data = None}
|
|
145
|
+
|
|
146
|
+
let clear m = m.data <- None
|
|
147
|
+
|
|
148
|
+
let isEmpty d =
|
|
149
|
+
N.isEmpty (d.data)
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
let minKey m = N.minKey (m.data)
|
|
153
|
+
let minKeyUndefined m = N.minKeyUndefined (m.data)
|
|
154
|
+
let maxKey m = N.maxKey (m.data)
|
|
155
|
+
let maxKeyUndefined m = N.maxKeyUndefined (m.data)
|
|
156
|
+
let minimum m = N.minimum (m.data)
|
|
157
|
+
let minUndefined m = N.minUndefined (m.data)
|
|
158
|
+
let maximum m = N.maximum (m.data)
|
|
159
|
+
let maxUndefined m = N.maxUndefined (m.data)
|
|
160
|
+
|
|
161
|
+
let forEachU d f = N.forEachU (d.data) f
|
|
162
|
+
let forEach d f = forEachU d (fun [@bs] a b -> f a b)
|
|
163
|
+
let reduceU d acc cb = N.reduceU (d.data) acc cb
|
|
164
|
+
let reduce d acc cb = reduceU d acc (fun[@bs] a b c -> cb a b c)
|
|
165
|
+
let everyU d p = N.everyU (d.data) p
|
|
166
|
+
let every d p = everyU d (fun[@bs] a b -> p a b)
|
|
167
|
+
let someU d p = N.someU (d.data) p
|
|
168
|
+
let some d p = someU d (fun [@bs] a b -> p a b)
|
|
169
|
+
let size d =
|
|
170
|
+
N.size (d.data)
|
|
171
|
+
let toList d =
|
|
172
|
+
N.toList (d.data)
|
|
173
|
+
let toArray d =
|
|
174
|
+
N.toArray (d.data)
|
|
175
|
+
let keysToArray d =
|
|
176
|
+
N.keysToArray (d.data)
|
|
177
|
+
let valuesToArray d =
|
|
178
|
+
N.valuesToArray (d.data)
|
|
179
|
+
|
|
180
|
+
(* let fromSortedArrayUnsafe (type key) (type identity) ~(id : (key,identity) id) xs : _ t =
|
|
181
|
+
let module M = (val id) in
|
|
182
|
+
S.t ~data:(N.fromSortedArrayUnsafe xs) ~cmp:M.cmp *)
|
|
183
|
+
|
|
184
|
+
let checkInvariantInternal d =
|
|
185
|
+
N.checkInvariantInternal (d.data)
|
|
186
|
+
|
|
187
|
+
let cmpU m1 m2 cmp =
|
|
188
|
+
N.cmpU ~kcmp:(m1.cmp) ~vcmp:cmp (m1.data) (m2.data)
|
|
189
|
+
let cmp m1 m2 cmp = cmpU m1 m2 (fun[@bs] a b -> cmp a b)
|
|
190
|
+
|
|
191
|
+
let eqU m1 m2 cmp =
|
|
192
|
+
N.eqU ~kcmp:(m1.cmp) ~veq:cmp (m1.data) (m2.data)
|
|
193
|
+
let eq m1 m2 cmp = eqU m1 m2 (fun[@bs] a b -> cmp a b)
|
|
194
|
+
|
|
195
|
+
let mapU m f =
|
|
196
|
+
{cmp = m.cmp; data = N.mapU (m.data) f}
|
|
197
|
+
let map m f = mapU m (fun[@bs] a -> f a )
|
|
198
|
+
let mapWithKeyU m f =
|
|
199
|
+
{cmp = m.cmp; data = N.mapWithKeyU (m.data) f}
|
|
200
|
+
let mapWithKey m f = mapWithKeyU m (fun [@bs] a b -> f a b)
|
|
201
|
+
let get m x =
|
|
202
|
+
N.get ~cmp:(m.cmp) (m.data) x
|
|
203
|
+
|
|
204
|
+
let getUndefined m x =
|
|
205
|
+
N.getUndefined ~cmp:(m.cmp) (m.data) x
|
|
206
|
+
|
|
207
|
+
let getWithDefault m x def =
|
|
208
|
+
N.getWithDefault ~cmp:(m.cmp) (m.data) x def
|
|
209
|
+
|
|
210
|
+
let getExn m x =
|
|
211
|
+
N.getExn ~cmp:(m.cmp) (m.data) x
|
|
212
|
+
|
|
213
|
+
let has m x =
|
|
214
|
+
N.has ~cmp:(m.cmp) (m.data) x
|
|
215
|
+
|
|
216
|
+
let fromArray (type k identity) data ~(id : (k,identity) id)=
|
|
217
|
+
let module M = (val id ) in
|
|
218
|
+
let cmp = M.cmp in
|
|
219
|
+
{cmp; data = N.fromArray ~cmp data}
|
|
220
|
+
|
|
221
|
+
let set m e v =
|
|
222
|
+
let oldRoot = m.data in
|
|
223
|
+
let newRoot = N.updateMutate ~cmp:(m.cmp) oldRoot e v in
|
|
224
|
+
if newRoot != oldRoot then
|
|
225
|
+
m.data <- newRoot
|
|
226
|
+
|
|
227
|
+
let mergeManyAux t xs ~cmp =
|
|
228
|
+
let v = ref t in
|
|
229
|
+
for i = 0 to A.length xs - 1 do
|
|
230
|
+
let key,value = A.getUnsafe xs i in
|
|
231
|
+
v .contents<- N.updateMutate v.contents key value ~cmp
|
|
232
|
+
done;
|
|
233
|
+
v.contents
|
|
234
|
+
|
|
235
|
+
let mergeMany d xs =
|
|
236
|
+
let oldRoot = d.data in
|
|
237
|
+
let newRoot = mergeManyAux oldRoot xs ~cmp:(d.cmp) in
|
|
238
|
+
if newRoot != oldRoot then
|
|
239
|
+
d.data <- newRoot
|
|
240
|
+
|
|
241
|
+
|
|
@@ -0,0 +1,145 @@
|
|
|
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
|
+
module Int = Belt_MutableMapInt
|
|
26
|
+
|
|
27
|
+
module String = Belt_MutableMapString
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
(** A mutable sorted map module which allows customize compare behavior.
|
|
31
|
+
|
|
32
|
+
Same as `Belt.Map`, but mutable.
|
|
33
|
+
*)
|
|
34
|
+
|
|
35
|
+
(* ```res prelude
|
|
36
|
+
type t<'k, 'v, 'id>
|
|
37
|
+
type id<'key, 'id> = Belt_Id.comparable<'key, 'id>
|
|
38
|
+
```
|
|
39
|
+
*)
|
|
40
|
+
|
|
41
|
+
type ('k,'v,'id) t
|
|
42
|
+
type ('key, 'id) id = ('key, 'id) Belt_Id.comparable
|
|
43
|
+
|
|
44
|
+
val make: id:('k, 'id) id -> ('k, 'a, 'id) t
|
|
45
|
+
val clear: _ t -> unit
|
|
46
|
+
val isEmpty: _ t -> bool
|
|
47
|
+
val has: ('k, _, _) t -> 'k -> bool
|
|
48
|
+
|
|
49
|
+
val cmpU:
|
|
50
|
+
('k, 'a, 'id) t ->
|
|
51
|
+
('k, 'a, 'id) t ->
|
|
52
|
+
('a -> 'a -> int [@bs]) ->
|
|
53
|
+
int
|
|
54
|
+
val cmp:
|
|
55
|
+
('k, 'a, 'id) t ->
|
|
56
|
+
('k, 'a, 'id) t ->
|
|
57
|
+
('a -> 'a -> int ) ->
|
|
58
|
+
int
|
|
59
|
+
(** `cmp(m1, m2, cmp)` First compare by size, if size is the same, compare by
|
|
60
|
+
key, value pair. *)
|
|
61
|
+
|
|
62
|
+
val eqU: ('k, 'a, 'id) t -> ('k, 'a, 'id) t -> ('a -> 'a -> bool [@bs]) -> bool
|
|
63
|
+
val eq: ('k, 'a, 'id) t -> ('k, 'a, 'id) t -> ('a -> 'a -> bool) -> bool
|
|
64
|
+
(** `eq(m1, m2, eqf)` tests whether the maps `m1` and `m2` are equal, that is,
|
|
65
|
+
contain equal keys and associate them with equal data. `eqf` is the
|
|
66
|
+
equality predicate used to compare the data associated with the keys. *)
|
|
67
|
+
|
|
68
|
+
val forEachU: ('k, 'a, 'id) t -> ('k -> 'a -> unit [@bs]) -> unit
|
|
69
|
+
val forEach: ('k, 'a, 'id) t -> ('k -> 'a -> unit) -> unit
|
|
70
|
+
(** `forEach(m, f)` applies f to all bindings in map `m`. `f` receives the `'k`
|
|
71
|
+
as first argument, and the associated value as second argument. The
|
|
72
|
+
bindings are passed to `f` in increasing order with respect to the ordering
|
|
73
|
+
over the type of the keys. *)
|
|
74
|
+
|
|
75
|
+
val reduceU: ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b [@bs]) -> 'b
|
|
76
|
+
val reduce: ('k, 'a, 'id) t -> 'b -> ('b -> 'k -> 'a -> 'b) -> 'b
|
|
77
|
+
(** `reduce(m, a, f), computes`(f(kN, dN) ... (f(k1, d1, a))...)`, where`k1 ...
|
|
78
|
+
kN`are the keys of all bindings in`m`(in increasing order), and`d1 ... dN`
|
|
79
|
+
are the associated data. *)
|
|
80
|
+
|
|
81
|
+
val everyU: ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
|
|
82
|
+
val every: ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
|
|
83
|
+
(** `every(m, p)` checks if all the bindings of the map satisfy the predicate
|
|
84
|
+
`p`. *)
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
val someU: ('k, 'a, 'id) t -> ('k -> 'a -> bool [@bs]) -> bool
|
|
88
|
+
val some: ('k, 'a, 'id) t -> ('k -> 'a -> bool) -> bool
|
|
89
|
+
(** `some(m, p)` checks if at least one binding of the map satisfy the
|
|
90
|
+
predicate `p`. *)
|
|
91
|
+
|
|
92
|
+
val size: ('k, 'a, 'id) t -> int
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
val toList: ('k, 'a, 'id) t -> ('k * 'a) list
|
|
96
|
+
(** In increasing order. *)
|
|
97
|
+
|
|
98
|
+
val toArray: ('k, 'a, 'id) t -> ('k * 'a) array
|
|
99
|
+
|
|
100
|
+
val fromArray: ('k * 'a) array -> id:('k,'id) id -> ('k,'a,'id) t
|
|
101
|
+
val keysToArray: ('k, _, _) t -> 'k array
|
|
102
|
+
val valuesToArray: (_, 'a, _) t -> 'a array
|
|
103
|
+
val minKey: ('k, _, _) t -> 'k option
|
|
104
|
+
val minKeyUndefined: ('k, _, _) t -> 'k Js.undefined
|
|
105
|
+
val maxKey: ('k, _, _) t -> 'k option
|
|
106
|
+
val maxKeyUndefined: ('k, _, _) t -> 'k Js.undefined
|
|
107
|
+
val minimum: ('k, 'a, _) t -> ('k * 'a) option
|
|
108
|
+
val minUndefined: ('k, 'a, _) t -> ('k * 'a) Js.undefined
|
|
109
|
+
val maximum: ('k, 'a, _) t -> ('k * 'a) option
|
|
110
|
+
val maxUndefined:('k, 'a, _) t -> ('k * 'a) Js.undefined
|
|
111
|
+
val get: ('k, 'a, 'id) t -> 'k -> 'a option
|
|
112
|
+
val getUndefined: ('k, 'a, 'id) t -> 'k -> 'a Js.undefined
|
|
113
|
+
val getWithDefault:
|
|
114
|
+
('k, 'a, 'id) t -> 'k -> 'a -> 'a
|
|
115
|
+
val getExn: ('k, 'a, 'id) t -> 'k -> 'a
|
|
116
|
+
val checkInvariantInternal: _ t -> unit
|
|
117
|
+
(** Raise when invariant is not held. *)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
(****************************************************************************)
|
|
121
|
+
|
|
122
|
+
(*TODO: add functional `merge, partition, keep, split`*)
|
|
123
|
+
|
|
124
|
+
val remove: ('k, 'a, 'id) t -> 'k -> unit
|
|
125
|
+
(** `remove(m, x)` do the in-place modification. *)
|
|
126
|
+
|
|
127
|
+
val removeMany: ('k, 'a, 'id) t -> 'k array -> unit
|
|
128
|
+
|
|
129
|
+
val set: ('k, 'a, 'id) t -> 'k -> 'a -> unit
|
|
130
|
+
(** `set(m, x, y)` do the in-place modification *)
|
|
131
|
+
|
|
132
|
+
val updateU: ('k, 'a, 'id) t -> 'k -> ('a option -> 'a option [@bs]) -> unit
|
|
133
|
+
val update: ('k, 'a, 'id) t -> 'k -> ('a option -> 'a option) -> unit
|
|
134
|
+
|
|
135
|
+
val mergeMany: ('k, 'a, 'id) t -> ('k * 'a) array -> unit
|
|
136
|
+
|
|
137
|
+
val mapU: ('k, 'a, 'id) t -> ('a -> 'b [@bs]) -> ('k ,'b,'id ) t
|
|
138
|
+
val map: ('k, 'a, 'id) t -> ('a -> 'b) -> ('k ,'b,'id ) t
|
|
139
|
+
(** `map(m, f)` returns a map with same domain as `m`, where the associated
|
|
140
|
+
value a of all bindings of `m` has been replaced by the result of the
|
|
141
|
+
application of `f` to `a`. The bindings are passed to `f` in increasing
|
|
142
|
+
order with respect to the ordering over the type of the keys. *)
|
|
143
|
+
|
|
144
|
+
val mapWithKeyU: ('k, 'a, 'id) t -> ('k -> 'a -> 'b [@bs]) -> ('k, 'b, 'id) t
|
|
145
|
+
val mapWithKey: ('k, 'a, 'id) t -> ('k -> 'a -> 'b) -> ('k, 'b, 'id) t
|
|
Binary file
|
|
Binary file
|
|
Binary file
|