@tellahq/rescript 10.1.4-republish-1 → 10.1.4-republish-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/darwinarm64/ninja.exe +0 -0
- package/package.json +1 -1
- package/lib/ocaml/arg.cmi +0 -0
- package/lib/ocaml/arg.cmt +0 -0
- package/lib/ocaml/arg.cmti +0 -0
- package/lib/ocaml/arg.ml +0 -359
- package/lib/ocaml/arg.mli +0 -185
- package/lib/ocaml/array.cmi +0 -0
- package/lib/ocaml/array.cmt +0 -0
- package/lib/ocaml/array.cmti +0 -0
- package/lib/ocaml/array.ml +0 -307
- package/lib/ocaml/array.mli +0 -275
- package/lib/ocaml/arrayLabels.cmi +0 -0
- package/lib/ocaml/arrayLabels.cmt +0 -0
- package/lib/ocaml/arrayLabels.cmti +0 -0
- package/lib/ocaml/arrayLabels.ml +0 -307
- package/lib/ocaml/arrayLabels.mli +0 -276
- package/lib/ocaml/belt.cmi +0 -0
- package/lib/ocaml/belt.cmt +0 -0
- package/lib/ocaml/belt.ml +0 -352
- package/lib/ocaml/belt_Array.cmi +0 -0
- package/lib/ocaml/belt_Array.cmt +0 -0
- package/lib/ocaml/belt_Array.cmti +0 -0
- package/lib/ocaml/belt_Array.ml +0 -525
- package/lib/ocaml/belt_Array.mli +0 -707
- package/lib/ocaml/belt_Float.cmi +0 -0
- package/lib/ocaml/belt_Float.cmt +0 -0
- package/lib/ocaml/belt_Float.cmti +0 -0
- package/lib/ocaml/belt_Float.ml +0 -50
- package/lib/ocaml/belt_Float.mli +0 -106
- package/lib/ocaml/belt_HashMap.cmi +0 -0
- package/lib/ocaml/belt_HashMap.cmt +0 -0
- package/lib/ocaml/belt_HashMap.cmti +0 -0
- package/lib/ocaml/belt_HashMap.ml +0 -226
- package/lib/ocaml/belt_HashMap.mli +0 -436
- package/lib/ocaml/belt_HashMapInt.cmi +0 -0
- package/lib/ocaml/belt_HashMapInt.cmt +0 -0
- package/lib/ocaml/belt_HashMapInt.cmti +0 -0
- package/lib/ocaml/belt_HashMapInt.ml +0 -206
- package/lib/ocaml/belt_HashMapInt.mli +0 -50
- package/lib/ocaml/belt_HashMapString.cmi +0 -0
- package/lib/ocaml/belt_HashMapString.cmt +0 -0
- package/lib/ocaml/belt_HashMapString.cmti +0 -0
- package/lib/ocaml/belt_HashMapString.ml +0 -206
- package/lib/ocaml/belt_HashMapString.mli +0 -50
- package/lib/ocaml/belt_HashSet.cmi +0 -0
- package/lib/ocaml/belt_HashSet.cmt +0 -0
- package/lib/ocaml/belt_HashSet.cmti +0 -0
- package/lib/ocaml/belt_HashSet.ml +0 -196
- package/lib/ocaml/belt_HashSet.mli +0 -125
- package/lib/ocaml/belt_HashSetInt.cmi +0 -0
- package/lib/ocaml/belt_HashSetInt.cmt +0 -0
- package/lib/ocaml/belt_HashSetInt.cmti +0 -0
- package/lib/ocaml/belt_HashSetInt.ml +0 -155
- package/lib/ocaml/belt_HashSetInt.mli +0 -74
- package/lib/ocaml/belt_HashSetString.cmi +0 -0
- package/lib/ocaml/belt_HashSetString.cmt +0 -0
- package/lib/ocaml/belt_HashSetString.cmti +0 -0
- package/lib/ocaml/belt_HashSetString.ml +0 -156
- package/lib/ocaml/belt_HashSetString.mli +0 -74
- package/lib/ocaml/belt_Id.cmi +0 -0
- package/lib/ocaml/belt_Id.cmt +0 -0
- package/lib/ocaml/belt_Id.cmti +0 -0
- package/lib/ocaml/belt_Id.ml +0 -133
- package/lib/ocaml/belt_Id.mli +0 -171
- package/lib/ocaml/belt_Int.cmi +0 -0
- package/lib/ocaml/belt_Int.cmt +0 -0
- package/lib/ocaml/belt_Int.cmti +0 -0
- package/lib/ocaml/belt_Int.ml +0 -50
- package/lib/ocaml/belt_Int.mli +0 -103
- package/lib/ocaml/belt_List.cmi +0 -0
- package/lib/ocaml/belt_List.cmt +0 -0
- package/lib/ocaml/belt_List.cmti +0 -0
- package/lib/ocaml/belt_List.ml +0 -803
- package/lib/ocaml/belt_List.mli +0 -844
- package/lib/ocaml/belt_Map.cmi +0 -0
- package/lib/ocaml/belt_Map.cmt +0 -0
- package/lib/ocaml/belt_Map.cmti +0 -0
- package/lib/ocaml/belt_Map.ml +0 -170
- package/lib/ocaml/belt_Map.mli +0 -496
- package/lib/ocaml/belt_MapDict.cmi +0 -0
- package/lib/ocaml/belt_MapDict.cmt +0 -0
- package/lib/ocaml/belt_MapDict.cmti +0 -0
- package/lib/ocaml/belt_MapDict.ml +0 -278
- package/lib/ocaml/belt_MapDict.mli +0 -268
- package/lib/ocaml/belt_MapInt.cmi +0 -0
- package/lib/ocaml/belt_MapInt.cmt +0 -0
- package/lib/ocaml/belt_MapInt.cmti +0 -0
- package/lib/ocaml/belt_MapInt.ml +0 -169
- package/lib/ocaml/belt_MapInt.mli +0 -187
- package/lib/ocaml/belt_MapString.cmi +0 -0
- package/lib/ocaml/belt_MapString.cmt +0 -0
- package/lib/ocaml/belt_MapString.cmti +0 -0
- package/lib/ocaml/belt_MapString.ml +0 -169
- package/lib/ocaml/belt_MapString.mli +0 -187
- package/lib/ocaml/belt_MutableMap.cmi +0 -0
- package/lib/ocaml/belt_MutableMap.cmt +0 -0
- package/lib/ocaml/belt_MutableMap.cmti +0 -0
- package/lib/ocaml/belt_MutableMap.ml +0 -241
- package/lib/ocaml/belt_MutableMap.mli +0 -145
- package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
- package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
- package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
- package/lib/ocaml/belt_MutableMapInt.ml +0 -172
- package/lib/ocaml/belt_MutableMapInt.mli +0 -135
- package/lib/ocaml/belt_MutableMapString.cmi +0 -0
- package/lib/ocaml/belt_MutableMapString.cmt +0 -0
- package/lib/ocaml/belt_MutableMapString.cmti +0 -0
- package/lib/ocaml/belt_MutableMapString.ml +0 -172
- package/lib/ocaml/belt_MutableMapString.mli +0 -135
- package/lib/ocaml/belt_MutableQueue.cmi +0 -0
- package/lib/ocaml/belt_MutableQueue.cmt +0 -0
- package/lib/ocaml/belt_MutableQueue.cmti +0 -0
- package/lib/ocaml/belt_MutableQueue.ml +0 -222
- package/lib/ocaml/belt_MutableQueue.mli +0 -116
- package/lib/ocaml/belt_MutableSet.cmi +0 -0
- package/lib/ocaml/belt_MutableSet.cmt +0 -0
- package/lib/ocaml/belt_MutableSet.cmti +0 -0
- package/lib/ocaml/belt_MutableSet.ml +0 -371
- package/lib/ocaml/belt_MutableSet.mli +0 -617
- package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
- package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
- package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
- package/lib/ocaml/belt_MutableSetInt.ml +0 -342
- package/lib/ocaml/belt_MutableSetInt.mli +0 -124
- package/lib/ocaml/belt_MutableSetString.cmi +0 -0
- package/lib/ocaml/belt_MutableSetString.cmt +0 -0
- package/lib/ocaml/belt_MutableSetString.cmti +0 -0
- package/lib/ocaml/belt_MutableSetString.ml +0 -342
- package/lib/ocaml/belt_MutableSetString.mli +0 -124
- package/lib/ocaml/belt_MutableStack.cmi +0 -0
- package/lib/ocaml/belt_MutableStack.cmt +0 -0
- package/lib/ocaml/belt_MutableStack.cmti +0 -0
- package/lib/ocaml/belt_MutableStack.ml +0 -106
- package/lib/ocaml/belt_MutableStack.mli +0 -63
- package/lib/ocaml/belt_Option.cmi +0 -0
- package/lib/ocaml/belt_Option.cmt +0 -0
- package/lib/ocaml/belt_Option.cmti +0 -0
- package/lib/ocaml/belt_Option.ml +0 -93
- package/lib/ocaml/belt_Option.mli +0 -270
- package/lib/ocaml/belt_Range.cmi +0 -0
- package/lib/ocaml/belt_Range.cmt +0 -0
- package/lib/ocaml/belt_Range.cmti +0 -0
- package/lib/ocaml/belt_Range.ml +0 -76
- package/lib/ocaml/belt_Range.mli +0 -114
- package/lib/ocaml/belt_Result.cmi +0 -0
- package/lib/ocaml/belt_Result.cmt +0 -0
- package/lib/ocaml/belt_Result.cmti +0 -0
- package/lib/ocaml/belt_Result.ml +0 -75
- package/lib/ocaml/belt_Result.mli +0 -205
- package/lib/ocaml/belt_Set.cmi +0 -0
- package/lib/ocaml/belt_Set.cmt +0 -0
- package/lib/ocaml/belt_Set.cmti +0 -0
- package/lib/ocaml/belt_Set.cppo.ml +0 -205
- package/lib/ocaml/belt_Set.cppo.mli +0 -153
- package/lib/ocaml/belt_Set.ml +0 -164
- package/lib/ocaml/belt_Set.mli +0 -523
- package/lib/ocaml/belt_SetDict.cmi +0 -0
- package/lib/ocaml/belt_SetDict.cmt +0 -0
- package/lib/ocaml/belt_SetDict.cmti +0 -0
- package/lib/ocaml/belt_SetDict.ml +0 -237
- package/lib/ocaml/belt_SetDict.mli +0 -567
- package/lib/ocaml/belt_SetInt.cmi +0 -0
- package/lib/ocaml/belt_SetInt.cmt +0 -0
- package/lib/ocaml/belt_SetInt.cmti +0 -0
- package/lib/ocaml/belt_SetInt.ml +0 -201
- package/lib/ocaml/belt_SetInt.mli +0 -151
- package/lib/ocaml/belt_SetString.cmi +0 -0
- package/lib/ocaml/belt_SetString.cmt +0 -0
- package/lib/ocaml/belt_SetString.cmti +0 -0
- package/lib/ocaml/belt_SetString.ml +0 -201
- package/lib/ocaml/belt_SetString.mli +0 -151
- package/lib/ocaml/belt_SortArray.cmi +0 -0
- package/lib/ocaml/belt_SortArray.cmt +0 -0
- package/lib/ocaml/belt_SortArray.cmti +0 -0
- package/lib/ocaml/belt_SortArray.ml +0 -322
- package/lib/ocaml/belt_SortArray.mli +0 -146
- package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
- package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
- package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
- package/lib/ocaml/belt_SortArrayInt.ml +0 -263
- package/lib/ocaml/belt_SortArrayInt.mli +0 -93
- package/lib/ocaml/belt_SortArrayString.cmi +0 -0
- package/lib/ocaml/belt_SortArrayString.cmt +0 -0
- package/lib/ocaml/belt_SortArrayString.cmti +0 -0
- package/lib/ocaml/belt_SortArrayString.ml +0 -263
- package/lib/ocaml/belt_SortArrayString.mli +0 -93
- package/lib/ocaml/belt_internalAVLset.cmt +0 -0
- package/lib/ocaml/belt_internalAVLset.cmti +0 -0
- package/lib/ocaml/belt_internalAVLset.ml +0 -665
- package/lib/ocaml/belt_internalAVLset.mli +0 -124
- package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
- package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
- package/lib/ocaml/belt_internalAVLtree.ml +0 -762
- package/lib/ocaml/belt_internalAVLtree.mli +0 -215
- package/lib/ocaml/belt_internalBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalBuckets.ml +0 -218
- package/lib/ocaml/belt_internalBuckets.mli +0 -57
- package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
- package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
- package/lib/ocaml/belt_internalBucketsType.ml +0 -59
- package/lib/ocaml/belt_internalBucketsType.mli +0 -46
- package/lib/ocaml/belt_internalMapInt.cmt +0 -0
- package/lib/ocaml/belt_internalMapInt.ml +0 -227
- package/lib/ocaml/belt_internalMapString.cmt +0 -0
- package/lib/ocaml/belt_internalMapString.ml +0 -227
- package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
- package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
- package/lib/ocaml/belt_internalSetBuckets.ml +0 -157
- package/lib/ocaml/belt_internalSetBuckets.mli +0 -47
- package/lib/ocaml/belt_internalSetInt.cmt +0 -0
- package/lib/ocaml/belt_internalSetInt.ml +0 -129
- package/lib/ocaml/belt_internalSetString.cmt +0 -0
- package/lib/ocaml/belt_internalSetString.ml +0 -129
- package/lib/ocaml/belt_internals.cmti +0 -0
- package/lib/ocaml/belt_internals.mli +0 -79
- package/lib/ocaml/buffer.cmi +0 -0
- package/lib/ocaml/buffer.cmt +0 -0
- package/lib/ocaml/buffer.cmti +0 -0
- package/lib/ocaml/buffer.ml +0 -250
- package/lib/ocaml/buffer.mli +0 -149
- package/lib/ocaml/bytes.cmi +0 -0
- package/lib/ocaml/bytes.cmt +0 -0
- package/lib/ocaml/bytes.cmti +0 -0
- package/lib/ocaml/bytes.ml +0 -431
- package/lib/ocaml/bytes.mli +0 -430
- package/lib/ocaml/bytesLabels.cmi +0 -0
- package/lib/ocaml/bytesLabels.cmt +0 -0
- package/lib/ocaml/bytesLabels.cmti +0 -0
- package/lib/ocaml/bytesLabels.ml +0 -428
- package/lib/ocaml/bytesLabels.mli +0 -276
- package/lib/ocaml/callback.cmi +0 -0
- package/lib/ocaml/callback.cmt +0 -0
- package/lib/ocaml/callback.cmti +0 -0
- package/lib/ocaml/callback.ml +0 -20
- package/lib/ocaml/callback.mli +0 -34
- package/lib/ocaml/camlinternalLazy.cmi +0 -0
- package/lib/ocaml/camlinternalLazy.cmt +0 -0
- package/lib/ocaml/camlinternalLazy.cmti +0 -0
- package/lib/ocaml/camlinternalLazy.ml +0 -89
- package/lib/ocaml/camlinternalLazy.mli +0 -27
- package/lib/ocaml/camlinternalMod.cmi +0 -0
- package/lib/ocaml/camlinternalMod.cmt +0 -0
- package/lib/ocaml/camlinternalMod.cmti +0 -0
- package/lib/ocaml/camlinternalMod.ml +0 -21
- package/lib/ocaml/camlinternalMod.mli +0 -25
- package/lib/ocaml/char.cmi +0 -0
- package/lib/ocaml/char.cmt +0 -0
- package/lib/ocaml/char.cmti +0 -0
- package/lib/ocaml/char.ml +0 -76
- package/lib/ocaml/char.mli +0 -72
- package/lib/ocaml/complex.cmi +0 -0
- package/lib/ocaml/complex.cmt +0 -0
- package/lib/ocaml/complex.cmti +0 -0
- package/lib/ocaml/complex.ml +0 -87
- package/lib/ocaml/complex.mli +0 -86
- package/lib/ocaml/digest.cmi +0 -0
- package/lib/ocaml/digest.cmt +0 -0
- package/lib/ocaml/digest.cmti +0 -0
- package/lib/ocaml/digest.ml +0 -66
- package/lib/ocaml/digest.mli +0 -68
- package/lib/ocaml/dom.cmi +0 -0
- package/lib/ocaml/dom.cmt +0 -0
- package/lib/ocaml/dom.ml +0 -296
- package/lib/ocaml/dom_storage.cmi +0 -0
- package/lib/ocaml/dom_storage.cmt +0 -0
- package/lib/ocaml/dom_storage.ml +0 -22
- package/lib/ocaml/dom_storage2.cmi +0 -0
- package/lib/ocaml/dom_storage2.cmt +0 -0
- package/lib/ocaml/dom_storage2.ml +0 -11
- package/lib/ocaml/filename.cmi +0 -0
- package/lib/ocaml/filename.cmt +0 -0
- package/lib/ocaml/filename.cmti +0 -0
- package/lib/ocaml/filename.ml +0 -233
- package/lib/ocaml/filename.mli +0 -134
- package/lib/ocaml/genlex.cmi +0 -0
- package/lib/ocaml/genlex.cmt +0 -0
- package/lib/ocaml/genlex.cmti +0 -0
- package/lib/ocaml/genlex.ml +0 -201
- package/lib/ocaml/genlex.mli +0 -73
- package/lib/ocaml/hashmap.cppo.ml +0 -214
- package/lib/ocaml/hashmap.cppo.mli +0 -54
- package/lib/ocaml/hashset.cppo.ml +0 -165
- package/lib/ocaml/hashset.cppo.mli +0 -77
- package/lib/ocaml/hashtbl.cmi +0 -0
- package/lib/ocaml/hashtbl.cmt +0 -0
- package/lib/ocaml/hashtbl.cmti +0 -0
- package/lib/ocaml/hashtbl.ml +0 -541
- package/lib/ocaml/hashtbl.mli +0 -411
- package/lib/ocaml/hashtblLabels.cmi +0 -0
- package/lib/ocaml/hashtblLabels.cmt +0 -0
- package/lib/ocaml/hashtblLabels.ml +0 -130
- package/lib/ocaml/int32.cmi +0 -0
- package/lib/ocaml/int32.cmt +0 -0
- package/lib/ocaml/int32.cmti +0 -0
- package/lib/ocaml/int32.ml +0 -64
- package/lib/ocaml/int32.mli +0 -186
- package/lib/ocaml/int64.cmi +0 -0
- package/lib/ocaml/int64.cmt +0 -0
- package/lib/ocaml/int64.cmti +0 -0
- package/lib/ocaml/int64.ml +0 -72
- package/lib/ocaml/int64.mli +0 -197
- package/lib/ocaml/internal_map.cppo.ml +0 -230
- package/lib/ocaml/internal_set.cppo.ml +0 -134
- package/lib/ocaml/js.cmi +0 -0
- package/lib/ocaml/js.cmt +0 -0
- package/lib/ocaml/js.ml +0 -316
- package/lib/ocaml/js_OO.cmi +0 -0
- package/lib/ocaml/js_OO.cmt +0 -0
- package/lib/ocaml/js_OO.ml +0 -180
- package/lib/ocaml/js_array.cmi +0 -0
- package/lib/ocaml/js_array.cmt +0 -0
- package/lib/ocaml/js_array.ml +0 -970
- package/lib/ocaml/js_array2.cmi +0 -0
- package/lib/ocaml/js_array2.cmt +0 -0
- package/lib/ocaml/js_array2.ml +0 -1065
- package/lib/ocaml/js_bigint.cmi +0 -0
- package/lib/ocaml/js_bigint.cmt +0 -0
- package/lib/ocaml/js_bigint.ml +0 -3
- package/lib/ocaml/js_cast.cmi +0 -0
- package/lib/ocaml/js_cast.cmt +0 -0
- package/lib/ocaml/js_cast.cmti +0 -0
- package/lib/ocaml/js_cast.ml +0 -29
- package/lib/ocaml/js_cast.mli +0 -45
- package/lib/ocaml/js_console.cmi +0 -0
- package/lib/ocaml/js_console.cmt +0 -0
- package/lib/ocaml/js_console.ml +0 -51
- package/lib/ocaml/js_date.cmi +0 -0
- package/lib/ocaml/js_date.cmt +0 -0
- package/lib/ocaml/js_date.ml +0 -1263
- package/lib/ocaml/js_dict.cmi +0 -0
- package/lib/ocaml/js_dict.cmt +0 -0
- package/lib/ocaml/js_dict.cmti +0 -0
- package/lib/ocaml/js_dict.ml +0 -114
- package/lib/ocaml/js_dict.mli +0 -152
- package/lib/ocaml/js_exn.cmi +0 -0
- package/lib/ocaml/js_exn.cmt +0 -0
- package/lib/ocaml/js_exn.cmti +0 -0
- package/lib/ocaml/js_exn.ml +0 -102
- package/lib/ocaml/js_exn.mli +0 -79
- package/lib/ocaml/js_float.cmi +0 -0
- package/lib/ocaml/js_float.cmt +0 -0
- package/lib/ocaml/js_float.ml +0 -294
- package/lib/ocaml/js_global.cmi +0 -0
- package/lib/ocaml/js_global.cmt +0 -0
- package/lib/ocaml/js_global.ml +0 -185
- package/lib/ocaml/js_int.cmi +0 -0
- package/lib/ocaml/js_int.cmt +0 -0
- package/lib/ocaml/js_int.ml +0 -158
- package/lib/ocaml/js_json.cmi +0 -0
- package/lib/ocaml/js_json.cmt +0 -0
- package/lib/ocaml/js_json.cmti +0 -0
- package/lib/ocaml/js_json.ml +0 -195
- package/lib/ocaml/js_json.mli +0 -244
- package/lib/ocaml/js_list.cmi +0 -0
- package/lib/ocaml/js_list.cmt +0 -0
- package/lib/ocaml/js_list.cmti +0 -0
- package/lib/ocaml/js_list.ml +0 -174
- package/lib/ocaml/js_list.mli +0 -72
- package/lib/ocaml/js_map.cmi +0 -0
- package/lib/ocaml/js_map.cmt +0 -0
- package/lib/ocaml/js_map.ml +0 -3
- package/lib/ocaml/js_mapperRt.cmi +0 -0
- package/lib/ocaml/js_mapperRt.cmt +0 -0
- package/lib/ocaml/js_mapperRt.cmti +0 -0
- package/lib/ocaml/js_mapperRt.ml +0 -50
- package/lib/ocaml/js_mapperRt.mli +0 -44
- package/lib/ocaml/js_math.cmi +0 -0
- package/lib/ocaml/js_math.cmt +0 -0
- package/lib/ocaml/js_math.ml +0 -626
- package/lib/ocaml/js_null.cmi +0 -0
- package/lib/ocaml/js_null.cmt +0 -0
- package/lib/ocaml/js_null.cmti +0 -0
- package/lib/ocaml/js_null.ml +0 -57
- package/lib/ocaml/js_null.mli +0 -87
- package/lib/ocaml/js_null_undefined.cmi +0 -0
- package/lib/ocaml/js_null_undefined.cmt +0 -0
- package/lib/ocaml/js_null_undefined.cmti +0 -0
- package/lib/ocaml/js_null_undefined.ml +0 -50
- package/lib/ocaml/js_null_undefined.mli +0 -85
- package/lib/ocaml/js_obj.cmi +0 -0
- package/lib/ocaml/js_obj.cmt +0 -0
- package/lib/ocaml/js_obj.ml +0 -100
- package/lib/ocaml/js_option.cmi +0 -0
- package/lib/ocaml/js_option.cmt +0 -0
- package/lib/ocaml/js_option.cmti +0 -0
- package/lib/ocaml/js_option.ml +0 -203
- package/lib/ocaml/js_option.mli +0 -52
- package/lib/ocaml/js_promise.cmi +0 -0
- package/lib/ocaml/js_promise.cmt +0 -0
- package/lib/ocaml/js_promise.ml +0 -100
- package/lib/ocaml/js_promise2.cmi +0 -0
- package/lib/ocaml/js_promise2.cmt +0 -0
- package/lib/ocaml/js_promise2.res +0 -58
- package/lib/ocaml/js_re.cmi +0 -0
- package/lib/ocaml/js_re.cmt +0 -0
- package/lib/ocaml/js_re.ml +0 -184
- package/lib/ocaml/js_result.cmi +0 -0
- package/lib/ocaml/js_result.cmt +0 -0
- package/lib/ocaml/js_result.cmti +0 -0
- package/lib/ocaml/js_result.ml +0 -28
- package/lib/ocaml/js_result.mli +0 -28
- package/lib/ocaml/js_set.cmi +0 -0
- package/lib/ocaml/js_set.cmt +0 -0
- package/lib/ocaml/js_set.ml +0 -3
- package/lib/ocaml/js_string.cmi +0 -0
- package/lib/ocaml/js_string.cmt +0 -0
- package/lib/ocaml/js_string.ml +0 -914
- package/lib/ocaml/js_string2.cmi +0 -0
- package/lib/ocaml/js_string2.cmt +0 -0
- package/lib/ocaml/js_string2.ml +0 -912
- package/lib/ocaml/js_typed_array.cmi +0 -0
- package/lib/ocaml/js_typed_array.cmt +0 -0
- package/lib/ocaml/js_typed_array.cppo.ml +0 -429
- package/lib/ocaml/js_typed_array.ml +0 -1405
- package/lib/ocaml/js_typed_array2.cmi +0 -0
- package/lib/ocaml/js_typed_array2.cmt +0 -0
- package/lib/ocaml/js_typed_array2.cppo.ml +0 -296
- package/lib/ocaml/js_typed_array2.ml +0 -1269
- package/lib/ocaml/js_types.cmi +0 -0
- package/lib/ocaml/js_types.cmt +0 -0
- package/lib/ocaml/js_types.cmti +0 -0
- package/lib/ocaml/js_types.ml +0 -118
- package/lib/ocaml/js_types.mli +0 -78
- package/lib/ocaml/js_undefined.cmi +0 -0
- package/lib/ocaml/js_undefined.cmt +0 -0
- package/lib/ocaml/js_undefined.cmti +0 -0
- package/lib/ocaml/js_undefined.ml +0 -59
- package/lib/ocaml/js_undefined.mli +0 -92
- package/lib/ocaml/js_vector.cmi +0 -0
- package/lib/ocaml/js_vector.cmt +0 -0
- package/lib/ocaml/js_vector.cmti +0 -0
- package/lib/ocaml/js_vector.ml +0 -143
- package/lib/ocaml/js_vector.mli +0 -92
- package/lib/ocaml/js_weakmap.cmi +0 -0
- package/lib/ocaml/js_weakmap.cmt +0 -0
- package/lib/ocaml/js_weakmap.ml +0 -3
- package/lib/ocaml/js_weakset.cmi +0 -0
- package/lib/ocaml/js_weakset.cmt +0 -0
- package/lib/ocaml/js_weakset.ml +0 -3
- package/lib/ocaml/jsx.cmi +0 -0
- package/lib/ocaml/jsx.cmt +0 -0
- package/lib/ocaml/jsx.res +0 -40
- package/lib/ocaml/jsxDOM.cmi +0 -0
- package/lib/ocaml/jsxDOM.cmt +0 -0
- package/lib/ocaml/jsxDOM.res +0 -620
- package/lib/ocaml/jsxDOMStyle.cmi +0 -0
- package/lib/ocaml/jsxDOMStyle.cmt +0 -0
- package/lib/ocaml/jsxDOMStyle.ml +0 -781
- package/lib/ocaml/jsxEvent.cmi +0 -0
- package/lib/ocaml/jsxEvent.cmt +0 -0
- package/lib/ocaml/jsxEvent.ml +0 -358
- package/lib/ocaml/jsxPPXReactSupport.cmi +0 -0
- package/lib/ocaml/jsxPPXReactSupport.cmt +0 -0
- package/lib/ocaml/jsxPPXReactSupport.res +0 -48
- package/lib/ocaml/lazy.cmi +0 -0
- package/lib/ocaml/lazy.cmt +0 -0
- package/lib/ocaml/lazy.cmti +0 -0
- package/lib/ocaml/lazy.ml +0 -70
- package/lib/ocaml/lazy.mli +0 -95
- package/lib/ocaml/lexing.cmi +0 -0
- package/lib/ocaml/lexing.cmt +0 -0
- package/lib/ocaml/lexing.cmti +0 -0
- package/lib/ocaml/lexing.ml +0 -230
- package/lib/ocaml/lexing.mli +0 -172
- package/lib/ocaml/list.cmi +0 -0
- package/lib/ocaml/list.cmt +0 -0
- package/lib/ocaml/list.cmti +0 -0
- package/lib/ocaml/list.ml +0 -485
- package/lib/ocaml/list.mli +0 -347
- package/lib/ocaml/listLabels.cmi +0 -0
- package/lib/ocaml/listLabels.cmt +0 -0
- package/lib/ocaml/listLabels.cmti +0 -0
- package/lib/ocaml/listLabels.ml +0 -485
- package/lib/ocaml/listLabels.mli +0 -353
- package/lib/ocaml/map.cmi +0 -0
- package/lib/ocaml/map.cmt +0 -0
- package/lib/ocaml/map.cmti +0 -0
- package/lib/ocaml/map.cppo.ml +0 -174
- package/lib/ocaml/map.cppo.mli +0 -191
- package/lib/ocaml/map.ml +0 -480
- package/lib/ocaml/map.mli +0 -315
- package/lib/ocaml/mapLabels.cmi +0 -0
- package/lib/ocaml/mapLabels.cmt +0 -0
- package/lib/ocaml/mapLabels.ml +0 -480
- package/lib/ocaml/mapm.cppo.ml +0 -177
- package/lib/ocaml/mapm.cppo.mli +0 -138
- package/lib/ocaml/moreLabels.cmi +0 -0
- package/lib/ocaml/moreLabels.cmt +0 -0
- package/lib/ocaml/moreLabels.cmti +0 -0
- package/lib/ocaml/moreLabels.ml +0 -22
- package/lib/ocaml/moreLabels.mli +0 -198
- package/lib/ocaml/node.cmi +0 -0
- package/lib/ocaml/node.cmt +0 -0
- package/lib/ocaml/node.ml +0 -84
- package/lib/ocaml/node_buffer.cmi +0 -0
- package/lib/ocaml/node_buffer.cmt +0 -0
- package/lib/ocaml/node_buffer.ml +0 -47
- package/lib/ocaml/node_child_process.cmi +0 -0
- package/lib/ocaml/node_child_process.cmt +0 -0
- package/lib/ocaml/node_child_process.ml +0 -50
- package/lib/ocaml/node_fs.cmi +0 -0
- package/lib/ocaml/node_fs.cmt +0 -0
- package/lib/ocaml/node_fs.ml +0 -153
- package/lib/ocaml/node_module.cmi +0 -0
- package/lib/ocaml/node_module.cmt +0 -0
- package/lib/ocaml/node_module.ml +0 -29
- package/lib/ocaml/node_path.cmi +0 -0
- package/lib/ocaml/node_path.cmt +0 -0
- package/lib/ocaml/node_path.ml +0 -71
- package/lib/ocaml/node_process.cmi +0 -0
- package/lib/ocaml/node_process.cmt +0 -0
- package/lib/ocaml/node_process.cmti +0 -0
- package/lib/ocaml/node_process.ml +0 -59
- package/lib/ocaml/node_process.mli +0 -48
- package/lib/ocaml/obj.cmi +0 -0
- package/lib/ocaml/obj.cmt +0 -0
- package/lib/ocaml/obj.cmti +0 -0
- package/lib/ocaml/obj.ml +0 -29
- package/lib/ocaml/obj.mli +0 -62
- package/lib/ocaml/parsing.cmi +0 -0
- package/lib/ocaml/parsing.cmt +0 -0
- package/lib/ocaml/parsing.cmti +0 -0
- package/lib/ocaml/parsing.ml +0 -212
- package/lib/ocaml/parsing.mli +0 -105
- package/lib/ocaml/pervasives.cmi +0 -0
- package/lib/ocaml/pervasives.cmt +0 -0
- package/lib/ocaml/pervasives.cmti +0 -0
- package/lib/ocaml/pervasives.ml +0 -297
- package/lib/ocaml/pervasives.mli +0 -771
- package/lib/ocaml/printexc.cmi +0 -0
- package/lib/ocaml/printexc.cmt +0 -0
- package/lib/ocaml/printexc.cmti +0 -0
- package/lib/ocaml/printexc.ml +0 -75
- package/lib/ocaml/printexc.mli +0 -57
- package/lib/ocaml/queue.cmi +0 -0
- package/lib/ocaml/queue.cmt +0 -0
- package/lib/ocaml/queue.cmti +0 -0
- package/lib/ocaml/queue.ml +0 -132
- package/lib/ocaml/queue.mli +0 -82
- package/lib/ocaml/random.cmi +0 -0
- package/lib/ocaml/random.cmt +0 -0
- package/lib/ocaml/random.cmti +0 -0
- package/lib/ocaml/random.ml +0 -273
- package/lib/ocaml/random.mli +0 -102
- package/lib/ocaml/set.cmi +0 -0
- package/lib/ocaml/set.cmt +0 -0
- package/lib/ocaml/set.cmti +0 -0
- package/lib/ocaml/set.ml +0 -526
- package/lib/ocaml/set.mli +0 -266
- package/lib/ocaml/setLabels.cmi +0 -0
- package/lib/ocaml/setLabels.cmt +0 -0
- package/lib/ocaml/setLabels.ml +0 -526
- package/lib/ocaml/setm.cppo.ml +0 -346
- package/lib/ocaml/setm.cppo.mli +0 -126
- package/lib/ocaml/sort.cmi +0 -0
- package/lib/ocaml/sort.cmt +0 -0
- package/lib/ocaml/sort.cmti +0 -0
- package/lib/ocaml/sort.cppo.ml +0 -267
- package/lib/ocaml/sort.cppo.mli +0 -96
- package/lib/ocaml/sort.ml +0 -99
- package/lib/ocaml/sort.mli +0 -44
- package/lib/ocaml/stack.cmi +0 -0
- package/lib/ocaml/stack.cmt +0 -0
- package/lib/ocaml/stack.cmti +0 -0
- package/lib/ocaml/stack.ml +0 -44
- package/lib/ocaml/stack.mli +0 -63
- package/lib/ocaml/stdLabels.cmi +0 -0
- package/lib/ocaml/stdLabels.cmt +0 -0
- package/lib/ocaml/stdLabels.cmti +0 -0
- package/lib/ocaml/stdLabels.ml +0 -24
- package/lib/ocaml/stdLabels.mli +0 -29
- package/lib/ocaml/stream.cmi +0 -0
- package/lib/ocaml/stream.cmt +0 -0
- package/lib/ocaml/stream.cmti +0 -0
- package/lib/ocaml/stream.ml +0 -213
- package/lib/ocaml/stream.mli +0 -108
- package/lib/ocaml/string.cmi +0 -0
- package/lib/ocaml/string.cmt +0 -0
- package/lib/ocaml/string.cmti +0 -0
- package/lib/ocaml/string.ml +0 -190
- package/lib/ocaml/string.mli +0 -286
- package/lib/ocaml/stringLabels.cmi +0 -0
- package/lib/ocaml/stringLabels.cmt +0 -0
- package/lib/ocaml/stringLabels.cmti +0 -0
- package/lib/ocaml/stringLabels.ml +0 -190
- package/lib/ocaml/stringLabels.mli +0 -241
- package/lib/ocaml/sys.cmi +0 -0
- package/lib/ocaml/sys.cmt +0 -0
- package/lib/ocaml/sys.cmti +0 -0
- package/lib/ocaml/sys.ml +0 -135
- package/lib/ocaml/sys.mli +0 -333
- package/lib/ocaml/uchar.cmi +0 -0
- package/lib/ocaml/uchar.cmt +0 -0
- package/lib/ocaml/uchar.cmti +0 -0
- package/lib/ocaml/uchar.ml +0 -58
- package/lib/ocaml/uchar.mli +0 -98
package/lib/ocaml/bytesLabels.ml
DELETED
|
@@ -1,428 +0,0 @@
|
|
|
1
|
-
(**************************************************************************)
|
|
2
|
-
(* *)
|
|
3
|
-
(* OCaml *)
|
|
4
|
-
(* *)
|
|
5
|
-
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
6
|
-
(* *)
|
|
7
|
-
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
8
|
-
(* en Automatique. *)
|
|
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
|
-
(* Byte sequence operations *)
|
|
17
|
-
|
|
18
|
-
(* WARNING: Some functions in this file are duplicated in string.ml for
|
|
19
|
-
efficiency reasons. When you modify the one in this file you need to
|
|
20
|
-
modify its duplicate in string.ml.
|
|
21
|
-
These functions have a "duplicated" comment above their definition.
|
|
22
|
-
*)
|
|
23
|
-
external (.!()) : string -> int -> char = "%string_unsafe_get"
|
|
24
|
-
external of_small_int_array :
|
|
25
|
-
(_ [@bs.as {json|null|json}] ) ->
|
|
26
|
-
int array -> string =
|
|
27
|
-
"String.fromCharCode.apply"
|
|
28
|
-
[@@bs.val]
|
|
29
|
-
|
|
30
|
-
external length : bytes -> int = "%bytes_length"
|
|
31
|
-
external%private string_length : string -> int = "%string_length"
|
|
32
|
-
external get : bytes -> int -> char = "%bytes_safe_get"
|
|
33
|
-
external set : bytes -> int -> char -> unit = "%bytes_safe_set"
|
|
34
|
-
external create : int -> bytes = "?create_bytes"
|
|
35
|
-
|
|
36
|
-
external unsafe_get : bytes -> int -> char = "%bytes_unsafe_get"
|
|
37
|
-
external unsafe_set : bytes -> int -> char -> unit = "%bytes_unsafe_set"
|
|
38
|
-
external (.![]) : bytes -> int -> char = "%bytes_unsafe_get"
|
|
39
|
-
external (.![]<-) : bytes -> int -> char -> unit = "%bytes_unsafe_set"
|
|
40
|
-
external new_uninitialized : int -> bytes = "Array" [@@bs.new]
|
|
41
|
-
external to_int_array : bytes -> int array = "%identity"
|
|
42
|
-
|
|
43
|
-
let unsafe_fill : bytes -> int -> int -> char -> unit
|
|
44
|
-
= fun (s : bytes) i l (c : char) ->
|
|
45
|
-
if l > 0 then
|
|
46
|
-
for k = i to l + i - 1 do
|
|
47
|
-
s.![k] <- c
|
|
48
|
-
done
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
(** Same as {!Array.prototype.copyWithin} *)
|
|
54
|
-
let copyWithin (s1 : bytes) i1 i2 len =
|
|
55
|
-
if i1 < i2 then (* nop for i1 = i2 *)
|
|
56
|
-
let range_a = length s1 - i2 - 1 in
|
|
57
|
-
let range_b = len - 1 in
|
|
58
|
-
let range = if range_a > range_b then range_b else range_a in
|
|
59
|
-
for j = range downto 0 do
|
|
60
|
-
s1.![i2 + j] <- s1.![i1 + j]
|
|
61
|
-
done
|
|
62
|
-
else if i1 > i2 then
|
|
63
|
-
let range_a = length s1 - i1 - 1 in
|
|
64
|
-
let range_b = len - 1 in
|
|
65
|
-
let range = if range_a > range_b then range_b else range_a in
|
|
66
|
-
for k = 0 to range do
|
|
67
|
-
s1.![i2 + k] <- s1.![i1 + k]
|
|
68
|
-
done
|
|
69
|
-
|
|
70
|
-
(* TODO: when the compiler could optimize small function calls,
|
|
71
|
-
use high order functions instead
|
|
72
|
-
*)
|
|
73
|
-
let unsafe_blit (s1:bytes) i1 (s2:bytes) i2 len =
|
|
74
|
-
if len > 0 then
|
|
75
|
-
if s1 == s2 then
|
|
76
|
-
copyWithin s1 i1 i2 len
|
|
77
|
-
else
|
|
78
|
-
let off1 = length s1 - i1 in
|
|
79
|
-
if len <= off1 then
|
|
80
|
-
for i = 0 to len - 1 do
|
|
81
|
-
s2.![i2 + i] <- s1.![i1 + i]
|
|
82
|
-
done
|
|
83
|
-
else
|
|
84
|
-
begin
|
|
85
|
-
for i = 0 to off1 - 1 do
|
|
86
|
-
s2.![i2 + i] <- s1.![i1 + i]
|
|
87
|
-
done;
|
|
88
|
-
for i = off1 to len - 1 do
|
|
89
|
-
s2.![i2 + i] <- '\000'
|
|
90
|
-
done
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
let unsafe_blit_string (s1 : string) i1 (s2 : bytes) i2 (len : int ) =
|
|
94
|
-
if len > 0 then
|
|
95
|
-
let off1 = string_length s1 - i1 in
|
|
96
|
-
if len <= off1 then
|
|
97
|
-
for i = 0 to len - 1 do
|
|
98
|
-
s2.![i2 + i] <- s1.!(i1 + i)
|
|
99
|
-
done
|
|
100
|
-
else
|
|
101
|
-
begin
|
|
102
|
-
for i = 0 to off1 - 1 do
|
|
103
|
-
s2.![i2 + i] <- s1.!(i1 + i)
|
|
104
|
-
done;
|
|
105
|
-
for i = off1 to len - 1 do
|
|
106
|
-
s2.![i2 + i] <- '\000'
|
|
107
|
-
done
|
|
108
|
-
end
|
|
109
|
-
let string_of_large_bytes (bytes : bytes) i len =
|
|
110
|
-
let s = ref "" in
|
|
111
|
-
let s_len = ref len in
|
|
112
|
-
let seg = 1024 in
|
|
113
|
-
if i = 0 && len <= 4 * seg && len = length bytes then
|
|
114
|
-
of_small_int_array (to_int_array bytes)
|
|
115
|
-
else
|
|
116
|
-
begin
|
|
117
|
-
let offset = ref 0 in
|
|
118
|
-
while s_len.contents > 0 do
|
|
119
|
-
let next = if s_len.contents < 1024 then s_len.contents else seg in
|
|
120
|
-
let tmp_bytes = new_uninitialized next in
|
|
121
|
-
for k = 0 to next - 1 do
|
|
122
|
-
tmp_bytes.![k] <- bytes.![k + offset.contents]
|
|
123
|
-
done;
|
|
124
|
-
s.contents <- s.contents ^ of_small_int_array (to_int_array tmp_bytes);
|
|
125
|
-
s_len.contents <- s_len.contents - next ;
|
|
126
|
-
offset.contents <- offset.contents + next;
|
|
127
|
-
done;
|
|
128
|
-
s.contents
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
let make n c =
|
|
133
|
-
let s = create n in
|
|
134
|
-
unsafe_fill s 0 n c;
|
|
135
|
-
s
|
|
136
|
-
|
|
137
|
-
let init n ~f =
|
|
138
|
-
let s = create n in
|
|
139
|
-
for i = 0 to n - 1 do
|
|
140
|
-
unsafe_set s i (f i)
|
|
141
|
-
done;
|
|
142
|
-
s
|
|
143
|
-
|
|
144
|
-
let empty = create 0
|
|
145
|
-
|
|
146
|
-
let copy s =
|
|
147
|
-
let len = length s in
|
|
148
|
-
let r = create len in
|
|
149
|
-
unsafe_blit s 0 r 0 len;
|
|
150
|
-
r
|
|
151
|
-
|
|
152
|
-
let to_string (a : bytes) : string =
|
|
153
|
-
string_of_large_bytes a 0 (length a)
|
|
154
|
-
|
|
155
|
-
let unsafe_to_string = to_string
|
|
156
|
-
|
|
157
|
-
(** checkout [Bytes.empty] -- to be inlined? *)
|
|
158
|
-
let of_string (s : string) =
|
|
159
|
-
let len = string_length s in
|
|
160
|
-
let res = new_uninitialized len in
|
|
161
|
-
for i = 0 to len - 1 do
|
|
162
|
-
res.![i] <- s.!(i)
|
|
163
|
-
(* Note that when get a char and convert it to int immedately, should be optimized
|
|
164
|
-
should be [s.charCodeAt[i]]
|
|
165
|
-
*)
|
|
166
|
-
done;
|
|
167
|
-
res
|
|
168
|
-
|
|
169
|
-
let unsafe_of_string = of_string
|
|
170
|
-
|
|
171
|
-
let sub s ~pos:ofs ~len =
|
|
172
|
-
if ofs < 0 || len < 0 || ofs > length s - len
|
|
173
|
-
then invalid_arg "String.sub / Bytes.sub"
|
|
174
|
-
else begin
|
|
175
|
-
let r = create len in
|
|
176
|
-
unsafe_blit s ofs r 0 len;
|
|
177
|
-
r
|
|
178
|
-
end
|
|
179
|
-
|
|
180
|
-
let sub_string b ~pos:ofs ~len = unsafe_to_string (sub b ~pos:ofs ~len)
|
|
181
|
-
|
|
182
|
-
(* addition with an overflow check *)
|
|
183
|
-
let (++) a b =
|
|
184
|
-
let c = a + b in
|
|
185
|
-
match a < 0, b < 0, c < 0 with
|
|
186
|
-
| true , true , false
|
|
187
|
-
| false, false, true -> invalid_arg "Bytes.extend" (* overflow *)
|
|
188
|
-
| _ -> c
|
|
189
|
-
|
|
190
|
-
let extend s ~left ~right =
|
|
191
|
-
let len = length s ++ left ++ right in
|
|
192
|
-
let r = create len in
|
|
193
|
-
let (srcoff, dstoff) = if left < 0 then -left, 0 else 0, left in
|
|
194
|
-
let cpylen = min (length s - srcoff) (len - dstoff) in
|
|
195
|
-
if cpylen > 0 then unsafe_blit s srcoff r dstoff cpylen;
|
|
196
|
-
r
|
|
197
|
-
|
|
198
|
-
let fill s ~pos:ofs ~len c =
|
|
199
|
-
if ofs < 0 || len < 0 || ofs > length s - len
|
|
200
|
-
then invalid_arg "String.fill / Bytes.fill"
|
|
201
|
-
else unsafe_fill s ofs len c
|
|
202
|
-
|
|
203
|
-
let blit ~src:s1 ~src_pos:ofs1 ~dst:s2 ~dst_pos:ofs2 ~len =
|
|
204
|
-
if len < 0 || ofs1 < 0 || ofs1 > length s1 - len
|
|
205
|
-
|| ofs2 < 0 || ofs2 > length s2 - len
|
|
206
|
-
then invalid_arg "Bytes.blit"
|
|
207
|
-
else unsafe_blit s1 ofs1 s2 ofs2 len
|
|
208
|
-
|
|
209
|
-
let blit_string ~src:s1 ~src_pos:ofs1 ~dst:s2 ~dst_pos:ofs2 ~len =
|
|
210
|
-
if len < 0 || ofs1 < 0 || ofs1 > string_length s1 - len
|
|
211
|
-
|| ofs2 < 0 || ofs2 > length s2 - len
|
|
212
|
-
then invalid_arg "String.blit / Bytes.blit_string"
|
|
213
|
-
else unsafe_blit_string s1 ofs1 s2 ofs2 len
|
|
214
|
-
|
|
215
|
-
(* duplicated in string.ml *)
|
|
216
|
-
let iter ~f a =
|
|
217
|
-
for i = 0 to length a - 1 do f(unsafe_get a i) done
|
|
218
|
-
|
|
219
|
-
(* duplicated in string.ml *)
|
|
220
|
-
let iteri ~f a =
|
|
221
|
-
for i = 0 to length a - 1 do f i (unsafe_get a i) done
|
|
222
|
-
|
|
223
|
-
let ensure_ge (x:int) y = if x >= y then x else invalid_arg "Bytes.concat"
|
|
224
|
-
|
|
225
|
-
let rec sum_lengths acc seplen = function
|
|
226
|
-
| [] -> acc
|
|
227
|
-
| hd :: [] -> length hd + acc
|
|
228
|
-
| hd :: tl -> sum_lengths (ensure_ge (length hd + seplen + acc) acc) seplen tl
|
|
229
|
-
|
|
230
|
-
let rec unsafe_blits dst pos sep seplen = function
|
|
231
|
-
[] -> dst
|
|
232
|
-
| hd :: [] ->
|
|
233
|
-
unsafe_blit hd 0 dst pos (length hd); dst
|
|
234
|
-
| hd :: tl ->
|
|
235
|
-
unsafe_blit hd 0 dst pos (length hd);
|
|
236
|
-
unsafe_blit sep 0 dst (pos + length hd) seplen;
|
|
237
|
-
unsafe_blits dst (pos + length hd + seplen) sep seplen tl
|
|
238
|
-
|
|
239
|
-
let concat ~sep = function
|
|
240
|
-
[] -> empty
|
|
241
|
-
| l -> let seplen = length sep in
|
|
242
|
-
unsafe_blits
|
|
243
|
-
(create (sum_lengths 0 seplen l))
|
|
244
|
-
0 sep seplen l
|
|
245
|
-
|
|
246
|
-
let cat s1 s2 =
|
|
247
|
-
let l1 = length s1 in
|
|
248
|
-
let l2 = length s2 in
|
|
249
|
-
let r = create (l1 + l2) in
|
|
250
|
-
unsafe_blit s1 0 r 0 l1;
|
|
251
|
-
unsafe_blit s2 0 r l1 l2;
|
|
252
|
-
r
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
external char_chr: int -> char = "%identity"
|
|
256
|
-
|
|
257
|
-
let is_space = function
|
|
258
|
-
| ' ' | '\012' | '\n' | '\r' | '\t' -> true
|
|
259
|
-
| _ -> false
|
|
260
|
-
|
|
261
|
-
let trim s =
|
|
262
|
-
let len = length s in
|
|
263
|
-
let i = ref 0 in
|
|
264
|
-
while !i < len && is_space (unsafe_get s !i) do
|
|
265
|
-
incr i
|
|
266
|
-
done;
|
|
267
|
-
let j = ref (len - 1) in
|
|
268
|
-
while !j >= !i && is_space (unsafe_get s !j) do
|
|
269
|
-
decr j
|
|
270
|
-
done;
|
|
271
|
-
if !j >= !i then
|
|
272
|
-
sub s ~pos:!i ~len:(!j - !i + 1)
|
|
273
|
-
else
|
|
274
|
-
empty
|
|
275
|
-
|
|
276
|
-
let escaped s =
|
|
277
|
-
let n = ref 0 in
|
|
278
|
-
for i = 0 to length s - 1 do
|
|
279
|
-
n := !n +
|
|
280
|
-
(match unsafe_get s i with
|
|
281
|
-
| '\"' | '\\' | '\n' | '\t' | '\r' | '\b' -> 2
|
|
282
|
-
| ' ' .. '~' -> 1
|
|
283
|
-
| _ -> 4)
|
|
284
|
-
done;
|
|
285
|
-
if !n = length s then copy s else begin
|
|
286
|
-
let s' = create !n in
|
|
287
|
-
n := 0;
|
|
288
|
-
for i = 0 to length s - 1 do
|
|
289
|
-
begin match unsafe_get s i with
|
|
290
|
-
| ('\"' | '\\') as c ->
|
|
291
|
-
unsafe_set s' !n '\\'; incr n; unsafe_set s' !n c
|
|
292
|
-
| '\n' ->
|
|
293
|
-
unsafe_set s' !n '\\'; incr n; unsafe_set s' !n 'n'
|
|
294
|
-
| '\t' ->
|
|
295
|
-
unsafe_set s' !n '\\'; incr n; unsafe_set s' !n 't'
|
|
296
|
-
| '\r' ->
|
|
297
|
-
unsafe_set s' !n '\\'; incr n; unsafe_set s' !n 'r'
|
|
298
|
-
| '\b' ->
|
|
299
|
-
unsafe_set s' !n '\\'; incr n; unsafe_set s' !n 'b'
|
|
300
|
-
| (' ' .. '~') as c -> unsafe_set s' !n c
|
|
301
|
-
| c ->
|
|
302
|
-
let a = (c :> int) in
|
|
303
|
-
unsafe_set s' !n '\\';
|
|
304
|
-
incr n;
|
|
305
|
-
unsafe_set s' !n (char_chr (48 + a / 100));
|
|
306
|
-
incr n;
|
|
307
|
-
unsafe_set s' !n (char_chr (48 + (a / 10) mod 10));
|
|
308
|
-
incr n;
|
|
309
|
-
unsafe_set s' !n (char_chr (48 + a mod 10));
|
|
310
|
-
end;
|
|
311
|
-
incr n
|
|
312
|
-
done;
|
|
313
|
-
s'
|
|
314
|
-
end
|
|
315
|
-
|
|
316
|
-
let map ~f s =
|
|
317
|
-
let l = length s in
|
|
318
|
-
if l = 0 then s else begin
|
|
319
|
-
let r = create l in
|
|
320
|
-
for i = 0 to l - 1 do unsafe_set r i (f (unsafe_get s i)) done;
|
|
321
|
-
r
|
|
322
|
-
end
|
|
323
|
-
|
|
324
|
-
let mapi ~f s =
|
|
325
|
-
let l = length s in
|
|
326
|
-
if l = 0 then s else begin
|
|
327
|
-
let r = create l in
|
|
328
|
-
for i = 0 to l - 1 do unsafe_set r i (f i (unsafe_get s i)) done;
|
|
329
|
-
r
|
|
330
|
-
end
|
|
331
|
-
|
|
332
|
-
let uppercase_ascii s = map ~f:Char.uppercase_ascii s
|
|
333
|
-
let lowercase_ascii s = map ~f:Char.lowercase_ascii s
|
|
334
|
-
|
|
335
|
-
let apply1 f s =
|
|
336
|
-
if length s = 0 then s else begin
|
|
337
|
-
let r = copy s in
|
|
338
|
-
unsafe_set r 0 (f(unsafe_get s 0));
|
|
339
|
-
r
|
|
340
|
-
end
|
|
341
|
-
|
|
342
|
-
let capitalize_ascii s = apply1 Char.uppercase_ascii s
|
|
343
|
-
let uncapitalize_ascii s = apply1 Char.lowercase_ascii s
|
|
344
|
-
|
|
345
|
-
(* duplicated in string.ml *)
|
|
346
|
-
let rec index_rec s lim i c =
|
|
347
|
-
if i >= lim then raise Not_found else
|
|
348
|
-
if unsafe_get s i = c then i else index_rec s lim (i + 1) c
|
|
349
|
-
|
|
350
|
-
(* duplicated in string.ml *)
|
|
351
|
-
let index s c = index_rec s (length s) 0 c
|
|
352
|
-
|
|
353
|
-
(* duplicated in string.ml *)
|
|
354
|
-
let rec index_rec_opt s lim i c =
|
|
355
|
-
if i >= lim then None else
|
|
356
|
-
if unsafe_get s i = c then Some i else index_rec_opt s lim (i + 1) c
|
|
357
|
-
|
|
358
|
-
(* duplicated in string.ml *)
|
|
359
|
-
let index_opt s c = index_rec_opt s (length s) 0 c
|
|
360
|
-
|
|
361
|
-
(* duplicated in string.ml *)
|
|
362
|
-
let index_from s i c =
|
|
363
|
-
let l = length s in
|
|
364
|
-
if i < 0 || i > l then invalid_arg "String.index_from / Bytes.index_from" else
|
|
365
|
-
index_rec s l i c
|
|
366
|
-
|
|
367
|
-
(* duplicated in string.ml *)
|
|
368
|
-
let index_from_opt s i c =
|
|
369
|
-
let l = length s in
|
|
370
|
-
if i < 0 || i > l then invalid_arg "String.index_from_opt / Bytes.index_from_opt" else
|
|
371
|
-
index_rec_opt s l i c
|
|
372
|
-
|
|
373
|
-
(* duplicated in string.ml *)
|
|
374
|
-
let rec rindex_rec s i c =
|
|
375
|
-
if i < 0 then raise Not_found else
|
|
376
|
-
if unsafe_get s i = c then i else rindex_rec s (i - 1) c
|
|
377
|
-
|
|
378
|
-
(* duplicated in string.ml *)
|
|
379
|
-
let rindex s c = rindex_rec s (length s - 1) c
|
|
380
|
-
|
|
381
|
-
(* duplicated in string.ml *)
|
|
382
|
-
let rindex_from s i c =
|
|
383
|
-
if i < -1 || i >= length s then
|
|
384
|
-
invalid_arg "String.rindex_from / Bytes.rindex_from"
|
|
385
|
-
else
|
|
386
|
-
rindex_rec s i c
|
|
387
|
-
|
|
388
|
-
(* duplicated in string.ml *)
|
|
389
|
-
let rec rindex_rec_opt s i c =
|
|
390
|
-
if i < 0 then None else
|
|
391
|
-
if unsafe_get s i = c then Some i else rindex_rec_opt s (i - 1) c
|
|
392
|
-
|
|
393
|
-
(* duplicated in string.ml *)
|
|
394
|
-
let rindex_opt s c = rindex_rec_opt s (length s - 1) c
|
|
395
|
-
|
|
396
|
-
(* duplicated in string.ml *)
|
|
397
|
-
let rindex_from_opt s i c =
|
|
398
|
-
if i < -1 || i >= length s then
|
|
399
|
-
invalid_arg "String.rindex_from_opt / Bytes.rindex_from_opt"
|
|
400
|
-
else
|
|
401
|
-
rindex_rec_opt s i c
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
(* duplicated in string.ml *)
|
|
405
|
-
let contains_from s i c =
|
|
406
|
-
let l = length s in
|
|
407
|
-
if i < 0 || i > l then
|
|
408
|
-
invalid_arg "String.contains_from / Bytes.contains_from"
|
|
409
|
-
else
|
|
410
|
-
try ignore (index_rec s l i c); true with Not_found -> false
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
(* duplicated in string.ml *)
|
|
414
|
-
let contains s c = contains_from s 0 c
|
|
415
|
-
|
|
416
|
-
(* duplicated in string.ml *)
|
|
417
|
-
let rcontains_from s i c =
|
|
418
|
-
if i < 0 || i >= length s then
|
|
419
|
-
invalid_arg "String.rcontains_from / Bytes.rcontains_from"
|
|
420
|
-
else
|
|
421
|
-
try ignore (rindex_rec s i c); true with Not_found -> false
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
type t = bytes
|
|
425
|
-
|
|
426
|
-
let compare (x: t) (y: t) = Pervasives.compare x y
|
|
427
|
-
let equal (x : t) (y : t) = x = y
|
|
428
|
-
|
|
@@ -1,276 +0,0 @@
|
|
|
1
|
-
(**************************************************************************)
|
|
2
|
-
(* *)
|
|
3
|
-
(* OCaml *)
|
|
4
|
-
(* *)
|
|
5
|
-
(* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
|
|
6
|
-
(* *)
|
|
7
|
-
(* Copyright 1996 Institut National de Recherche en Informatique et *)
|
|
8
|
-
(* en Automatique. *)
|
|
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
|
-
(** Byte sequence operations.
|
|
17
|
-
@since 4.02.0
|
|
18
|
-
*)
|
|
19
|
-
|
|
20
|
-
external length : bytes -> int = "%bytes_length"
|
|
21
|
-
(** Return the length (number of bytes) of the argument. *)
|
|
22
|
-
|
|
23
|
-
external get : bytes -> int -> char = "%bytes_safe_get"
|
|
24
|
-
(** [get s n] returns the byte at index [n] in argument [s].
|
|
25
|
-
|
|
26
|
-
Raise [Invalid_argument] if [n] is not a valid index in [s]. *)
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
external set : bytes -> int -> char -> unit = "%bytes_safe_set"
|
|
30
|
-
(** [set s n c] modifies [s] in place, replacing the byte at index [n]
|
|
31
|
-
with [c].
|
|
32
|
-
|
|
33
|
-
Raise [Invalid_argument] if [n] is not a valid index in [s]. *)
|
|
34
|
-
|
|
35
|
-
external create : int -> bytes = "?create_bytes"
|
|
36
|
-
(** [create n] returns a new byte sequence of length [n]. The
|
|
37
|
-
sequence is uninitialized and contains arbitrary bytes.
|
|
38
|
-
|
|
39
|
-
Raise [Invalid_argument] if [n < 0] or [n > ]{!Sys.max_string_length}. *)
|
|
40
|
-
|
|
41
|
-
val make : int -> char -> bytes
|
|
42
|
-
(** [make n c] returns a new byte sequence of length [n], filled with
|
|
43
|
-
the byte [c].
|
|
44
|
-
|
|
45
|
-
Raise [Invalid_argument] if [n < 0] or [n > ]{!Sys.max_string_length}. *)
|
|
46
|
-
|
|
47
|
-
val init : int -> f:(int -> char) -> bytes
|
|
48
|
-
(** [init n f] returns a fresh byte sequence of length [n],
|
|
49
|
-
with character [i] initialized to the result of [f i].
|
|
50
|
-
|
|
51
|
-
Raise [Invalid_argument] if [n < 0] or [n > ]{!Sys.max_string_length}. *)
|
|
52
|
-
|
|
53
|
-
val empty : bytes
|
|
54
|
-
(** A byte sequence of size 0. *)
|
|
55
|
-
|
|
56
|
-
val copy : bytes -> bytes
|
|
57
|
-
(** Return a new byte sequence that contains the same bytes as the
|
|
58
|
-
argument. *)
|
|
59
|
-
|
|
60
|
-
val of_string : string -> bytes
|
|
61
|
-
(** Return a new byte sequence that contains the same bytes as the
|
|
62
|
-
given string. *)
|
|
63
|
-
|
|
64
|
-
val to_string : bytes -> string
|
|
65
|
-
(** Return a new string that contains the same bytes as the given byte
|
|
66
|
-
sequence. *)
|
|
67
|
-
|
|
68
|
-
val sub : bytes -> pos:int -> len:int -> bytes
|
|
69
|
-
(** [sub s start len] returns a new byte sequence of length [len],
|
|
70
|
-
containing the subsequence of [s] that starts at position [start]
|
|
71
|
-
and has length [len].
|
|
72
|
-
|
|
73
|
-
Raise [Invalid_argument] if [start] and [len] do not designate a
|
|
74
|
-
valid range of [s]. *)
|
|
75
|
-
|
|
76
|
-
val sub_string : bytes -> pos:int -> len:int -> string
|
|
77
|
-
(** Same as [sub] but return a string instead of a byte sequence. *)
|
|
78
|
-
|
|
79
|
-
val extend : bytes -> left:int -> right:int -> bytes
|
|
80
|
-
(** [extend s left right] returns a new byte sequence that contains
|
|
81
|
-
the bytes of [s], with [left] uninitialized bytes prepended and
|
|
82
|
-
[right] uninitialized bytes appended to it. If [left] or [right]
|
|
83
|
-
is negative, then bytes are removed (instead of appended) from
|
|
84
|
-
the corresponding side of [s].
|
|
85
|
-
|
|
86
|
-
Raise [Invalid_argument] if the result length is negative or
|
|
87
|
-
longer than {!Sys.max_string_length} bytes.
|
|
88
|
-
@since 4.05.0 *)
|
|
89
|
-
|
|
90
|
-
val fill : bytes -> pos:int -> len:int -> char -> unit
|
|
91
|
-
(** [fill s start len c] modifies [s] in place, replacing [len]
|
|
92
|
-
characters with [c], starting at [start].
|
|
93
|
-
|
|
94
|
-
Raise [Invalid_argument] if [start] and [len] do not designate a
|
|
95
|
-
valid range of [s]. *)
|
|
96
|
-
|
|
97
|
-
val blit :
|
|
98
|
-
src:bytes -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int
|
|
99
|
-
-> unit
|
|
100
|
-
(** [blit src srcoff dst dstoff len] copies [len] bytes from sequence
|
|
101
|
-
[src], starting at index [srcoff], to sequence [dst], starting at
|
|
102
|
-
index [dstoff]. It works correctly even if [src] and [dst] are the
|
|
103
|
-
same byte sequence, and the source and destination intervals
|
|
104
|
-
overlap.
|
|
105
|
-
|
|
106
|
-
Raise [Invalid_argument] if [srcoff] and [len] do not
|
|
107
|
-
designate a valid range of [src], or if [dstoff] and [len]
|
|
108
|
-
do not designate a valid range of [dst]. *)
|
|
109
|
-
|
|
110
|
-
val blit_string :
|
|
111
|
-
src:string -> src_pos:int -> dst:bytes -> dst_pos:int -> len:int
|
|
112
|
-
-> unit
|
|
113
|
-
(** [blit src srcoff dst dstoff len] copies [len] bytes from string
|
|
114
|
-
[src], starting at index [srcoff], to byte sequence [dst],
|
|
115
|
-
starting at index [dstoff].
|
|
116
|
-
|
|
117
|
-
Raise [Invalid_argument] if [srcoff] and [len] do not
|
|
118
|
-
designate a valid range of [src], or if [dstoff] and [len]
|
|
119
|
-
do not designate a valid range of [dst].
|
|
120
|
-
@since 4.05.0 *)
|
|
121
|
-
|
|
122
|
-
val concat : sep:bytes -> bytes list -> bytes
|
|
123
|
-
(** [concat sep sl] concatenates the list of byte sequences [sl],
|
|
124
|
-
inserting the separator byte sequence [sep] between each, and
|
|
125
|
-
returns the result as a new byte sequence. *)
|
|
126
|
-
|
|
127
|
-
val cat : bytes -> bytes -> bytes
|
|
128
|
-
(** [cat s1 s2] concatenates [s1] and [s2] and returns the result
|
|
129
|
-
as new byte sequence.
|
|
130
|
-
|
|
131
|
-
Raise [Invalid_argument] if the result is longer than
|
|
132
|
-
{!Sys.max_string_length} bytes.
|
|
133
|
-
@since 4.05.0 *)
|
|
134
|
-
|
|
135
|
-
val iter : f:(char -> unit) -> bytes -> unit
|
|
136
|
-
(** [iter f s] applies function [f] in turn to all the bytes of [s].
|
|
137
|
-
It is equivalent to [f (get s 0); f (get s 1); ...; f (get s
|
|
138
|
-
(length s - 1)); ()]. *)
|
|
139
|
-
|
|
140
|
-
val iteri : f:(int -> char -> unit) -> bytes -> unit
|
|
141
|
-
(** Same as {!Bytes.iter}, but the function is applied to the index of
|
|
142
|
-
the byte as first argument and the byte itself as second
|
|
143
|
-
argument. *)
|
|
144
|
-
|
|
145
|
-
val map : f:(char -> char) -> bytes -> bytes
|
|
146
|
-
(** [map f s] applies function [f] in turn to all the bytes of [s] and
|
|
147
|
-
stores the resulting bytes in a new sequence that is returned as
|
|
148
|
-
the result. *)
|
|
149
|
-
|
|
150
|
-
val mapi : f:(int -> char -> char) -> bytes -> bytes
|
|
151
|
-
(** [mapi f s] calls [f] with each character of [s] and its
|
|
152
|
-
index (in increasing index order) and stores the resulting bytes
|
|
153
|
-
in a new sequence that is returned as the result. *)
|
|
154
|
-
|
|
155
|
-
val trim : bytes -> bytes
|
|
156
|
-
(** Return a copy of the argument, without leading and trailing
|
|
157
|
-
whitespace. The bytes regarded as whitespace are the ASCII
|
|
158
|
-
characters [' '], ['\012'], ['\n'], ['\r'], and ['\t']. *)
|
|
159
|
-
|
|
160
|
-
val escaped : bytes -> bytes
|
|
161
|
-
(** Return a copy of the argument, with special characters represented
|
|
162
|
-
by escape sequences, following the lexical conventions of OCaml. *)
|
|
163
|
-
|
|
164
|
-
val index : bytes -> char -> int
|
|
165
|
-
(** [index s c] returns the index of the first occurrence of byte [c]
|
|
166
|
-
in [s].
|
|
167
|
-
|
|
168
|
-
Raise [Not_found] if [c] does not occur in [s]. *)
|
|
169
|
-
|
|
170
|
-
val index_opt: bytes -> char -> int option
|
|
171
|
-
(** [index_opt s c] returns the index of the first occurrence of byte [c]
|
|
172
|
-
in [s] or [None] if [c] does not occur in [s].
|
|
173
|
-
@since 4.05 *)
|
|
174
|
-
|
|
175
|
-
val rindex : bytes -> char -> int
|
|
176
|
-
(** [rindex s c] returns the index of the last occurrence of byte [c]
|
|
177
|
-
in [s].
|
|
178
|
-
|
|
179
|
-
Raise [Not_found] if [c] does not occur in [s]. *)
|
|
180
|
-
|
|
181
|
-
val rindex_opt: bytes -> char -> int option
|
|
182
|
-
(** [rindex_opt s c] returns the index of the last occurrence of byte [c]
|
|
183
|
-
in [s] or [None] if [c] does not occur in [s].
|
|
184
|
-
@since 4.05 *)
|
|
185
|
-
|
|
186
|
-
val index_from : bytes -> int -> char -> int
|
|
187
|
-
(** [index_from s i c] returns the index of the first occurrence of
|
|
188
|
-
byte [c] in [s] after position [i]. [Bytes.index s c] is
|
|
189
|
-
equivalent to [Bytes.index_from s 0 c].
|
|
190
|
-
|
|
191
|
-
Raise [Invalid_argument] if [i] is not a valid position in [s].
|
|
192
|
-
Raise [Not_found] if [c] does not occur in [s] after position [i]. *)
|
|
193
|
-
|
|
194
|
-
val index_from_opt: bytes -> int -> char -> int option
|
|
195
|
-
(** [index_from _opts i c] returns the index of the first occurrence of
|
|
196
|
-
byte [c] in [s] after position [i] or [None] if [c] does not occur in [s] after position [i].
|
|
197
|
-
[Bytes.index_opt s c] is equivalent to [Bytes.index_from_opt s 0 c].
|
|
198
|
-
|
|
199
|
-
Raise [Invalid_argument] if [i] is not a valid position in [s].
|
|
200
|
-
@since 4.05 *)
|
|
201
|
-
|
|
202
|
-
val rindex_from : bytes -> int -> char -> int
|
|
203
|
-
(** [rindex_from s i c] returns the index of the last occurrence of
|
|
204
|
-
byte [c] in [s] before position [i+1]. [rindex s c] is equivalent
|
|
205
|
-
to [rindex_from s (Bytes.length s - 1) c].
|
|
206
|
-
|
|
207
|
-
Raise [Invalid_argument] if [i+1] is not a valid position in [s].
|
|
208
|
-
Raise [Not_found] if [c] does not occur in [s] before position [i+1]. *)
|
|
209
|
-
|
|
210
|
-
val rindex_from_opt: bytes -> int -> char -> int option
|
|
211
|
-
(** [rindex_from_opt s i c] returns the index of the last occurrence
|
|
212
|
-
of byte [c] in [s] before position [i+1] or [None] if [c] does not
|
|
213
|
-
occur in [s] before position [i+1]. [rindex_opt s c] is equivalent to
|
|
214
|
-
[rindex_from s (Bytes.length s - 1) c].
|
|
215
|
-
|
|
216
|
-
Raise [Invalid_argument] if [i+1] is not a valid position in [s].
|
|
217
|
-
@since 4.05 *)
|
|
218
|
-
|
|
219
|
-
val contains : bytes -> char -> bool
|
|
220
|
-
(** [contains s c] tests if byte [c] appears in [s]. *)
|
|
221
|
-
|
|
222
|
-
val contains_from : bytes -> int -> char -> bool
|
|
223
|
-
(** [contains_from s start c] tests if byte [c] appears in [s] after
|
|
224
|
-
position [start]. [contains s c] is equivalent to [contains_from
|
|
225
|
-
s 0 c].
|
|
226
|
-
|
|
227
|
-
Raise [Invalid_argument] if [start] is not a valid position in [s]. *)
|
|
228
|
-
|
|
229
|
-
val rcontains_from : bytes -> int -> char -> bool
|
|
230
|
-
(** [rcontains_from s stop c] tests if byte [c] appears in [s] before
|
|
231
|
-
position [stop+1].
|
|
232
|
-
|
|
233
|
-
Raise [Invalid_argument] if [stop < 0] or [stop+1] is not a valid
|
|
234
|
-
position in [s]. *)
|
|
235
|
-
|
|
236
|
-
val uppercase_ascii : bytes -> bytes
|
|
237
|
-
(** Return a copy of the argument, with all lowercase letters
|
|
238
|
-
translated to uppercase, using the US-ASCII character set.
|
|
239
|
-
@since 4.05.0 *)
|
|
240
|
-
|
|
241
|
-
val lowercase_ascii : bytes -> bytes
|
|
242
|
-
(** Return a copy of the argument, with all uppercase letters
|
|
243
|
-
translated to lowercase, using the US-ASCII character set.
|
|
244
|
-
@since 4.05.0 *)
|
|
245
|
-
|
|
246
|
-
val capitalize_ascii : bytes -> bytes
|
|
247
|
-
(** Return a copy of the argument, with the first character set to uppercase,
|
|
248
|
-
using the US-ASCII character set.
|
|
249
|
-
@since 4.05.0 *)
|
|
250
|
-
|
|
251
|
-
val uncapitalize_ascii : bytes -> bytes
|
|
252
|
-
(** Return a copy of the argument, with the first character set to lowercase,
|
|
253
|
-
using the US-ASCII character set.
|
|
254
|
-
@since 4.05.0 *)
|
|
255
|
-
|
|
256
|
-
type t = bytes
|
|
257
|
-
(** An alias for the type of byte sequences. *)
|
|
258
|
-
|
|
259
|
-
val compare: t -> t -> int
|
|
260
|
-
(** The comparison function for byte sequences, with the same
|
|
261
|
-
specification as {!Pervasives.compare}. Along with the type [t],
|
|
262
|
-
this function [compare] allows the module [Bytes] to be passed as
|
|
263
|
-
argument to the functors {!Set.Make} and {!Map.Make}. *)
|
|
264
|
-
|
|
265
|
-
val equal: t -> t -> bool
|
|
266
|
-
(** The equality function for byte sequences.
|
|
267
|
-
@since 4.05.0 *)
|
|
268
|
-
|
|
269
|
-
(**/**)
|
|
270
|
-
|
|
271
|
-
(* The following is for system use only. Do not call directly. *)
|
|
272
|
-
|
|
273
|
-
external unsafe_get : bytes -> int -> char = "%bytes_unsafe_get"
|
|
274
|
-
external unsafe_set : bytes -> int -> char -> unit = "%bytes_unsafe_set"
|
|
275
|
-
val unsafe_to_string : bytes -> string
|
|
276
|
-
val unsafe_of_string : string -> bytes
|
package/lib/ocaml/callback.cmi
DELETED
|
Binary file
|
package/lib/ocaml/callback.cmt
DELETED
|
Binary file
|
package/lib/ocaml/callback.cmti
DELETED
|
Binary file
|