@tellahq/rescript 10.1.0-alpha.1

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 (997) hide show
  1. package/CHANGELOG.md +1717 -0
  2. package/COPYING +674 -0
  3. package/COPYING.LESSER +165 -0
  4. package/CREDITS.md +59 -0
  5. package/LICENSE +24 -0
  6. package/README.md +114 -0
  7. package/bsc +22 -0
  8. package/bsrefmt +16 -0
  9. package/darwin/bsb_helper.exe +0 -0
  10. package/darwin/bsc.exe +0 -0
  11. package/darwin/ninja.COPYING +202 -0
  12. package/darwin/ninja.exe +0 -0
  13. package/darwin/refmt.exe +0 -0
  14. package/darwin/rescript.exe +0 -0
  15. package/darwinarm64/bsb_helper.exe +0 -0
  16. package/darwinarm64/bsc.exe +0 -0
  17. package/darwinarm64/ninja.COPYING +202 -0
  18. package/darwinarm64/ninja.exe +0 -0
  19. package/darwinarm64/refmt.exe +0 -0
  20. package/darwinarm64/rescript.exe +0 -0
  21. package/docs/docson/build-schema.json +557 -0
  22. package/freebsd/ninja.COPYING +202 -0
  23. package/jscomp/stubs/ext_basic_hash_stubs.c +216 -0
  24. package/lib/4.06.1/bsb_helper.ml +2436 -0
  25. package/lib/4.06.1/bsb_helper.mli +0 -0
  26. package/lib/4.06.1/refmt_main3.ml +115517 -0
  27. package/lib/4.06.1/refmt_main3.mli +1 -0
  28. package/lib/4.06.1/rescript.ml +15500 -0
  29. package/lib/4.06.1/rescript.mli +0 -0
  30. package/lib/4.06.1/whole_compiler.ml +306395 -0
  31. package/lib/4.06.1/whole_compiler.mli +0 -0
  32. package/lib/bstracing +270 -0
  33. package/lib/es6/arg.js +717 -0
  34. package/lib/es6/array.js +511 -0
  35. package/lib/es6/arrayLabels.js +511 -0
  36. package/lib/es6/belt.js +57 -0
  37. package/lib/es6/belt_Array.js +764 -0
  38. package/lib/es6/belt_Float.js +16 -0
  39. package/lib/es6/belt_HashMap.js +280 -0
  40. package/lib/es6/belt_HashMapInt.js +264 -0
  41. package/lib/es6/belt_HashMapString.js +264 -0
  42. package/lib/es6/belt_HashSet.js +222 -0
  43. package/lib/es6/belt_HashSetInt.js +207 -0
  44. package/lib/es6/belt_HashSetString.js +207 -0
  45. package/lib/es6/belt_Id.js +71 -0
  46. package/lib/es6/belt_Int.js +16 -0
  47. package/lib/es6/belt_List.js +1512 -0
  48. package/lib/es6/belt_Map.js +376 -0
  49. package/lib/es6/belt_MapDict.js +417 -0
  50. package/lib/es6/belt_MapInt.js +307 -0
  51. package/lib/es6/belt_MapString.js +307 -0
  52. package/lib/es6/belt_MutableMap.js +395 -0
  53. package/lib/es6/belt_MutableMapInt.js +362 -0
  54. package/lib/es6/belt_MutableMapString.js +362 -0
  55. package/lib/es6/belt_MutableQueue.js +299 -0
  56. package/lib/es6/belt_MutableSet.js +538 -0
  57. package/lib/es6/belt_MutableSetInt.js +501 -0
  58. package/lib/es6/belt_MutableSetString.js +501 -0
  59. package/lib/es6/belt_MutableStack.js +137 -0
  60. package/lib/es6/belt_Option.js +151 -0
  61. package/lib/es6/belt_Range.js +109 -0
  62. package/lib/es6/belt_Result.js +136 -0
  63. package/lib/es6/belt_Set.js +314 -0
  64. package/lib/es6/belt_SetDict.js +362 -0
  65. package/lib/es6/belt_SetInt.js +359 -0
  66. package/lib/es6/belt_SetString.js +359 -0
  67. package/lib/es6/belt_SortArray.js +427 -0
  68. package/lib/es6/belt_SortArrayInt.js +374 -0
  69. package/lib/es6/belt_SortArrayString.js +374 -0
  70. package/lib/es6/belt_internalAVLset.js +940 -0
  71. package/lib/es6/belt_internalAVLtree.js +1146 -0
  72. package/lib/es6/belt_internalBuckets.js +287 -0
  73. package/lib/es6/belt_internalBucketsType.js +49 -0
  74. package/lib/es6/belt_internalMapInt.js +365 -0
  75. package/lib/es6/belt_internalMapString.js +365 -0
  76. package/lib/es6/belt_internalSetBuckets.js +191 -0
  77. package/lib/es6/belt_internalSetInt.js +209 -0
  78. package/lib/es6/belt_internalSetString.js +209 -0
  79. package/lib/es6/buffer.js +477 -0
  80. package/lib/es6/bytes.js +704 -0
  81. package/lib/es6/bytesLabels.js +704 -0
  82. package/lib/es6/callback.js +16 -0
  83. package/lib/es6/caml.js +196 -0
  84. package/lib/es6/caml_array.js +122 -0
  85. package/lib/es6/caml_array_extern.js +1 -0
  86. package/lib/es6/caml_bytes.js +122 -0
  87. package/lib/es6/caml_exceptions.js +31 -0
  88. package/lib/es6/caml_external_polyfill.js +32 -0
  89. package/lib/es6/caml_float.js +129 -0
  90. package/lib/es6/caml_float_extern.js +1 -0
  91. package/lib/es6/caml_format.js +818 -0
  92. package/lib/es6/caml_hash.js +101 -0
  93. package/lib/es6/caml_hash_primitive.js +51 -0
  94. package/lib/es6/caml_int32.js +28 -0
  95. package/lib/es6/caml_int64.js +606 -0
  96. package/lib/es6/caml_int64_extern.js +1 -0
  97. package/lib/es6/caml_js_exceptions.js +31 -0
  98. package/lib/es6/caml_lexer.js +258 -0
  99. package/lib/es6/caml_md5.js +168 -0
  100. package/lib/es6/caml_module.js +117 -0
  101. package/lib/es6/caml_nativeint_extern.js +1 -0
  102. package/lib/es6/caml_obj.js +413 -0
  103. package/lib/es6/caml_option.js +86 -0
  104. package/lib/es6/caml_parser.js +303 -0
  105. package/lib/es6/caml_splice_call.js +52 -0
  106. package/lib/es6/caml_string.js +23 -0
  107. package/lib/es6/caml_string_extern.js +1 -0
  108. package/lib/es6/caml_sys.js +99 -0
  109. package/lib/es6/caml_undefined_extern.js +1 -0
  110. package/lib/es6/camlinternalLazy.js +59 -0
  111. package/lib/es6/camlinternalMod.js +1 -0
  112. package/lib/es6/char.js +126 -0
  113. package/lib/es6/complex.js +176 -0
  114. package/lib/es6/curry.js +526 -0
  115. package/lib/es6/digest.js +118 -0
  116. package/lib/es6/dom.js +12 -0
  117. package/lib/es6/dom_storage.js +27 -0
  118. package/lib/es6/dom_storage2.js +1 -0
  119. package/lib/es6/filename.js +496 -0
  120. package/lib/es6/genlex.js +666 -0
  121. package/lib/es6/hashtbl.js +1115 -0
  122. package/lib/es6/hashtblLabels.js +170 -0
  123. package/lib/es6/int32.js +75 -0
  124. package/lib/es6/int64.js +70 -0
  125. package/lib/es6/js.js +111 -0
  126. package/lib/es6/js_OO.js +15 -0
  127. package/lib/es6/js_array.js +223 -0
  128. package/lib/es6/js_array2.js +1 -0
  129. package/lib/es6/js_bigint.js +1 -0
  130. package/lib/es6/js_cast.js +1 -0
  131. package/lib/es6/js_console.js +1 -0
  132. package/lib/es6/js_date.js +1 -0
  133. package/lib/es6/js_dict.js +85 -0
  134. package/lib/es6/js_exn.js +44 -0
  135. package/lib/es6/js_float.js +1 -0
  136. package/lib/es6/js_global.js +1 -0
  137. package/lib/es6/js_int.js +17 -0
  138. package/lib/es6/js_json.js +172 -0
  139. package/lib/es6/js_list.js +333 -0
  140. package/lib/es6/js_map.js +1 -0
  141. package/lib/es6/js_mapperRt.js +54 -0
  142. package/lib/es6/js_math.js +50 -0
  143. package/lib/es6/js_null.js +49 -0
  144. package/lib/es6/js_null_undefined.js +35 -0
  145. package/lib/es6/js_obj.js +1 -0
  146. package/lib/es6/js_option.js +104 -0
  147. package/lib/es6/js_promise.js +17 -0
  148. package/lib/es6/js_re.js +1 -0
  149. package/lib/es6/js_result.js +1 -0
  150. package/lib/es6/js_set.js +1 -0
  151. package/lib/es6/js_string.js +199 -0
  152. package/lib/es6/js_string2.js +1 -0
  153. package/lib/es6/js_typed_array.js +1733 -0
  154. package/lib/es6/js_typed_array2.js +39 -0
  155. package/lib/es6/js_types.js +77 -0
  156. package/lib/es6/js_undefined.js +52 -0
  157. package/lib/es6/js_vector.js +134 -0
  158. package/lib/es6/js_weakmap.js +1 -0
  159. package/lib/es6/js_weakset.js +1 -0
  160. package/lib/es6/jsx.js +1 -0
  161. package/lib/es6/jsxDOM.js +1 -0
  162. package/lib/es6/jsxDOMStyle.js +1 -0
  163. package/lib/es6/jsxEvent.js +59 -0
  164. package/lib/es6/lazy.js +44 -0
  165. package/lib/es6/lexing.js +217 -0
  166. package/lib/es6/list.js +1713 -0
  167. package/lib/es6/listLabels.js +1713 -0
  168. package/lib/es6/map.js +936 -0
  169. package/lib/es6/mapLabels.js +951 -0
  170. package/lib/es6/moreLabels.js +1931 -0
  171. package/lib/es6/node.js +39 -0
  172. package/lib/es6/node_buffer.js +1 -0
  173. package/lib/es6/node_child_process.js +1 -0
  174. package/lib/es6/node_fs.js +9 -0
  175. package/lib/es6/node_module.js +1 -0
  176. package/lib/es6/node_path.js +1 -0
  177. package/lib/es6/node_process.js +18 -0
  178. package/lib/es6/obj.js +11 -0
  179. package/lib/es6/package.json +1 -0
  180. package/lib/es6/parsing.js +237 -0
  181. package/lib/es6/pervasives.js +250 -0
  182. package/lib/es6/printexc.js +102 -0
  183. package/lib/es6/queue.js +181 -0
  184. package/lib/es6/random.js +280 -0
  185. package/lib/es6/set.js +955 -0
  186. package/lib/es6/setLabels.js +988 -0
  187. package/lib/es6/sort.js +168 -0
  188. package/lib/es6/stack.js +88 -0
  189. package/lib/es6/stdLabels.js +18 -0
  190. package/lib/es6/stream.js +496 -0
  191. package/lib/es6/string.js +337 -0
  192. package/lib/es6/stringLabels.js +337 -0
  193. package/lib/es6/sys.js +182 -0
  194. package/lib/es6/uchar.js +133 -0
  195. package/lib/js/arg.js +715 -0
  196. package/lib/js/array.js +509 -0
  197. package/lib/js/arrayLabels.js +509 -0
  198. package/lib/js/belt.js +55 -0
  199. package/lib/js/belt_Array.js +762 -0
  200. package/lib/js/belt_Float.js +14 -0
  201. package/lib/js/belt_HashMap.js +278 -0
  202. package/lib/js/belt_HashMapInt.js +262 -0
  203. package/lib/js/belt_HashMapString.js +262 -0
  204. package/lib/js/belt_HashSet.js +220 -0
  205. package/lib/js/belt_HashSetInt.js +205 -0
  206. package/lib/js/belt_HashSetString.js +205 -0
  207. package/lib/js/belt_Id.js +69 -0
  208. package/lib/js/belt_Int.js +14 -0
  209. package/lib/js/belt_List.js +1510 -0
  210. package/lib/js/belt_Map.js +374 -0
  211. package/lib/js/belt_MapDict.js +415 -0
  212. package/lib/js/belt_MapInt.js +305 -0
  213. package/lib/js/belt_MapString.js +305 -0
  214. package/lib/js/belt_MutableMap.js +393 -0
  215. package/lib/js/belt_MutableMapInt.js +360 -0
  216. package/lib/js/belt_MutableMapString.js +360 -0
  217. package/lib/js/belt_MutableQueue.js +297 -0
  218. package/lib/js/belt_MutableSet.js +536 -0
  219. package/lib/js/belt_MutableSetInt.js +499 -0
  220. package/lib/js/belt_MutableSetString.js +499 -0
  221. package/lib/js/belt_MutableStack.js +135 -0
  222. package/lib/js/belt_Option.js +149 -0
  223. package/lib/js/belt_Range.js +107 -0
  224. package/lib/js/belt_Result.js +134 -0
  225. package/lib/js/belt_Set.js +312 -0
  226. package/lib/js/belt_SetDict.js +360 -0
  227. package/lib/js/belt_SetInt.js +357 -0
  228. package/lib/js/belt_SetString.js +357 -0
  229. package/lib/js/belt_SortArray.js +425 -0
  230. package/lib/js/belt_SortArrayInt.js +372 -0
  231. package/lib/js/belt_SortArrayString.js +372 -0
  232. package/lib/js/belt_internalAVLset.js +938 -0
  233. package/lib/js/belt_internalAVLtree.js +1144 -0
  234. package/lib/js/belt_internalBuckets.js +285 -0
  235. package/lib/js/belt_internalBucketsType.js +47 -0
  236. package/lib/js/belt_internalMapInt.js +363 -0
  237. package/lib/js/belt_internalMapString.js +363 -0
  238. package/lib/js/belt_internalSetBuckets.js +189 -0
  239. package/lib/js/belt_internalSetInt.js +207 -0
  240. package/lib/js/belt_internalSetString.js +207 -0
  241. package/lib/js/buffer.js +475 -0
  242. package/lib/js/bytes.js +702 -0
  243. package/lib/js/bytesLabels.js +702 -0
  244. package/lib/js/callback.js +14 -0
  245. package/lib/js/caml.js +194 -0
  246. package/lib/js/caml_array.js +120 -0
  247. package/lib/js/caml_array_extern.js +1 -0
  248. package/lib/js/caml_bytes.js +120 -0
  249. package/lib/js/caml_exceptions.js +29 -0
  250. package/lib/js/caml_external_polyfill.js +30 -0
  251. package/lib/js/caml_float.js +127 -0
  252. package/lib/js/caml_float_extern.js +1 -0
  253. package/lib/js/caml_format.js +816 -0
  254. package/lib/js/caml_hash.js +99 -0
  255. package/lib/js/caml_hash_primitive.js +49 -0
  256. package/lib/js/caml_int32.js +26 -0
  257. package/lib/js/caml_int64.js +604 -0
  258. package/lib/js/caml_int64_extern.js +1 -0
  259. package/lib/js/caml_js_exceptions.js +29 -0
  260. package/lib/js/caml_lexer.js +256 -0
  261. package/lib/js/caml_md5.js +166 -0
  262. package/lib/js/caml_module.js +115 -0
  263. package/lib/js/caml_nativeint_extern.js +1 -0
  264. package/lib/js/caml_obj.js +411 -0
  265. package/lib/js/caml_option.js +84 -0
  266. package/lib/js/caml_parser.js +301 -0
  267. package/lib/js/caml_splice_call.js +50 -0
  268. package/lib/js/caml_string.js +21 -0
  269. package/lib/js/caml_string_extern.js +1 -0
  270. package/lib/js/caml_sys.js +97 -0
  271. package/lib/js/caml_undefined_extern.js +1 -0
  272. package/lib/js/camlinternalLazy.js +57 -0
  273. package/lib/js/camlinternalMod.js +1 -0
  274. package/lib/js/char.js +124 -0
  275. package/lib/js/complex.js +174 -0
  276. package/lib/js/curry.js +524 -0
  277. package/lib/js/digest.js +116 -0
  278. package/lib/js/dom.js +10 -0
  279. package/lib/js/dom_storage.js +25 -0
  280. package/lib/js/dom_storage2.js +1 -0
  281. package/lib/js/filename.js +494 -0
  282. package/lib/js/genlex.js +664 -0
  283. package/lib/js/hashtbl.js +1113 -0
  284. package/lib/js/hashtblLabels.js +168 -0
  285. package/lib/js/int32.js +73 -0
  286. package/lib/js/int64.js +68 -0
  287. package/lib/js/js.js +109 -0
  288. package/lib/js/js_OO.js +13 -0
  289. package/lib/js/js_array.js +221 -0
  290. package/lib/js/js_array2.js +1 -0
  291. package/lib/js/js_bigint.js +1 -0
  292. package/lib/js/js_cast.js +1 -0
  293. package/lib/js/js_console.js +1 -0
  294. package/lib/js/js_date.js +1 -0
  295. package/lib/js/js_dict.js +83 -0
  296. package/lib/js/js_exn.js +42 -0
  297. package/lib/js/js_float.js +1 -0
  298. package/lib/js/js_global.js +1 -0
  299. package/lib/js/js_int.js +15 -0
  300. package/lib/js/js_json.js +170 -0
  301. package/lib/js/js_list.js +331 -0
  302. package/lib/js/js_map.js +1 -0
  303. package/lib/js/js_mapperRt.js +52 -0
  304. package/lib/js/js_math.js +48 -0
  305. package/lib/js/js_null.js +47 -0
  306. package/lib/js/js_null_undefined.js +33 -0
  307. package/lib/js/js_obj.js +1 -0
  308. package/lib/js/js_option.js +103 -0
  309. package/lib/js/js_promise.js +15 -0
  310. package/lib/js/js_re.js +1 -0
  311. package/lib/js/js_result.js +1 -0
  312. package/lib/js/js_set.js +1 -0
  313. package/lib/js/js_string.js +197 -0
  314. package/lib/js/js_string2.js +1 -0
  315. package/lib/js/js_typed_array.js +1731 -0
  316. package/lib/js/js_typed_array2.js +37 -0
  317. package/lib/js/js_types.js +75 -0
  318. package/lib/js/js_undefined.js +50 -0
  319. package/lib/js/js_vector.js +132 -0
  320. package/lib/js/js_weakmap.js +1 -0
  321. package/lib/js/js_weakset.js +1 -0
  322. package/lib/js/jsx.js +1 -0
  323. package/lib/js/jsxDOM.js +1 -0
  324. package/lib/js/jsxDOMStyle.js +1 -0
  325. package/lib/js/jsxEvent.js +57 -0
  326. package/lib/js/lazy.js +42 -0
  327. package/lib/js/lexing.js +215 -0
  328. package/lib/js/list.js +1711 -0
  329. package/lib/js/listLabels.js +1711 -0
  330. package/lib/js/map.js +934 -0
  331. package/lib/js/mapLabels.js +949 -0
  332. package/lib/js/moreLabels.js +1929 -0
  333. package/lib/js/node.js +37 -0
  334. package/lib/js/node_buffer.js +1 -0
  335. package/lib/js/node_child_process.js +1 -0
  336. package/lib/js/node_fs.js +7 -0
  337. package/lib/js/node_module.js +1 -0
  338. package/lib/js/node_path.js +1 -0
  339. package/lib/js/node_process.js +16 -0
  340. package/lib/js/obj.js +9 -0
  341. package/lib/js/parsing.js +235 -0
  342. package/lib/js/pervasives.js +248 -0
  343. package/lib/js/printexc.js +100 -0
  344. package/lib/js/queue.js +179 -0
  345. package/lib/js/random.js +278 -0
  346. package/lib/js/set.js +953 -0
  347. package/lib/js/setLabels.js +986 -0
  348. package/lib/js/sort.js +166 -0
  349. package/lib/js/stack.js +86 -0
  350. package/lib/js/stdLabels.js +16 -0
  351. package/lib/js/stream.js +494 -0
  352. package/lib/js/string.js +335 -0
  353. package/lib/js/stringLabels.js +335 -0
  354. package/lib/js/sys.js +180 -0
  355. package/lib/js/uchar.js +131 -0
  356. package/lib/minisocket.js +93 -0
  357. package/lib/ocaml/arg.cmi +0 -0
  358. package/lib/ocaml/arg.cmt +0 -0
  359. package/lib/ocaml/arg.cmti +0 -0
  360. package/lib/ocaml/arg.ml +359 -0
  361. package/lib/ocaml/arg.mli +185 -0
  362. package/lib/ocaml/array.cmi +0 -0
  363. package/lib/ocaml/array.cmt +0 -0
  364. package/lib/ocaml/array.cmti +0 -0
  365. package/lib/ocaml/array.ml +307 -0
  366. package/lib/ocaml/array.mli +275 -0
  367. package/lib/ocaml/arrayLabels.cmi +0 -0
  368. package/lib/ocaml/arrayLabels.cmt +0 -0
  369. package/lib/ocaml/arrayLabels.cmti +0 -0
  370. package/lib/ocaml/arrayLabels.ml +307 -0
  371. package/lib/ocaml/arrayLabels.mli +276 -0
  372. package/lib/ocaml/belt.cmi +0 -0
  373. package/lib/ocaml/belt.cmt +0 -0
  374. package/lib/ocaml/belt.ml +352 -0
  375. package/lib/ocaml/belt_Array.cmi +0 -0
  376. package/lib/ocaml/belt_Array.cmt +0 -0
  377. package/lib/ocaml/belt_Array.cmti +0 -0
  378. package/lib/ocaml/belt_Array.ml +525 -0
  379. package/lib/ocaml/belt_Array.mli +707 -0
  380. package/lib/ocaml/belt_Float.cmi +0 -0
  381. package/lib/ocaml/belt_Float.cmt +0 -0
  382. package/lib/ocaml/belt_Float.cmti +0 -0
  383. package/lib/ocaml/belt_Float.ml +50 -0
  384. package/lib/ocaml/belt_Float.mli +106 -0
  385. package/lib/ocaml/belt_HashMap.cmi +0 -0
  386. package/lib/ocaml/belt_HashMap.cmt +0 -0
  387. package/lib/ocaml/belt_HashMap.cmti +0 -0
  388. package/lib/ocaml/belt_HashMap.ml +226 -0
  389. package/lib/ocaml/belt_HashMap.mli +436 -0
  390. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  391. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  392. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  393. package/lib/ocaml/belt_HashMapInt.ml +206 -0
  394. package/lib/ocaml/belt_HashMapInt.mli +50 -0
  395. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  396. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  397. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  398. package/lib/ocaml/belt_HashMapString.ml +206 -0
  399. package/lib/ocaml/belt_HashMapString.mli +50 -0
  400. package/lib/ocaml/belt_HashSet.cmi +0 -0
  401. package/lib/ocaml/belt_HashSet.cmt +0 -0
  402. package/lib/ocaml/belt_HashSet.cmti +0 -0
  403. package/lib/ocaml/belt_HashSet.ml +196 -0
  404. package/lib/ocaml/belt_HashSet.mli +125 -0
  405. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  406. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  407. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  408. package/lib/ocaml/belt_HashSetInt.ml +155 -0
  409. package/lib/ocaml/belt_HashSetInt.mli +74 -0
  410. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  411. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  412. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  413. package/lib/ocaml/belt_HashSetString.ml +156 -0
  414. package/lib/ocaml/belt_HashSetString.mli +74 -0
  415. package/lib/ocaml/belt_Id.cmi +0 -0
  416. package/lib/ocaml/belt_Id.cmt +0 -0
  417. package/lib/ocaml/belt_Id.cmti +0 -0
  418. package/lib/ocaml/belt_Id.ml +133 -0
  419. package/lib/ocaml/belt_Id.mli +171 -0
  420. package/lib/ocaml/belt_Int.cmi +0 -0
  421. package/lib/ocaml/belt_Int.cmt +0 -0
  422. package/lib/ocaml/belt_Int.cmti +0 -0
  423. package/lib/ocaml/belt_Int.ml +50 -0
  424. package/lib/ocaml/belt_Int.mli +103 -0
  425. package/lib/ocaml/belt_List.cmi +0 -0
  426. package/lib/ocaml/belt_List.cmt +0 -0
  427. package/lib/ocaml/belt_List.cmti +0 -0
  428. package/lib/ocaml/belt_List.ml +803 -0
  429. package/lib/ocaml/belt_List.mli +844 -0
  430. package/lib/ocaml/belt_Map.cmi +0 -0
  431. package/lib/ocaml/belt_Map.cmt +0 -0
  432. package/lib/ocaml/belt_Map.cmti +0 -0
  433. package/lib/ocaml/belt_Map.ml +170 -0
  434. package/lib/ocaml/belt_Map.mli +496 -0
  435. package/lib/ocaml/belt_MapDict.cmi +0 -0
  436. package/lib/ocaml/belt_MapDict.cmt +0 -0
  437. package/lib/ocaml/belt_MapDict.cmti +0 -0
  438. package/lib/ocaml/belt_MapDict.ml +278 -0
  439. package/lib/ocaml/belt_MapDict.mli +268 -0
  440. package/lib/ocaml/belt_MapInt.cmi +0 -0
  441. package/lib/ocaml/belt_MapInt.cmt +0 -0
  442. package/lib/ocaml/belt_MapInt.cmti +0 -0
  443. package/lib/ocaml/belt_MapInt.ml +169 -0
  444. package/lib/ocaml/belt_MapInt.mli +187 -0
  445. package/lib/ocaml/belt_MapString.cmi +0 -0
  446. package/lib/ocaml/belt_MapString.cmt +0 -0
  447. package/lib/ocaml/belt_MapString.cmti +0 -0
  448. package/lib/ocaml/belt_MapString.ml +169 -0
  449. package/lib/ocaml/belt_MapString.mli +187 -0
  450. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  451. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  452. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  453. package/lib/ocaml/belt_MutableMap.ml +241 -0
  454. package/lib/ocaml/belt_MutableMap.mli +145 -0
  455. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  456. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  457. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  458. package/lib/ocaml/belt_MutableMapInt.ml +172 -0
  459. package/lib/ocaml/belt_MutableMapInt.mli +135 -0
  460. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  461. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  462. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  463. package/lib/ocaml/belt_MutableMapString.ml +172 -0
  464. package/lib/ocaml/belt_MutableMapString.mli +135 -0
  465. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  466. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  467. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  468. package/lib/ocaml/belt_MutableQueue.ml +222 -0
  469. package/lib/ocaml/belt_MutableQueue.mli +116 -0
  470. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  471. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  472. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  473. package/lib/ocaml/belt_MutableSet.ml +371 -0
  474. package/lib/ocaml/belt_MutableSet.mli +617 -0
  475. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  476. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  477. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  478. package/lib/ocaml/belt_MutableSetInt.ml +342 -0
  479. package/lib/ocaml/belt_MutableSetInt.mli +124 -0
  480. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  481. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  482. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  483. package/lib/ocaml/belt_MutableSetString.ml +342 -0
  484. package/lib/ocaml/belt_MutableSetString.mli +124 -0
  485. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  486. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  487. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  488. package/lib/ocaml/belt_MutableStack.ml +106 -0
  489. package/lib/ocaml/belt_MutableStack.mli +63 -0
  490. package/lib/ocaml/belt_Option.cmi +0 -0
  491. package/lib/ocaml/belt_Option.cmt +0 -0
  492. package/lib/ocaml/belt_Option.cmti +0 -0
  493. package/lib/ocaml/belt_Option.ml +93 -0
  494. package/lib/ocaml/belt_Option.mli +270 -0
  495. package/lib/ocaml/belt_Range.cmi +0 -0
  496. package/lib/ocaml/belt_Range.cmt +0 -0
  497. package/lib/ocaml/belt_Range.cmti +0 -0
  498. package/lib/ocaml/belt_Range.ml +76 -0
  499. package/lib/ocaml/belt_Range.mli +114 -0
  500. package/lib/ocaml/belt_Result.cmi +0 -0
  501. package/lib/ocaml/belt_Result.cmt +0 -0
  502. package/lib/ocaml/belt_Result.cmti +0 -0
  503. package/lib/ocaml/belt_Result.ml +75 -0
  504. package/lib/ocaml/belt_Result.mli +205 -0
  505. package/lib/ocaml/belt_Set.cmi +0 -0
  506. package/lib/ocaml/belt_Set.cmt +0 -0
  507. package/lib/ocaml/belt_Set.cmti +0 -0
  508. package/lib/ocaml/belt_Set.cppo.ml +205 -0
  509. package/lib/ocaml/belt_Set.cppo.mli +153 -0
  510. package/lib/ocaml/belt_Set.ml +164 -0
  511. package/lib/ocaml/belt_Set.mli +523 -0
  512. package/lib/ocaml/belt_SetDict.cmi +0 -0
  513. package/lib/ocaml/belt_SetDict.cmt +0 -0
  514. package/lib/ocaml/belt_SetDict.cmti +0 -0
  515. package/lib/ocaml/belt_SetDict.ml +237 -0
  516. package/lib/ocaml/belt_SetDict.mli +567 -0
  517. package/lib/ocaml/belt_SetInt.cmi +0 -0
  518. package/lib/ocaml/belt_SetInt.cmt +0 -0
  519. package/lib/ocaml/belt_SetInt.cmti +0 -0
  520. package/lib/ocaml/belt_SetInt.ml +201 -0
  521. package/lib/ocaml/belt_SetInt.mli +151 -0
  522. package/lib/ocaml/belt_SetString.cmi +0 -0
  523. package/lib/ocaml/belt_SetString.cmt +0 -0
  524. package/lib/ocaml/belt_SetString.cmti +0 -0
  525. package/lib/ocaml/belt_SetString.ml +201 -0
  526. package/lib/ocaml/belt_SetString.mli +151 -0
  527. package/lib/ocaml/belt_SortArray.cmi +0 -0
  528. package/lib/ocaml/belt_SortArray.cmt +0 -0
  529. package/lib/ocaml/belt_SortArray.cmti +0 -0
  530. package/lib/ocaml/belt_SortArray.ml +322 -0
  531. package/lib/ocaml/belt_SortArray.mli +146 -0
  532. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  533. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  534. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  535. package/lib/ocaml/belt_SortArrayInt.ml +263 -0
  536. package/lib/ocaml/belt_SortArrayInt.mli +93 -0
  537. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  538. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  539. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  540. package/lib/ocaml/belt_SortArrayString.ml +263 -0
  541. package/lib/ocaml/belt_SortArrayString.mli +93 -0
  542. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  543. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  544. package/lib/ocaml/belt_internalAVLset.ml +665 -0
  545. package/lib/ocaml/belt_internalAVLset.mli +124 -0
  546. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  547. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  548. package/lib/ocaml/belt_internalAVLtree.ml +762 -0
  549. package/lib/ocaml/belt_internalAVLtree.mli +215 -0
  550. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  551. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  552. package/lib/ocaml/belt_internalBuckets.ml +218 -0
  553. package/lib/ocaml/belt_internalBuckets.mli +57 -0
  554. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  555. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  556. package/lib/ocaml/belt_internalBucketsType.ml +59 -0
  557. package/lib/ocaml/belt_internalBucketsType.mli +46 -0
  558. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  559. package/lib/ocaml/belt_internalMapInt.ml +227 -0
  560. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  561. package/lib/ocaml/belt_internalMapString.ml +227 -0
  562. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  563. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  564. package/lib/ocaml/belt_internalSetBuckets.ml +157 -0
  565. package/lib/ocaml/belt_internalSetBuckets.mli +47 -0
  566. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  567. package/lib/ocaml/belt_internalSetInt.ml +129 -0
  568. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  569. package/lib/ocaml/belt_internalSetString.ml +129 -0
  570. package/lib/ocaml/belt_internals.cmti +0 -0
  571. package/lib/ocaml/belt_internals.mli +79 -0
  572. package/lib/ocaml/buffer.cmi +0 -0
  573. package/lib/ocaml/buffer.cmt +0 -0
  574. package/lib/ocaml/buffer.cmti +0 -0
  575. package/lib/ocaml/buffer.ml +250 -0
  576. package/lib/ocaml/buffer.mli +149 -0
  577. package/lib/ocaml/bytes.cmi +0 -0
  578. package/lib/ocaml/bytes.cmt +0 -0
  579. package/lib/ocaml/bytes.cmti +0 -0
  580. package/lib/ocaml/bytes.ml +431 -0
  581. package/lib/ocaml/bytes.mli +430 -0
  582. package/lib/ocaml/bytesLabels.cmi +0 -0
  583. package/lib/ocaml/bytesLabels.cmt +0 -0
  584. package/lib/ocaml/bytesLabels.cmti +0 -0
  585. package/lib/ocaml/bytesLabels.ml +428 -0
  586. package/lib/ocaml/bytesLabels.mli +276 -0
  587. package/lib/ocaml/callback.cmi +0 -0
  588. package/lib/ocaml/callback.cmt +0 -0
  589. package/lib/ocaml/callback.cmti +0 -0
  590. package/lib/ocaml/callback.ml +20 -0
  591. package/lib/ocaml/callback.mli +34 -0
  592. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  593. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  594. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  595. package/lib/ocaml/camlinternalLazy.ml +89 -0
  596. package/lib/ocaml/camlinternalLazy.mli +27 -0
  597. package/lib/ocaml/camlinternalMod.cmi +0 -0
  598. package/lib/ocaml/camlinternalMod.cmt +0 -0
  599. package/lib/ocaml/camlinternalMod.cmti +0 -0
  600. package/lib/ocaml/camlinternalMod.ml +21 -0
  601. package/lib/ocaml/camlinternalMod.mli +25 -0
  602. package/lib/ocaml/char.cmi +0 -0
  603. package/lib/ocaml/char.cmt +0 -0
  604. package/lib/ocaml/char.cmti +0 -0
  605. package/lib/ocaml/char.ml +76 -0
  606. package/lib/ocaml/char.mli +72 -0
  607. package/lib/ocaml/complex.cmi +0 -0
  608. package/lib/ocaml/complex.cmt +0 -0
  609. package/lib/ocaml/complex.cmti +0 -0
  610. package/lib/ocaml/complex.ml +87 -0
  611. package/lib/ocaml/complex.mli +86 -0
  612. package/lib/ocaml/digest.cmi +0 -0
  613. package/lib/ocaml/digest.cmt +0 -0
  614. package/lib/ocaml/digest.cmti +0 -0
  615. package/lib/ocaml/digest.ml +66 -0
  616. package/lib/ocaml/digest.mli +68 -0
  617. package/lib/ocaml/dom.cmi +0 -0
  618. package/lib/ocaml/dom.cmt +0 -0
  619. package/lib/ocaml/dom.ml +296 -0
  620. package/lib/ocaml/dom_storage.cmi +0 -0
  621. package/lib/ocaml/dom_storage.cmt +0 -0
  622. package/lib/ocaml/dom_storage.ml +22 -0
  623. package/lib/ocaml/dom_storage2.cmi +0 -0
  624. package/lib/ocaml/dom_storage2.cmt +0 -0
  625. package/lib/ocaml/dom_storage2.ml +11 -0
  626. package/lib/ocaml/filename.cmi +0 -0
  627. package/lib/ocaml/filename.cmt +0 -0
  628. package/lib/ocaml/filename.cmti +0 -0
  629. package/lib/ocaml/filename.ml +233 -0
  630. package/lib/ocaml/filename.mli +134 -0
  631. package/lib/ocaml/genlex.cmi +0 -0
  632. package/lib/ocaml/genlex.cmt +0 -0
  633. package/lib/ocaml/genlex.cmti +0 -0
  634. package/lib/ocaml/genlex.ml +201 -0
  635. package/lib/ocaml/genlex.mli +73 -0
  636. package/lib/ocaml/hashmap.cppo.ml +214 -0
  637. package/lib/ocaml/hashmap.cppo.mli +54 -0
  638. package/lib/ocaml/hashset.cppo.ml +165 -0
  639. package/lib/ocaml/hashset.cppo.mli +77 -0
  640. package/lib/ocaml/hashtbl.cmi +0 -0
  641. package/lib/ocaml/hashtbl.cmt +0 -0
  642. package/lib/ocaml/hashtbl.cmti +0 -0
  643. package/lib/ocaml/hashtbl.ml +541 -0
  644. package/lib/ocaml/hashtbl.mli +411 -0
  645. package/lib/ocaml/hashtblLabels.cmi +0 -0
  646. package/lib/ocaml/hashtblLabels.cmt +0 -0
  647. package/lib/ocaml/hashtblLabels.ml +130 -0
  648. package/lib/ocaml/int32.cmi +0 -0
  649. package/lib/ocaml/int32.cmt +0 -0
  650. package/lib/ocaml/int32.cmti +0 -0
  651. package/lib/ocaml/int32.ml +64 -0
  652. package/lib/ocaml/int32.mli +186 -0
  653. package/lib/ocaml/int64.cmi +0 -0
  654. package/lib/ocaml/int64.cmt +0 -0
  655. package/lib/ocaml/int64.cmti +0 -0
  656. package/lib/ocaml/int64.ml +72 -0
  657. package/lib/ocaml/int64.mli +197 -0
  658. package/lib/ocaml/internal_map.cppo.ml +230 -0
  659. package/lib/ocaml/internal_set.cppo.ml +134 -0
  660. package/lib/ocaml/js.cmi +0 -0
  661. package/lib/ocaml/js.cmt +0 -0
  662. package/lib/ocaml/js.ml +313 -0
  663. package/lib/ocaml/js_OO.cmi +0 -0
  664. package/lib/ocaml/js_OO.cmt +0 -0
  665. package/lib/ocaml/js_OO.ml +180 -0
  666. package/lib/ocaml/js_array.cmi +0 -0
  667. package/lib/ocaml/js_array.cmt +0 -0
  668. package/lib/ocaml/js_array.ml +970 -0
  669. package/lib/ocaml/js_array2.cmi +0 -0
  670. package/lib/ocaml/js_array2.cmt +0 -0
  671. package/lib/ocaml/js_array2.ml +1065 -0
  672. package/lib/ocaml/js_bigint.cmi +0 -0
  673. package/lib/ocaml/js_bigint.cmt +0 -0
  674. package/lib/ocaml/js_bigint.ml +3 -0
  675. package/lib/ocaml/js_cast.cmi +0 -0
  676. package/lib/ocaml/js_cast.cmt +0 -0
  677. package/lib/ocaml/js_cast.cmti +0 -0
  678. package/lib/ocaml/js_cast.ml +29 -0
  679. package/lib/ocaml/js_cast.mli +45 -0
  680. package/lib/ocaml/js_console.cmi +0 -0
  681. package/lib/ocaml/js_console.cmt +0 -0
  682. package/lib/ocaml/js_console.ml +51 -0
  683. package/lib/ocaml/js_date.cmi +0 -0
  684. package/lib/ocaml/js_date.cmt +0 -0
  685. package/lib/ocaml/js_date.ml +1263 -0
  686. package/lib/ocaml/js_dict.cmi +0 -0
  687. package/lib/ocaml/js_dict.cmt +0 -0
  688. package/lib/ocaml/js_dict.cmti +0 -0
  689. package/lib/ocaml/js_dict.ml +114 -0
  690. package/lib/ocaml/js_dict.mli +152 -0
  691. package/lib/ocaml/js_exn.cmi +0 -0
  692. package/lib/ocaml/js_exn.cmt +0 -0
  693. package/lib/ocaml/js_exn.cmti +0 -0
  694. package/lib/ocaml/js_exn.ml +102 -0
  695. package/lib/ocaml/js_exn.mli +79 -0
  696. package/lib/ocaml/js_float.cmi +0 -0
  697. package/lib/ocaml/js_float.cmt +0 -0
  698. package/lib/ocaml/js_float.ml +294 -0
  699. package/lib/ocaml/js_global.cmi +0 -0
  700. package/lib/ocaml/js_global.cmt +0 -0
  701. package/lib/ocaml/js_global.ml +185 -0
  702. package/lib/ocaml/js_int.cmi +0 -0
  703. package/lib/ocaml/js_int.cmt +0 -0
  704. package/lib/ocaml/js_int.ml +158 -0
  705. package/lib/ocaml/js_json.cmi +0 -0
  706. package/lib/ocaml/js_json.cmt +0 -0
  707. package/lib/ocaml/js_json.cmti +0 -0
  708. package/lib/ocaml/js_json.ml +195 -0
  709. package/lib/ocaml/js_json.mli +244 -0
  710. package/lib/ocaml/js_list.cmi +0 -0
  711. package/lib/ocaml/js_list.cmt +0 -0
  712. package/lib/ocaml/js_list.cmti +0 -0
  713. package/lib/ocaml/js_list.ml +174 -0
  714. package/lib/ocaml/js_list.mli +72 -0
  715. package/lib/ocaml/js_map.cmi +0 -0
  716. package/lib/ocaml/js_map.cmt +0 -0
  717. package/lib/ocaml/js_map.ml +3 -0
  718. package/lib/ocaml/js_mapperRt.cmi +0 -0
  719. package/lib/ocaml/js_mapperRt.cmt +0 -0
  720. package/lib/ocaml/js_mapperRt.cmti +0 -0
  721. package/lib/ocaml/js_mapperRt.ml +50 -0
  722. package/lib/ocaml/js_mapperRt.mli +44 -0
  723. package/lib/ocaml/js_math.cmi +0 -0
  724. package/lib/ocaml/js_math.cmt +0 -0
  725. package/lib/ocaml/js_math.ml +626 -0
  726. package/lib/ocaml/js_null.cmi +0 -0
  727. package/lib/ocaml/js_null.cmt +0 -0
  728. package/lib/ocaml/js_null.cmti +0 -0
  729. package/lib/ocaml/js_null.ml +57 -0
  730. package/lib/ocaml/js_null.mli +87 -0
  731. package/lib/ocaml/js_null_undefined.cmi +0 -0
  732. package/lib/ocaml/js_null_undefined.cmt +0 -0
  733. package/lib/ocaml/js_null_undefined.cmti +0 -0
  734. package/lib/ocaml/js_null_undefined.ml +50 -0
  735. package/lib/ocaml/js_null_undefined.mli +85 -0
  736. package/lib/ocaml/js_obj.cmi +0 -0
  737. package/lib/ocaml/js_obj.cmt +0 -0
  738. package/lib/ocaml/js_obj.ml +100 -0
  739. package/lib/ocaml/js_option.cmi +0 -0
  740. package/lib/ocaml/js_option.cmt +0 -0
  741. package/lib/ocaml/js_option.cmti +0 -0
  742. package/lib/ocaml/js_option.ml +203 -0
  743. package/lib/ocaml/js_option.mli +52 -0
  744. package/lib/ocaml/js_promise.cmi +0 -0
  745. package/lib/ocaml/js_promise.cmt +0 -0
  746. package/lib/ocaml/js_promise.ml +100 -0
  747. package/lib/ocaml/js_re.cmi +0 -0
  748. package/lib/ocaml/js_re.cmt +0 -0
  749. package/lib/ocaml/js_re.ml +184 -0
  750. package/lib/ocaml/js_result.cmi +0 -0
  751. package/lib/ocaml/js_result.cmt +0 -0
  752. package/lib/ocaml/js_result.cmti +0 -0
  753. package/lib/ocaml/js_result.ml +28 -0
  754. package/lib/ocaml/js_result.mli +28 -0
  755. package/lib/ocaml/js_set.cmi +0 -0
  756. package/lib/ocaml/js_set.cmt +0 -0
  757. package/lib/ocaml/js_set.ml +3 -0
  758. package/lib/ocaml/js_string.cmi +0 -0
  759. package/lib/ocaml/js_string.cmt +0 -0
  760. package/lib/ocaml/js_string.ml +914 -0
  761. package/lib/ocaml/js_string2.cmi +0 -0
  762. package/lib/ocaml/js_string2.cmt +0 -0
  763. package/lib/ocaml/js_string2.ml +912 -0
  764. package/lib/ocaml/js_typed_array.cmi +0 -0
  765. package/lib/ocaml/js_typed_array.cmt +0 -0
  766. package/lib/ocaml/js_typed_array.cppo.ml +429 -0
  767. package/lib/ocaml/js_typed_array.ml +1405 -0
  768. package/lib/ocaml/js_typed_array2.cmi +0 -0
  769. package/lib/ocaml/js_typed_array2.cmt +0 -0
  770. package/lib/ocaml/js_typed_array2.cppo.ml +296 -0
  771. package/lib/ocaml/js_typed_array2.ml +1269 -0
  772. package/lib/ocaml/js_types.cmi +0 -0
  773. package/lib/ocaml/js_types.cmt +0 -0
  774. package/lib/ocaml/js_types.cmti +0 -0
  775. package/lib/ocaml/js_types.ml +118 -0
  776. package/lib/ocaml/js_types.mli +78 -0
  777. package/lib/ocaml/js_undefined.cmi +0 -0
  778. package/lib/ocaml/js_undefined.cmt +0 -0
  779. package/lib/ocaml/js_undefined.cmti +0 -0
  780. package/lib/ocaml/js_undefined.ml +59 -0
  781. package/lib/ocaml/js_undefined.mli +92 -0
  782. package/lib/ocaml/js_vector.cmi +0 -0
  783. package/lib/ocaml/js_vector.cmt +0 -0
  784. package/lib/ocaml/js_vector.cmti +0 -0
  785. package/lib/ocaml/js_vector.ml +143 -0
  786. package/lib/ocaml/js_vector.mli +92 -0
  787. package/lib/ocaml/js_weakmap.cmi +0 -0
  788. package/lib/ocaml/js_weakmap.cmt +0 -0
  789. package/lib/ocaml/js_weakmap.ml +3 -0
  790. package/lib/ocaml/js_weakset.cmi +0 -0
  791. package/lib/ocaml/js_weakset.cmt +0 -0
  792. package/lib/ocaml/js_weakset.ml +3 -0
  793. package/lib/ocaml/jsx.cmi +0 -0
  794. package/lib/ocaml/jsx.cmt +0 -0
  795. package/lib/ocaml/jsx.ml +39 -0
  796. package/lib/ocaml/jsxDOM.cmi +0 -0
  797. package/lib/ocaml/jsxDOM.cmt +0 -0
  798. package/lib/ocaml/jsxDOM.ml +2087 -0
  799. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  800. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  801. package/lib/ocaml/jsxDOMStyle.ml +777 -0
  802. package/lib/ocaml/jsxEvent.cmi +0 -0
  803. package/lib/ocaml/jsxEvent.cmt +0 -0
  804. package/lib/ocaml/jsxEvent.ml +358 -0
  805. package/lib/ocaml/lazy.cmi +0 -0
  806. package/lib/ocaml/lazy.cmt +0 -0
  807. package/lib/ocaml/lazy.cmti +0 -0
  808. package/lib/ocaml/lazy.ml +70 -0
  809. package/lib/ocaml/lazy.mli +95 -0
  810. package/lib/ocaml/lexing.cmi +0 -0
  811. package/lib/ocaml/lexing.cmt +0 -0
  812. package/lib/ocaml/lexing.cmti +0 -0
  813. package/lib/ocaml/lexing.ml +230 -0
  814. package/lib/ocaml/lexing.mli +172 -0
  815. package/lib/ocaml/list.cmi +0 -0
  816. package/lib/ocaml/list.cmt +0 -0
  817. package/lib/ocaml/list.cmti +0 -0
  818. package/lib/ocaml/list.ml +485 -0
  819. package/lib/ocaml/list.mli +347 -0
  820. package/lib/ocaml/listLabels.cmi +0 -0
  821. package/lib/ocaml/listLabels.cmt +0 -0
  822. package/lib/ocaml/listLabels.cmti +0 -0
  823. package/lib/ocaml/listLabels.ml +485 -0
  824. package/lib/ocaml/listLabels.mli +353 -0
  825. package/lib/ocaml/map.cmi +0 -0
  826. package/lib/ocaml/map.cmt +0 -0
  827. package/lib/ocaml/map.cmti +0 -0
  828. package/lib/ocaml/map.cppo.ml +174 -0
  829. package/lib/ocaml/map.cppo.mli +191 -0
  830. package/lib/ocaml/map.ml +480 -0
  831. package/lib/ocaml/map.mli +315 -0
  832. package/lib/ocaml/mapLabels.cmi +0 -0
  833. package/lib/ocaml/mapLabels.cmt +0 -0
  834. package/lib/ocaml/mapLabels.ml +480 -0
  835. package/lib/ocaml/mapm.cppo.ml +177 -0
  836. package/lib/ocaml/mapm.cppo.mli +138 -0
  837. package/lib/ocaml/moreLabels.cmi +0 -0
  838. package/lib/ocaml/moreLabels.cmt +0 -0
  839. package/lib/ocaml/moreLabels.cmti +0 -0
  840. package/lib/ocaml/moreLabels.ml +22 -0
  841. package/lib/ocaml/moreLabels.mli +198 -0
  842. package/lib/ocaml/node.cmi +0 -0
  843. package/lib/ocaml/node.cmt +0 -0
  844. package/lib/ocaml/node.ml +84 -0
  845. package/lib/ocaml/node_buffer.cmi +0 -0
  846. package/lib/ocaml/node_buffer.cmt +0 -0
  847. package/lib/ocaml/node_buffer.ml +47 -0
  848. package/lib/ocaml/node_child_process.cmi +0 -0
  849. package/lib/ocaml/node_child_process.cmt +0 -0
  850. package/lib/ocaml/node_child_process.ml +50 -0
  851. package/lib/ocaml/node_fs.cmi +0 -0
  852. package/lib/ocaml/node_fs.cmt +0 -0
  853. package/lib/ocaml/node_fs.ml +153 -0
  854. package/lib/ocaml/node_module.cmi +0 -0
  855. package/lib/ocaml/node_module.cmt +0 -0
  856. package/lib/ocaml/node_module.ml +29 -0
  857. package/lib/ocaml/node_path.cmi +0 -0
  858. package/lib/ocaml/node_path.cmt +0 -0
  859. package/lib/ocaml/node_path.ml +71 -0
  860. package/lib/ocaml/node_process.cmi +0 -0
  861. package/lib/ocaml/node_process.cmt +0 -0
  862. package/lib/ocaml/node_process.cmti +0 -0
  863. package/lib/ocaml/node_process.ml +59 -0
  864. package/lib/ocaml/node_process.mli +48 -0
  865. package/lib/ocaml/obj.cmi +0 -0
  866. package/lib/ocaml/obj.cmt +0 -0
  867. package/lib/ocaml/obj.cmti +0 -0
  868. package/lib/ocaml/obj.ml +29 -0
  869. package/lib/ocaml/obj.mli +62 -0
  870. package/lib/ocaml/parsing.cmi +0 -0
  871. package/lib/ocaml/parsing.cmt +0 -0
  872. package/lib/ocaml/parsing.cmti +0 -0
  873. package/lib/ocaml/parsing.ml +212 -0
  874. package/lib/ocaml/parsing.mli +105 -0
  875. package/lib/ocaml/pervasives.cmi +0 -0
  876. package/lib/ocaml/pervasives.cmt +0 -0
  877. package/lib/ocaml/pervasives.cmti +0 -0
  878. package/lib/ocaml/pervasives.ml +297 -0
  879. package/lib/ocaml/pervasives.mli +771 -0
  880. package/lib/ocaml/printexc.cmi +0 -0
  881. package/lib/ocaml/printexc.cmt +0 -0
  882. package/lib/ocaml/printexc.cmti +0 -0
  883. package/lib/ocaml/printexc.ml +79 -0
  884. package/lib/ocaml/printexc.mli +57 -0
  885. package/lib/ocaml/queue.cmi +0 -0
  886. package/lib/ocaml/queue.cmt +0 -0
  887. package/lib/ocaml/queue.cmti +0 -0
  888. package/lib/ocaml/queue.ml +132 -0
  889. package/lib/ocaml/queue.mli +82 -0
  890. package/lib/ocaml/random.cmi +0 -0
  891. package/lib/ocaml/random.cmt +0 -0
  892. package/lib/ocaml/random.cmti +0 -0
  893. package/lib/ocaml/random.ml +273 -0
  894. package/lib/ocaml/random.mli +102 -0
  895. package/lib/ocaml/set.cmi +0 -0
  896. package/lib/ocaml/set.cmt +0 -0
  897. package/lib/ocaml/set.cmti +0 -0
  898. package/lib/ocaml/set.ml +526 -0
  899. package/lib/ocaml/set.mli +266 -0
  900. package/lib/ocaml/setLabels.cmi +0 -0
  901. package/lib/ocaml/setLabels.cmt +0 -0
  902. package/lib/ocaml/setLabels.ml +526 -0
  903. package/lib/ocaml/setm.cppo.ml +346 -0
  904. package/lib/ocaml/setm.cppo.mli +126 -0
  905. package/lib/ocaml/sort.cmi +0 -0
  906. package/lib/ocaml/sort.cmt +0 -0
  907. package/lib/ocaml/sort.cmti +0 -0
  908. package/lib/ocaml/sort.cppo.ml +267 -0
  909. package/lib/ocaml/sort.cppo.mli +96 -0
  910. package/lib/ocaml/sort.ml +99 -0
  911. package/lib/ocaml/sort.mli +44 -0
  912. package/lib/ocaml/stack.cmi +0 -0
  913. package/lib/ocaml/stack.cmt +0 -0
  914. package/lib/ocaml/stack.cmti +0 -0
  915. package/lib/ocaml/stack.ml +44 -0
  916. package/lib/ocaml/stack.mli +63 -0
  917. package/lib/ocaml/stdLabels.cmi +0 -0
  918. package/lib/ocaml/stdLabels.cmt +0 -0
  919. package/lib/ocaml/stdLabels.cmti +0 -0
  920. package/lib/ocaml/stdLabels.ml +24 -0
  921. package/lib/ocaml/stdLabels.mli +29 -0
  922. package/lib/ocaml/stream.cmi +0 -0
  923. package/lib/ocaml/stream.cmt +0 -0
  924. package/lib/ocaml/stream.cmti +0 -0
  925. package/lib/ocaml/stream.ml +213 -0
  926. package/lib/ocaml/stream.mli +108 -0
  927. package/lib/ocaml/string.cmi +0 -0
  928. package/lib/ocaml/string.cmt +0 -0
  929. package/lib/ocaml/string.cmti +0 -0
  930. package/lib/ocaml/string.ml +190 -0
  931. package/lib/ocaml/string.mli +286 -0
  932. package/lib/ocaml/stringLabels.cmi +0 -0
  933. package/lib/ocaml/stringLabels.cmt +0 -0
  934. package/lib/ocaml/stringLabels.cmti +0 -0
  935. package/lib/ocaml/stringLabels.ml +190 -0
  936. package/lib/ocaml/stringLabels.mli +241 -0
  937. package/lib/ocaml/sys.cmi +0 -0
  938. package/lib/ocaml/sys.cmt +0 -0
  939. package/lib/ocaml/sys.cmti +0 -0
  940. package/lib/ocaml/sys.ml +135 -0
  941. package/lib/ocaml/sys.mli +333 -0
  942. package/lib/ocaml/uchar.cmi +0 -0
  943. package/lib/ocaml/uchar.cmt +0 -0
  944. package/lib/ocaml/uchar.cmti +0 -0
  945. package/lib/ocaml/uchar.ml +58 -0
  946. package/lib/ocaml/uchar.mli +98 -0
  947. package/linux/bsb_helper.exe +0 -0
  948. package/linux/bsc.exe +0 -0
  949. package/linux/ninja.COPYING +202 -0
  950. package/linux/ninja.exe +0 -0
  951. package/linux/refmt.exe +0 -0
  952. package/linux/rescript.exe +0 -0
  953. package/openbsd/.keep +0 -0
  954. package/package.json +71 -0
  955. package/rescript +591 -0
  956. package/scripts/LICENSE.ml +27 -0
  957. package/scripts/bin_path.js +38 -0
  958. package/scripts/buckle_lto.js +55 -0
  959. package/scripts/build_sorted.ml +233 -0
  960. package/scripts/buildocaml.js +102 -0
  961. package/scripts/caml_oo_curry_gen.ml +71 -0
  962. package/scripts/checkUnused.js +63 -0
  963. package/scripts/ciTest.js +172 -0
  964. package/scripts/config.js +24 -0
  965. package/scripts/cover.sh +3 -0
  966. package/scripts/curry_gen.ml +167 -0
  967. package/scripts/dbg +13 -0
  968. package/scripts/dedupe.js +44 -0
  969. package/scripts/doc_gen.js +117 -0
  970. package/scripts/install.js +237 -0
  971. package/scripts/installUtils.js +61 -0
  972. package/scripts/js_internal_gen.js +135 -0
  973. package/scripts/jsconfig.json +12 -0
  974. package/scripts/littlecase.js +21 -0
  975. package/scripts/ninja.js +1980 -0
  976. package/scripts/ninjaFactory.js +36 -0
  977. package/scripts/pack.js +107 -0
  978. package/scripts/prebuilt.js +99 -0
  979. package/scripts/release.js +41 -0
  980. package/scripts/repl.js +151 -0
  981. package/scripts/rescript_arg.js +168 -0
  982. package/scripts/rescript_convert.js +128 -0
  983. package/scripts/rescript_dump.js +48 -0
  984. package/scripts/rescript_format.js +194 -0
  985. package/scripts/shake.js +138 -0
  986. package/scripts/tasks.js +149 -0
  987. package/scripts/test.sh +3 -0
  988. package/scripts/tmp.js +98 -0
  989. package/scripts/validate.js +41 -0
  990. package/vendor/ninja.tar.gz +0 -0
  991. package/vendor/ocaml.tar.gz +0 -0
  992. package/win32/bsb_helper.exe +0 -0
  993. package/win32/bsc.exe +0 -0
  994. package/win32/ninja.COPYING +202 -0
  995. package/win32/ninja.exe +0 -0
  996. package/win32/refmt.exe +0 -0
  997. package/win32/rescript.exe +0 -0
@@ -0,0 +1,707 @@
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
+ (* Adapted significantly by Authors of ReScript *)
14
+
15
+
16
+ (** Utililites for `Array` functions.
17
+
18
+ ### Note about index syntax
19
+
20
+ Code like `arr[0]` does *not* compile to JavaScript `arr[0]`. Reason transforms the `[]` index syntax into a function: `Array.get(arr, 0)`. By default, this uses the default standard library's `Array.get` function, which may raise an exception if the index isn't found. If you `open Belt`, it will use the `Belt.Array.get` function which returns options instead of raising exceptions. [See this for more information](../belt.mdx#array-access-runtime-safety).
21
+ *)
22
+
23
+ type 'a t = 'a array
24
+
25
+ external length: 'a t -> int = "%array_length"
26
+ (** return the size of the array
27
+
28
+ ```res example
29
+ // Returns 1
30
+ Belt.Array.length(["test"])
31
+ ```
32
+ *)
33
+
34
+ external size: 'a t -> int = "%array_length"
35
+ (** **See** [`length`]() *)
36
+
37
+ val get: 'a t -> int -> 'a option
38
+ (**
39
+ If `i <= 0 <= length(arr)` returns `Some(value)` where `value` is the item at index `i`.
40
+ If `i` is out of range returns `None`.
41
+ ```
42
+ Belt.Array.get(["a", "b", "c"], 0) == Some("a")
43
+ Belt.Array.get(["a", "b", "c"], 3) == None
44
+ Belt.Array.get(["a", "b", "c"], -1) == None
45
+ ```
46
+ *)
47
+
48
+ val getExn: 'a t -> int -> 'a
49
+ (**
50
+ Raise an exception if `i` is out of range.
51
+ Otherwise return the value at index `i` in `arr`.
52
+ *)
53
+
54
+ external getUnsafe: 'a t -> int -> 'a = "%array_unsafe_get"
55
+ (**
56
+ `getUnsafe(arr, i)`
57
+
58
+ **Unsafe**
59
+
60
+ no bounds checking; this would cause type error if `i` does not stay within range
61
+ *)
62
+
63
+ external getUndefined: 'a t -> int -> 'a Js.undefined = "%array_unsafe_get"
64
+ (**
65
+ `getUndefined(arr, i)`
66
+
67
+ It does the samething in the runtime as [`getUnsafe`]();
68
+ it is _type safe_ since the return type still track whether it is
69
+ in range or not
70
+ *)
71
+
72
+ val set: 'a t -> int -> 'a -> bool
73
+ (**
74
+ `set(arr, n, x)` modifies `arr` in place; it replaces the nth element of `arr` with `x`.
75
+ Returning `false` means not updated due to out of range.
76
+ *)
77
+
78
+ val setExn: 'a t -> int -> 'a -> unit
79
+ (**
80
+ `setExn(arr, i, x)` raise an exception if `i` is out of range.
81
+ *)
82
+
83
+ external setUnsafe: 'a t -> int -> 'a -> unit = "%array_unsafe_set"
84
+
85
+ val shuffleInPlace: 'a t -> unit
86
+ (** `shuffleInPlace(arr)` randomly re-orders the items in `arr` *)
87
+
88
+ val shuffle: 'a t -> 'a t
89
+ (** Returns a fresh array with items in original array randomly shuffled. *)
90
+
91
+ val reverseInPlace: 'a t -> unit
92
+ (**
93
+ `reverseInPlace(arr)` reverses items in `arr` in place.
94
+
95
+ ```res example
96
+ let arr = [10, 11, 12, 13, 14]
97
+
98
+ let () = Belt.Array.reverseInPlace(arr)
99
+
100
+ arr == [14, 13, 12, 11, 10]
101
+ ```
102
+ *)
103
+
104
+ val reverse: 'a t -> 'a t
105
+ (**
106
+ `reverse(arr)` returns a fresh array with items in arr in reverse order.
107
+
108
+ ```res example
109
+ Belt.Array.reverse([10, 11, 12, 13, 14]) == [14, 13, 12, 11, 10]
110
+ ```
111
+ *)
112
+
113
+ external makeUninitialized: int -> 'a Js.undefined array = "Array" [@@bs.new]
114
+ (**
115
+ `makeUninitialized(n)` creates an array of length `n` filled with the undefined value. You must specify the type of data that will eventually fill the array.
116
+
117
+ ```res example
118
+ let arr: array<Js.undefined<string>> = Belt.Array.makeUninitialized(5)
119
+
120
+ Belt.Array.getExn(arr, 0) == Js.undefined
121
+ ```
122
+ *)
123
+
124
+ external makeUninitializedUnsafe: int -> 'a t = "Array" [@@bs.new]
125
+ (**
126
+ **Unsafe**
127
+
128
+ ```res example
129
+ let arr = Belt.Array.makeUninitializedUnsafe(5)
130
+
131
+ Js.log(Belt.Array.getExn(arr, 0)) // undefined
132
+
133
+ Belt.Array.setExn(arr, 0, "example")
134
+
135
+ Js.log(Belt.Array.getExn(arr, 0) == "example")
136
+ ```
137
+ *)
138
+
139
+
140
+ val make: int -> 'a -> 'a t
141
+ (**
142
+ `make(n, e)` return an array of size `n` filled with value `e`.
143
+ Returns an empty array when `n` is negative.
144
+ *)
145
+
146
+ val range: int -> int -> int array
147
+ (**
148
+ `range(start, finish)` create an inclusive array.
149
+
150
+ ```res example
151
+ Belt.Array.range(0, 3) == [0, 1, 2, 3]
152
+
153
+ Belt.Array.range(3, 0) == []
154
+
155
+ Belt.Array.range(3, 3) == [3]
156
+ ```
157
+ *)
158
+
159
+ val rangeBy: int -> int -> step:int -> int array
160
+ (**
161
+ `rangeBy(start, finish, ~step)`
162
+
163
+ Returns empty array when step is 0 or negative. It also return an empty array when `start > finish`.
164
+
165
+ ```res example
166
+ Belt.Array.rangeBy(0, 10, ~step=3) == [0, 3, 6, 9]
167
+
168
+ Belt.Array.rangeBy(0, 12, ~step=3) == [0, 3, 6, 9, 12]
169
+
170
+ Belt.Array.rangeBy(33, 0, ~step=1) == []
171
+
172
+ Belt.Array.rangeBy(33, 0, ~step=-1) == []
173
+
174
+ Belt.Array.rangeBy(3, 12, ~step=-1) == []
175
+
176
+ Belt.Array.rangeBy(3, 3, ~step=0) == []
177
+
178
+ Belt.Array.rangeBy(3, 3, ~step=1) == [3]
179
+ ```
180
+ *)
181
+
182
+ val makeByU: int -> (int -> 'a [@bs]) -> 'a t
183
+ val makeBy: int -> (int -> 'a ) -> 'a t
184
+ (**
185
+ `makeBy(n, f)`
186
+
187
+ Return an empty array when n is negative return an array of size n populated by `f(i)` start from `0` to `n - 1`.
188
+
189
+ ```res example
190
+ Belt.Array.makeBy(5, (i) => i) == [0, 1, 2, 3, 4]
191
+
192
+ Belt.Array.makeBy(5, (i) => i * i) == [0, 1, 4, 9, 16]
193
+ ```
194
+ *)
195
+
196
+ val makeByAndShuffleU: int -> (int -> 'a [@bs]) -> 'a t
197
+ val makeByAndShuffle: int -> (int -> 'a ) -> 'a t
198
+ (**
199
+ Equivalent to `shuffle(makeBy(n, f))`
200
+ *)
201
+
202
+
203
+ val zip: 'a t -> 'b array -> ('a * 'b) array
204
+ (**
205
+ `zip(a, b)`
206
+
207
+ Create an array of pairs from corresponding elements of a and b. Stop with the shorter array.
208
+
209
+ ```res example
210
+ Belt.Array.zip([1, 2], [3, 4, 5]) == [(1, 3), (2, 4)]
211
+ ```
212
+ *)
213
+
214
+
215
+ val zipByU: 'a t -> 'b array -> ('a -> 'b -> 'c [@bs]) -> 'c array
216
+ val zipBy: 'a t -> 'b array -> ('a -> 'b -> 'c ) -> 'c array
217
+ (**
218
+ `zipBy(xs, ys, f)`
219
+
220
+ Create an array by applying `f` to corresponding elements of `xs` and `ys`. Stops with shorter array.
221
+
222
+ Equivalent to `map(zip(xs, ys), ((a, b)) => f(a, b))`
223
+
224
+ ```res example
225
+ Belt.Array.zipBy([1, 2, 3], [4, 5], (a, b) => 2 * a + b) == [6, 9]
226
+ ```
227
+ *)
228
+
229
+ val unzip: ('a * 'b) array -> 'a t * 'b array
230
+ (**
231
+ `unzip(a)` takes an array of pairs and creates a pair of arrays. The first array contains all the first items of the pairs; the second array contains all the second items.
232
+
233
+ ```res example
234
+ Belt.Array.unzip([(1, 2), (3, 4)]) == ([1, 3], [2, 4])
235
+
236
+ Belt.Array.unzip([(1, 2), (3, 4), (5, 6), (7, 8)]) == ([1, 3, 5, 7], [2, 4, 6, 8])
237
+ ```
238
+ *)
239
+
240
+ val concat: 'a t -> 'a t -> 'a t
241
+ (**
242
+ `concat(xs, ys)`
243
+
244
+ Returns a fresh array containing the concatenation of the arrays `v1` and `v2`;so even if `v1` or `v2` is empty; it can not be shared
245
+
246
+ ```res example
247
+ Belt.Array.concat([1, 2, 3], [4, 5]) == [1, 2, 3, 4, 5]
248
+
249
+ Belt.Array.concat([], ["a", "b", "c"]) == ["a", "b", "c"]
250
+ ```
251
+ *)
252
+
253
+ val concatMany: 'a t array -> 'a t
254
+ (**
255
+ `concatMany(xss)`
256
+
257
+ Returns a fresh array as the concatenation of `xss` (an array of arrays)
258
+
259
+ ```res example
260
+ Belt.Array.concatMany([[1, 2, 3], [4, 5, 6], [7, 8]]) == [1, 2, 3, 4, 5, 6, 7, 8]
261
+ ```
262
+ *)
263
+
264
+ val slice: 'a t -> offset:int -> len:int -> 'a t
265
+ (**
266
+ `slice(xs, offset, len)` creates a new array with the len elements of `xs`
267
+ starting at `offset` for `offset` can be negative;and is evaluated as
268
+ `length(xs) - offset(slice, xs) - 1(1)` means get the last element as a
269
+ singleton array `slice(xs, ~-len, len)` will return a copy of the array if the
270
+ array does not have enough data; `slice` extracts through the end of sequence.
271
+
272
+ if `len` is negative; returns the empty array.
273
+
274
+ ```res example
275
+ Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=2, ~len=3) == [12, 13, 14]
276
+
277
+ Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=-4, ~len=3) == [13, 14, 15]
278
+
279
+ Belt.Array.slice([10, 11, 12, 13, 14, 15, 16], ~offset=4, ~len=9) == [14, 15, 16]
280
+ ```
281
+ *)
282
+
283
+ val sliceToEnd: 'a t -> int -> 'a t
284
+ (**
285
+ `sliceToEnd(xs, offset)` creates a new array with the elements of `xs` starting at `offset`
286
+
287
+ `offset` can be negative; and is evaluated as `length(xs) - offset(sliceToEnd, xs) - 1` means get the last element as a singleton array
288
+
289
+ `sliceToEnd(xs, 0)` will return a copy of the array
290
+
291
+ ```res example
292
+ Belt.Array.sliceToEnd([10, 11, 12, 13, 14, 15, 16], 2) == [12, 13, 14, 15, 16]
293
+
294
+ Belt.Array.sliceToEnd([10, 11, 12, 13, 14, 15, 16], -4) == [13, 14, 15, 16]
295
+ ```
296
+ *)
297
+
298
+
299
+ external copy : 'a t -> (_ [@bs.as 0]) -> 'a t = "slice" [@@bs.send]
300
+ (**
301
+ `copy(a)`
302
+
303
+ Returns a copy of a; that is; a fresh array containing the same elements as a.
304
+ *)
305
+
306
+ val fill: 'a t -> offset:int -> len:int -> 'a -> unit
307
+ (**
308
+ `fill(arr, ~offset, ~len, x)`
309
+
310
+ Modifies `arr` in place, storing `x` in elements number `offset` to `offset + len - 1`.
311
+ `offset` can be negative; and is evaluated as `length(arr - offset)`
312
+
313
+ `fill(arr, ~offset=-1, ~len=1)` means fill the last element, if the array does not have enough data; `fill` will ignore it
314
+
315
+ ```res example
316
+ let arr = Belt.Array.makeBy(5, (i) => i)
317
+
318
+ Belt.Array.fill(arr, ~offset=2, ~len=2, 9)
319
+
320
+ arr == [0, 1, 9, 9, 4]
321
+
322
+ Belt.Array.fill(arr, ~offset=7, ~len=2, 8)
323
+
324
+ arr == [0, 1, 9, 9, 4]
325
+ *)
326
+
327
+ val blit:
328
+ src:'a t -> srcOffset:int -> dst:'a t -> dstOffset:int -> len:int -> unit
329
+ (**
330
+ `blit(~src=v1, ~srcOffset=o1, ~dst=v2, ~dstOffset=o2, ~len)`
331
+
332
+ copies `len` elements from array `v1`;starting at element number `o1`;to array `v2`, starting at element number `o2`.
333
+
334
+ It works correctly even if `v1` and `v2` are the same array;and the source and destination chunks overlap.
335
+
336
+ `offset` can be negative; `-1` means `len - 1`; if `len + offset` is still negative;it will be set as 0
337
+
338
+ For each of the examples;presume that `v1 == [10, 11, 12, 13, 14, 15, 16, 17]` and `v2 == [20, 21, 22, 23, 24, 25, 26, 27]`. The result shown is the content of the destination array.
339
+
340
+ ```res example
341
+ let v1 = [10, 11, 12, 13, 14, 15, 16, 17]
342
+ let v2 = [20, 21, 22, 23, 24, 25, 26, 27]
343
+
344
+ Belt.Array.blit(~src=v1, ~srcOffset=4, ~dst=v2, ~dstOffset=2, ~len=3)
345
+ v2 == [20, 21, 14, 15, 16, 25, 26, 27]
346
+
347
+ Belt.Array.blit(~src=v1, ~srcOffset=4, ~dst=v1, ~dstOffset=2, ~len=3)
348
+ v1 == [10, 11, 14, 15, 16, 15, 16, 17]
349
+ ```
350
+ *)
351
+
352
+ val blitUnsafe:
353
+ src:'a t -> srcOffset:int -> dst:'a t -> dstOffset:int -> len:int -> unit
354
+ (**
355
+ Unsafe blit without bounds checking.
356
+ *)
357
+
358
+ val forEachU: 'a t -> ('a -> unit [@bs]) -> unit
359
+ val forEach: 'a t -> ('a -> unit ) -> unit
360
+ (**
361
+ `forEach(xs, f)`
362
+
363
+ Call `f` on each element of `xs` from the beginning to end. `f` returns `unit`;so no new array is created. Use `forEach` when you are primarily concerned with repetitively creating side effects.
364
+
365
+ ```res example
366
+ Belt.Array.forEach(["a", "b", "c"], x => Js.log("Item: " ++ x))
367
+
368
+ /*
369
+ prints:
370
+ Item: a
371
+ Item: b
372
+ Item: c
373
+ */
374
+ let total = ref(0)
375
+
376
+ Belt.Array.forEach([1, 2, 3, 4], x => total := total.contents + x)
377
+
378
+ total.contents == 1 + 2 + 3 + 4
379
+ ```
380
+ *)
381
+
382
+ val mapU: 'a t -> ('a -> 'b [@bs]) -> 'b array
383
+ val map: 'a t -> ('a -> 'b ) -> 'b array
384
+ (**
385
+ `map(xs, f)`
386
+
387
+ Returns a new array by calling `f` for each element of `xs` from the beginning to end.
388
+
389
+ ```res example
390
+ Belt.Array.map([1, 2], (x) => x + 1) == [3, 4]
391
+ ```
392
+ *)
393
+
394
+ val flatMapU: 'a t -> ('a -> 'b array [@bs]) -> 'b array
395
+ val flatMap: 'a t -> ('a -> 'b array) -> 'b array
396
+ (**
397
+ `flatMap(xs, f)`
398
+
399
+ **Returns** a new array by calling `f` for each element of `xs` from
400
+ the beginning to end, concatenating the results.
401
+
402
+ ```res example
403
+ flatMap([1, 2], x => [x + 10, x + 20]) == [11, 21, 12, 22]
404
+ ```
405
+ *)
406
+
407
+ val getByU: 'a t -> ('a -> bool [@bs]) -> 'a option
408
+ val getBy: 'a t -> ('a -> bool) -> 'a option
409
+ (**
410
+ `getBy(xs, p)`
411
+
412
+ Returns `Some(value)` for the first value in `xs` that satisifies the predicate function `p`; returns `None` if no element satisifies the function.
413
+
414
+ ```res example
415
+ Belt.Array.getBy([1, 4, 3, 2], (x) => mod(x, 2) == 0) == Some(4)
416
+ Belt.Array.getBy([15, 13, 11], (x) => mod(x, 2) == 0) == None
417
+ ```
418
+ *)
419
+
420
+ val getIndexByU: 'a t -> ('a -> bool [@bs]) -> int option
421
+ val getIndexBy: 'a t -> ('a -> bool) -> int option
422
+ (**
423
+ `getIndexBy(xs, p)` returns `Some(index)` for the first value in `xs` that satisifies the predicate function `p`;
424
+ returns `None` if no element satisifies the function.
425
+
426
+ ```res example
427
+ Belt.Array.getIndexBy([1, 4, 3, 2], (x) => mod(x, 2) == 0) == Some(1)
428
+ Belt.Array.getIndexBy([15, 13, 11], (x) => mod(x, 2) == 0) == None
429
+ ```
430
+ *)
431
+
432
+ val keepU: 'a t -> ('a -> bool [@bs]) -> 'a t
433
+ val keep: 'a t -> ('a -> bool ) -> 'a t
434
+ (**
435
+ `keep(xs, p)` returns a new array that keep all elements satisfy `p`.
436
+ *)
437
+
438
+ val keepWithIndexU: 'a t -> ('a -> int -> bool [@bs]) -> 'a t
439
+ val keepWithIndex: 'a t -> ('a -> int -> bool ) -> 'a t
440
+ (**
441
+ `keepWithIndex(xs, p)`
442
+
443
+ Returns a new array that keep all elements satisfy `p`.
444
+
445
+ ```res example
446
+ Belt.Array.keepWithIndex([1, 2, 3], (_x, i) => i == 1) == [2]
447
+ ```
448
+ *)
449
+
450
+ val keepMapU: 'a t -> ('a -> 'b option [@bs]) -> 'b array
451
+ val keepMap: 'a t -> ('a -> 'b option) -> 'b array
452
+ (**
453
+ `keepMap(xs, p)`
454
+
455
+ Returns a new array that keep all elements that return a non-None applied `p`.
456
+
457
+ ```res example
458
+ Belt.Array.keepMap([1, 2, 3], x =>
459
+ if mod(x, 2) == 0 {
460
+ Some(x)
461
+ } else {
462
+ None
463
+ }
464
+ )
465
+ == [2]
466
+ ```
467
+ *)
468
+
469
+ val forEachWithIndexU: 'a t -> (int -> 'a -> unit [@bs]) -> unit
470
+ val forEachWithIndex: 'a t -> (int -> 'a -> unit ) -> unit
471
+ (**
472
+ `forEachWithIndex(xs, f)`
473
+
474
+ The same as `Belt.Array.forEach`;
475
+ except that `f` is supplied two arguments: the index starting from 0 and the element from `xs`.
476
+
477
+ ```res example
478
+ Belt.Array.forEachWithIndex(["a", "b", "c"], (i, x) => Js.log("Item " ++ Belt.Int.toString(i) ++ " is " ++ x))
479
+
480
+ /*
481
+ prints:
482
+ Item 0 is a
483
+ Item 1 is b
484
+ Item 2 is cc
485
+ */
486
+ let total = ref(0)
487
+
488
+ Belt.Array.forEachWithIndex([10, 11, 12, 13], (i, x) => total := total.contents + x + i)
489
+
490
+ total.contents == 0 + 10 + 1 + 11 + 2 + 12 + 3 + 13
491
+ ```
492
+ *)
493
+
494
+ val mapWithIndexU: 'a t -> (int -> 'a -> 'b [@bs]) -> 'b array
495
+ val mapWithIndex: 'a t -> (int -> 'a -> 'b ) -> 'b array
496
+ (**
497
+ `mapWithIndex(xs, f)`
498
+
499
+ `mapWithIndex(xs, f)` applies `f` to each element of `xs`. Function `f` takes two arguments: the index starting from 0 and the element from `xs`.
500
+
501
+ ```res example
502
+ Belt.Array.mapWithIndex([1, 2, 3], (i, x) => i + x) == [0 + 1, 1 + 2, 2 + 3]
503
+ ```
504
+ *)
505
+
506
+
507
+ val partitionU : 'a t -> ('a -> bool [@bs]) -> 'a t * 'a t
508
+ val partition : 'a t -> ('a -> bool) -> 'a t * 'a t
509
+ (**
510
+ `partition(f, a)` split array into tuple of two arrays based on predicate `f`; first of tuple where predicate cause true, second where predicate cause false
511
+
512
+ ```res example
513
+ Belt.Array.partition([1, 2, 3, 4, 5], (x) => mod(x, 2) == 0) == ([2, 4], [1, 3, 5])
514
+
515
+ Belt.Array.partition([1, 2, 3, 4, 5], (x) => mod(x, 2) != 0) == ([1, 3, 5], [2, 4])
516
+ ```
517
+ *)
518
+
519
+ val reduceU: 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) ->'a
520
+ val reduce: 'b array -> 'a -> ('a -> 'b -> 'a ) ->'a
521
+ (**
522
+ `reduce(xs, init, f)`
523
+
524
+ Applies `f` to each element of `xs` from beginning to end. Function `f` has two parameters: the item from the list and an “accumulator”; which starts with a value of `init`. `reduce` returns the final value of the accumulator.
525
+
526
+ ```res example
527
+ Belt.Array.reduce([2, 3, 4], 1, (a, b) => a + b) == 10
528
+
529
+ Belt.Array.reduce(["a", "b", "c", "d"], "", (a, b) => a ++ b) == "abcd"
530
+ ```
531
+ *)
532
+
533
+ val reduceReverseU: 'b array -> 'a -> ('a -> 'b -> 'a [@bs]) -> 'a
534
+ val reduceReverse: 'b array -> 'a -> ('a -> 'b -> 'a ) -> 'a
535
+ (**
536
+ `reduceReverse(xs, init, f)`
537
+
538
+ Works like `Belt_Array.reduce`; except that function `f` is applied to each item of `xs` from the last back to the first.
539
+
540
+ ```res example
541
+ Belt.Array.reduceReverse(["a", "b", "c", "d"], "", (a, b) => a ++ b) == "dcba"
542
+ ```
543
+ *)
544
+
545
+ val reduceReverse2U:
546
+ 'a t -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c [@bs]) -> 'c
547
+ val reduceReverse2:
548
+ 'a t -> 'b array -> 'c -> ('c -> 'a -> 'b -> 'c) -> 'c
549
+ (**
550
+ `reduceReverse2(xs, ys, init, f)`
551
+
552
+ Reduces two arrays xs and ys;taking items starting at `min(length(xs), length(ys))` down to and including zero.
553
+
554
+ ```res example
555
+ Belt.Array.reduceReverse2([1, 2, 3], [1, 2], 0, (acc, x, y) => acc + x + y) == 6
556
+ ```
557
+ *)
558
+
559
+ val reduceWithIndexU: 'a t -> 'b -> ('b -> 'a -> int -> 'b [@bs]) -> 'b
560
+ val reduceWithIndex: 'a t -> 'b -> ('b -> 'a -> int -> 'b) -> 'b
561
+ (**
562
+ Applies `f` to each element of `xs` from beginning to end. Function `f` has three parameters: the item from the array and an “accumulator”, which starts with a value of `init` and the index of each element. `reduceWithIndex` returns the final value of the accumulator.
563
+
564
+ ```res example
565
+ Belt.Array.reduceWithIndex([1, 2, 3, 4], 0, (acc, x, i) => acc + x + i) == 16
566
+ ```
567
+ *)
568
+
569
+ val joinWithU: 'a t -> string -> ('a -> string [@bs]) -> string
570
+ val joinWith: 'a t -> string -> ('a -> string) -> string
571
+ (**
572
+ `joinWith(xs, sep, toString)`
573
+
574
+ Concatenates all the elements of `xs` converted to string with `toString`, each separated by `sep`, the string
575
+ given as the second argument, into a single string.
576
+ If the array has only one element, then that element will be returned
577
+ without using the separator.
578
+ If the array is empty, the empty string will be returned.
579
+
580
+ ```res example
581
+ joinWith([0, 1], ", ", string_of_int) == "0, 1"
582
+ joinWith([], " ", string_of_int) == ""
583
+ joinWith([1], " ", string_of_int) == "1"
584
+ ```
585
+ *)
586
+
587
+ val someU: 'a t -> ('a -> bool [@bs]) -> bool
588
+ val some: 'a t -> ('a -> bool) -> bool
589
+ (**
590
+ `some(xs, p)`
591
+
592
+ Returns true if at least one of the elements in `xs` satifies `p`; where `p` is a predicate: a function taking an element and returning a `bool`.
593
+
594
+ ```res example
595
+ Belt.Array.some([2, 3, 4], (x) => mod(x, 2) == 1) == true
596
+
597
+ Belt.Array.some([(-1), (-3), (-5)], (x) => x > 0) == false
598
+ ```
599
+ *)
600
+
601
+ val everyU: 'a t -> ('a -> bool [@bs]) -> bool
602
+ val every: 'a t -> ('a -> bool ) -> bool
603
+ (**
604
+ `every(xs, p)`
605
+
606
+ Returns `true` if all elements satisfy `p`; where `p` is a predicate: a function taking an element and returning a `bool`.
607
+
608
+ ```res example
609
+ Belt.Array.every([1, 3, 5], (x) => mod(x, 2) == 1) == true
610
+
611
+ Belt.Array.every([1, (-3), 5], (x) => x > 0) == false
612
+ ```
613
+ *)
614
+
615
+ val every2U: 'a t -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
616
+ val every2: 'a t -> 'b array -> ('a -> 'b -> bool ) -> bool
617
+ (**
618
+ `every2(xs, ys, p)`
619
+
620
+ returns true if `p(xi, yi)` is true for all pairs of elements up to the shorter length (i.e. `min(length(xs), length(ys))`)
621
+
622
+ ```res example
623
+ Belt.Array.every2([1, 2, 3], [0, 1], (a, b) => a > b) == true
624
+
625
+ Belt.Array.every2([], [1], (x, y) => x > y) == true
626
+
627
+ Belt.Array.every2([2, 3], [1], (x, y) => x > y) == true
628
+
629
+ Belt.Array.every2([0, 1], [5, 0], (x, y) => x > y) == false
630
+ ```
631
+ *)
632
+
633
+ val some2U: 'a t -> 'b array -> ('a -> 'b -> bool [@bs]) -> bool
634
+ val some2: 'a t -> 'b array -> ('a -> 'b -> bool ) -> bool
635
+ (**
636
+ `some2(xs, ys, p)`
637
+
638
+ returns true if `p(xi, yi)` is true for any pair of elements up to the shorter length (i.e. `min(length(xs), length(ys))`)
639
+
640
+ ```res example
641
+ Belt.Array.some2([0, 2], [1, 0, 3], (a, b) => a > b) == true
642
+
643
+ Belt.Array.some2([], [1], (x, y) => x > y) == false
644
+
645
+ Belt.Array.some2([2, 3], [1, 4], (x, y) => x > y) == true
646
+ ```
647
+ *)
648
+
649
+ val cmpU: 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
650
+ val cmp: 'a t -> 'a t -> ('a -> 'a -> int ) -> int
651
+ (**
652
+ `cmp(xs, ys, f)`
653
+
654
+ Compared by length if `length(xs) != length(ys)`; returning -1 if `length(xs) < length(ys)` or 1 if `length(xs) > length(ys)`
655
+ Otherwise compare one by one `f(x, y)`. `f` returns
656
+ a negative number if `x` is “less than” `y`
657
+ zero if `x` is “equal to” `y`
658
+ a positive number if `x` is “greater than” `y`
659
+ The comparison returns the first non-zero result of `f`;or zero if `f` returns zero for all `x` and `y`.
660
+
661
+ ```res example
662
+ Belt.Array.cmp([1, 3, 5], [1, 4, 2], (a, b) => compare(a, b)) == -1
663
+
664
+ Belt.Array.cmp([1, 3, 5], [1, 2, 3], (a, b) => compare(a, b)) == 1
665
+
666
+ Belt.Array.cmp([1, 3, 5], [1, 3, 5], (a, b) => compare(a, b)) == 0
667
+ ```
668
+ *)
669
+
670
+ val eqU: 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
671
+ val eq: 'a t -> 'a t -> ('a -> 'a -> bool ) -> bool
672
+ (**
673
+ `eq(xs, ys)`
674
+
675
+ return false if length is not the same
676
+ otherwise compare items one by one using `f(xi, yi)`; and return true if all results are truefalse otherwise
677
+
678
+ ```res example
679
+ Belt.Array.eq([1, 2, 3], [(-1), (-2), (-3)], (a, b) => abs(a) == abs(b)) == true
680
+ ```
681
+ *)
682
+
683
+ external truncateToLengthUnsafe: 'a t -> int -> unit = "length" [@@bs.set]
684
+ (**
685
+ Unsafe `truncateToLengthUnsafe(xs, n)` sets length of array `xs` to `n`.
686
+
687
+ If `n` is greater than the length of `xs`; the extra elements are set to `Js.Null_undefined.null`.
688
+
689
+ If `n` is less than zero; raises a `RangeError`.
690
+
691
+ ```res example
692
+ let arr = ["ant", "bee", "cat", "dog", "elk"]
693
+
694
+ Belt.Array.truncateToLengthUnsafe(arr, 3)
695
+
696
+ arr == ["ant", "bee", "cat"]
697
+ ```
698
+ *)
699
+
700
+
701
+ val initU : int -> (int -> 'a [@bs]) -> 'a t
702
+ val init : int -> (int -> 'a) -> 'a t
703
+
704
+ (**
705
+ `arr->push(item)` pushes an element `item` into an array `arr`.
706
+ *)
707
+ external push : 'a t -> 'a -> unit = "push" [@@send]
Binary file
Binary file
Binary file