@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,172 @@
|
|
|
1
|
+
# 2 "others/mapm.cppo.ml"
|
|
2
|
+
module I = Belt_internalMapInt
|
|
3
|
+
type key = int
|
|
4
|
+
# 10 "others/mapm.cppo.ml"
|
|
5
|
+
module N = Belt_internalAVLtree
|
|
6
|
+
module A = Belt_Array
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
type 'a t = {
|
|
12
|
+
mutable data : 'a I.t
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
let make () = {data = None}
|
|
17
|
+
let isEmpty m = N.isEmpty m.data
|
|
18
|
+
let clear m = m.data<- None
|
|
19
|
+
(* let singleton k v = t ~data:(N.singleton k v) *)
|
|
20
|
+
|
|
21
|
+
let minKeyUndefined m = N.minKeyUndefined m.data
|
|
22
|
+
let minKey m = N.minKey m.data
|
|
23
|
+
let maxKeyUndefined m = N.maxKeyUndefined m.data
|
|
24
|
+
let maxKey m = N.maxKey m.data
|
|
25
|
+
let minimum m = N.minimum m.data
|
|
26
|
+
let minUndefined m = N.minUndefined m.data
|
|
27
|
+
let maximum m = N.maximum m.data
|
|
28
|
+
let maxUndefined m = N.maxUndefined m.data
|
|
29
|
+
|
|
30
|
+
let set (m : _ t) k v =
|
|
31
|
+
let old_data = m.data in
|
|
32
|
+
let v = I.addMutate old_data k v in
|
|
33
|
+
if v != old_data then
|
|
34
|
+
m.data <-v
|
|
35
|
+
|
|
36
|
+
let forEachU d f = N.forEachU d.data f
|
|
37
|
+
let forEach d f = forEachU d (fun[@bs] a b -> f a b)
|
|
38
|
+
let mapU d f = {data = N.mapU d.data f}
|
|
39
|
+
let map d f = mapU d (fun[@bs] a -> f a )
|
|
40
|
+
let mapWithKeyU d f = { data = (N.mapWithKeyU d.data f)}
|
|
41
|
+
let mapWithKey d f = mapWithKeyU d (fun [@bs] a b -> f a b)
|
|
42
|
+
let reduceU d acc f = N.reduceU d.data acc f
|
|
43
|
+
let reduce d acc f = reduceU d acc (fun[@bs] a b c -> f a b c)
|
|
44
|
+
let everyU d f = N.everyU d.data f
|
|
45
|
+
let every d f = everyU d (fun[@bs] a b -> f a b)
|
|
46
|
+
let someU d f = N.someU d.data f
|
|
47
|
+
let some d f = someU d (fun[@bs] a b -> f a b)
|
|
48
|
+
let size d = N.size d.data
|
|
49
|
+
let toList d = N.toList d.data
|
|
50
|
+
let toArray d = N.toArray d.data
|
|
51
|
+
let keysToArray d = N.keysToArray d.data
|
|
52
|
+
let valuesToArray d = N.valuesToArray d.data
|
|
53
|
+
let checkInvariantInternal d = N.checkInvariantInternal d.data
|
|
54
|
+
let has d v = I.has d.data v
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
let rec removeMutateAux nt (x : key)=
|
|
58
|
+
let k = nt.N.key in
|
|
59
|
+
if x = k then
|
|
60
|
+
let {N.left = l; right = r} = nt in
|
|
61
|
+
match l, r with
|
|
62
|
+
| None, _ -> r
|
|
63
|
+
| _, None -> l
|
|
64
|
+
| _, Some nr ->
|
|
65
|
+
nt.right <- (N.removeMinAuxWithRootMutate nt nr);
|
|
66
|
+
Some (N.balMutate nt)
|
|
67
|
+
else
|
|
68
|
+
begin
|
|
69
|
+
if x < k then
|
|
70
|
+
match nt.left with
|
|
71
|
+
| None -> Some nt
|
|
72
|
+
| Some l ->
|
|
73
|
+
nt.left <- (removeMutateAux l x );
|
|
74
|
+
Some (N.balMutate nt)
|
|
75
|
+
else
|
|
76
|
+
match nt.right with
|
|
77
|
+
| None -> Some nt
|
|
78
|
+
| Some r ->
|
|
79
|
+
nt.right <- (removeMutateAux r x);
|
|
80
|
+
Some (N.balMutate nt)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
let remove d v =
|
|
84
|
+
let oldRoot = d.data in
|
|
85
|
+
match oldRoot with
|
|
86
|
+
| None -> ()
|
|
87
|
+
| Some root ->
|
|
88
|
+
let newRoot = removeMutateAux root v in
|
|
89
|
+
if newRoot != oldRoot then
|
|
90
|
+
d.data <- newRoot
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
let rec updateDone t (x : key) f =
|
|
94
|
+
match t with
|
|
95
|
+
| None ->
|
|
96
|
+
(match f None [@bs] with
|
|
97
|
+
| Some data -> N.singleton x data
|
|
98
|
+
| None -> t)
|
|
99
|
+
| Some nt ->
|
|
100
|
+
let k = nt.N.key in
|
|
101
|
+
(* let c = (Belt_Cmp.getCmpInternal cmp) x k [@bs] in *)
|
|
102
|
+
if k = x then begin
|
|
103
|
+
match f (Some nt.value) [@bs] with
|
|
104
|
+
| None ->
|
|
105
|
+
let {N.left = l; right = r} = nt in
|
|
106
|
+
begin match l, r with
|
|
107
|
+
| None, _ -> r
|
|
108
|
+
| _, None -> l
|
|
109
|
+
| _, Some nr ->
|
|
110
|
+
nt.right <- (N.removeMinAuxWithRootMutate nt nr);
|
|
111
|
+
Some (N.balMutate nt)
|
|
112
|
+
end
|
|
113
|
+
| Some data ->
|
|
114
|
+
nt.value <- data;
|
|
115
|
+
Some nt
|
|
116
|
+
end
|
|
117
|
+
else
|
|
118
|
+
let {N.left = l; right = r} = nt in
|
|
119
|
+
(if x < k then
|
|
120
|
+
let ll = updateDone l x f in
|
|
121
|
+
nt.left <- ll
|
|
122
|
+
else
|
|
123
|
+
nt.right <- (updateDone r x f);
|
|
124
|
+
);
|
|
125
|
+
Some (N.balMutate nt)
|
|
126
|
+
|
|
127
|
+
let updateU t x f =
|
|
128
|
+
let oldRoot = t.data in
|
|
129
|
+
let newRoot = updateDone oldRoot x f in
|
|
130
|
+
if newRoot != oldRoot then
|
|
131
|
+
t.data <- newRoot
|
|
132
|
+
let update t x f = updateU t x (fun[@bs] a -> f a )
|
|
133
|
+
let rec removeArrayMutateAux t xs i len =
|
|
134
|
+
if i < len then
|
|
135
|
+
let ele = A.getUnsafe xs i in
|
|
136
|
+
let u = removeMutateAux t ele in
|
|
137
|
+
match u with
|
|
138
|
+
| None -> None
|
|
139
|
+
| Some t -> removeArrayMutateAux t xs (i+1) len
|
|
140
|
+
else Some t
|
|
141
|
+
|
|
142
|
+
let removeMany (d : _ t) xs =
|
|
143
|
+
let oldRoot = d.data in
|
|
144
|
+
match oldRoot with
|
|
145
|
+
| None -> ()
|
|
146
|
+
| Some nt ->
|
|
147
|
+
let len = A.length xs in
|
|
148
|
+
let newRoot = removeArrayMutateAux nt xs 0 len in
|
|
149
|
+
if newRoot != oldRoot then
|
|
150
|
+
d.data <- newRoot
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
(* let split = I.split *)
|
|
155
|
+
(* let merge = I.merge *)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
let fromArray xs =
|
|
159
|
+
{ data = I.fromArray xs }
|
|
160
|
+
|
|
161
|
+
let cmpU d0 d1 f =
|
|
162
|
+
I.cmpU d0.data d1.data f
|
|
163
|
+
let cmp d0 d1 f = cmpU d0 d1 (fun[@bs] a b -> f a b)
|
|
164
|
+
|
|
165
|
+
let eqU d0 d1 f =
|
|
166
|
+
I.eqU d0.data d1.data f
|
|
167
|
+
let eq d0 d1 f = eqU d0 d1 (fun[@bs] a b -> f a b)
|
|
168
|
+
|
|
169
|
+
let get d x = I.get d.data x
|
|
170
|
+
let getUndefined d x = I.getUndefined d.data x
|
|
171
|
+
let getWithDefault d x def = I.getWithDefault d.data x def
|
|
172
|
+
let getExn d x = I.getExn d.data x
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# 1 "others/mapm.cppo.mli"
|
|
2
|
+
(* Copyright (C) 2017 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
|
+
# 28 "others/mapm.cppo.mli"
|
|
27
|
+
type key = int
|
|
28
|
+
# 32 "others/mapm.cppo.mli"
|
|
29
|
+
type 'a t
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
val make: unit -> 'a t
|
|
33
|
+
val clear: 'a t -> unit
|
|
34
|
+
val isEmpty: 'a t -> bool
|
|
35
|
+
|
|
36
|
+
val has: 'a t -> key -> bool
|
|
37
|
+
|
|
38
|
+
val cmpU: 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
|
|
39
|
+
val cmp: 'a t -> 'a t -> ('a -> 'a -> int) -> int
|
|
40
|
+
(** `cmp m1 m2 cmp`
|
|
41
|
+
First compare by size, if size is the same,
|
|
42
|
+
compare by key, value pair
|
|
43
|
+
*)
|
|
44
|
+
|
|
45
|
+
val eqU: 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
|
|
46
|
+
val eq: 'a t -> 'a t -> ('a -> 'a -> bool ) -> bool
|
|
47
|
+
(** `eq m1 m2 cmp` *)
|
|
48
|
+
|
|
49
|
+
val forEachU: 'a t -> (key -> 'a -> unit [@bs]) -> unit
|
|
50
|
+
val forEach: 'a t -> (key -> 'a -> unit) -> unit
|
|
51
|
+
(** `forEach m f` applies `f` to all bindings in map `m`.
|
|
52
|
+
`f` receives the key as first argument, and the associated value
|
|
53
|
+
as second argument.
|
|
54
|
+
The application order of `f` is in increasing order. *)
|
|
55
|
+
|
|
56
|
+
val reduceU: 'a t -> 'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
|
|
57
|
+
val reduce: 'a t -> 'b -> ('b -> key -> 'a -> 'b ) -> 'b
|
|
58
|
+
(** `reduce m a f` computes `(f kN dN ... (f k1 d1 a)...)`,
|
|
59
|
+
where `k1 ... kN` are the keys of all bindings in `m`
|
|
60
|
+
(in increasing order), and `d1 ... dN` are the associated data. *)
|
|
61
|
+
|
|
62
|
+
val everyU: 'a t -> (key -> 'a -> bool [@bs]) -> bool
|
|
63
|
+
val every: 'a t -> (key -> 'a -> bool) -> bool
|
|
64
|
+
(** `every m p` checks if all the bindings of the map
|
|
65
|
+
satisfy the predicate `p`.
|
|
66
|
+
The application order of `p` is unspecified.
|
|
67
|
+
*)
|
|
68
|
+
|
|
69
|
+
val someU: 'a t -> (key -> 'a -> bool [@bs]) -> bool
|
|
70
|
+
val some: 'a t -> (key -> 'a -> bool) -> bool
|
|
71
|
+
(** `some m p` checks if at least one binding of the map
|
|
72
|
+
satisfy the predicate `p`.
|
|
73
|
+
The application order of `p` is unspecified.
|
|
74
|
+
*)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
val size: 'a t -> int
|
|
80
|
+
val toList: 'a t -> (key * 'a) list
|
|
81
|
+
(** In increasing order *)
|
|
82
|
+
|
|
83
|
+
val toArray: 'a t -> (key * 'a) array
|
|
84
|
+
(** In increasing order *)
|
|
85
|
+
|
|
86
|
+
val fromArray: (key * 'a) array -> 'a t
|
|
87
|
+
val keysToArray: 'a t -> key array
|
|
88
|
+
val valuesToArray: 'a t -> 'a array
|
|
89
|
+
val minKey: _ t -> key option
|
|
90
|
+
val minKeyUndefined: _ t -> key Js.undefined
|
|
91
|
+
val maxKey: _ t -> key option
|
|
92
|
+
val maxKeyUndefined: _ t -> key Js.undefined
|
|
93
|
+
val minimum: 'a t -> (key * 'a) option
|
|
94
|
+
val minUndefined: 'a t -> (key * 'a) Js.undefined
|
|
95
|
+
val maximum: 'a t -> (key * 'a) option
|
|
96
|
+
val maxUndefined: 'a t -> (key * 'a) Js.undefined
|
|
97
|
+
val get: 'a t -> key -> 'a option
|
|
98
|
+
val getUndefined: 'a t -> key -> 'a Js.undefined
|
|
99
|
+
val getWithDefault: 'a t -> key -> 'a -> 'a
|
|
100
|
+
val getExn: 'a t -> key -> 'a
|
|
101
|
+
val checkInvariantInternal: _ t -> unit
|
|
102
|
+
(**
|
|
103
|
+
**raise** when invariant is not held
|
|
104
|
+
*)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
(****************************************************************************)
|
|
109
|
+
|
|
110
|
+
(*TODO: add functional `merge, partition, keep, split`*)
|
|
111
|
+
|
|
112
|
+
val remove: 'a t -> key -> unit
|
|
113
|
+
(** `remove m x` do the in-place modification *)
|
|
114
|
+
|
|
115
|
+
val removeMany: 'a t -> key array -> unit
|
|
116
|
+
|
|
117
|
+
val set: 'a t -> key -> 'a -> unit
|
|
118
|
+
(** `set m x y` do the in-place modification, return
|
|
119
|
+
`m` for chaining. If `x` was already bound
|
|
120
|
+
in `m`, its previous binding disappears. *)
|
|
121
|
+
|
|
122
|
+
val updateU: 'a t -> key -> ('a option -> 'a option [@bs]) -> unit
|
|
123
|
+
val update: 'a t -> key -> ('a option -> 'a option) -> unit
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
val mapU: 'a t -> ('a -> 'b [@bs]) -> 'b t
|
|
127
|
+
val map: 'a t -> ('a -> 'b) -> 'b t
|
|
128
|
+
(** `map m f` returns a map with same domain as `m`, where the
|
|
129
|
+
associated value `a` of all bindings of `m` has been
|
|
130
|
+
replaced by the result of the application of `f` to `a`.
|
|
131
|
+
The bindings are passed to `f` in increasing order
|
|
132
|
+
with respect to the ordering over the type of the keys. *)
|
|
133
|
+
|
|
134
|
+
val mapWithKeyU: 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
|
|
135
|
+
val mapWithKey: 'a t -> (key -> 'a -> 'b) -> 'b t
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# 5 "others/mapm.cppo.ml"
|
|
2
|
+
module I = Belt_internalMapString
|
|
3
|
+
type key = string
|
|
4
|
+
# 10 "others/mapm.cppo.ml"
|
|
5
|
+
module N = Belt_internalAVLtree
|
|
6
|
+
module A = Belt_Array
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
type 'a t = {
|
|
12
|
+
mutable data : 'a I.t
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
let make () = {data = None}
|
|
17
|
+
let isEmpty m = N.isEmpty m.data
|
|
18
|
+
let clear m = m.data<- None
|
|
19
|
+
(* let singleton k v = t ~data:(N.singleton k v) *)
|
|
20
|
+
|
|
21
|
+
let minKeyUndefined m = N.minKeyUndefined m.data
|
|
22
|
+
let minKey m = N.minKey m.data
|
|
23
|
+
let maxKeyUndefined m = N.maxKeyUndefined m.data
|
|
24
|
+
let maxKey m = N.maxKey m.data
|
|
25
|
+
let minimum m = N.minimum m.data
|
|
26
|
+
let minUndefined m = N.minUndefined m.data
|
|
27
|
+
let maximum m = N.maximum m.data
|
|
28
|
+
let maxUndefined m = N.maxUndefined m.data
|
|
29
|
+
|
|
30
|
+
let set (m : _ t) k v =
|
|
31
|
+
let old_data = m.data in
|
|
32
|
+
let v = I.addMutate old_data k v in
|
|
33
|
+
if v != old_data then
|
|
34
|
+
m.data <-v
|
|
35
|
+
|
|
36
|
+
let forEachU d f = N.forEachU d.data f
|
|
37
|
+
let forEach d f = forEachU d (fun[@bs] a b -> f a b)
|
|
38
|
+
let mapU d f = {data = N.mapU d.data f}
|
|
39
|
+
let map d f = mapU d (fun[@bs] a -> f a )
|
|
40
|
+
let mapWithKeyU d f = { data = (N.mapWithKeyU d.data f)}
|
|
41
|
+
let mapWithKey d f = mapWithKeyU d (fun [@bs] a b -> f a b)
|
|
42
|
+
let reduceU d acc f = N.reduceU d.data acc f
|
|
43
|
+
let reduce d acc f = reduceU d acc (fun[@bs] a b c -> f a b c)
|
|
44
|
+
let everyU d f = N.everyU d.data f
|
|
45
|
+
let every d f = everyU d (fun[@bs] a b -> f a b)
|
|
46
|
+
let someU d f = N.someU d.data f
|
|
47
|
+
let some d f = someU d (fun[@bs] a b -> f a b)
|
|
48
|
+
let size d = N.size d.data
|
|
49
|
+
let toList d = N.toList d.data
|
|
50
|
+
let toArray d = N.toArray d.data
|
|
51
|
+
let keysToArray d = N.keysToArray d.data
|
|
52
|
+
let valuesToArray d = N.valuesToArray d.data
|
|
53
|
+
let checkInvariantInternal d = N.checkInvariantInternal d.data
|
|
54
|
+
let has d v = I.has d.data v
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
let rec removeMutateAux nt (x : key)=
|
|
58
|
+
let k = nt.N.key in
|
|
59
|
+
if x = k then
|
|
60
|
+
let {N.left = l; right = r} = nt in
|
|
61
|
+
match l, r with
|
|
62
|
+
| None, _ -> r
|
|
63
|
+
| _, None -> l
|
|
64
|
+
| _, Some nr ->
|
|
65
|
+
nt.right <- (N.removeMinAuxWithRootMutate nt nr);
|
|
66
|
+
Some (N.balMutate nt)
|
|
67
|
+
else
|
|
68
|
+
begin
|
|
69
|
+
if x < k then
|
|
70
|
+
match nt.left with
|
|
71
|
+
| None -> Some nt
|
|
72
|
+
| Some l ->
|
|
73
|
+
nt.left <- (removeMutateAux l x );
|
|
74
|
+
Some (N.balMutate nt)
|
|
75
|
+
else
|
|
76
|
+
match nt.right with
|
|
77
|
+
| None -> Some nt
|
|
78
|
+
| Some r ->
|
|
79
|
+
nt.right <- (removeMutateAux r x);
|
|
80
|
+
Some (N.balMutate nt)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
let remove d v =
|
|
84
|
+
let oldRoot = d.data in
|
|
85
|
+
match oldRoot with
|
|
86
|
+
| None -> ()
|
|
87
|
+
| Some root ->
|
|
88
|
+
let newRoot = removeMutateAux root v in
|
|
89
|
+
if newRoot != oldRoot then
|
|
90
|
+
d.data <- newRoot
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
let rec updateDone t (x : key) f =
|
|
94
|
+
match t with
|
|
95
|
+
| None ->
|
|
96
|
+
(match f None [@bs] with
|
|
97
|
+
| Some data -> N.singleton x data
|
|
98
|
+
| None -> t)
|
|
99
|
+
| Some nt ->
|
|
100
|
+
let k = nt.N.key in
|
|
101
|
+
(* let c = (Belt_Cmp.getCmpInternal cmp) x k [@bs] in *)
|
|
102
|
+
if k = x then begin
|
|
103
|
+
match f (Some nt.value) [@bs] with
|
|
104
|
+
| None ->
|
|
105
|
+
let {N.left = l; right = r} = nt in
|
|
106
|
+
begin match l, r with
|
|
107
|
+
| None, _ -> r
|
|
108
|
+
| _, None -> l
|
|
109
|
+
| _, Some nr ->
|
|
110
|
+
nt.right <- (N.removeMinAuxWithRootMutate nt nr);
|
|
111
|
+
Some (N.balMutate nt)
|
|
112
|
+
end
|
|
113
|
+
| Some data ->
|
|
114
|
+
nt.value <- data;
|
|
115
|
+
Some nt
|
|
116
|
+
end
|
|
117
|
+
else
|
|
118
|
+
let {N.left = l; right = r} = nt in
|
|
119
|
+
(if x < k then
|
|
120
|
+
let ll = updateDone l x f in
|
|
121
|
+
nt.left <- ll
|
|
122
|
+
else
|
|
123
|
+
nt.right <- (updateDone r x f);
|
|
124
|
+
);
|
|
125
|
+
Some (N.balMutate nt)
|
|
126
|
+
|
|
127
|
+
let updateU t x f =
|
|
128
|
+
let oldRoot = t.data in
|
|
129
|
+
let newRoot = updateDone oldRoot x f in
|
|
130
|
+
if newRoot != oldRoot then
|
|
131
|
+
t.data <- newRoot
|
|
132
|
+
let update t x f = updateU t x (fun[@bs] a -> f a )
|
|
133
|
+
let rec removeArrayMutateAux t xs i len =
|
|
134
|
+
if i < len then
|
|
135
|
+
let ele = A.getUnsafe xs i in
|
|
136
|
+
let u = removeMutateAux t ele in
|
|
137
|
+
match u with
|
|
138
|
+
| None -> None
|
|
139
|
+
| Some t -> removeArrayMutateAux t xs (i+1) len
|
|
140
|
+
else Some t
|
|
141
|
+
|
|
142
|
+
let removeMany (d : _ t) xs =
|
|
143
|
+
let oldRoot = d.data in
|
|
144
|
+
match oldRoot with
|
|
145
|
+
| None -> ()
|
|
146
|
+
| Some nt ->
|
|
147
|
+
let len = A.length xs in
|
|
148
|
+
let newRoot = removeArrayMutateAux nt xs 0 len in
|
|
149
|
+
if newRoot != oldRoot then
|
|
150
|
+
d.data <- newRoot
|
|
151
|
+
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
(* let split = I.split *)
|
|
155
|
+
(* let merge = I.merge *)
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
let fromArray xs =
|
|
159
|
+
{ data = I.fromArray xs }
|
|
160
|
+
|
|
161
|
+
let cmpU d0 d1 f =
|
|
162
|
+
I.cmpU d0.data d1.data f
|
|
163
|
+
let cmp d0 d1 f = cmpU d0 d1 (fun[@bs] a b -> f a b)
|
|
164
|
+
|
|
165
|
+
let eqU d0 d1 f =
|
|
166
|
+
I.eqU d0.data d1.data f
|
|
167
|
+
let eq d0 d1 f = eqU d0 d1 (fun[@bs] a b -> f a b)
|
|
168
|
+
|
|
169
|
+
let get d x = I.get d.data x
|
|
170
|
+
let getUndefined d x = I.getUndefined d.data x
|
|
171
|
+
let getWithDefault d x def = I.getWithDefault d.data x def
|
|
172
|
+
let getExn d x = I.getExn d.data x
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# 1 "others/mapm.cppo.mli"
|
|
2
|
+
(* Copyright (C) 2017 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
|
+
# 26 "others/mapm.cppo.mli"
|
|
27
|
+
type key = string
|
|
28
|
+
# 32 "others/mapm.cppo.mli"
|
|
29
|
+
type 'a t
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
val make: unit -> 'a t
|
|
33
|
+
val clear: 'a t -> unit
|
|
34
|
+
val isEmpty: 'a t -> bool
|
|
35
|
+
|
|
36
|
+
val has: 'a t -> key -> bool
|
|
37
|
+
|
|
38
|
+
val cmpU: 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
|
|
39
|
+
val cmp: 'a t -> 'a t -> ('a -> 'a -> int) -> int
|
|
40
|
+
(** `cmp m1 m2 cmp`
|
|
41
|
+
First compare by size, if size is the same,
|
|
42
|
+
compare by key, value pair
|
|
43
|
+
*)
|
|
44
|
+
|
|
45
|
+
val eqU: 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
|
|
46
|
+
val eq: 'a t -> 'a t -> ('a -> 'a -> bool ) -> bool
|
|
47
|
+
(** `eq m1 m2 cmp` *)
|
|
48
|
+
|
|
49
|
+
val forEachU: 'a t -> (key -> 'a -> unit [@bs]) -> unit
|
|
50
|
+
val forEach: 'a t -> (key -> 'a -> unit) -> unit
|
|
51
|
+
(** `forEach m f` applies `f` to all bindings in map `m`.
|
|
52
|
+
`f` receives the key as first argument, and the associated value
|
|
53
|
+
as second argument.
|
|
54
|
+
The application order of `f` is in increasing order. *)
|
|
55
|
+
|
|
56
|
+
val reduceU: 'a t -> 'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
|
|
57
|
+
val reduce: 'a t -> 'b -> ('b -> key -> 'a -> 'b ) -> 'b
|
|
58
|
+
(** `reduce m a f` computes `(f kN dN ... (f k1 d1 a)...)`,
|
|
59
|
+
where `k1 ... kN` are the keys of all bindings in `m`
|
|
60
|
+
(in increasing order), and `d1 ... dN` are the associated data. *)
|
|
61
|
+
|
|
62
|
+
val everyU: 'a t -> (key -> 'a -> bool [@bs]) -> bool
|
|
63
|
+
val every: 'a t -> (key -> 'a -> bool) -> bool
|
|
64
|
+
(** `every m p` checks if all the bindings of the map
|
|
65
|
+
satisfy the predicate `p`.
|
|
66
|
+
The application order of `p` is unspecified.
|
|
67
|
+
*)
|
|
68
|
+
|
|
69
|
+
val someU: 'a t -> (key -> 'a -> bool [@bs]) -> bool
|
|
70
|
+
val some: 'a t -> (key -> 'a -> bool) -> bool
|
|
71
|
+
(** `some m p` checks if at least one binding of the map
|
|
72
|
+
satisfy the predicate `p`.
|
|
73
|
+
The application order of `p` is unspecified.
|
|
74
|
+
*)
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
val size: 'a t -> int
|
|
80
|
+
val toList: 'a t -> (key * 'a) list
|
|
81
|
+
(** In increasing order *)
|
|
82
|
+
|
|
83
|
+
val toArray: 'a t -> (key * 'a) array
|
|
84
|
+
(** In increasing order *)
|
|
85
|
+
|
|
86
|
+
val fromArray: (key * 'a) array -> 'a t
|
|
87
|
+
val keysToArray: 'a t -> key array
|
|
88
|
+
val valuesToArray: 'a t -> 'a array
|
|
89
|
+
val minKey: _ t -> key option
|
|
90
|
+
val minKeyUndefined: _ t -> key Js.undefined
|
|
91
|
+
val maxKey: _ t -> key option
|
|
92
|
+
val maxKeyUndefined: _ t -> key Js.undefined
|
|
93
|
+
val minimum: 'a t -> (key * 'a) option
|
|
94
|
+
val minUndefined: 'a t -> (key * 'a) Js.undefined
|
|
95
|
+
val maximum: 'a t -> (key * 'a) option
|
|
96
|
+
val maxUndefined: 'a t -> (key * 'a) Js.undefined
|
|
97
|
+
val get: 'a t -> key -> 'a option
|
|
98
|
+
val getUndefined: 'a t -> key -> 'a Js.undefined
|
|
99
|
+
val getWithDefault: 'a t -> key -> 'a -> 'a
|
|
100
|
+
val getExn: 'a t -> key -> 'a
|
|
101
|
+
val checkInvariantInternal: _ t -> unit
|
|
102
|
+
(**
|
|
103
|
+
**raise** when invariant is not held
|
|
104
|
+
*)
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
(****************************************************************************)
|
|
109
|
+
|
|
110
|
+
(*TODO: add functional `merge, partition, keep, split`*)
|
|
111
|
+
|
|
112
|
+
val remove: 'a t -> key -> unit
|
|
113
|
+
(** `remove m x` do the in-place modification *)
|
|
114
|
+
|
|
115
|
+
val removeMany: 'a t -> key array -> unit
|
|
116
|
+
|
|
117
|
+
val set: 'a t -> key -> 'a -> unit
|
|
118
|
+
(** `set m x y` do the in-place modification, return
|
|
119
|
+
`m` for chaining. If `x` was already bound
|
|
120
|
+
in `m`, its previous binding disappears. *)
|
|
121
|
+
|
|
122
|
+
val updateU: 'a t -> key -> ('a option -> 'a option [@bs]) -> unit
|
|
123
|
+
val update: 'a t -> key -> ('a option -> 'a option) -> unit
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
val mapU: 'a t -> ('a -> 'b [@bs]) -> 'b t
|
|
127
|
+
val map: 'a t -> ('a -> 'b) -> 'b t
|
|
128
|
+
(** `map m f` returns a map with same domain as `m`, where the
|
|
129
|
+
associated value `a` of all bindings of `m` has been
|
|
130
|
+
replaced by the result of the application of `f` to `a`.
|
|
131
|
+
The bindings are passed to `f` in increasing order
|
|
132
|
+
with respect to the ordering over the type of the keys. *)
|
|
133
|
+
|
|
134
|
+
val mapWithKeyU: 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
|
|
135
|
+
val mapWithKey: 'a t -> (key -> 'a -> 'b) -> 'b t
|
|
Binary file
|
|
Binary file
|
|
Binary file
|