@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.
Files changed (616) hide show
  1. package/darwin/bsb_helper.exe +0 -0
  2. package/darwin/bsc.exe +0 -0
  3. package/darwin/ninja.exe +0 -0
  4. package/darwin/rescript.exe +0 -0
  5. package/darwinarm64/bsb_helper.exe +0 -0
  6. package/darwinarm64/bsc.exe +0 -0
  7. package/darwinarm64/ninja.exe +0 -0
  8. package/darwinarm64/rescript.exe +0 -0
  9. package/lib/ocaml/arg.cmi +0 -0
  10. package/lib/ocaml/arg.cmt +0 -0
  11. package/lib/ocaml/arg.cmti +0 -0
  12. package/lib/ocaml/arg.ml +359 -0
  13. package/lib/ocaml/arg.mli +185 -0
  14. package/lib/ocaml/array.cmi +0 -0
  15. package/lib/ocaml/array.cmt +0 -0
  16. package/lib/ocaml/array.cmti +0 -0
  17. package/lib/ocaml/array.ml +307 -0
  18. package/lib/ocaml/array.mli +275 -0
  19. package/lib/ocaml/arrayLabels.cmi +0 -0
  20. package/lib/ocaml/arrayLabels.cmt +0 -0
  21. package/lib/ocaml/arrayLabels.cmti +0 -0
  22. package/lib/ocaml/arrayLabels.ml +307 -0
  23. package/lib/ocaml/arrayLabels.mli +276 -0
  24. package/lib/ocaml/belt.cmi +0 -0
  25. package/lib/ocaml/belt.cmt +0 -0
  26. package/lib/ocaml/belt.ml +352 -0
  27. package/lib/ocaml/belt_Array.cmi +0 -0
  28. package/lib/ocaml/belt_Array.cmt +0 -0
  29. package/lib/ocaml/belt_Array.cmti +0 -0
  30. package/lib/ocaml/belt_Array.ml +525 -0
  31. package/lib/ocaml/belt_Array.mli +707 -0
  32. package/lib/ocaml/belt_Float.cmi +0 -0
  33. package/lib/ocaml/belt_Float.cmt +0 -0
  34. package/lib/ocaml/belt_Float.cmti +0 -0
  35. package/lib/ocaml/belt_Float.ml +50 -0
  36. package/lib/ocaml/belt_Float.mli +106 -0
  37. package/lib/ocaml/belt_HashMap.cmi +0 -0
  38. package/lib/ocaml/belt_HashMap.cmt +0 -0
  39. package/lib/ocaml/belt_HashMap.cmti +0 -0
  40. package/lib/ocaml/belt_HashMap.ml +226 -0
  41. package/lib/ocaml/belt_HashMap.mli +436 -0
  42. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  43. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  44. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  45. package/lib/ocaml/belt_HashMapInt.ml +206 -0
  46. package/lib/ocaml/belt_HashMapInt.mli +50 -0
  47. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  48. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  49. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  50. package/lib/ocaml/belt_HashMapString.ml +206 -0
  51. package/lib/ocaml/belt_HashMapString.mli +50 -0
  52. package/lib/ocaml/belt_HashSet.cmi +0 -0
  53. package/lib/ocaml/belt_HashSet.cmt +0 -0
  54. package/lib/ocaml/belt_HashSet.cmti +0 -0
  55. package/lib/ocaml/belt_HashSet.ml +196 -0
  56. package/lib/ocaml/belt_HashSet.mli +125 -0
  57. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  58. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  59. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  60. package/lib/ocaml/belt_HashSetInt.ml +155 -0
  61. package/lib/ocaml/belt_HashSetInt.mli +74 -0
  62. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  63. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  64. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  65. package/lib/ocaml/belt_HashSetString.ml +156 -0
  66. package/lib/ocaml/belt_HashSetString.mli +74 -0
  67. package/lib/ocaml/belt_Id.cmi +0 -0
  68. package/lib/ocaml/belt_Id.cmt +0 -0
  69. package/lib/ocaml/belt_Id.cmti +0 -0
  70. package/lib/ocaml/belt_Id.ml +133 -0
  71. package/lib/ocaml/belt_Id.mli +171 -0
  72. package/lib/ocaml/belt_Int.cmi +0 -0
  73. package/lib/ocaml/belt_Int.cmt +0 -0
  74. package/lib/ocaml/belt_Int.cmti +0 -0
  75. package/lib/ocaml/belt_Int.ml +50 -0
  76. package/lib/ocaml/belt_Int.mli +103 -0
  77. package/lib/ocaml/belt_List.cmi +0 -0
  78. package/lib/ocaml/belt_List.cmt +0 -0
  79. package/lib/ocaml/belt_List.cmti +0 -0
  80. package/lib/ocaml/belt_List.ml +803 -0
  81. package/lib/ocaml/belt_List.mli +844 -0
  82. package/lib/ocaml/belt_Map.cmi +0 -0
  83. package/lib/ocaml/belt_Map.cmt +0 -0
  84. package/lib/ocaml/belt_Map.cmti +0 -0
  85. package/lib/ocaml/belt_Map.ml +170 -0
  86. package/lib/ocaml/belt_Map.mli +496 -0
  87. package/lib/ocaml/belt_MapDict.cmi +0 -0
  88. package/lib/ocaml/belt_MapDict.cmt +0 -0
  89. package/lib/ocaml/belt_MapDict.cmti +0 -0
  90. package/lib/ocaml/belt_MapDict.ml +278 -0
  91. package/lib/ocaml/belt_MapDict.mli +268 -0
  92. package/lib/ocaml/belt_MapInt.cmi +0 -0
  93. package/lib/ocaml/belt_MapInt.cmt +0 -0
  94. package/lib/ocaml/belt_MapInt.cmti +0 -0
  95. package/lib/ocaml/belt_MapInt.ml +169 -0
  96. package/lib/ocaml/belt_MapInt.mli +187 -0
  97. package/lib/ocaml/belt_MapString.cmi +0 -0
  98. package/lib/ocaml/belt_MapString.cmt +0 -0
  99. package/lib/ocaml/belt_MapString.cmti +0 -0
  100. package/lib/ocaml/belt_MapString.ml +169 -0
  101. package/lib/ocaml/belt_MapString.mli +187 -0
  102. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  103. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  104. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  105. package/lib/ocaml/belt_MutableMap.ml +241 -0
  106. package/lib/ocaml/belt_MutableMap.mli +145 -0
  107. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  108. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  109. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  110. package/lib/ocaml/belt_MutableMapInt.ml +172 -0
  111. package/lib/ocaml/belt_MutableMapInt.mli +135 -0
  112. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  113. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  114. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  115. package/lib/ocaml/belt_MutableMapString.ml +172 -0
  116. package/lib/ocaml/belt_MutableMapString.mli +135 -0
  117. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  118. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  119. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  120. package/lib/ocaml/belt_MutableQueue.ml +222 -0
  121. package/lib/ocaml/belt_MutableQueue.mli +116 -0
  122. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  123. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  124. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  125. package/lib/ocaml/belt_MutableSet.ml +371 -0
  126. package/lib/ocaml/belt_MutableSet.mli +617 -0
  127. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  128. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  129. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  130. package/lib/ocaml/belt_MutableSetInt.ml +342 -0
  131. package/lib/ocaml/belt_MutableSetInt.mli +124 -0
  132. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  133. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  134. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  135. package/lib/ocaml/belt_MutableSetString.ml +342 -0
  136. package/lib/ocaml/belt_MutableSetString.mli +124 -0
  137. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  138. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  139. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  140. package/lib/ocaml/belt_MutableStack.ml +106 -0
  141. package/lib/ocaml/belt_MutableStack.mli +63 -0
  142. package/lib/ocaml/belt_Option.cmi +0 -0
  143. package/lib/ocaml/belt_Option.cmt +0 -0
  144. package/lib/ocaml/belt_Option.cmti +0 -0
  145. package/lib/ocaml/belt_Option.ml +93 -0
  146. package/lib/ocaml/belt_Option.mli +270 -0
  147. package/lib/ocaml/belt_Range.cmi +0 -0
  148. package/lib/ocaml/belt_Range.cmt +0 -0
  149. package/lib/ocaml/belt_Range.cmti +0 -0
  150. package/lib/ocaml/belt_Range.ml +76 -0
  151. package/lib/ocaml/belt_Range.mli +114 -0
  152. package/lib/ocaml/belt_Result.cmi +0 -0
  153. package/lib/ocaml/belt_Result.cmt +0 -0
  154. package/lib/ocaml/belt_Result.cmti +0 -0
  155. package/lib/ocaml/belt_Result.ml +75 -0
  156. package/lib/ocaml/belt_Result.mli +205 -0
  157. package/lib/ocaml/belt_Set.cmi +0 -0
  158. package/lib/ocaml/belt_Set.cmt +0 -0
  159. package/lib/ocaml/belt_Set.cmti +0 -0
  160. package/lib/ocaml/belt_Set.cppo.ml +205 -0
  161. package/lib/ocaml/belt_Set.cppo.mli +153 -0
  162. package/lib/ocaml/belt_Set.ml +164 -0
  163. package/lib/ocaml/belt_Set.mli +523 -0
  164. package/lib/ocaml/belt_SetDict.cmi +0 -0
  165. package/lib/ocaml/belt_SetDict.cmt +0 -0
  166. package/lib/ocaml/belt_SetDict.cmti +0 -0
  167. package/lib/ocaml/belt_SetDict.ml +237 -0
  168. package/lib/ocaml/belt_SetDict.mli +567 -0
  169. package/lib/ocaml/belt_SetInt.cmi +0 -0
  170. package/lib/ocaml/belt_SetInt.cmt +0 -0
  171. package/lib/ocaml/belt_SetInt.cmti +0 -0
  172. package/lib/ocaml/belt_SetInt.ml +201 -0
  173. package/lib/ocaml/belt_SetInt.mli +151 -0
  174. package/lib/ocaml/belt_SetString.cmi +0 -0
  175. package/lib/ocaml/belt_SetString.cmt +0 -0
  176. package/lib/ocaml/belt_SetString.cmti +0 -0
  177. package/lib/ocaml/belt_SetString.ml +201 -0
  178. package/lib/ocaml/belt_SetString.mli +151 -0
  179. package/lib/ocaml/belt_SortArray.cmi +0 -0
  180. package/lib/ocaml/belt_SortArray.cmt +0 -0
  181. package/lib/ocaml/belt_SortArray.cmti +0 -0
  182. package/lib/ocaml/belt_SortArray.ml +322 -0
  183. package/lib/ocaml/belt_SortArray.mli +146 -0
  184. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  185. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  186. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  187. package/lib/ocaml/belt_SortArrayInt.ml +263 -0
  188. package/lib/ocaml/belt_SortArrayInt.mli +93 -0
  189. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  190. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  191. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  192. package/lib/ocaml/belt_SortArrayString.ml +263 -0
  193. package/lib/ocaml/belt_SortArrayString.mli +93 -0
  194. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  195. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  196. package/lib/ocaml/belt_internalAVLset.ml +665 -0
  197. package/lib/ocaml/belt_internalAVLset.mli +124 -0
  198. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  199. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  200. package/lib/ocaml/belt_internalAVLtree.ml +762 -0
  201. package/lib/ocaml/belt_internalAVLtree.mli +215 -0
  202. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  203. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  204. package/lib/ocaml/belt_internalBuckets.ml +218 -0
  205. package/lib/ocaml/belt_internalBuckets.mli +57 -0
  206. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  207. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  208. package/lib/ocaml/belt_internalBucketsType.ml +59 -0
  209. package/lib/ocaml/belt_internalBucketsType.mli +46 -0
  210. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  211. package/lib/ocaml/belt_internalMapInt.ml +227 -0
  212. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  213. package/lib/ocaml/belt_internalMapString.ml +227 -0
  214. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  215. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  216. package/lib/ocaml/belt_internalSetBuckets.ml +157 -0
  217. package/lib/ocaml/belt_internalSetBuckets.mli +47 -0
  218. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  219. package/lib/ocaml/belt_internalSetInt.ml +129 -0
  220. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  221. package/lib/ocaml/belt_internalSetString.ml +129 -0
  222. package/lib/ocaml/belt_internals.cmti +0 -0
  223. package/lib/ocaml/belt_internals.mli +79 -0
  224. package/lib/ocaml/buffer.cmi +0 -0
  225. package/lib/ocaml/buffer.cmt +0 -0
  226. package/lib/ocaml/buffer.cmti +0 -0
  227. package/lib/ocaml/buffer.ml +250 -0
  228. package/lib/ocaml/buffer.mli +149 -0
  229. package/lib/ocaml/bytes.cmi +0 -0
  230. package/lib/ocaml/bytes.cmt +0 -0
  231. package/lib/ocaml/bytes.cmti +0 -0
  232. package/lib/ocaml/bytes.ml +431 -0
  233. package/lib/ocaml/bytes.mli +430 -0
  234. package/lib/ocaml/bytesLabels.cmi +0 -0
  235. package/lib/ocaml/bytesLabels.cmt +0 -0
  236. package/lib/ocaml/bytesLabels.cmti +0 -0
  237. package/lib/ocaml/bytesLabels.ml +428 -0
  238. package/lib/ocaml/bytesLabels.mli +276 -0
  239. package/lib/ocaml/callback.cmi +0 -0
  240. package/lib/ocaml/callback.cmt +0 -0
  241. package/lib/ocaml/callback.cmti +0 -0
  242. package/lib/ocaml/callback.ml +20 -0
  243. package/lib/ocaml/callback.mli +34 -0
  244. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  245. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  246. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  247. package/lib/ocaml/camlinternalLazy.ml +89 -0
  248. package/lib/ocaml/camlinternalLazy.mli +27 -0
  249. package/lib/ocaml/camlinternalMod.cmi +0 -0
  250. package/lib/ocaml/camlinternalMod.cmt +0 -0
  251. package/lib/ocaml/camlinternalMod.cmti +0 -0
  252. package/lib/ocaml/camlinternalMod.ml +21 -0
  253. package/lib/ocaml/camlinternalMod.mli +25 -0
  254. package/lib/ocaml/char.cmi +0 -0
  255. package/lib/ocaml/char.cmt +0 -0
  256. package/lib/ocaml/char.cmti +0 -0
  257. package/lib/ocaml/char.ml +76 -0
  258. package/lib/ocaml/char.mli +72 -0
  259. package/lib/ocaml/complex.cmi +0 -0
  260. package/lib/ocaml/complex.cmt +0 -0
  261. package/lib/ocaml/complex.cmti +0 -0
  262. package/lib/ocaml/complex.ml +87 -0
  263. package/lib/ocaml/complex.mli +86 -0
  264. package/lib/ocaml/digest.cmi +0 -0
  265. package/lib/ocaml/digest.cmt +0 -0
  266. package/lib/ocaml/digest.cmti +0 -0
  267. package/lib/ocaml/digest.ml +66 -0
  268. package/lib/ocaml/digest.mli +68 -0
  269. package/lib/ocaml/dom.cmi +0 -0
  270. package/lib/ocaml/dom.cmt +0 -0
  271. package/lib/ocaml/dom.ml +296 -0
  272. package/lib/ocaml/dom_storage.cmi +0 -0
  273. package/lib/ocaml/dom_storage.cmt +0 -0
  274. package/lib/ocaml/dom_storage.ml +22 -0
  275. package/lib/ocaml/dom_storage2.cmi +0 -0
  276. package/lib/ocaml/dom_storage2.cmt +0 -0
  277. package/lib/ocaml/dom_storage2.ml +11 -0
  278. package/lib/ocaml/filename.cmi +0 -0
  279. package/lib/ocaml/filename.cmt +0 -0
  280. package/lib/ocaml/filename.cmti +0 -0
  281. package/lib/ocaml/filename.ml +233 -0
  282. package/lib/ocaml/filename.mli +134 -0
  283. package/lib/ocaml/genlex.cmi +0 -0
  284. package/lib/ocaml/genlex.cmt +0 -0
  285. package/lib/ocaml/genlex.cmti +0 -0
  286. package/lib/ocaml/genlex.ml +201 -0
  287. package/lib/ocaml/genlex.mli +73 -0
  288. package/lib/ocaml/hashmap.cppo.ml +214 -0
  289. package/lib/ocaml/hashmap.cppo.mli +54 -0
  290. package/lib/ocaml/hashset.cppo.ml +165 -0
  291. package/lib/ocaml/hashset.cppo.mli +77 -0
  292. package/lib/ocaml/hashtbl.cmi +0 -0
  293. package/lib/ocaml/hashtbl.cmt +0 -0
  294. package/lib/ocaml/hashtbl.cmti +0 -0
  295. package/lib/ocaml/hashtbl.ml +541 -0
  296. package/lib/ocaml/hashtbl.mli +411 -0
  297. package/lib/ocaml/hashtblLabels.cmi +0 -0
  298. package/lib/ocaml/hashtblLabels.cmt +0 -0
  299. package/lib/ocaml/hashtblLabels.ml +130 -0
  300. package/lib/ocaml/int32.cmi +0 -0
  301. package/lib/ocaml/int32.cmt +0 -0
  302. package/lib/ocaml/int32.cmti +0 -0
  303. package/lib/ocaml/int32.ml +64 -0
  304. package/lib/ocaml/int32.mli +186 -0
  305. package/lib/ocaml/int64.cmi +0 -0
  306. package/lib/ocaml/int64.cmt +0 -0
  307. package/lib/ocaml/int64.cmti +0 -0
  308. package/lib/ocaml/int64.ml +72 -0
  309. package/lib/ocaml/int64.mli +197 -0
  310. package/lib/ocaml/internal_map.cppo.ml +230 -0
  311. package/lib/ocaml/internal_set.cppo.ml +134 -0
  312. package/lib/ocaml/js.cmi +0 -0
  313. package/lib/ocaml/js.cmt +0 -0
  314. package/lib/ocaml/js.ml +316 -0
  315. package/lib/ocaml/js_OO.cmi +0 -0
  316. package/lib/ocaml/js_OO.cmt +0 -0
  317. package/lib/ocaml/js_OO.ml +180 -0
  318. package/lib/ocaml/js_array.cmi +0 -0
  319. package/lib/ocaml/js_array.cmt +0 -0
  320. package/lib/ocaml/js_array.ml +970 -0
  321. package/lib/ocaml/js_array2.cmi +0 -0
  322. package/lib/ocaml/js_array2.cmt +0 -0
  323. package/lib/ocaml/js_array2.ml +1065 -0
  324. package/lib/ocaml/js_bigint.cmi +0 -0
  325. package/lib/ocaml/js_bigint.cmt +0 -0
  326. package/lib/ocaml/js_bigint.ml +3 -0
  327. package/lib/ocaml/js_cast.cmi +0 -0
  328. package/lib/ocaml/js_cast.cmt +0 -0
  329. package/lib/ocaml/js_cast.cmti +0 -0
  330. package/lib/ocaml/js_cast.ml +29 -0
  331. package/lib/ocaml/js_cast.mli +45 -0
  332. package/lib/ocaml/js_console.cmi +0 -0
  333. package/lib/ocaml/js_console.cmt +0 -0
  334. package/lib/ocaml/js_console.ml +51 -0
  335. package/lib/ocaml/js_date.cmi +0 -0
  336. package/lib/ocaml/js_date.cmt +0 -0
  337. package/lib/ocaml/js_date.ml +1263 -0
  338. package/lib/ocaml/js_dict.cmi +0 -0
  339. package/lib/ocaml/js_dict.cmt +0 -0
  340. package/lib/ocaml/js_dict.cmti +0 -0
  341. package/lib/ocaml/js_dict.ml +114 -0
  342. package/lib/ocaml/js_dict.mli +152 -0
  343. package/lib/ocaml/js_exn.cmi +0 -0
  344. package/lib/ocaml/js_exn.cmt +0 -0
  345. package/lib/ocaml/js_exn.cmti +0 -0
  346. package/lib/ocaml/js_exn.ml +102 -0
  347. package/lib/ocaml/js_exn.mli +79 -0
  348. package/lib/ocaml/js_float.cmi +0 -0
  349. package/lib/ocaml/js_float.cmt +0 -0
  350. package/lib/ocaml/js_float.ml +294 -0
  351. package/lib/ocaml/js_global.cmi +0 -0
  352. package/lib/ocaml/js_global.cmt +0 -0
  353. package/lib/ocaml/js_global.ml +185 -0
  354. package/lib/ocaml/js_int.cmi +0 -0
  355. package/lib/ocaml/js_int.cmt +0 -0
  356. package/lib/ocaml/js_int.ml +158 -0
  357. package/lib/ocaml/js_json.cmi +0 -0
  358. package/lib/ocaml/js_json.cmt +0 -0
  359. package/lib/ocaml/js_json.cmti +0 -0
  360. package/lib/ocaml/js_json.ml +195 -0
  361. package/lib/ocaml/js_json.mli +244 -0
  362. package/lib/ocaml/js_list.cmi +0 -0
  363. package/lib/ocaml/js_list.cmt +0 -0
  364. package/lib/ocaml/js_list.cmti +0 -0
  365. package/lib/ocaml/js_list.ml +174 -0
  366. package/lib/ocaml/js_list.mli +72 -0
  367. package/lib/ocaml/js_map.cmi +0 -0
  368. package/lib/ocaml/js_map.cmt +0 -0
  369. package/lib/ocaml/js_map.ml +3 -0
  370. package/lib/ocaml/js_mapperRt.cmi +0 -0
  371. package/lib/ocaml/js_mapperRt.cmt +0 -0
  372. package/lib/ocaml/js_mapperRt.cmti +0 -0
  373. package/lib/ocaml/js_mapperRt.ml +50 -0
  374. package/lib/ocaml/js_mapperRt.mli +44 -0
  375. package/lib/ocaml/js_math.cmi +0 -0
  376. package/lib/ocaml/js_math.cmt +0 -0
  377. package/lib/ocaml/js_math.ml +626 -0
  378. package/lib/ocaml/js_null.cmi +0 -0
  379. package/lib/ocaml/js_null.cmt +0 -0
  380. package/lib/ocaml/js_null.cmti +0 -0
  381. package/lib/ocaml/js_null.ml +57 -0
  382. package/lib/ocaml/js_null.mli +87 -0
  383. package/lib/ocaml/js_null_undefined.cmi +0 -0
  384. package/lib/ocaml/js_null_undefined.cmt +0 -0
  385. package/lib/ocaml/js_null_undefined.cmti +0 -0
  386. package/lib/ocaml/js_null_undefined.ml +50 -0
  387. package/lib/ocaml/js_null_undefined.mli +85 -0
  388. package/lib/ocaml/js_obj.cmi +0 -0
  389. package/lib/ocaml/js_obj.cmt +0 -0
  390. package/lib/ocaml/js_obj.ml +100 -0
  391. package/lib/ocaml/js_option.cmi +0 -0
  392. package/lib/ocaml/js_option.cmt +0 -0
  393. package/lib/ocaml/js_option.cmti +0 -0
  394. package/lib/ocaml/js_option.ml +203 -0
  395. package/lib/ocaml/js_option.mli +52 -0
  396. package/lib/ocaml/js_promise.cmi +0 -0
  397. package/lib/ocaml/js_promise.cmt +0 -0
  398. package/lib/ocaml/js_promise.ml +100 -0
  399. package/lib/ocaml/js_promise2.cmi +0 -0
  400. package/lib/ocaml/js_promise2.cmt +0 -0
  401. package/lib/ocaml/js_promise2.res +58 -0
  402. package/lib/ocaml/js_re.cmi +0 -0
  403. package/lib/ocaml/js_re.cmt +0 -0
  404. package/lib/ocaml/js_re.ml +184 -0
  405. package/lib/ocaml/js_result.cmi +0 -0
  406. package/lib/ocaml/js_result.cmt +0 -0
  407. package/lib/ocaml/js_result.cmti +0 -0
  408. package/lib/ocaml/js_result.ml +28 -0
  409. package/lib/ocaml/js_result.mli +28 -0
  410. package/lib/ocaml/js_set.cmi +0 -0
  411. package/lib/ocaml/js_set.cmt +0 -0
  412. package/lib/ocaml/js_set.ml +3 -0
  413. package/lib/ocaml/js_string.cmi +0 -0
  414. package/lib/ocaml/js_string.cmt +0 -0
  415. package/lib/ocaml/js_string.ml +914 -0
  416. package/lib/ocaml/js_string2.cmi +0 -0
  417. package/lib/ocaml/js_string2.cmt +0 -0
  418. package/lib/ocaml/js_string2.ml +912 -0
  419. package/lib/ocaml/js_typed_array.cmi +0 -0
  420. package/lib/ocaml/js_typed_array.cmt +0 -0
  421. package/lib/ocaml/js_typed_array.cppo.ml +429 -0
  422. package/lib/ocaml/js_typed_array.ml +1405 -0
  423. package/lib/ocaml/js_typed_array2.cmi +0 -0
  424. package/lib/ocaml/js_typed_array2.cmt +0 -0
  425. package/lib/ocaml/js_typed_array2.cppo.ml +296 -0
  426. package/lib/ocaml/js_typed_array2.ml +1269 -0
  427. package/lib/ocaml/js_types.cmi +0 -0
  428. package/lib/ocaml/js_types.cmt +0 -0
  429. package/lib/ocaml/js_types.cmti +0 -0
  430. package/lib/ocaml/js_types.ml +118 -0
  431. package/lib/ocaml/js_types.mli +78 -0
  432. package/lib/ocaml/js_undefined.cmi +0 -0
  433. package/lib/ocaml/js_undefined.cmt +0 -0
  434. package/lib/ocaml/js_undefined.cmti +0 -0
  435. package/lib/ocaml/js_undefined.ml +59 -0
  436. package/lib/ocaml/js_undefined.mli +92 -0
  437. package/lib/ocaml/js_vector.cmi +0 -0
  438. package/lib/ocaml/js_vector.cmt +0 -0
  439. package/lib/ocaml/js_vector.cmti +0 -0
  440. package/lib/ocaml/js_vector.ml +143 -0
  441. package/lib/ocaml/js_vector.mli +92 -0
  442. package/lib/ocaml/js_weakmap.cmi +0 -0
  443. package/lib/ocaml/js_weakmap.cmt +0 -0
  444. package/lib/ocaml/js_weakmap.ml +3 -0
  445. package/lib/ocaml/js_weakset.cmi +0 -0
  446. package/lib/ocaml/js_weakset.cmt +0 -0
  447. package/lib/ocaml/js_weakset.ml +3 -0
  448. package/lib/ocaml/jsx.cmi +0 -0
  449. package/lib/ocaml/jsx.cmt +0 -0
  450. package/lib/ocaml/jsx.res +40 -0
  451. package/lib/ocaml/jsxDOM.cmi +0 -0
  452. package/lib/ocaml/jsxDOM.cmt +0 -0
  453. package/lib/ocaml/jsxDOM.res +620 -0
  454. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  455. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  456. package/lib/ocaml/jsxDOMStyle.ml +781 -0
  457. package/lib/ocaml/jsxEvent.cmi +0 -0
  458. package/lib/ocaml/jsxEvent.cmt +0 -0
  459. package/lib/ocaml/jsxEvent.ml +358 -0
  460. package/lib/ocaml/jsxPPXReactSupport.cmi +0 -0
  461. package/lib/ocaml/jsxPPXReactSupport.cmt +0 -0
  462. package/lib/ocaml/jsxPPXReactSupport.res +48 -0
  463. package/lib/ocaml/lazy.cmi +0 -0
  464. package/lib/ocaml/lazy.cmt +0 -0
  465. package/lib/ocaml/lazy.cmti +0 -0
  466. package/lib/ocaml/lazy.ml +70 -0
  467. package/lib/ocaml/lazy.mli +95 -0
  468. package/lib/ocaml/lexing.cmi +0 -0
  469. package/lib/ocaml/lexing.cmt +0 -0
  470. package/lib/ocaml/lexing.cmti +0 -0
  471. package/lib/ocaml/lexing.ml +230 -0
  472. package/lib/ocaml/lexing.mli +172 -0
  473. package/lib/ocaml/list.cmi +0 -0
  474. package/lib/ocaml/list.cmt +0 -0
  475. package/lib/ocaml/list.cmti +0 -0
  476. package/lib/ocaml/list.ml +485 -0
  477. package/lib/ocaml/list.mli +347 -0
  478. package/lib/ocaml/listLabels.cmi +0 -0
  479. package/lib/ocaml/listLabels.cmt +0 -0
  480. package/lib/ocaml/listLabels.cmti +0 -0
  481. package/lib/ocaml/listLabels.ml +485 -0
  482. package/lib/ocaml/listLabels.mli +353 -0
  483. package/lib/ocaml/map.cmi +0 -0
  484. package/lib/ocaml/map.cmt +0 -0
  485. package/lib/ocaml/map.cmti +0 -0
  486. package/lib/ocaml/map.cppo.ml +174 -0
  487. package/lib/ocaml/map.cppo.mli +191 -0
  488. package/lib/ocaml/map.ml +480 -0
  489. package/lib/ocaml/map.mli +315 -0
  490. package/lib/ocaml/mapLabels.cmi +0 -0
  491. package/lib/ocaml/mapLabels.cmt +0 -0
  492. package/lib/ocaml/mapLabels.ml +480 -0
  493. package/lib/ocaml/mapm.cppo.ml +177 -0
  494. package/lib/ocaml/mapm.cppo.mli +138 -0
  495. package/lib/ocaml/moreLabels.cmi +0 -0
  496. package/lib/ocaml/moreLabels.cmt +0 -0
  497. package/lib/ocaml/moreLabels.cmti +0 -0
  498. package/lib/ocaml/moreLabels.ml +22 -0
  499. package/lib/ocaml/moreLabels.mli +198 -0
  500. package/lib/ocaml/node.cmi +0 -0
  501. package/lib/ocaml/node.cmt +0 -0
  502. package/lib/ocaml/node.ml +84 -0
  503. package/lib/ocaml/node_buffer.cmi +0 -0
  504. package/lib/ocaml/node_buffer.cmt +0 -0
  505. package/lib/ocaml/node_buffer.ml +47 -0
  506. package/lib/ocaml/node_child_process.cmi +0 -0
  507. package/lib/ocaml/node_child_process.cmt +0 -0
  508. package/lib/ocaml/node_child_process.ml +50 -0
  509. package/lib/ocaml/node_fs.cmi +0 -0
  510. package/lib/ocaml/node_fs.cmt +0 -0
  511. package/lib/ocaml/node_fs.ml +153 -0
  512. package/lib/ocaml/node_module.cmi +0 -0
  513. package/lib/ocaml/node_module.cmt +0 -0
  514. package/lib/ocaml/node_module.ml +29 -0
  515. package/lib/ocaml/node_path.cmi +0 -0
  516. package/lib/ocaml/node_path.cmt +0 -0
  517. package/lib/ocaml/node_path.ml +71 -0
  518. package/lib/ocaml/node_process.cmi +0 -0
  519. package/lib/ocaml/node_process.cmt +0 -0
  520. package/lib/ocaml/node_process.cmti +0 -0
  521. package/lib/ocaml/node_process.ml +59 -0
  522. package/lib/ocaml/node_process.mli +48 -0
  523. package/lib/ocaml/obj.cmi +0 -0
  524. package/lib/ocaml/obj.cmt +0 -0
  525. package/lib/ocaml/obj.cmti +0 -0
  526. package/lib/ocaml/obj.ml +29 -0
  527. package/lib/ocaml/obj.mli +62 -0
  528. package/lib/ocaml/parsing.cmi +0 -0
  529. package/lib/ocaml/parsing.cmt +0 -0
  530. package/lib/ocaml/parsing.cmti +0 -0
  531. package/lib/ocaml/parsing.ml +212 -0
  532. package/lib/ocaml/parsing.mli +105 -0
  533. package/lib/ocaml/pervasives.cmi +0 -0
  534. package/lib/ocaml/pervasives.cmt +0 -0
  535. package/lib/ocaml/pervasives.cmti +0 -0
  536. package/lib/ocaml/pervasives.ml +297 -0
  537. package/lib/ocaml/pervasives.mli +771 -0
  538. package/lib/ocaml/printexc.cmi +0 -0
  539. package/lib/ocaml/printexc.cmt +0 -0
  540. package/lib/ocaml/printexc.cmti +0 -0
  541. package/lib/ocaml/printexc.ml +75 -0
  542. package/lib/ocaml/printexc.mli +57 -0
  543. package/lib/ocaml/queue.cmi +0 -0
  544. package/lib/ocaml/queue.cmt +0 -0
  545. package/lib/ocaml/queue.cmti +0 -0
  546. package/lib/ocaml/queue.ml +132 -0
  547. package/lib/ocaml/queue.mli +82 -0
  548. package/lib/ocaml/random.cmi +0 -0
  549. package/lib/ocaml/random.cmt +0 -0
  550. package/lib/ocaml/random.cmti +0 -0
  551. package/lib/ocaml/random.ml +273 -0
  552. package/lib/ocaml/random.mli +102 -0
  553. package/lib/ocaml/set.cmi +0 -0
  554. package/lib/ocaml/set.cmt +0 -0
  555. package/lib/ocaml/set.cmti +0 -0
  556. package/lib/ocaml/set.ml +526 -0
  557. package/lib/ocaml/set.mli +266 -0
  558. package/lib/ocaml/setLabels.cmi +0 -0
  559. package/lib/ocaml/setLabels.cmt +0 -0
  560. package/lib/ocaml/setLabels.ml +526 -0
  561. package/lib/ocaml/setm.cppo.ml +346 -0
  562. package/lib/ocaml/setm.cppo.mli +126 -0
  563. package/lib/ocaml/sort.cmi +0 -0
  564. package/lib/ocaml/sort.cmt +0 -0
  565. package/lib/ocaml/sort.cmti +0 -0
  566. package/lib/ocaml/sort.cppo.ml +267 -0
  567. package/lib/ocaml/sort.cppo.mli +96 -0
  568. package/lib/ocaml/sort.ml +99 -0
  569. package/lib/ocaml/sort.mli +44 -0
  570. package/lib/ocaml/stack.cmi +0 -0
  571. package/lib/ocaml/stack.cmt +0 -0
  572. package/lib/ocaml/stack.cmti +0 -0
  573. package/lib/ocaml/stack.ml +44 -0
  574. package/lib/ocaml/stack.mli +63 -0
  575. package/lib/ocaml/stdLabels.cmi +0 -0
  576. package/lib/ocaml/stdLabels.cmt +0 -0
  577. package/lib/ocaml/stdLabels.cmti +0 -0
  578. package/lib/ocaml/stdLabels.ml +24 -0
  579. package/lib/ocaml/stdLabels.mli +29 -0
  580. package/lib/ocaml/stream.cmi +0 -0
  581. package/lib/ocaml/stream.cmt +0 -0
  582. package/lib/ocaml/stream.cmti +0 -0
  583. package/lib/ocaml/stream.ml +213 -0
  584. package/lib/ocaml/stream.mli +108 -0
  585. package/lib/ocaml/string.cmi +0 -0
  586. package/lib/ocaml/string.cmt +0 -0
  587. package/lib/ocaml/string.cmti +0 -0
  588. package/lib/ocaml/string.ml +190 -0
  589. package/lib/ocaml/string.mli +286 -0
  590. package/lib/ocaml/stringLabels.cmi +0 -0
  591. package/lib/ocaml/stringLabels.cmt +0 -0
  592. package/lib/ocaml/stringLabels.cmti +0 -0
  593. package/lib/ocaml/stringLabels.ml +190 -0
  594. package/lib/ocaml/stringLabels.mli +241 -0
  595. package/lib/ocaml/sys.cmi +0 -0
  596. package/lib/ocaml/sys.cmt +0 -0
  597. package/lib/ocaml/sys.cmti +0 -0
  598. package/lib/ocaml/sys.ml +135 -0
  599. package/lib/ocaml/sys.mli +333 -0
  600. package/lib/ocaml/uchar.cmi +0 -0
  601. package/lib/ocaml/uchar.cmt +0 -0
  602. package/lib/ocaml/uchar.cmti +0 -0
  603. package/lib/ocaml/uchar.ml +58 -0
  604. package/lib/ocaml/uchar.mli +98 -0
  605. package/linux/bsb_helper.exe +0 -0
  606. package/linux/bsc.exe +0 -0
  607. package/linux/ninja.exe +0 -0
  608. package/linux/rescript.exe +0 -0
  609. package/ninja.COPYING +202 -0
  610. package/package.json +1 -1
  611. package/vendor/ninja.tar.gz +0 -0
  612. package/win32/bsb_helper.exe +0 -0
  613. package/win32/bsc.exe +0 -0
  614. package/win32/ninja.exe +0 -0
  615. package/win32/refmt.exe +0 -0
  616. package/win32/rescript.exe +0 -0
@@ -0,0 +1,525 @@
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. All rights reserved. This file is distributed *)
9
+ (* under the terms of the GNU Library General Public License, with *)
10
+ (* the special exception on linking described in file ../LICENSE. *)
11
+ (* *)
12
+ (***********************************************************************)
13
+
14
+ (* Array operations *)
15
+ type 'a t = 'a array
16
+
17
+ external length : 'a t -> int = "%array_length"
18
+
19
+ external size : 'a t -> int = "%array_length"
20
+
21
+ external getUnsafe : 'a t -> int -> 'a = "%array_unsafe_get"
22
+
23
+ external setUnsafe : 'a t -> int -> 'a -> unit = "%array_unsafe_set"
24
+
25
+ external ( .!() ) : 'a t -> int -> 'a = "%array_unsafe_get"
26
+
27
+ external ( .!()<- ) : 'a t -> int -> 'a -> unit = "%array_unsafe_set"
28
+
29
+ external getUndefined : 'a t -> int -> 'a Js.undefined = "%array_unsafe_get"
30
+
31
+ (* external get: 'a t -> int -> 'a = "%array_safe_get" *)
32
+ let get arr i = if i >= 0 && i < length arr then Some arr.!(i) else None
33
+
34
+ let getExn arr i =
35
+ assert (i >= 0 && i < length arr);
36
+ arr.!(i)
37
+
38
+ let set arr i v =
39
+ if i >= 0 && i < length arr then (
40
+ arr.!(i) <- v;
41
+ true)
42
+ else false
43
+
44
+ let setExn arr i v =
45
+ assert (i >= 0 && i < length arr);
46
+ arr.!(i) <- v
47
+
48
+ external truncateToLengthUnsafe : 'a t -> int -> unit = "length" [@@bs.set]
49
+
50
+ external makeUninitialized : int -> 'a Js.undefined array = "Array" [@@bs.new]
51
+
52
+ external makeUninitializedUnsafe : int -> 'a array = "Array" [@@bs.new]
53
+
54
+ external copy : 'a t -> (_[@bs.as 0]) -> 'a t = "slice" [@@bs.send]
55
+
56
+ let swapUnsafe xs i j =
57
+ let tmp = xs.!(i) in
58
+ xs.!(i) <- xs.!(j);
59
+ xs.!(j) <- tmp
60
+
61
+ let shuffleInPlace xs =
62
+ let len = length xs in
63
+ for i = 0 to len - 1 do
64
+ swapUnsafe xs i (Js_math.random_int i len) (* [i,len)*)
65
+ done
66
+
67
+ let shuffle xs =
68
+ let result = copy xs in
69
+ shuffleInPlace result;
70
+ (* TODO: improve*)
71
+ result
72
+
73
+ let reverseAux xs ofs len =
74
+ for i = 0 to (len / 2) - 1 do
75
+ swapUnsafe xs (ofs + i) (ofs + len - i - 1)
76
+ done
77
+
78
+ let reverseInPlace xs =
79
+ let len = length xs in
80
+ reverseAux xs 0 len
81
+
82
+ let reverse xs =
83
+ let len = length xs in
84
+ let result = makeUninitializedUnsafe len in
85
+ for i = 0 to len - 1 do
86
+ result.!(i) <- xs.!(len - 1 - i)
87
+ done;
88
+ result
89
+
90
+ let make l f =
91
+ if l <= 0 then [||]
92
+ else
93
+ let res = makeUninitializedUnsafe l in
94
+ for i = 0 to l - 1 do
95
+ res.!(i) <- f
96
+ done;
97
+ res
98
+
99
+ (* See #6575. We could also check for maximum array size, but this depends
100
+ on whether we create a float array or a regular one... *)
101
+ let makeByU l f =
102
+ if l <= 0 then [||]
103
+ else
104
+ let res = makeUninitializedUnsafe l in
105
+ for i = 0 to l - 1 do
106
+ res.!(i) <- (f i [@bs])
107
+ done;
108
+ res
109
+
110
+ let makeBy l f = makeByU l (fun [@bs] a -> f a)
111
+
112
+ let makeByAndShuffleU l f =
113
+ let u = makeByU l f in
114
+ shuffleInPlace u;
115
+ u
116
+
117
+ let makeByAndShuffle l f = makeByAndShuffleU l (fun [@bs] a -> f a)
118
+
119
+ let range start finish =
120
+ let cut = finish - start in
121
+ if cut < 0 then [||]
122
+ else
123
+ let arr = makeUninitializedUnsafe (cut + 1) in
124
+ for i = 0 to cut do
125
+ arr.!(i) <- start + i
126
+ done;
127
+ arr
128
+
129
+ let rangeBy start finish ~step =
130
+ let cut = finish - start in
131
+ if cut < 0 || step <= 0 then [||]
132
+ else
133
+ let nb = (cut / step) + 1 in
134
+ let arr = makeUninitializedUnsafe nb in
135
+ let cur = ref start in
136
+ for i = 0 to nb - 1 do
137
+ arr.!(i) <- cur.contents;
138
+ cur.contents <- cur.contents + step
139
+ done;
140
+ arr
141
+
142
+ let zip xs ys =
143
+ let lenx, leny = (length xs, length ys) in
144
+ let len = Pervasives.min lenx leny in
145
+ let s = makeUninitializedUnsafe len in
146
+ for i = 0 to len - 1 do
147
+ s.!(i) <- (xs.!(i), ys.!(i))
148
+ done;
149
+ s
150
+
151
+ let zipByU xs ys f =
152
+ let lenx, leny = (length xs, length ys) in
153
+ let len = Pervasives.min lenx leny in
154
+ let s = makeUninitializedUnsafe len in
155
+ for i = 0 to len - 1 do
156
+ s.!(i) <- (f xs.!(i) ys.!(i) [@bs])
157
+ done;
158
+ s
159
+
160
+ let zipBy xs ys f = zipByU xs ys (fun [@bs] a b -> f a b)
161
+
162
+ let concat a1 a2 =
163
+ let l1 = length a1 in
164
+ let l2 = length a2 in
165
+ let a1a2 = makeUninitializedUnsafe (l1 + l2) in
166
+ for i = 0 to l1 - 1 do
167
+ a1a2.!(i) <- a1.!(i)
168
+ done;
169
+ for i = 0 to l2 - 1 do
170
+ a1a2.!(l1 + i) <- a2.!(i)
171
+ done;
172
+ a1a2
173
+
174
+ let concatMany arrs =
175
+ let lenArrs = length arrs in
176
+ let totalLen = ref 0 in
177
+ for i = 0 to lenArrs - 1 do
178
+ totalLen.contents <- totalLen.contents + length arrs.!(i)
179
+ done;
180
+ let result = makeUninitializedUnsafe totalLen.contents in
181
+ totalLen.contents <- 0;
182
+ for j = 0 to lenArrs - 1 do
183
+ let cur = arrs.!(j) in
184
+ for k = 0 to length cur - 1 do
185
+ result.!(totalLen.contents) <- cur.!(k);
186
+ totalLen.contents <- totalLen.contents + 1
187
+ done
188
+ done;
189
+ result
190
+
191
+ let slice a ~offset ~len =
192
+ if len <= 0 then [||]
193
+ else
194
+ let lena = length a in
195
+ let ofs = if offset < 0 then Pervasives.max (lena + offset) 0 else offset in
196
+ let hasLen = lena - ofs in
197
+ let copyLength = Pervasives.min hasLen len in
198
+ if copyLength <= 0 then [||]
199
+ else
200
+ let result = makeUninitializedUnsafe copyLength in
201
+ for i = 0 to copyLength - 1 do
202
+ result.!(i) <- a.!(ofs + i)
203
+ done;
204
+ result
205
+
206
+
207
+
208
+ let sliceToEnd a offset =
209
+ let lena = length a in
210
+ let ofs = if offset < 0 then Pervasives.max (lena + offset) 0 else offset in
211
+ let len = if lena > ofs then lena - ofs else 0 in
212
+ let result = makeUninitializedUnsafe len in
213
+ for i = 0 to len - 1 do
214
+ result.!(i) <- a.!(ofs + i)
215
+ done;
216
+ result
217
+
218
+ let fill a ~offset ~len v =
219
+ if len > 0 then
220
+ let lena = length a in
221
+ let ofs = if offset < 0 then Pervasives.max (lena + offset) 0 else offset in
222
+ let hasLen = lena - ofs in
223
+ let fillLength = Pervasives.min hasLen len in
224
+ if fillLength > 0 then
225
+ for i = ofs to ofs + fillLength - 1 do
226
+ a.!(i) <- v
227
+ done
228
+
229
+ let blitUnsafe ~src:a1 ~srcOffset:srcofs1 ~dst:a2 ~dstOffset:srcofs2
230
+ ~len:blitLength =
231
+ if srcofs2 <= srcofs1 then
232
+ for j = 0 to blitLength - 1 do
233
+ a2.!(j + srcofs2) <- a1.!(j + srcofs1)
234
+ done
235
+ else
236
+ for j = blitLength - 1 downto 0 do
237
+ a2.!(j + srcofs2) <- a1.!(j + srcofs1)
238
+ done
239
+
240
+ (* We don't need check `blitLength` since when `blitLength < 0` the
241
+ for loop will be nop
242
+ *)
243
+ let blit ~src:a1 ~srcOffset:ofs1 ~dst:a2 ~dstOffset:ofs2 ~len =
244
+ let lena1 = length a1 in
245
+ let lena2 = length a2 in
246
+ let srcofs1 = if ofs1 < 0 then Pervasives.max (lena1 + ofs1) 0 else ofs1 in
247
+ let srcofs2 = if ofs2 < 0 then Pervasives.max (lena2 + ofs2) 0 else ofs2 in
248
+ let blitLength =
249
+ Pervasives.min len (Pervasives.min (lena1 - srcofs1) (lena2 - srcofs2))
250
+ in
251
+ (* blitUnsafe a1 srcofs1 a2 srcofs2 blitLength *)
252
+ if srcofs2 <= srcofs1 then
253
+ for j = 0 to blitLength - 1 do
254
+ a2.!(j + srcofs2) <- a1.!(j + srcofs1)
255
+ done
256
+ else
257
+ for j = blitLength - 1 downto 0 do
258
+ a2.!(j + srcofs2) <- a1.!(j + srcofs1)
259
+ done
260
+
261
+ let forEachU a f =
262
+ for i = 0 to length a - 1 do
263
+ (f a.!(i) [@bs])
264
+ done
265
+
266
+ let forEach a f = forEachU a (fun [@bs] a -> f a)
267
+
268
+ let mapU a f =
269
+ let l = length a in
270
+ let r = makeUninitializedUnsafe l in
271
+ for i = 0 to l - 1 do
272
+ r.!(i) <- (f a.!(i) [@bs])
273
+ done;
274
+ r
275
+
276
+ let map a f = mapU a (fun [@bs] a -> f a)
277
+
278
+ let flatMapU a f = concatMany (mapU a f)
279
+
280
+ let flatMap a f = flatMapU a (fun [@bs] a -> f a)
281
+
282
+ let getByU a p =
283
+ let l = length a in
284
+ let i = ref 0 in
285
+ let r = ref None in
286
+ while r.contents = None && i.contents < l do
287
+ let v = a.!(i.contents) in
288
+ if p v [@bs] then r.contents <- Some v;
289
+ i.contents <- i.contents + 1
290
+ done;
291
+ r.contents
292
+
293
+ let getBy a p = getByU a (fun [@bs] a -> p a)
294
+
295
+ let getIndexByU a p =
296
+ let l = length a in
297
+ let i = ref 0 in
298
+ let r = ref None in
299
+ while r.contents = None && i.contents < l do
300
+ let v = a.!(i.contents) in
301
+ if p v [@bs] then r.contents <- Some i.contents;
302
+ i.contents <- i.contents + 1
303
+ done;
304
+ r.contents
305
+
306
+ let getIndexBy a p = getIndexByU a (fun [@bs] a -> p a)
307
+
308
+ let keepU a f =
309
+ let l = length a in
310
+ let r = makeUninitializedUnsafe l in
311
+ let j = ref 0 in
312
+ for i = 0 to l - 1 do
313
+ let v = a.!(i) in
314
+ if f v [@bs] then (
315
+ r.!(j.contents) <- v;
316
+ j.contents <- j.contents + 1)
317
+ done;
318
+ truncateToLengthUnsafe r j.contents;
319
+ r
320
+
321
+ let keep a f = keepU a (fun [@bs] a -> f a)
322
+
323
+ let keepWithIndexU a f =
324
+ let l = length a in
325
+ let r = makeUninitializedUnsafe l in
326
+ let j = ref 0 in
327
+ for i = 0 to l - 1 do
328
+ let v = a.!(i) in
329
+ if f v i [@bs] then (
330
+ r.!(j.contents) <- v;
331
+ j.contents <- j.contents + 1)
332
+ done;
333
+ truncateToLengthUnsafe r j.contents;
334
+ r
335
+
336
+ let keepWithIndex a f = keepWithIndexU a (fun [@bs] a i -> f a i)
337
+
338
+ let keepMapU a f =
339
+ let l = length a in
340
+ let r = makeUninitializedUnsafe l in
341
+ let j = ref 0 in
342
+ for i = 0 to l - 1 do
343
+ let v = a.!(i) in
344
+ match f v [@bs] with
345
+ | None -> ()
346
+ | Some v ->
347
+ r.!(j.contents) <- v;
348
+ j.contents <- j.contents + 1
349
+ done;
350
+ truncateToLengthUnsafe r j.contents;
351
+ r
352
+
353
+ let keepMap a f = keepMapU a (fun [@bs] a -> f a)
354
+
355
+ let forEachWithIndexU a f =
356
+ for i = 0 to length a - 1 do
357
+ (f i a.!(i) [@bs])
358
+ done
359
+
360
+ let forEachWithIndex a f = forEachWithIndexU a (fun [@bs] a b -> f a b)
361
+
362
+ let mapWithIndexU a f =
363
+ let l = length a in
364
+ let r = makeUninitializedUnsafe l in
365
+ for i = 0 to l - 1 do
366
+ r.!(i) <- (f i a.!(i) [@bs])
367
+ done;
368
+ r
369
+
370
+ let mapWithIndex a f = mapWithIndexU a (fun [@bs] a b -> f a b)
371
+
372
+ let reduceU a x f =
373
+ let r = ref x in
374
+ for i = 0 to length a - 1 do
375
+ r.contents <- (f r.contents a.!(i) [@bs])
376
+ done;
377
+ r.contents
378
+
379
+ let reduce a x f = reduceU a x (fun [@bs] a b -> f a b)
380
+
381
+ let reduceReverseU a x f =
382
+ let r = ref x in
383
+ for i = length a - 1 downto 0 do
384
+ r.contents <- (f r.contents a.!(i) [@bs])
385
+ done;
386
+ r.contents
387
+
388
+ let reduceReverse a x f = reduceReverseU a x (fun [@bs] a b -> f a b)
389
+
390
+ let reduceReverse2U a b x f =
391
+ let r = ref x in
392
+ let len = Pervasives.min (length a) (length b) in
393
+ for i = len - 1 downto 0 do
394
+ r.contents <- (f r.contents a.!(i) b.!(i) [@bs])
395
+ done;
396
+ r.contents
397
+
398
+ let reduceReverse2 a b x f = reduceReverse2U a b x (fun [@bs] a b c -> f a b c)
399
+
400
+ let reduceWithIndexU a x f =
401
+ let r = ref x in
402
+ for i = 0 to length a - 1 do
403
+ r.contents <- (f r.contents a.!(i) i [@bs])
404
+ done;
405
+ r.contents
406
+
407
+ let reduceWithIndex a x f = reduceWithIndexU a x (fun [@bs] a b c -> f a b c)
408
+
409
+ let rec everyAux arr i b len =
410
+ if i = len then true
411
+ else if b arr.!(i) [@bs] then everyAux arr (i + 1) b len
412
+ else false
413
+
414
+ let rec someAux arr i b len =
415
+ if i = len then false
416
+ else if b arr.!(i) [@bs] then true
417
+ else someAux arr (i + 1) b len
418
+
419
+ let everyU arr b =
420
+ let len = length arr in
421
+ everyAux arr 0 b len
422
+
423
+ let every arr f = everyU arr (fun [@bs] b -> f b)
424
+
425
+ let someU arr b =
426
+ let len = length arr in
427
+ someAux arr 0 b len
428
+
429
+ let some arr f = someU arr (fun [@bs] b -> f b)
430
+
431
+ let rec everyAux2 arr1 arr2 i b len =
432
+ if i = len then true
433
+ else if b arr1.!(i) arr2.!(i) [@bs] then everyAux2 arr1 arr2 (i + 1) b len
434
+ else false
435
+
436
+ let rec someAux2 arr1 arr2 i b len =
437
+ if i = len then false
438
+ else if b arr1.!(i) arr2.!(i) [@bs] then true
439
+ else someAux2 arr1 arr2 (i + 1) b len
440
+
441
+ let every2U a b p = everyAux2 a b 0 p (Pervasives.min (length a) (length b))
442
+
443
+ let every2 a b p = every2U a b (fun [@bs] a b -> p a b)
444
+
445
+ let some2U a b p = someAux2 a b 0 p (Pervasives.min (length a) (length b))
446
+
447
+ let some2 a b p = some2U a b (fun [@bs] a b -> p a b)
448
+
449
+ let eqU a b p =
450
+ let lena = length a in
451
+ let lenb = length b in
452
+ if lena = lenb then everyAux2 a b 0 p lena else false
453
+
454
+ let eq a b p = eqU a b (fun [@bs] a b -> p a b)
455
+
456
+ let rec everyCmpAux2 arr1 arr2 i b len =
457
+ if i = len then 0
458
+ else
459
+ let c = (b arr1.!(i) arr2.!(i) [@bs]) in
460
+ if c = 0 then everyCmpAux2 arr1 arr2 (i + 1) b len else c
461
+
462
+ let cmpU a b p =
463
+ let lena = length a in
464
+ let lenb = length b in
465
+ if lena > lenb then 1
466
+ else if lena < lenb then -1
467
+ else everyCmpAux2 a b 0 p lena
468
+
469
+ let cmp a b p = cmpU a b (fun [@bs] a b -> p a b)
470
+
471
+ let partitionU a f =
472
+ let l = length a in
473
+ let i = ref 0 in
474
+ let j = ref 0 in
475
+ let a1 = makeUninitializedUnsafe l in
476
+ let a2 = makeUninitializedUnsafe l in
477
+ for ii = 0 to l - 1 do
478
+ let v = a.!(ii) in
479
+ if f v [@bs] then (
480
+ a1.!(i.contents) <- v;
481
+ i.contents <- i.contents + 1)
482
+ else (
483
+ a2.!(j.contents) <- v;
484
+ j.contents <- j.contents + 1)
485
+ done;
486
+ truncateToLengthUnsafe a1 i.contents;
487
+ truncateToLengthUnsafe a2 j.contents;
488
+ (a1, a2)
489
+
490
+ let partition a f = partitionU a (fun [@bs] x -> f x)
491
+
492
+ let unzip a =
493
+ let l = length a in
494
+ let a1 = makeUninitializedUnsafe l in
495
+ let a2 = makeUninitializedUnsafe l in
496
+ for i = 0 to l - 1 do
497
+ let v1, v2 = a.!(i) in
498
+ a1.!(i) <- v1;
499
+ a2.!(i) <- v2
500
+ done;
501
+ (a1, a2)
502
+
503
+ let joinWithU a sep toString =
504
+ match length a with
505
+ | 0 -> ""
506
+ | l ->
507
+ let lastIndex = l - 1 in
508
+ let rec aux i res =
509
+ if i = lastIndex then res ^ (toString a.!(i) [@bs])
510
+ else aux (i + 1) (res ^ (toString a.!(i) [@bs]) ^ sep)
511
+ in
512
+ aux 0 ""
513
+
514
+ let joinWith a sep toString = joinWithU a sep (fun [@bs] x -> toString x)
515
+
516
+ let initU n f =
517
+ let v = makeUninitializedUnsafe n in
518
+ for i = 0 to n - 1 do
519
+ v.!(i) <- (f i [@bs])
520
+ done;
521
+ v
522
+
523
+ let init n f = initU n (fun [@bs] i -> f i)
524
+
525
+ external push : 'a t -> 'a -> unit = "push" [@@send]