@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,68 @@
|
|
|
1
|
+
(**************************************************************************)
|
|
2
|
+
(* *)
|
|
3
|
+
(* OCaml *)
|
|
4
|
+
(* *)
|
|
5
|
+
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
6
|
+
(* *)
|
|
7
|
+
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
8
|
+
(* en Automatique. *)
|
|
9
|
+
(* *)
|
|
10
|
+
(* All rights reserved. This file is distributed under the terms of *)
|
|
11
|
+
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
12
|
+
(* special exception on linking described in the file LICENSE. *)
|
|
13
|
+
(* *)
|
|
14
|
+
(**************************************************************************)
|
|
15
|
+
|
|
16
|
+
(** MD5 message digest.
|
|
17
|
+
|
|
18
|
+
This module provides functions to compute 128-bit 'digests' of
|
|
19
|
+
arbitrary-length strings or files. The digests are of cryptographic
|
|
20
|
+
quality: it is very hard, given a digest, to forge a string having
|
|
21
|
+
that digest. The algorithm used is MD5. This module should not be
|
|
22
|
+
used for secure and sensitive cryptographic applications. For these
|
|
23
|
+
kind of applications more recent and stronger cryptographic
|
|
24
|
+
primitives should be used instead.
|
|
25
|
+
*)
|
|
26
|
+
|
|
27
|
+
type t = string
|
|
28
|
+
(** The type of digests: 16-character strings. *)
|
|
29
|
+
|
|
30
|
+
val compare : t -> t -> int
|
|
31
|
+
(** The comparison function for 16-character digest, with the same
|
|
32
|
+
specification as {!Pervasives.compare} and the implementation
|
|
33
|
+
shared with {!String.compare}. Along with the type [t], this
|
|
34
|
+
function [compare] allows the module [Digest] to be passed as
|
|
35
|
+
argument to the functors {!Set.Make} and {!Map.Make}.
|
|
36
|
+
@since 4.00.0 *)
|
|
37
|
+
|
|
38
|
+
val equal : t -> t -> bool
|
|
39
|
+
(** The equal function for 16-character digest.
|
|
40
|
+
@since 4.03.0 *)
|
|
41
|
+
|
|
42
|
+
val string : string -> t
|
|
43
|
+
(** Return the digest of the given string. *)
|
|
44
|
+
|
|
45
|
+
val bytes : bytes -> t
|
|
46
|
+
(** Return the digest of the given byte sequence.
|
|
47
|
+
@since 4.02.0 *)
|
|
48
|
+
|
|
49
|
+
val substring : string -> int -> int -> t
|
|
50
|
+
(** [Digest.substring s ofs len] returns the digest of the substring
|
|
51
|
+
of [s] starting at index [ofs] and containing [len] characters. *)
|
|
52
|
+
|
|
53
|
+
val subbytes : bytes -> int -> int -> t
|
|
54
|
+
(** [Digest.subbytes s ofs len] returns the digest of the subsequence
|
|
55
|
+
of [s] starting at index [ofs] and containing [len] bytes.
|
|
56
|
+
@since 4.02.0 *)
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
val to_hex : t -> string
|
|
60
|
+
(** Return the printable hexadecimal representation of the given digest.
|
|
61
|
+
Raise [Invalid_argument] if the argument is not exactly 16 bytes.
|
|
62
|
+
*)
|
|
63
|
+
|
|
64
|
+
val from_hex : string -> t
|
|
65
|
+
(** Convert a hexadecimal representation back into the corresponding digest.
|
|
66
|
+
Raise [Invalid_argument] if the argument is not exactly 32 hexadecimal
|
|
67
|
+
characters.
|
|
68
|
+
@since 4.00.0 *)
|
|
Binary file
|
|
Binary file
|
package/lib/ocaml/dom.ml
ADDED
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
type _baseClass
|
|
2
|
+
|
|
3
|
+
type animation (* Web Animations API *)
|
|
4
|
+
|
|
5
|
+
(* TODO: Should we bother with this indirection?
|
|
6
|
+
(* core *)
|
|
7
|
+
type domString = string
|
|
8
|
+
type domTimestamp = float
|
|
9
|
+
*)
|
|
10
|
+
|
|
11
|
+
(* css *)
|
|
12
|
+
type cssStyleDeclaration
|
|
13
|
+
type cssStyleSheet
|
|
14
|
+
|
|
15
|
+
(* events (early) *)
|
|
16
|
+
type 'a eventTarget_like
|
|
17
|
+
type eventTarget = _baseClass eventTarget_like
|
|
18
|
+
|
|
19
|
+
(* nodes *)
|
|
20
|
+
type 'a _node
|
|
21
|
+
type 'a node_like = 'a _node eventTarget_like
|
|
22
|
+
type node = _baseClass node_like
|
|
23
|
+
type _attr
|
|
24
|
+
type attr = _attr node_like
|
|
25
|
+
type 'a _characterData
|
|
26
|
+
type 'a characterData_like = 'a _characterData node_like
|
|
27
|
+
type characterData = _baseClass characterData_like
|
|
28
|
+
type _cdataSection
|
|
29
|
+
type cdataSection = _cdataSection characterData_like
|
|
30
|
+
type _comment
|
|
31
|
+
type comment = _comment characterData_like
|
|
32
|
+
type 'a _document
|
|
33
|
+
type 'a document_like = 'a _document node_like
|
|
34
|
+
type document = _baseClass document_like
|
|
35
|
+
type _documentFragment
|
|
36
|
+
type documentFragment = _documentFragment node_like
|
|
37
|
+
type _documentType
|
|
38
|
+
type documentType = _documentType node_like
|
|
39
|
+
type domImplementation
|
|
40
|
+
type 'a _element
|
|
41
|
+
type 'a element_like = 'a _element node_like
|
|
42
|
+
type element = _baseClass element_like
|
|
43
|
+
type htmlCollection
|
|
44
|
+
type htmlFormControlsCollection
|
|
45
|
+
type htmlOptionsCollection
|
|
46
|
+
type intersectionObserver
|
|
47
|
+
type intersectionObserverEntry
|
|
48
|
+
type mutationObserver
|
|
49
|
+
type mutationRecord
|
|
50
|
+
type performanceObserver
|
|
51
|
+
type performanceObserverEntryList
|
|
52
|
+
type reportingObserver
|
|
53
|
+
type reportingObserverOptions
|
|
54
|
+
type resizeObserver
|
|
55
|
+
type resizeObserverEntry
|
|
56
|
+
type namedNodeMap
|
|
57
|
+
type nodeList
|
|
58
|
+
type radioNodeList
|
|
59
|
+
type processingInstruction
|
|
60
|
+
type _shadowRoot
|
|
61
|
+
type shadowRoot = _shadowRoot node_like
|
|
62
|
+
type _text
|
|
63
|
+
type text = _text characterData_like
|
|
64
|
+
|
|
65
|
+
(* geometry *)
|
|
66
|
+
type domRect
|
|
67
|
+
|
|
68
|
+
(* html *)
|
|
69
|
+
type dataTransfer (* Drag and Drop API *)
|
|
70
|
+
type domStringMap
|
|
71
|
+
type history
|
|
72
|
+
type _htmlDocument
|
|
73
|
+
type htmlDocument = _htmlDocument document_like
|
|
74
|
+
type 'a _htmlElement
|
|
75
|
+
type 'a htmlElement_like = 'a _htmlElement element_like
|
|
76
|
+
type htmlElement = _baseClass htmlElement_like
|
|
77
|
+
type _htmlAnchorElement
|
|
78
|
+
type htmlAnchorElement = _htmlAnchorElement htmlElement_like
|
|
79
|
+
type _htmlAreaElement
|
|
80
|
+
type htmlAreaElement = _htmlAreaElement htmlElement_like
|
|
81
|
+
type _htmlAudioElement
|
|
82
|
+
type htmlAudioElement = _htmlAudioElement htmlElement_like
|
|
83
|
+
type _htmlBaseElement
|
|
84
|
+
type htmlBaseElement = _htmlBaseElement htmlElement_like
|
|
85
|
+
type _htmlBodyElement
|
|
86
|
+
type htmlBodyElement = _htmlBodyElement htmlElement_like
|
|
87
|
+
type _htmlBrElement
|
|
88
|
+
type htmlBrElement = _htmlBrElement htmlElement_like
|
|
89
|
+
type _htmlButtonElement
|
|
90
|
+
type htmlButtonElement = _htmlButtonElement htmlElement_like
|
|
91
|
+
type _htmlCanvasElement
|
|
92
|
+
type htmlCanvasElement = _htmlCanvasElement htmlElement_like
|
|
93
|
+
type _htmlDataElement
|
|
94
|
+
type htmlDataElement = _htmlDataElement htmlElement_like
|
|
95
|
+
type _htmlDataListElement
|
|
96
|
+
type htmlDataListElement = _htmlDataListElement htmlElement_like
|
|
97
|
+
type _htmlDialogElement
|
|
98
|
+
type htmlDialogElement = _htmlDialogElement htmlElement_like
|
|
99
|
+
type _htmlDivElement
|
|
100
|
+
type htmlDivElement = _htmlDivElement htmlElement_like
|
|
101
|
+
type _htmlDlistElement
|
|
102
|
+
type htmlDlistElement = _htmlDlistElement htmlElement_like
|
|
103
|
+
type _htmlEmbedElement
|
|
104
|
+
type htmlEmbedElement = _htmlEmbedElement htmlElement_like
|
|
105
|
+
type _htmlFieldSetElement
|
|
106
|
+
type htmlFieldSetElement = _htmlFieldSetElement htmlElement_like
|
|
107
|
+
type _htmlFormElement
|
|
108
|
+
type htmlFormElement = _htmlFormElement htmlElement_like
|
|
109
|
+
type _htmlHeadElement
|
|
110
|
+
type htmlHeadElement = _htmlHeadElement htmlElement_like
|
|
111
|
+
type _htmlHeadingElement
|
|
112
|
+
type htmlHeadingElement = _htmlHeadingElement htmlElement_like
|
|
113
|
+
type _htmlHrElement
|
|
114
|
+
type htmlHrElement = _htmlHrElement htmlElement_like
|
|
115
|
+
type _htmlHtmlElement
|
|
116
|
+
type htmlHtmlElement = _htmlHtmlElement htmlElement_like
|
|
117
|
+
type _htmlIframeElement
|
|
118
|
+
type htmlIframeElement = _htmlIframeElement htmlElement_like
|
|
119
|
+
type _htmlImageElement
|
|
120
|
+
type htmlImageElement = _htmlImageElement htmlElement_like
|
|
121
|
+
type _htmlInputElement
|
|
122
|
+
type htmlInputElement = _htmlInputElement htmlElement_like
|
|
123
|
+
type _htmlLabelElement
|
|
124
|
+
type htmlLabelElement = _htmlLabelElement htmlElement_like
|
|
125
|
+
type _htmlLegendElement
|
|
126
|
+
type htmlLegendElement = _htmlLegendElement htmlElement_like
|
|
127
|
+
type _htmlLiElement
|
|
128
|
+
type htmlLiElement = _htmlLiElement htmlElement_like
|
|
129
|
+
type _htmlLinkElement
|
|
130
|
+
type htmlLinkElement = _htmlLinkElement htmlElement_like
|
|
131
|
+
type _htmlMapElement
|
|
132
|
+
type htmlMapElement = _htmlMapElement htmlElement_like
|
|
133
|
+
type _htmlMediaElement
|
|
134
|
+
type htmlMediaElement = _htmlMediaElement htmlElement_like
|
|
135
|
+
type _htmlMenuElement
|
|
136
|
+
type htmlMenuElement = _htmlMenuElement htmlElement_like
|
|
137
|
+
type _htmlMetaElement
|
|
138
|
+
type htmlMetaElement = _htmlMetaElement htmlElement_like
|
|
139
|
+
type _htmlMeterElement
|
|
140
|
+
type htmlMeterElement = _htmlMeterElement htmlElement_like
|
|
141
|
+
type _htmlModElement
|
|
142
|
+
type htmlModElement = _htmlModElement htmlElement_like
|
|
143
|
+
type _htmlOListElement
|
|
144
|
+
type htmlOListElement = _htmlOListElement htmlElement_like
|
|
145
|
+
type _htmlObjectElement
|
|
146
|
+
type htmlObjectElement = _htmlObjectElement htmlElement_like
|
|
147
|
+
type _htmlOptGroupElement
|
|
148
|
+
type htmlOptGroupElement = _htmlOptGroupElement htmlElement_like
|
|
149
|
+
type _htmlOptionElement
|
|
150
|
+
type htmlOptionElement = _htmlOptionElement htmlElement_like
|
|
151
|
+
type _htmlOutputElement
|
|
152
|
+
type htmlOutputElement = _htmlOutputElement htmlElement_like
|
|
153
|
+
type _htmlParagraphElement
|
|
154
|
+
type htmlParagraphElement = _htmlParagraphElement htmlElement_like
|
|
155
|
+
type _htmlParamElement
|
|
156
|
+
type htmlParamElement = _htmlParamElement htmlElement_like
|
|
157
|
+
type _htmlPreElement
|
|
158
|
+
type htmlPreElement = _htmlPreElement htmlElement_like
|
|
159
|
+
type _htmlProgressElement
|
|
160
|
+
type htmlProgressElement = _htmlProgressElement htmlElement_like
|
|
161
|
+
type _htmlQuoteElement
|
|
162
|
+
type htmlQuoteElement = _htmlQuoteElement htmlElement_like
|
|
163
|
+
type _htmlScriptElement
|
|
164
|
+
type htmlScriptElement = _htmlScriptElement htmlElement_like
|
|
165
|
+
type _htmlSelectElement
|
|
166
|
+
type htmlSelectElement = _htmlSelectElement htmlElement_like
|
|
167
|
+
type _htmlSlotElement
|
|
168
|
+
type htmlSlotElement = _htmlSlotElement htmlElement_like
|
|
169
|
+
type _htmlSourceElement
|
|
170
|
+
type htmlSourceElement = _htmlSourceElement htmlElement_like
|
|
171
|
+
type _htmlSpanElement
|
|
172
|
+
type htmlSpanElement = _htmlSpanElement htmlElement_like
|
|
173
|
+
type _htmlStyleElement
|
|
174
|
+
type htmlStyleElement = _htmlStyleElement htmlElement_like
|
|
175
|
+
type _htmlTableCaptionElement
|
|
176
|
+
type htmlTableCaptionElement = _htmlTableCaptionElement htmlElement_like
|
|
177
|
+
type _htmlTableCellElement
|
|
178
|
+
type htmlTableCellElement = _htmlTableCellElement htmlElement_like
|
|
179
|
+
type _htmlTableColElement
|
|
180
|
+
type htmlTableColElement = _htmlTableColElement htmlElement_like
|
|
181
|
+
type _htmlTableDataCellElement
|
|
182
|
+
type htmlTableDataCellElement = _htmlTableDataCellElement htmlElement_like
|
|
183
|
+
type _htmlTableElement
|
|
184
|
+
type htmlTableElement = _htmlTableElement htmlElement_like
|
|
185
|
+
type _htmlTableHeaderCellElement
|
|
186
|
+
type htmlTableHeaderCellElement = _htmlTableHeaderCellElement htmlElement_like
|
|
187
|
+
type _htmlTableRowElement
|
|
188
|
+
type htmlTableRowElement = _htmlTableRowElement htmlElement_like
|
|
189
|
+
type _htmlTableSectionElement
|
|
190
|
+
type htmlTableSectionElement = _htmlTableSectionElement htmlElement_like
|
|
191
|
+
type _htmlTextAreaElement
|
|
192
|
+
type htmlTextAreaElement = _htmlTextAreaElement htmlElement_like
|
|
193
|
+
type _htmlTimeElement
|
|
194
|
+
type htmlTimeElement = _htmlTimeElement htmlElement_like
|
|
195
|
+
type _htmlTitleElement
|
|
196
|
+
type htmlTitleElement = _htmlTitleElement htmlElement_like
|
|
197
|
+
type _htmlTrackElement
|
|
198
|
+
type htmlTrackElement = _htmlTrackElement htmlElement_like
|
|
199
|
+
type _htmlUlistElement
|
|
200
|
+
type htmlUlistElement = _htmlUlistElement htmlElement_like
|
|
201
|
+
type _htmlUnknownElement
|
|
202
|
+
type htmlUnknownElement = _htmlUnknownElement htmlElement_like
|
|
203
|
+
type _htmlVideoElement
|
|
204
|
+
type htmlVideoElement = _htmlVideoElement htmlElement_like
|
|
205
|
+
type location
|
|
206
|
+
type window
|
|
207
|
+
type _xmlDocument
|
|
208
|
+
type xmlDocument = _xmlDocument document_like
|
|
209
|
+
|
|
210
|
+
(* events *)
|
|
211
|
+
type 'a event_like
|
|
212
|
+
type event = _baseClass event_like
|
|
213
|
+
type 'a _uiEvent
|
|
214
|
+
type 'a uiEvent_like = 'a _uiEvent event_like
|
|
215
|
+
type uiEvent = _baseClass uiEvent_like
|
|
216
|
+
type _animationEvent
|
|
217
|
+
type animationEvent = _animationEvent event_like
|
|
218
|
+
type _beforeUnloadEvent
|
|
219
|
+
type beforeUnloadEvent = _beforeUnloadEvent event_like
|
|
220
|
+
type _clipboardEvent
|
|
221
|
+
type clipboardEvent = _clipboardEvent event_like
|
|
222
|
+
type _closeEvent
|
|
223
|
+
type closeEvent = _closeEvent event_like
|
|
224
|
+
type _compositionEvent
|
|
225
|
+
type compositionEvent = _compositionEvent uiEvent_like
|
|
226
|
+
type _customEvent
|
|
227
|
+
type customEvent = _customEvent event_like
|
|
228
|
+
type _dragEvent
|
|
229
|
+
type dragEvent = _dragEvent event_like
|
|
230
|
+
type _errorEvent
|
|
231
|
+
type errorEvent = _errorEvent event_like
|
|
232
|
+
type _focusEvent
|
|
233
|
+
type focusEvent = _focusEvent uiEvent_like
|
|
234
|
+
type _idbVersionChangeEvent
|
|
235
|
+
type idbVersionChangeEvent = _idbVersionChangeEvent event_like
|
|
236
|
+
type _inputEvent
|
|
237
|
+
type inputEvent = _inputEvent uiEvent_like
|
|
238
|
+
type _keyboardEvent
|
|
239
|
+
type keyboardEvent = _keyboardEvent uiEvent_like
|
|
240
|
+
type 'a _mouseEvent
|
|
241
|
+
type 'a mouseEvent_like = 'a _mouseEvent uiEvent_like
|
|
242
|
+
type mouseEvent = _baseClass mouseEvent_like
|
|
243
|
+
type _pageTransitionEvent
|
|
244
|
+
type pageTransitionEvent = _pageTransitionEvent event_like
|
|
245
|
+
type _pointerEvent
|
|
246
|
+
type pointerEvent = _pointerEvent mouseEvent_like
|
|
247
|
+
type _popStateEvent
|
|
248
|
+
type popStateEvent = _popStateEvent event_like
|
|
249
|
+
type _progressEvent
|
|
250
|
+
type progressEvent = _progressEvent event_like
|
|
251
|
+
type _relatedEvent
|
|
252
|
+
type relatedEvent = _relatedEvent event_like
|
|
253
|
+
type _storageEvent
|
|
254
|
+
type storageEvent = _storageEvent event_like
|
|
255
|
+
type _svgZoomEvent
|
|
256
|
+
type svgZoomEvent = _svgZoomEvent event_like
|
|
257
|
+
type _timeEvent
|
|
258
|
+
type timeEvent = _timeEvent event_like
|
|
259
|
+
type _touchEvent
|
|
260
|
+
type touchEvent = _touchEvent uiEvent_like
|
|
261
|
+
type _trackEvent
|
|
262
|
+
type trackEvent = _trackEvent event_like
|
|
263
|
+
type _transitionEvent
|
|
264
|
+
type transitionEvent = _transitionEvent event_like
|
|
265
|
+
type _webGlContextEvent
|
|
266
|
+
type webGlContextEvent = _webGlContextEvent event_like
|
|
267
|
+
type _wheelEvent
|
|
268
|
+
type wheelEvent = _wheelEvent uiEvent_like
|
|
269
|
+
|
|
270
|
+
(* ranges *)
|
|
271
|
+
type range
|
|
272
|
+
|
|
273
|
+
(* selection (TODO: move out of dom?) *)
|
|
274
|
+
type selection
|
|
275
|
+
|
|
276
|
+
(* sets *)
|
|
277
|
+
type domTokenList
|
|
278
|
+
type domSettableTokenList
|
|
279
|
+
|
|
280
|
+
(* traversal *)
|
|
281
|
+
type nodeFilter = {
|
|
282
|
+
acceptNode: element -> int (* return type should be NodeFilter.action, but that would create a cycle *)
|
|
283
|
+
}
|
|
284
|
+
type nodeIterator
|
|
285
|
+
type treeWalker
|
|
286
|
+
|
|
287
|
+
(* SVG *)
|
|
288
|
+
type svgRect
|
|
289
|
+
type svgPoint
|
|
290
|
+
|
|
291
|
+
(* special *)
|
|
292
|
+
type eventPointerId
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
module Storage = Dom_storage
|
|
296
|
+
module Storage2 = Dom_storage2
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type t = Dom_storage2.t
|
|
2
|
+
|
|
3
|
+
external getItem : t -> string -> string option = "getItem" [@@send] [@@bs.return null_to_opt]
|
|
4
|
+
let getItem s obj = obj |. getItem s
|
|
5
|
+
(* https://developer.mozilla.org/en-US/docs/Web/API/Storage/getItem
|
|
6
|
+
If the key does not exist, `null` is returned
|
|
7
|
+
*)
|
|
8
|
+
|
|
9
|
+
external setItem : t -> string -> string -> unit = "setItem" [@@send]
|
|
10
|
+
let setItem k v obj : unit = obj |. setItem k v
|
|
11
|
+
external removeItem : t -> string -> unit = "removeItem" [@@send]
|
|
12
|
+
let removeItem s obj : unit = obj |. removeItem s
|
|
13
|
+
external clear : t -> unit = "clear" [@@send]
|
|
14
|
+
external key : t -> int -> string option = "key" [@@send] [@@bs.return null_to_opt]
|
|
15
|
+
(* A DOMString containing the name of the key. If the index does not exist, null is returned.
|
|
16
|
+
If the key does not exist, `null` is returned
|
|
17
|
+
*)
|
|
18
|
+
let key i obj : string option = obj |. key i
|
|
19
|
+
external length : t -> int = "length" [@@get]
|
|
20
|
+
|
|
21
|
+
external localStorage : t = "localStorage" [@@val]
|
|
22
|
+
external sessionStorage : t = "sessionStorage" [@@val]
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type t
|
|
2
|
+
|
|
3
|
+
external getItem : t -> string -> string option = "getItem" [@@bs.send] [@@bs.return null_to_opt]
|
|
4
|
+
external setItem : t -> string -> string -> unit = "setItem" [@@bs.send]
|
|
5
|
+
external removeItem : t -> string -> unit = "removeItem" [@@bs.send]
|
|
6
|
+
external clear : t -> unit = "clear" [@@bs.send]
|
|
7
|
+
external key : t -> int -> string option = "key" [@@bs.send] [@@bs.return null_to_opt]
|
|
8
|
+
external length : t -> int = "length" [@@bs.get]
|
|
9
|
+
|
|
10
|
+
external localStorage : t = "localStorage" [@@bs.val]
|
|
11
|
+
external sessionStorage : t = "sessionStorage" [@@bs.val]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
(**************************************************************************)
|
|
2
|
+
(* *)
|
|
3
|
+
(* OCaml *)
|
|
4
|
+
(* *)
|
|
5
|
+
(* Xavier Leroy and Damien Doligez, INRIA Rocquencourt *)
|
|
6
|
+
(* *)
|
|
7
|
+
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
8
|
+
(* en Automatique. *)
|
|
9
|
+
(* *)
|
|
10
|
+
(* All rights reserved. This file is distributed under the terms of *)
|
|
11
|
+
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
12
|
+
(* special exception on linking described in the file LICENSE. *)
|
|
13
|
+
(* *)
|
|
14
|
+
(**************************************************************************)
|
|
15
|
+
|
|
16
|
+
let generic_quote quotequote s =
|
|
17
|
+
let l = String.length s in
|
|
18
|
+
let b = Buffer.create (l + 20) in
|
|
19
|
+
Buffer.add_char b '\'';
|
|
20
|
+
for i = 0 to l - 1 do
|
|
21
|
+
if s.[i] = '\''
|
|
22
|
+
then Buffer.add_string b quotequote
|
|
23
|
+
else Buffer.add_char b s.[i]
|
|
24
|
+
done;
|
|
25
|
+
Buffer.add_char b '\'';
|
|
26
|
+
Buffer.contents b
|
|
27
|
+
|
|
28
|
+
(* This function implements the Open Group specification found here:
|
|
29
|
+
[[1]] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/basename.html
|
|
30
|
+
In step 1 of [[1]], we choose to return "." for empty input.
|
|
31
|
+
(for compatibility with previous versions of OCaml)
|
|
32
|
+
In step 2, we choose to process "//" normally.
|
|
33
|
+
Step 6 is not implemented: we consider that the [suffix] operand is
|
|
34
|
+
always absent. Suffixes are handled by [chop_suffix] and [chop_extension].
|
|
35
|
+
*)
|
|
36
|
+
let generic_basename is_dir_sep current_dir_name name =
|
|
37
|
+
let rec find_end n =
|
|
38
|
+
if n < 0 then String.sub name 0 1
|
|
39
|
+
else if is_dir_sep name n then find_end (n - 1)
|
|
40
|
+
else find_beg n (n + 1)
|
|
41
|
+
and find_beg n p =
|
|
42
|
+
if n < 0 then String.sub name 0 p
|
|
43
|
+
else if is_dir_sep name n then String.sub name (n + 1) (p - n - 1)
|
|
44
|
+
else find_beg (n - 1) p
|
|
45
|
+
in
|
|
46
|
+
if name = ""
|
|
47
|
+
then current_dir_name
|
|
48
|
+
else find_end (String.length name - 1)
|
|
49
|
+
|
|
50
|
+
(* This function implements the Open Group specification found here:
|
|
51
|
+
[[2]] http://pubs.opengroup.org/onlinepubs/9699919799/utilities/dirname.html
|
|
52
|
+
In step 6 of [[2]], we choose to process "//" normally.
|
|
53
|
+
*)
|
|
54
|
+
let generic_dirname is_dir_sep current_dir_name name =
|
|
55
|
+
let rec trailing_sep n =
|
|
56
|
+
if n < 0 then String.sub name 0 1
|
|
57
|
+
else if is_dir_sep name n then trailing_sep (n - 1)
|
|
58
|
+
else base n
|
|
59
|
+
and base n =
|
|
60
|
+
if n < 0 then current_dir_name
|
|
61
|
+
else if is_dir_sep name n then intermediate_sep n
|
|
62
|
+
else base (n - 1)
|
|
63
|
+
and intermediate_sep n =
|
|
64
|
+
if n < 0 then String.sub name 0 1
|
|
65
|
+
else if is_dir_sep name n then intermediate_sep (n - 1)
|
|
66
|
+
else String.sub name 0 (n + 1)
|
|
67
|
+
in
|
|
68
|
+
if name = ""
|
|
69
|
+
then current_dir_name
|
|
70
|
+
else trailing_sep (String.length name - 1)
|
|
71
|
+
|
|
72
|
+
module Unix = struct
|
|
73
|
+
let current_dir_name = "."
|
|
74
|
+
let parent_dir_name = ".."
|
|
75
|
+
let dir_sep = "/"
|
|
76
|
+
let is_dir_sep s i = s.[i] = '/'
|
|
77
|
+
let is_relative n = String.length n < 1 || n.[0] <> '/'
|
|
78
|
+
let is_implicit n =
|
|
79
|
+
is_relative n
|
|
80
|
+
&& (String.length n < 2 || String.sub n 0 2 <> "./")
|
|
81
|
+
&& (String.length n < 3 || String.sub n 0 3 <> "../")
|
|
82
|
+
let check_suffix name suff =
|
|
83
|
+
String.length name >= String.length suff &&
|
|
84
|
+
String.sub name (String.length name - String.length suff)
|
|
85
|
+
(String.length suff) = suff
|
|
86
|
+
let temp_dir_name =
|
|
87
|
+
try Sys.getenv "TMPDIR" with Not_found -> "/tmp"
|
|
88
|
+
let quote = generic_quote "'\\''"
|
|
89
|
+
let basename = generic_basename is_dir_sep current_dir_name
|
|
90
|
+
let dirname = generic_dirname is_dir_sep current_dir_name
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
module Win32 = struct
|
|
94
|
+
let current_dir_name = "."
|
|
95
|
+
let parent_dir_name = ".."
|
|
96
|
+
let dir_sep = "\\"
|
|
97
|
+
let is_dir_sep s i = let c = s.[i] in c = '/' || c = '\\' || c = ':'
|
|
98
|
+
let is_relative n =
|
|
99
|
+
(String.length n < 1 || n.[0] <> '/')
|
|
100
|
+
&& (String.length n < 1 || n.[0] <> '\\')
|
|
101
|
+
&& (String.length n < 2 || n.[1] <> ':')
|
|
102
|
+
let is_implicit n =
|
|
103
|
+
is_relative n
|
|
104
|
+
&& (String.length n < 2 || String.sub n 0 2 <> "./")
|
|
105
|
+
&& (String.length n < 2 || String.sub n 0 2 <> ".\\")
|
|
106
|
+
&& (String.length n < 3 || String.sub n 0 3 <> "../")
|
|
107
|
+
&& (String.length n < 3 || String.sub n 0 3 <> "..\\")
|
|
108
|
+
let check_suffix name suff =
|
|
109
|
+
String.length name >= String.length suff &&
|
|
110
|
+
(let s = String.sub name (String.length name - String.length suff)
|
|
111
|
+
(String.length suff) in
|
|
112
|
+
String.lowercase_ascii s = String.lowercase_ascii suff)
|
|
113
|
+
let temp_dir_name =
|
|
114
|
+
try Sys.getenv "TEMP" with Not_found -> "."
|
|
115
|
+
let quote s =
|
|
116
|
+
let l = String.length s in
|
|
117
|
+
let b = Buffer.create (l + 20) in
|
|
118
|
+
Buffer.add_char b '\"';
|
|
119
|
+
let rec loop i =
|
|
120
|
+
if i = l then Buffer.add_char b '\"' else
|
|
121
|
+
match s.[i] with
|
|
122
|
+
| '\"' -> loop_bs 0 i;
|
|
123
|
+
| '\\' -> loop_bs 0 i;
|
|
124
|
+
| c -> Buffer.add_char b c; loop (i+1);
|
|
125
|
+
and loop_bs n i =
|
|
126
|
+
if i = l then begin
|
|
127
|
+
Buffer.add_char b '\"';
|
|
128
|
+
add_bs n;
|
|
129
|
+
end else begin
|
|
130
|
+
match s.[i] with
|
|
131
|
+
| '\"' -> add_bs (2*n+1); Buffer.add_char b '\"'; loop (i+1);
|
|
132
|
+
| '\\' -> loop_bs (n+1) (i+1);
|
|
133
|
+
| _ -> add_bs n; loop i
|
|
134
|
+
end
|
|
135
|
+
and add_bs n = for _j = 1 to n do Buffer.add_char b '\\'; done
|
|
136
|
+
in
|
|
137
|
+
loop 0;
|
|
138
|
+
Buffer.contents b
|
|
139
|
+
let has_drive s =
|
|
140
|
+
let is_letter = function
|
|
141
|
+
| 'A' .. 'Z' | 'a' .. 'z' -> true
|
|
142
|
+
| _ -> false
|
|
143
|
+
in
|
|
144
|
+
String.length s >= 2 && is_letter s.[0] && s.[1] = ':'
|
|
145
|
+
let drive_and_path s =
|
|
146
|
+
if has_drive s
|
|
147
|
+
then (String.sub s 0 2, String.sub s 2 (String.length s - 2))
|
|
148
|
+
else ("", s)
|
|
149
|
+
let dirname s =
|
|
150
|
+
let (drive, path) = drive_and_path s in
|
|
151
|
+
let dir = generic_dirname is_dir_sep current_dir_name path in
|
|
152
|
+
drive ^ dir
|
|
153
|
+
let basename s =
|
|
154
|
+
let (_drive, path) = drive_and_path s in
|
|
155
|
+
generic_basename is_dir_sep current_dir_name path
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
module Cygwin = struct
|
|
159
|
+
let current_dir_name = "."
|
|
160
|
+
let parent_dir_name = ".."
|
|
161
|
+
let dir_sep = "/"
|
|
162
|
+
let is_dir_sep = Win32.is_dir_sep
|
|
163
|
+
let is_relative = Win32.is_relative
|
|
164
|
+
let is_implicit = Win32.is_implicit
|
|
165
|
+
let check_suffix = Win32.check_suffix
|
|
166
|
+
let temp_dir_name = Unix.temp_dir_name
|
|
167
|
+
let quote = Unix.quote
|
|
168
|
+
let basename = generic_basename is_dir_sep current_dir_name
|
|
169
|
+
let dirname = generic_dirname is_dir_sep current_dir_name
|
|
170
|
+
end
|
|
171
|
+
|
|
172
|
+
let (current_dir_name, parent_dir_name, dir_sep, is_dir_sep,
|
|
173
|
+
is_relative, is_implicit, check_suffix, temp_dir_name, quote, basename,
|
|
174
|
+
dirname) =
|
|
175
|
+
match Sys.os_type with
|
|
176
|
+
| "Win32" ->
|
|
177
|
+
(Win32.current_dir_name, Win32.parent_dir_name, Win32.dir_sep,
|
|
178
|
+
Win32.is_dir_sep,
|
|
179
|
+
Win32.is_relative, Win32.is_implicit, Win32.check_suffix,
|
|
180
|
+
Win32.temp_dir_name, Win32.quote, Win32.basename, Win32.dirname)
|
|
181
|
+
| "Cygwin" ->
|
|
182
|
+
(Cygwin.current_dir_name, Cygwin.parent_dir_name, Cygwin.dir_sep,
|
|
183
|
+
Cygwin.is_dir_sep,
|
|
184
|
+
Cygwin.is_relative, Cygwin.is_implicit, Cygwin.check_suffix,
|
|
185
|
+
Cygwin.temp_dir_name, Cygwin.quote, Cygwin.basename, Cygwin.dirname)
|
|
186
|
+
| _ -> (* normally "Unix" *)
|
|
187
|
+
(Unix.current_dir_name, Unix.parent_dir_name, Unix.dir_sep,
|
|
188
|
+
Unix.is_dir_sep,
|
|
189
|
+
Unix.is_relative, Unix.is_implicit, Unix.check_suffix,
|
|
190
|
+
Unix.temp_dir_name, Unix.quote, Unix.basename, Unix.dirname)
|
|
191
|
+
|
|
192
|
+
let concat dirname filename =
|
|
193
|
+
let l = String.length dirname in
|
|
194
|
+
if l = 0 || is_dir_sep dirname (l-1)
|
|
195
|
+
then dirname ^ filename
|
|
196
|
+
else dirname ^ dir_sep ^ filename
|
|
197
|
+
|
|
198
|
+
let chop_suffix name suff =
|
|
199
|
+
let n = String.length name - String.length suff in
|
|
200
|
+
if n < 0 then invalid_arg "Filename.chop_suffix" else String.sub name 0 n
|
|
201
|
+
|
|
202
|
+
let extension_len name =
|
|
203
|
+
let rec check i0 i =
|
|
204
|
+
if i < 0 || is_dir_sep name i then 0
|
|
205
|
+
else if name.[i] = '.' then check i0 (i - 1)
|
|
206
|
+
else String.length name - i0
|
|
207
|
+
in
|
|
208
|
+
let rec search_dot i =
|
|
209
|
+
if i < 0 || is_dir_sep name i then 0
|
|
210
|
+
else if name.[i] = '.' then check i (i - 1)
|
|
211
|
+
else search_dot (i - 1)
|
|
212
|
+
in
|
|
213
|
+
search_dot (String.length name - 1)
|
|
214
|
+
|
|
215
|
+
let extension name =
|
|
216
|
+
let l = extension_len name in
|
|
217
|
+
if l = 0 then "" else String.sub name (String.length name - l) l
|
|
218
|
+
|
|
219
|
+
let chop_extension name =
|
|
220
|
+
let l = extension_len name in
|
|
221
|
+
if l = 0 then invalid_arg "Filename.chop_extension"
|
|
222
|
+
else String.sub name 0 (String.length name - l)
|
|
223
|
+
|
|
224
|
+
let remove_extension name =
|
|
225
|
+
let l = extension_len name in
|
|
226
|
+
if l = 0 then name else String.sub name 0 (String.length name - l)
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
let current_temp_dir_name = ref temp_dir_name
|
|
230
|
+
|
|
231
|
+
let set_temp_dir_name s = current_temp_dir_name := s
|
|
232
|
+
let get_temp_dir_name () = !current_temp_dir_name
|
|
233
|
+
|