@tellahq/rescript 10.1.0-alpha.2 → 10.1.4-republish-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (668) hide show
  1. package/CHANGELOG.md +204 -2
  2. package/README.md +1 -1
  3. package/darwinarm64/bsb_helper.exe +0 -0
  4. package/darwinarm64/bsc.exe +0 -0
  5. package/darwinarm64/ninja.exe +0 -0
  6. package/darwinarm64/rescript.exe +0 -0
  7. package/docs/docson/build-schema.json +497 -516
  8. package/lib/4.06.1/bsb_helper.ml +6 -1
  9. package/lib/4.06.1/rescript.ml +1414 -1191
  10. package/lib/4.06.1/whole_compiler.ml +69844 -69069
  11. package/lib/es6/belt_internalBuckets.js +13 -13
  12. package/lib/es6/caml_float.js +5 -5
  13. package/lib/es6/caml_format.js +1 -1
  14. package/lib/es6/caml_int64.js +1 -1
  15. package/lib/es6/caml_obj.js +26 -6
  16. package/lib/es6/complex.js +4 -4
  17. package/lib/es6/js.js +3 -0
  18. package/lib/es6/js_promise2.js +16 -0
  19. package/lib/es6/jsxPPXReactSupport.js +26 -0
  20. package/lib/js/belt_internalBuckets.js +13 -13
  21. package/lib/js/caml_float.js +5 -5
  22. package/lib/js/caml_format.js +1 -1
  23. package/lib/js/caml_int64.js +1 -1
  24. package/lib/js/caml_obj.js +26 -6
  25. package/lib/js/complex.js +4 -4
  26. package/lib/js/js.js +3 -0
  27. package/lib/js/js_promise2.js +14 -0
  28. package/lib/js/jsxPPXReactSupport.js +24 -0
  29. package/package.json +2 -1
  30. package/scripts/buildNinjaBinary.js +29 -0
  31. package/scripts/install.js +7 -3
  32. package/scripts/installUtils.js +9 -1
  33. package/scripts/rescript_arg.js +2 -4
  34. package/scripts/rescript_format.js +73 -39
  35. package/win32/refmt.exe +0 -0
  36. package/darwin/bsb_helper.exe +0 -0
  37. package/darwin/bsc.exe +0 -0
  38. package/darwin/ninja.COPYING +0 -202
  39. package/darwin/ninja.exe +0 -0
  40. package/darwin/rescript.exe +0 -0
  41. package/darwinarm64/ninja.COPYING +0 -202
  42. package/freebsd/ninja.COPYING +0 -202
  43. package/lib/ocaml/arg.cmi +0 -0
  44. package/lib/ocaml/arg.cmt +0 -0
  45. package/lib/ocaml/arg.cmti +0 -0
  46. package/lib/ocaml/arg.ml +0 -359
  47. package/lib/ocaml/arg.mli +0 -185
  48. package/lib/ocaml/array.cmi +0 -0
  49. package/lib/ocaml/array.cmt +0 -0
  50. package/lib/ocaml/array.cmti +0 -0
  51. package/lib/ocaml/array.ml +0 -307
  52. package/lib/ocaml/array.mli +0 -275
  53. package/lib/ocaml/arrayLabels.cmi +0 -0
  54. package/lib/ocaml/arrayLabels.cmt +0 -0
  55. package/lib/ocaml/arrayLabels.cmti +0 -0
  56. package/lib/ocaml/arrayLabels.ml +0 -307
  57. package/lib/ocaml/arrayLabels.mli +0 -276
  58. package/lib/ocaml/belt.cmi +0 -0
  59. package/lib/ocaml/belt.cmt +0 -0
  60. package/lib/ocaml/belt.ml +0 -352
  61. package/lib/ocaml/belt_Array.cmi +0 -0
  62. package/lib/ocaml/belt_Array.cmt +0 -0
  63. package/lib/ocaml/belt_Array.cmti +0 -0
  64. package/lib/ocaml/belt_Array.ml +0 -525
  65. package/lib/ocaml/belt_Array.mli +0 -707
  66. package/lib/ocaml/belt_Float.cmi +0 -0
  67. package/lib/ocaml/belt_Float.cmt +0 -0
  68. package/lib/ocaml/belt_Float.cmti +0 -0
  69. package/lib/ocaml/belt_Float.ml +0 -50
  70. package/lib/ocaml/belt_Float.mli +0 -106
  71. package/lib/ocaml/belt_HashMap.cmi +0 -0
  72. package/lib/ocaml/belt_HashMap.cmt +0 -0
  73. package/lib/ocaml/belt_HashMap.cmti +0 -0
  74. package/lib/ocaml/belt_HashMap.ml +0 -226
  75. package/lib/ocaml/belt_HashMap.mli +0 -436
  76. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  77. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  78. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  79. package/lib/ocaml/belt_HashMapInt.ml +0 -206
  80. package/lib/ocaml/belt_HashMapInt.mli +0 -50
  81. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  82. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  83. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  84. package/lib/ocaml/belt_HashMapString.ml +0 -206
  85. package/lib/ocaml/belt_HashMapString.mli +0 -50
  86. package/lib/ocaml/belt_HashSet.cmi +0 -0
  87. package/lib/ocaml/belt_HashSet.cmt +0 -0
  88. package/lib/ocaml/belt_HashSet.cmti +0 -0
  89. package/lib/ocaml/belt_HashSet.ml +0 -196
  90. package/lib/ocaml/belt_HashSet.mli +0 -125
  91. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  92. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  93. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  94. package/lib/ocaml/belt_HashSetInt.ml +0 -155
  95. package/lib/ocaml/belt_HashSetInt.mli +0 -74
  96. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  97. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  98. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  99. package/lib/ocaml/belt_HashSetString.ml +0 -156
  100. package/lib/ocaml/belt_HashSetString.mli +0 -74
  101. package/lib/ocaml/belt_Id.cmi +0 -0
  102. package/lib/ocaml/belt_Id.cmt +0 -0
  103. package/lib/ocaml/belt_Id.cmti +0 -0
  104. package/lib/ocaml/belt_Id.ml +0 -133
  105. package/lib/ocaml/belt_Id.mli +0 -171
  106. package/lib/ocaml/belt_Int.cmi +0 -0
  107. package/lib/ocaml/belt_Int.cmt +0 -0
  108. package/lib/ocaml/belt_Int.cmti +0 -0
  109. package/lib/ocaml/belt_Int.ml +0 -50
  110. package/lib/ocaml/belt_Int.mli +0 -103
  111. package/lib/ocaml/belt_List.cmi +0 -0
  112. package/lib/ocaml/belt_List.cmt +0 -0
  113. package/lib/ocaml/belt_List.cmti +0 -0
  114. package/lib/ocaml/belt_List.ml +0 -803
  115. package/lib/ocaml/belt_List.mli +0 -844
  116. package/lib/ocaml/belt_Map.cmi +0 -0
  117. package/lib/ocaml/belt_Map.cmt +0 -0
  118. package/lib/ocaml/belt_Map.cmti +0 -0
  119. package/lib/ocaml/belt_Map.ml +0 -170
  120. package/lib/ocaml/belt_Map.mli +0 -496
  121. package/lib/ocaml/belt_MapDict.cmi +0 -0
  122. package/lib/ocaml/belt_MapDict.cmt +0 -0
  123. package/lib/ocaml/belt_MapDict.cmti +0 -0
  124. package/lib/ocaml/belt_MapDict.ml +0 -278
  125. package/lib/ocaml/belt_MapDict.mli +0 -268
  126. package/lib/ocaml/belt_MapInt.cmi +0 -0
  127. package/lib/ocaml/belt_MapInt.cmt +0 -0
  128. package/lib/ocaml/belt_MapInt.cmti +0 -0
  129. package/lib/ocaml/belt_MapInt.ml +0 -169
  130. package/lib/ocaml/belt_MapInt.mli +0 -187
  131. package/lib/ocaml/belt_MapString.cmi +0 -0
  132. package/lib/ocaml/belt_MapString.cmt +0 -0
  133. package/lib/ocaml/belt_MapString.cmti +0 -0
  134. package/lib/ocaml/belt_MapString.ml +0 -169
  135. package/lib/ocaml/belt_MapString.mli +0 -187
  136. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  137. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  138. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  139. package/lib/ocaml/belt_MutableMap.ml +0 -241
  140. package/lib/ocaml/belt_MutableMap.mli +0 -145
  141. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  142. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  143. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  144. package/lib/ocaml/belt_MutableMapInt.ml +0 -172
  145. package/lib/ocaml/belt_MutableMapInt.mli +0 -135
  146. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  147. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  148. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  149. package/lib/ocaml/belt_MutableMapString.ml +0 -172
  150. package/lib/ocaml/belt_MutableMapString.mli +0 -135
  151. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  152. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  153. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  154. package/lib/ocaml/belt_MutableQueue.ml +0 -222
  155. package/lib/ocaml/belt_MutableQueue.mli +0 -116
  156. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  157. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  158. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  159. package/lib/ocaml/belt_MutableSet.ml +0 -371
  160. package/lib/ocaml/belt_MutableSet.mli +0 -617
  161. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  162. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  163. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  164. package/lib/ocaml/belt_MutableSetInt.ml +0 -342
  165. package/lib/ocaml/belt_MutableSetInt.mli +0 -124
  166. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  167. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  168. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  169. package/lib/ocaml/belt_MutableSetString.ml +0 -342
  170. package/lib/ocaml/belt_MutableSetString.mli +0 -124
  171. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  172. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  173. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  174. package/lib/ocaml/belt_MutableStack.ml +0 -106
  175. package/lib/ocaml/belt_MutableStack.mli +0 -63
  176. package/lib/ocaml/belt_Option.cmi +0 -0
  177. package/lib/ocaml/belt_Option.cmt +0 -0
  178. package/lib/ocaml/belt_Option.cmti +0 -0
  179. package/lib/ocaml/belt_Option.ml +0 -93
  180. package/lib/ocaml/belt_Option.mli +0 -270
  181. package/lib/ocaml/belt_Range.cmi +0 -0
  182. package/lib/ocaml/belt_Range.cmt +0 -0
  183. package/lib/ocaml/belt_Range.cmti +0 -0
  184. package/lib/ocaml/belt_Range.ml +0 -76
  185. package/lib/ocaml/belt_Range.mli +0 -114
  186. package/lib/ocaml/belt_Result.cmi +0 -0
  187. package/lib/ocaml/belt_Result.cmt +0 -0
  188. package/lib/ocaml/belt_Result.cmti +0 -0
  189. package/lib/ocaml/belt_Result.ml +0 -75
  190. package/lib/ocaml/belt_Result.mli +0 -205
  191. package/lib/ocaml/belt_Set.cmi +0 -0
  192. package/lib/ocaml/belt_Set.cmt +0 -0
  193. package/lib/ocaml/belt_Set.cmti +0 -0
  194. package/lib/ocaml/belt_Set.cppo.ml +0 -205
  195. package/lib/ocaml/belt_Set.cppo.mli +0 -153
  196. package/lib/ocaml/belt_Set.ml +0 -164
  197. package/lib/ocaml/belt_Set.mli +0 -523
  198. package/lib/ocaml/belt_SetDict.cmi +0 -0
  199. package/lib/ocaml/belt_SetDict.cmt +0 -0
  200. package/lib/ocaml/belt_SetDict.cmti +0 -0
  201. package/lib/ocaml/belt_SetDict.ml +0 -237
  202. package/lib/ocaml/belt_SetDict.mli +0 -567
  203. package/lib/ocaml/belt_SetInt.cmi +0 -0
  204. package/lib/ocaml/belt_SetInt.cmt +0 -0
  205. package/lib/ocaml/belt_SetInt.cmti +0 -0
  206. package/lib/ocaml/belt_SetInt.ml +0 -201
  207. package/lib/ocaml/belt_SetInt.mli +0 -151
  208. package/lib/ocaml/belt_SetString.cmi +0 -0
  209. package/lib/ocaml/belt_SetString.cmt +0 -0
  210. package/lib/ocaml/belt_SetString.cmti +0 -0
  211. package/lib/ocaml/belt_SetString.ml +0 -201
  212. package/lib/ocaml/belt_SetString.mli +0 -151
  213. package/lib/ocaml/belt_SortArray.cmi +0 -0
  214. package/lib/ocaml/belt_SortArray.cmt +0 -0
  215. package/lib/ocaml/belt_SortArray.cmti +0 -0
  216. package/lib/ocaml/belt_SortArray.ml +0 -322
  217. package/lib/ocaml/belt_SortArray.mli +0 -146
  218. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  219. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  220. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  221. package/lib/ocaml/belt_SortArrayInt.ml +0 -263
  222. package/lib/ocaml/belt_SortArrayInt.mli +0 -93
  223. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  224. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  225. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  226. package/lib/ocaml/belt_SortArrayString.ml +0 -263
  227. package/lib/ocaml/belt_SortArrayString.mli +0 -93
  228. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  229. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  230. package/lib/ocaml/belt_internalAVLset.ml +0 -665
  231. package/lib/ocaml/belt_internalAVLset.mli +0 -124
  232. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  233. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  234. package/lib/ocaml/belt_internalAVLtree.ml +0 -762
  235. package/lib/ocaml/belt_internalAVLtree.mli +0 -215
  236. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  237. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  238. package/lib/ocaml/belt_internalBuckets.ml +0 -218
  239. package/lib/ocaml/belt_internalBuckets.mli +0 -57
  240. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  241. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  242. package/lib/ocaml/belt_internalBucketsType.ml +0 -59
  243. package/lib/ocaml/belt_internalBucketsType.mli +0 -46
  244. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  245. package/lib/ocaml/belt_internalMapInt.ml +0 -227
  246. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  247. package/lib/ocaml/belt_internalMapString.ml +0 -227
  248. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  249. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  250. package/lib/ocaml/belt_internalSetBuckets.ml +0 -157
  251. package/lib/ocaml/belt_internalSetBuckets.mli +0 -47
  252. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  253. package/lib/ocaml/belt_internalSetInt.ml +0 -129
  254. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  255. package/lib/ocaml/belt_internalSetString.ml +0 -129
  256. package/lib/ocaml/belt_internals.cmti +0 -0
  257. package/lib/ocaml/belt_internals.mli +0 -79
  258. package/lib/ocaml/buffer.cmi +0 -0
  259. package/lib/ocaml/buffer.cmt +0 -0
  260. package/lib/ocaml/buffer.cmti +0 -0
  261. package/lib/ocaml/buffer.ml +0 -250
  262. package/lib/ocaml/buffer.mli +0 -149
  263. package/lib/ocaml/bytes.cmi +0 -0
  264. package/lib/ocaml/bytes.cmt +0 -0
  265. package/lib/ocaml/bytes.cmti +0 -0
  266. package/lib/ocaml/bytes.ml +0 -431
  267. package/lib/ocaml/bytes.mli +0 -430
  268. package/lib/ocaml/bytesLabels.cmi +0 -0
  269. package/lib/ocaml/bytesLabels.cmt +0 -0
  270. package/lib/ocaml/bytesLabels.cmti +0 -0
  271. package/lib/ocaml/bytesLabels.ml +0 -428
  272. package/lib/ocaml/bytesLabels.mli +0 -276
  273. package/lib/ocaml/callback.cmi +0 -0
  274. package/lib/ocaml/callback.cmt +0 -0
  275. package/lib/ocaml/callback.cmti +0 -0
  276. package/lib/ocaml/callback.ml +0 -20
  277. package/lib/ocaml/callback.mli +0 -34
  278. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  279. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  280. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  281. package/lib/ocaml/camlinternalLazy.ml +0 -89
  282. package/lib/ocaml/camlinternalLazy.mli +0 -27
  283. package/lib/ocaml/camlinternalMod.cmi +0 -0
  284. package/lib/ocaml/camlinternalMod.cmt +0 -0
  285. package/lib/ocaml/camlinternalMod.cmti +0 -0
  286. package/lib/ocaml/camlinternalMod.ml +0 -21
  287. package/lib/ocaml/camlinternalMod.mli +0 -25
  288. package/lib/ocaml/char.cmi +0 -0
  289. package/lib/ocaml/char.cmt +0 -0
  290. package/lib/ocaml/char.cmti +0 -0
  291. package/lib/ocaml/char.ml +0 -76
  292. package/lib/ocaml/char.mli +0 -72
  293. package/lib/ocaml/complex.cmi +0 -0
  294. package/lib/ocaml/complex.cmt +0 -0
  295. package/lib/ocaml/complex.cmti +0 -0
  296. package/lib/ocaml/complex.ml +0 -87
  297. package/lib/ocaml/complex.mli +0 -86
  298. package/lib/ocaml/digest.cmi +0 -0
  299. package/lib/ocaml/digest.cmt +0 -0
  300. package/lib/ocaml/digest.cmti +0 -0
  301. package/lib/ocaml/digest.ml +0 -66
  302. package/lib/ocaml/digest.mli +0 -68
  303. package/lib/ocaml/dom.cmi +0 -0
  304. package/lib/ocaml/dom.cmt +0 -0
  305. package/lib/ocaml/dom.ml +0 -296
  306. package/lib/ocaml/dom_storage.cmi +0 -0
  307. package/lib/ocaml/dom_storage.cmt +0 -0
  308. package/lib/ocaml/dom_storage.ml +0 -22
  309. package/lib/ocaml/dom_storage2.cmi +0 -0
  310. package/lib/ocaml/dom_storage2.cmt +0 -0
  311. package/lib/ocaml/dom_storage2.ml +0 -11
  312. package/lib/ocaml/filename.cmi +0 -0
  313. package/lib/ocaml/filename.cmt +0 -0
  314. package/lib/ocaml/filename.cmti +0 -0
  315. package/lib/ocaml/filename.ml +0 -233
  316. package/lib/ocaml/filename.mli +0 -134
  317. package/lib/ocaml/genlex.cmi +0 -0
  318. package/lib/ocaml/genlex.cmt +0 -0
  319. package/lib/ocaml/genlex.cmti +0 -0
  320. package/lib/ocaml/genlex.ml +0 -201
  321. package/lib/ocaml/genlex.mli +0 -73
  322. package/lib/ocaml/hashmap.cppo.ml +0 -214
  323. package/lib/ocaml/hashmap.cppo.mli +0 -54
  324. package/lib/ocaml/hashset.cppo.ml +0 -165
  325. package/lib/ocaml/hashset.cppo.mli +0 -77
  326. package/lib/ocaml/hashtbl.cmi +0 -0
  327. package/lib/ocaml/hashtbl.cmt +0 -0
  328. package/lib/ocaml/hashtbl.cmti +0 -0
  329. package/lib/ocaml/hashtbl.ml +0 -541
  330. package/lib/ocaml/hashtbl.mli +0 -411
  331. package/lib/ocaml/hashtblLabels.cmi +0 -0
  332. package/lib/ocaml/hashtblLabels.cmt +0 -0
  333. package/lib/ocaml/hashtblLabels.ml +0 -130
  334. package/lib/ocaml/int32.cmi +0 -0
  335. package/lib/ocaml/int32.cmt +0 -0
  336. package/lib/ocaml/int32.cmti +0 -0
  337. package/lib/ocaml/int32.ml +0 -64
  338. package/lib/ocaml/int32.mli +0 -186
  339. package/lib/ocaml/int64.cmi +0 -0
  340. package/lib/ocaml/int64.cmt +0 -0
  341. package/lib/ocaml/int64.cmti +0 -0
  342. package/lib/ocaml/int64.ml +0 -72
  343. package/lib/ocaml/int64.mli +0 -197
  344. package/lib/ocaml/internal_map.cppo.ml +0 -230
  345. package/lib/ocaml/internal_set.cppo.ml +0 -134
  346. package/lib/ocaml/js.cmi +0 -0
  347. package/lib/ocaml/js.cmt +0 -0
  348. package/lib/ocaml/js.ml +0 -313
  349. package/lib/ocaml/js_OO.cmi +0 -0
  350. package/lib/ocaml/js_OO.cmt +0 -0
  351. package/lib/ocaml/js_OO.ml +0 -180
  352. package/lib/ocaml/js_array.cmi +0 -0
  353. package/lib/ocaml/js_array.cmt +0 -0
  354. package/lib/ocaml/js_array.ml +0 -970
  355. package/lib/ocaml/js_array2.cmi +0 -0
  356. package/lib/ocaml/js_array2.cmt +0 -0
  357. package/lib/ocaml/js_array2.ml +0 -1065
  358. package/lib/ocaml/js_bigint.cmi +0 -0
  359. package/lib/ocaml/js_bigint.cmt +0 -0
  360. package/lib/ocaml/js_bigint.ml +0 -3
  361. package/lib/ocaml/js_cast.cmi +0 -0
  362. package/lib/ocaml/js_cast.cmt +0 -0
  363. package/lib/ocaml/js_cast.cmti +0 -0
  364. package/lib/ocaml/js_cast.ml +0 -29
  365. package/lib/ocaml/js_cast.mli +0 -45
  366. package/lib/ocaml/js_console.cmi +0 -0
  367. package/lib/ocaml/js_console.cmt +0 -0
  368. package/lib/ocaml/js_console.ml +0 -51
  369. package/lib/ocaml/js_date.cmi +0 -0
  370. package/lib/ocaml/js_date.cmt +0 -0
  371. package/lib/ocaml/js_date.ml +0 -1263
  372. package/lib/ocaml/js_dict.cmi +0 -0
  373. package/lib/ocaml/js_dict.cmt +0 -0
  374. package/lib/ocaml/js_dict.cmti +0 -0
  375. package/lib/ocaml/js_dict.ml +0 -114
  376. package/lib/ocaml/js_dict.mli +0 -152
  377. package/lib/ocaml/js_exn.cmi +0 -0
  378. package/lib/ocaml/js_exn.cmt +0 -0
  379. package/lib/ocaml/js_exn.cmti +0 -0
  380. package/lib/ocaml/js_exn.ml +0 -102
  381. package/lib/ocaml/js_exn.mli +0 -79
  382. package/lib/ocaml/js_float.cmi +0 -0
  383. package/lib/ocaml/js_float.cmt +0 -0
  384. package/lib/ocaml/js_float.ml +0 -294
  385. package/lib/ocaml/js_global.cmi +0 -0
  386. package/lib/ocaml/js_global.cmt +0 -0
  387. package/lib/ocaml/js_global.ml +0 -185
  388. package/lib/ocaml/js_int.cmi +0 -0
  389. package/lib/ocaml/js_int.cmt +0 -0
  390. package/lib/ocaml/js_int.ml +0 -158
  391. package/lib/ocaml/js_json.cmi +0 -0
  392. package/lib/ocaml/js_json.cmt +0 -0
  393. package/lib/ocaml/js_json.cmti +0 -0
  394. package/lib/ocaml/js_json.ml +0 -195
  395. package/lib/ocaml/js_json.mli +0 -244
  396. package/lib/ocaml/js_list.cmi +0 -0
  397. package/lib/ocaml/js_list.cmt +0 -0
  398. package/lib/ocaml/js_list.cmti +0 -0
  399. package/lib/ocaml/js_list.ml +0 -174
  400. package/lib/ocaml/js_list.mli +0 -72
  401. package/lib/ocaml/js_map.cmi +0 -0
  402. package/lib/ocaml/js_map.cmt +0 -0
  403. package/lib/ocaml/js_map.ml +0 -3
  404. package/lib/ocaml/js_mapperRt.cmi +0 -0
  405. package/lib/ocaml/js_mapperRt.cmt +0 -0
  406. package/lib/ocaml/js_mapperRt.cmti +0 -0
  407. package/lib/ocaml/js_mapperRt.ml +0 -50
  408. package/lib/ocaml/js_mapperRt.mli +0 -44
  409. package/lib/ocaml/js_math.cmi +0 -0
  410. package/lib/ocaml/js_math.cmt +0 -0
  411. package/lib/ocaml/js_math.ml +0 -626
  412. package/lib/ocaml/js_null.cmi +0 -0
  413. package/lib/ocaml/js_null.cmt +0 -0
  414. package/lib/ocaml/js_null.cmti +0 -0
  415. package/lib/ocaml/js_null.ml +0 -57
  416. package/lib/ocaml/js_null.mli +0 -87
  417. package/lib/ocaml/js_null_undefined.cmi +0 -0
  418. package/lib/ocaml/js_null_undefined.cmt +0 -0
  419. package/lib/ocaml/js_null_undefined.cmti +0 -0
  420. package/lib/ocaml/js_null_undefined.ml +0 -50
  421. package/lib/ocaml/js_null_undefined.mli +0 -85
  422. package/lib/ocaml/js_obj.cmi +0 -0
  423. package/lib/ocaml/js_obj.cmt +0 -0
  424. package/lib/ocaml/js_obj.ml +0 -100
  425. package/lib/ocaml/js_option.cmi +0 -0
  426. package/lib/ocaml/js_option.cmt +0 -0
  427. package/lib/ocaml/js_option.cmti +0 -0
  428. package/lib/ocaml/js_option.ml +0 -203
  429. package/lib/ocaml/js_option.mli +0 -52
  430. package/lib/ocaml/js_promise.cmi +0 -0
  431. package/lib/ocaml/js_promise.cmt +0 -0
  432. package/lib/ocaml/js_promise.ml +0 -100
  433. package/lib/ocaml/js_re.cmi +0 -0
  434. package/lib/ocaml/js_re.cmt +0 -0
  435. package/lib/ocaml/js_re.ml +0 -184
  436. package/lib/ocaml/js_result.cmi +0 -0
  437. package/lib/ocaml/js_result.cmt +0 -0
  438. package/lib/ocaml/js_result.cmti +0 -0
  439. package/lib/ocaml/js_result.ml +0 -28
  440. package/lib/ocaml/js_result.mli +0 -28
  441. package/lib/ocaml/js_set.cmi +0 -0
  442. package/lib/ocaml/js_set.cmt +0 -0
  443. package/lib/ocaml/js_set.ml +0 -3
  444. package/lib/ocaml/js_string.cmi +0 -0
  445. package/lib/ocaml/js_string.cmt +0 -0
  446. package/lib/ocaml/js_string.ml +0 -914
  447. package/lib/ocaml/js_string2.cmi +0 -0
  448. package/lib/ocaml/js_string2.cmt +0 -0
  449. package/lib/ocaml/js_string2.ml +0 -912
  450. package/lib/ocaml/js_typed_array.cmi +0 -0
  451. package/lib/ocaml/js_typed_array.cmt +0 -0
  452. package/lib/ocaml/js_typed_array.cppo.ml +0 -429
  453. package/lib/ocaml/js_typed_array.ml +0 -1405
  454. package/lib/ocaml/js_typed_array2.cmi +0 -0
  455. package/lib/ocaml/js_typed_array2.cmt +0 -0
  456. package/lib/ocaml/js_typed_array2.cppo.ml +0 -296
  457. package/lib/ocaml/js_typed_array2.ml +0 -1269
  458. package/lib/ocaml/js_types.cmi +0 -0
  459. package/lib/ocaml/js_types.cmt +0 -0
  460. package/lib/ocaml/js_types.cmti +0 -0
  461. package/lib/ocaml/js_types.ml +0 -118
  462. package/lib/ocaml/js_types.mli +0 -78
  463. package/lib/ocaml/js_undefined.cmi +0 -0
  464. package/lib/ocaml/js_undefined.cmt +0 -0
  465. package/lib/ocaml/js_undefined.cmti +0 -0
  466. package/lib/ocaml/js_undefined.ml +0 -59
  467. package/lib/ocaml/js_undefined.mli +0 -92
  468. package/lib/ocaml/js_vector.cmi +0 -0
  469. package/lib/ocaml/js_vector.cmt +0 -0
  470. package/lib/ocaml/js_vector.cmti +0 -0
  471. package/lib/ocaml/js_vector.ml +0 -143
  472. package/lib/ocaml/js_vector.mli +0 -92
  473. package/lib/ocaml/js_weakmap.cmi +0 -0
  474. package/lib/ocaml/js_weakmap.cmt +0 -0
  475. package/lib/ocaml/js_weakmap.ml +0 -3
  476. package/lib/ocaml/js_weakset.cmi +0 -0
  477. package/lib/ocaml/js_weakset.cmt +0 -0
  478. package/lib/ocaml/js_weakset.ml +0 -3
  479. package/lib/ocaml/jsx.cmi +0 -0
  480. package/lib/ocaml/jsx.cmt +0 -0
  481. package/lib/ocaml/jsx.ml +0 -39
  482. package/lib/ocaml/jsxDOM.cmi +0 -0
  483. package/lib/ocaml/jsxDOM.cmt +0 -0
  484. package/lib/ocaml/jsxDOM.ml +0 -2087
  485. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  486. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  487. package/lib/ocaml/jsxDOMStyle.ml +0 -777
  488. package/lib/ocaml/jsxEvent.cmi +0 -0
  489. package/lib/ocaml/jsxEvent.cmt +0 -0
  490. package/lib/ocaml/jsxEvent.ml +0 -358
  491. package/lib/ocaml/lazy.cmi +0 -0
  492. package/lib/ocaml/lazy.cmt +0 -0
  493. package/lib/ocaml/lazy.cmti +0 -0
  494. package/lib/ocaml/lazy.ml +0 -70
  495. package/lib/ocaml/lazy.mli +0 -95
  496. package/lib/ocaml/lexing.cmi +0 -0
  497. package/lib/ocaml/lexing.cmt +0 -0
  498. package/lib/ocaml/lexing.cmti +0 -0
  499. package/lib/ocaml/lexing.ml +0 -230
  500. package/lib/ocaml/lexing.mli +0 -172
  501. package/lib/ocaml/list.cmi +0 -0
  502. package/lib/ocaml/list.cmt +0 -0
  503. package/lib/ocaml/list.cmti +0 -0
  504. package/lib/ocaml/list.ml +0 -485
  505. package/lib/ocaml/list.mli +0 -347
  506. package/lib/ocaml/listLabels.cmi +0 -0
  507. package/lib/ocaml/listLabels.cmt +0 -0
  508. package/lib/ocaml/listLabels.cmti +0 -0
  509. package/lib/ocaml/listLabels.ml +0 -485
  510. package/lib/ocaml/listLabels.mli +0 -353
  511. package/lib/ocaml/map.cmi +0 -0
  512. package/lib/ocaml/map.cmt +0 -0
  513. package/lib/ocaml/map.cmti +0 -0
  514. package/lib/ocaml/map.cppo.ml +0 -174
  515. package/lib/ocaml/map.cppo.mli +0 -191
  516. package/lib/ocaml/map.ml +0 -480
  517. package/lib/ocaml/map.mli +0 -315
  518. package/lib/ocaml/mapLabels.cmi +0 -0
  519. package/lib/ocaml/mapLabels.cmt +0 -0
  520. package/lib/ocaml/mapLabels.ml +0 -480
  521. package/lib/ocaml/mapm.cppo.ml +0 -177
  522. package/lib/ocaml/mapm.cppo.mli +0 -138
  523. package/lib/ocaml/moreLabels.cmi +0 -0
  524. package/lib/ocaml/moreLabels.cmt +0 -0
  525. package/lib/ocaml/moreLabels.cmti +0 -0
  526. package/lib/ocaml/moreLabels.ml +0 -22
  527. package/lib/ocaml/moreLabels.mli +0 -198
  528. package/lib/ocaml/node.cmi +0 -0
  529. package/lib/ocaml/node.cmt +0 -0
  530. package/lib/ocaml/node.ml +0 -84
  531. package/lib/ocaml/node_buffer.cmi +0 -0
  532. package/lib/ocaml/node_buffer.cmt +0 -0
  533. package/lib/ocaml/node_buffer.ml +0 -47
  534. package/lib/ocaml/node_child_process.cmi +0 -0
  535. package/lib/ocaml/node_child_process.cmt +0 -0
  536. package/lib/ocaml/node_child_process.ml +0 -50
  537. package/lib/ocaml/node_fs.cmi +0 -0
  538. package/lib/ocaml/node_fs.cmt +0 -0
  539. package/lib/ocaml/node_fs.ml +0 -153
  540. package/lib/ocaml/node_module.cmi +0 -0
  541. package/lib/ocaml/node_module.cmt +0 -0
  542. package/lib/ocaml/node_module.ml +0 -29
  543. package/lib/ocaml/node_path.cmi +0 -0
  544. package/lib/ocaml/node_path.cmt +0 -0
  545. package/lib/ocaml/node_path.ml +0 -71
  546. package/lib/ocaml/node_process.cmi +0 -0
  547. package/lib/ocaml/node_process.cmt +0 -0
  548. package/lib/ocaml/node_process.cmti +0 -0
  549. package/lib/ocaml/node_process.ml +0 -59
  550. package/lib/ocaml/node_process.mli +0 -48
  551. package/lib/ocaml/obj.cmi +0 -0
  552. package/lib/ocaml/obj.cmt +0 -0
  553. package/lib/ocaml/obj.cmti +0 -0
  554. package/lib/ocaml/obj.ml +0 -29
  555. package/lib/ocaml/obj.mli +0 -62
  556. package/lib/ocaml/parsing.cmi +0 -0
  557. package/lib/ocaml/parsing.cmt +0 -0
  558. package/lib/ocaml/parsing.cmti +0 -0
  559. package/lib/ocaml/parsing.ml +0 -212
  560. package/lib/ocaml/parsing.mli +0 -105
  561. package/lib/ocaml/pervasives.cmi +0 -0
  562. package/lib/ocaml/pervasives.cmt +0 -0
  563. package/lib/ocaml/pervasives.cmti +0 -0
  564. package/lib/ocaml/pervasives.ml +0 -297
  565. package/lib/ocaml/pervasives.mli +0 -771
  566. package/lib/ocaml/printexc.cmi +0 -0
  567. package/lib/ocaml/printexc.cmt +0 -0
  568. package/lib/ocaml/printexc.cmti +0 -0
  569. package/lib/ocaml/printexc.ml +0 -79
  570. package/lib/ocaml/printexc.mli +0 -57
  571. package/lib/ocaml/queue.cmi +0 -0
  572. package/lib/ocaml/queue.cmt +0 -0
  573. package/lib/ocaml/queue.cmti +0 -0
  574. package/lib/ocaml/queue.ml +0 -132
  575. package/lib/ocaml/queue.mli +0 -82
  576. package/lib/ocaml/random.cmi +0 -0
  577. package/lib/ocaml/random.cmt +0 -0
  578. package/lib/ocaml/random.cmti +0 -0
  579. package/lib/ocaml/random.ml +0 -273
  580. package/lib/ocaml/random.mli +0 -102
  581. package/lib/ocaml/set.cmi +0 -0
  582. package/lib/ocaml/set.cmt +0 -0
  583. package/lib/ocaml/set.cmti +0 -0
  584. package/lib/ocaml/set.ml +0 -526
  585. package/lib/ocaml/set.mli +0 -266
  586. package/lib/ocaml/setLabels.cmi +0 -0
  587. package/lib/ocaml/setLabels.cmt +0 -0
  588. package/lib/ocaml/setLabels.ml +0 -526
  589. package/lib/ocaml/setm.cppo.ml +0 -346
  590. package/lib/ocaml/setm.cppo.mli +0 -126
  591. package/lib/ocaml/sort.cmi +0 -0
  592. package/lib/ocaml/sort.cmt +0 -0
  593. package/lib/ocaml/sort.cmti +0 -0
  594. package/lib/ocaml/sort.cppo.ml +0 -267
  595. package/lib/ocaml/sort.cppo.mli +0 -96
  596. package/lib/ocaml/sort.ml +0 -99
  597. package/lib/ocaml/sort.mli +0 -44
  598. package/lib/ocaml/stack.cmi +0 -0
  599. package/lib/ocaml/stack.cmt +0 -0
  600. package/lib/ocaml/stack.cmti +0 -0
  601. package/lib/ocaml/stack.ml +0 -44
  602. package/lib/ocaml/stack.mli +0 -63
  603. package/lib/ocaml/stdLabels.cmi +0 -0
  604. package/lib/ocaml/stdLabels.cmt +0 -0
  605. package/lib/ocaml/stdLabels.cmti +0 -0
  606. package/lib/ocaml/stdLabels.ml +0 -24
  607. package/lib/ocaml/stdLabels.mli +0 -29
  608. package/lib/ocaml/stream.cmi +0 -0
  609. package/lib/ocaml/stream.cmt +0 -0
  610. package/lib/ocaml/stream.cmti +0 -0
  611. package/lib/ocaml/stream.ml +0 -213
  612. package/lib/ocaml/stream.mli +0 -108
  613. package/lib/ocaml/string.cmi +0 -0
  614. package/lib/ocaml/string.cmt +0 -0
  615. package/lib/ocaml/string.cmti +0 -0
  616. package/lib/ocaml/string.ml +0 -190
  617. package/lib/ocaml/string.mli +0 -286
  618. package/lib/ocaml/stringLabels.cmi +0 -0
  619. package/lib/ocaml/stringLabels.cmt +0 -0
  620. package/lib/ocaml/stringLabels.cmti +0 -0
  621. package/lib/ocaml/stringLabels.ml +0 -190
  622. package/lib/ocaml/stringLabels.mli +0 -241
  623. package/lib/ocaml/sys.cmi +0 -0
  624. package/lib/ocaml/sys.cmt +0 -0
  625. package/lib/ocaml/sys.cmti +0 -0
  626. package/lib/ocaml/sys.ml +0 -135
  627. package/lib/ocaml/sys.mli +0 -333
  628. package/lib/ocaml/uchar.cmi +0 -0
  629. package/lib/ocaml/uchar.cmt +0 -0
  630. package/lib/ocaml/uchar.cmti +0 -0
  631. package/lib/ocaml/uchar.ml +0 -58
  632. package/lib/ocaml/uchar.mli +0 -98
  633. package/linux/bsb_helper.exe +0 -0
  634. package/linux/bsc.exe +0 -0
  635. package/linux/ninja.COPYING +0 -202
  636. package/linux/ninja.exe +0 -0
  637. package/linux/rescript.exe +0 -0
  638. package/openbsd/.keep +0 -0
  639. package/scripts/LICENSE.ml +0 -27
  640. package/scripts/buckle_lto.js +0 -55
  641. package/scripts/build_sorted.ml +0 -233
  642. package/scripts/caml_oo_curry_gen.ml +0 -71
  643. package/scripts/checkUnused.js +0 -63
  644. package/scripts/ciTest.js +0 -172
  645. package/scripts/cover.sh +0 -3
  646. package/scripts/curry_gen.ml +0 -167
  647. package/scripts/dbg +0 -13
  648. package/scripts/dedupe.js +0 -44
  649. package/scripts/doc_gen.js +0 -117
  650. package/scripts/js_internal_gen.js +0 -135
  651. package/scripts/jsconfig.json +0 -12
  652. package/scripts/littlecase.js +0 -21
  653. package/scripts/ninja.js +0 -1980
  654. package/scripts/pack.js +0 -107
  655. package/scripts/prebuilt.js +0 -99
  656. package/scripts/release.js +0 -41
  657. package/scripts/repl.js +0 -151
  658. package/scripts/shake.js +0 -138
  659. package/scripts/tasks.js +0 -149
  660. package/scripts/test.sh +0 -3
  661. package/scripts/tmp.js +0 -98
  662. package/scripts/validate.js +0 -41
  663. package/vendor/ninja.tar.gz +0 -0
  664. package/win32/bsb_helper.exe +0 -0
  665. package/win32/bsc.exe +0 -0
  666. package/win32/ninja.COPYING +0 -202
  667. package/win32/ninja.exe +0 -0
  668. package/win32/rescript.exe +0 -0
Binary file
Binary file
Binary file
@@ -1,170 +0,0 @@
1
- (***********************************************************************)
2
- (* *)
3
- (* OCaml *)
4
- (* *)
5
- (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
6
- (* *)
7
- (* Copyright 1996 Institut National de Recherche en Informatique et *)
8
- (* en Automatique. 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
- (* Adapted by authors of ReScript without using functors *)
13
- (***********************************************************************)
14
-
15
- (** specalized when key type is `int`, more efficient
16
- than the generic type
17
- *)
18
- module Int = Belt_MapInt
19
-
20
-
21
- (** specalized when key type is `string`, more efficient
22
- than the generic type *)
23
- module String = Belt_MapString
24
-
25
- (** seprate function from data, a more verboe but slightly
26
- more efficient
27
- *)
28
- module Dict = Belt_MapDict
29
-
30
-
31
-
32
- type ('key, 'id ) id = ('key, 'id) Belt_Id.comparable
33
- type ('key, 'id ) cmp = ('key, 'id) Belt_Id.cmp
34
-
35
- type ('k,'v,'id) t = {
36
- cmp: ('k,'id) cmp;
37
- data: ('k,'v, 'id) Dict.t
38
- }
39
-
40
-
41
-
42
-
43
-
44
- let fromArray (type k idx) data ~(id : (k,idx) id) =
45
- let module M = (val id) in
46
- let cmp = M.cmp in
47
- {cmp; data = (Dict.fromArray ~cmp data)}
48
-
49
- let remove m x =
50
- let {cmp; data=odata} = m in
51
- let newData = Dict.remove odata x ~cmp in
52
- if newData == odata then m
53
- else {cmp; data = newData}
54
-
55
- let removeMany m x =
56
- let {cmp; data=odata} = m in
57
- let newData = Dict.removeMany odata x ~cmp in
58
- {cmp; data = newData}
59
-
60
- let set m key d =
61
- let cmp = m.cmp in
62
- {cmp; data = Dict.set ~cmp m.data key d}
63
-
64
- let mergeMany m e =
65
- let cmp = m.cmp in
66
- {cmp; data = Dict.mergeMany ~cmp m.data e}
67
-
68
- let updateU m key f =
69
- let cmp = m.cmp in
70
- {cmp; data = Dict.updateU ~cmp m.data key f }
71
- let update m key f = updateU m key (fun [@bs] a -> f a )
72
- let split m x =
73
- let cmp = m.cmp in
74
- let (l,r),b = Dict.split ~cmp m.data x in
75
- ({cmp; data=l}, {cmp; data=r}), b
76
-
77
- let mergeU s1 s2 f =
78
- let cmp = s1.cmp in
79
- {cmp; data=(Dict.mergeU ~cmp (s1.data) (s2.data) f)}
80
-
81
- let merge s1 s2 f =
82
- mergeU s1 s2 (fun [@bs] a b c -> f a b c)
83
-
84
- let make (type key idx) ~(id: (key, idx) id) =
85
- let module M = (val id) in
86
- {cmp = M.cmp; data = Dict.empty}
87
-
88
- let isEmpty map =
89
- Dict.isEmpty map.data
90
-
91
- let findFirstByU m f = Dict.findFirstByU m.data f
92
- let findFirstBy m f = findFirstByU m (fun [@bs] a b -> f a b)
93
- let forEachU m f = Dict.forEachU m.data f
94
- let forEach m f = forEachU m (fun [@bs] a b -> f a b)
95
- let reduceU m acc f = Dict.reduceU m.data acc f
96
- let reduce m acc f = reduceU m acc (fun[@bs] a b c -> f a b c )
97
- let everyU m f = Dict.everyU m.data f
98
- let every m f = everyU m (fun [@bs] a b -> f a b)
99
- let someU m f = Dict.someU m.data f
100
- let some m f = someU m (fun[@bs] a b -> f a b)
101
- let keepU m f =
102
- {cmp = m.cmp; data = (Dict.keepU m.data f)}
103
- let keep m f = keepU m (fun [@bs] a b -> f a b)
104
-
105
- let partitionU m p =
106
- let cmp = m.cmp in
107
- let l,r = m . data |. Dict.partitionU p in
108
- {cmp; data=l}, {cmp; data=r}
109
- let partition m p = partitionU m (fun [@bs] a b -> p a b)
110
-
111
- let mapU m f =
112
- {cmp = m.cmp; data = Dict.mapU m.data f}
113
- let map m f = mapU m (fun [@bs] a -> f a)
114
- let mapWithKeyU m f =
115
- {cmp = m.cmp; data = Dict.mapWithKeyU m.data f}
116
- let mapWithKey m f = mapWithKeyU m (fun [@bs] a b -> f a b)
117
- let size map = Dict.size map.data
118
- let toList map = Dict.toList map.data
119
- let toArray m = Dict.toArray m.data
120
- let keysToArray m = Dict.keysToArray m.data
121
- let valuesToArray m = Dict.valuesToArray m.data
122
- let minKey m = Dict.minKey m.data
123
- let minKeyUndefined m = Dict.minKeyUndefined m.data
124
- let maxKey m = Dict.maxKey m.data
125
- let maxKeyUndefined m = Dict.maxKeyUndefined m.data
126
- let minimum m = Dict.minimum m.data
127
- let minUndefined m = Dict.minUndefined m.data
128
- let maximum m = Dict.maximum m.data
129
- let maxUndefined m = Dict.maxUndefined m.data
130
-
131
- let get map x =
132
- Dict.get ~cmp:map.cmp map.data x
133
-
134
- let getUndefined map x =
135
- Dict.getUndefined ~cmp:map.cmp map.data x
136
-
137
- let getWithDefault map x def =
138
- Dict.getWithDefault ~cmp:map.cmp map.data x def
139
-
140
- let getExn map x =
141
- Dict.getExn ~cmp:map.cmp map.data x
142
-
143
- let has map x =
144
- Dict.has ~cmp:map.cmp map.data x
145
-
146
- let checkInvariantInternal m =
147
- Dict.checkInvariantInternal m.data
148
-
149
- let eqU m1 m2 veq =
150
- Dict.eqU ~kcmp:m1.cmp ~veq m1.data m2.data
151
- let eq m1 m2 veq = eqU m1 m2 (fun[@bs] a b -> veq a b)
152
-
153
- let cmpU m1 m2 vcmp =
154
- Dict.cmpU ~kcmp:m1.cmp ~vcmp m1.data m2.data
155
- let cmp m1 m2 vcmp = cmpU m1 m2 (fun [@bs] a b -> vcmp a b)
156
-
157
- let getData m = m.data
158
-
159
- let getId (type key identity) (m : (key,_,identity) t) : (key, identity) id =
160
- let module T = struct
161
- type nonrec identity = identity
162
- type nonrec t = key
163
- let cmp = m.cmp
164
- end in
165
- (module T )
166
-
167
- let packIdData (type key idx) ~(id : (key, idx) id) ~data =
168
- let module M = (val id) in
169
- {cmp = M.cmp ; data}
170
-
@@ -1,496 +0,0 @@
1
- (***********************************************************************)
2
- (* *)
3
- (* OCaml *)
4
- (* *)
5
- (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
6
- (* *)
7
- (* Copyright 1996 Institut National de Recherche en Informatique et *)
8
- (* en Automatique. 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
- (* Adapted by authors of ReScript without using functors *)
13
- (***********************************************************************)
14
-
15
- (** The top level provides generic immutable map operations.
16
-
17
- It also has three specialized inner modules `Belt.Map.Int`,
18
- `Belt.Map.String` and `Belt.Map.Dict`. *)
19
-
20
- (* ```res prelude
21
- type t<'key, 'value, 'identity>
22
- type id<'key, 'id> = Belt_Id.comparable<'key, 'id>
23
- ```
24
- *)
25
-
26
- module Int = Belt_MapInt
27
-
28
- module String = Belt_MapString
29
-
30
- module Dict = Belt_MapDict
31
-
32
-
33
- type ('key, 'value, 'identity) t
34
- (** `'key` is the field type
35
-
36
- `'value` is the element type
37
-
38
- `'identity` the identity of the collection
39
- *)
40
-
41
-
42
- type ('key, 'id) id = ('key, 'id) Belt_Id.comparable
43
- (** The identity needed for making an empty map. *)
44
-
45
- val make: id:('k, 'id) id -> ('k, 'v, 'id) t
46
- (** `make(~id)` creates a new map by taking in the comparator.
47
-
48
- ```res example
49
- module IntCmp = Belt.Id.MakeComparable({
50
- type t = int
51
- let cmp = (a, b) => Pervasives.compare(a, b)
52
- })
53
-
54
- let m = Belt.Map.make(~id=module(IntCmp))
55
-
56
- Belt.Map.set(m, 0, "a")
57
- ```
58
- *)
59
-
60
-
61
- val isEmpty: _ t -> bool
62
- (** `isEmpty(m)` checks whether a map m is empty.
63
-
64
- ```res example
65
- module IntCmp = Belt.Id.MakeComparable({
66
- type t = int
67
- let cmp = (a, b) => Pervasives.compare(a, b)
68
- })
69
-
70
- Belt.Map.isEmpty(Belt.Map.fromArray([(1, "1")], ~id=module(IntCmp))) == false
71
- ```
72
- *)
73
-
74
- val has: ('k, 'v, 'id) t -> 'k -> bool
75
- (** `has(m, k)` checks whether `m` has the key `k`.
76
-
77
- ```res example
78
- module IntCmp = Belt.Id.MakeComparable({
79
- type t = int
80
- let cmp = (a, b) => Pervasives.compare(a, b)
81
- })
82
-
83
- Belt.Map.has(Belt.Map.fromArray([(1, "1")], ~id=module(IntCmp)), 1) == true
84
- ```
85
- *)
86
-
87
- val cmpU:
88
- ('k, 'v, 'id) t ->
89
- ('k, 'v, 'id) t ->
90
- ('v -> 'v -> int [@bs]) ->
91
- int
92
- val cmp:
93
- ('k, 'v, 'id) t ->
94
- ('k, 'v, 'id) t ->
95
- ('v -> 'v -> int ) ->
96
- int
97
- (** `cmp(m0, m1, vcmp);`
98
-
99
- Total ordering of map given total ordering of value function.
100
-
101
- It will compare size first and each element following the order one by one.
102
- *)
103
-
104
- val eqU:
105
- ('k, 'v, 'id) t ->
106
- ('k, 'v, 'id) t ->
107
- ('v -> 'v -> bool [@bs]) ->
108
- bool
109
- val eq:
110
- ('k, 'v, 'id) t ->
111
- ('k, 'v, 'id) t ->
112
- ('v -> 'v -> bool) ->
113
- bool
114
- (** `eq(m1, m2, veq)` tests whether the maps `m1` and `m2` are equal, that is,
115
- contain equal keys and associate them with equal data. `veq` is the
116
- equality predicate used to compare the data associated with the keys. *)
117
-
118
- val findFirstByU : ('k, 'v, 'id) t -> ('k -> 'v -> bool [@bs]) -> ('k * 'v) option
119
- val findFirstBy : ('k, 'v, 'id) t -> ('k -> 'v -> bool ) -> ('k * 'v) option
120
- (** `findFirstBy(m, p)` uses function `f` to find the first key value pair to
121
- match predicate `p`.
122
-
123
- ```res example
124
- module IntCmp = Belt.Id.MakeComparable({
125
- type t = int
126
- let cmp = (a, b) => Pervasives.compare(a, b)
127
- })
128
-
129
- let s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, "4"), (1, "1"), (2, "2"), (3, "")])
130
-
131
- Belt.Map.findFirstBy(s0, (k, v) => k == 4) /* (4, "4") */
132
- ```
133
- *)
134
-
135
- val forEachU: ('k, 'v, 'id) t -> ('k -> 'v -> unit [@bs]) -> unit
136
- val forEach: ('k, 'v, 'id) t -> ('k -> 'v -> unit) -> unit
137
- (** `forEach(m, f)` applies `f` to all bindings in map `m`. `f` receives the
138
- `'k` as first argument, and the associated value as second argument. The
139
- bindings are passed to `f` in increasing order with respect to the ordering
140
- over the type of the keys.
141
-
142
- ```res example
143
- module IntCmp = Belt.Id.MakeComparable({
144
- type t = int
145
- let cmp = (a, b) => Pervasives.compare(a, b)
146
- })
147
-
148
- let s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, "4"), (1, "1"), (2, "2"), (3, "")])
149
-
150
- let acc = ref(list{})
151
-
152
- Belt.Map.forEach(s0, (k, v) => acc := list{(k, v), ...acc.contents})
153
-
154
- acc.contents == list{(4, "4"), (3, "3"), (2, "2"), (1, "1")}
155
- ```
156
- *)
157
-
158
- val reduceU: ('k, 'v, 'id) t -> 'acc -> ('acc -> 'k -> 'v -> 'acc [@bs]) -> 'acc
159
- val reduce: ('k, 'v, 'id) t -> 'acc -> ('acc -> 'k -> 'v -> 'acc) -> 'acc
160
- (** `reduce(m, a, f)` computes `(f(kN, dN) ... (f(k1, d1, a))...)`, where `k1
161
- ... kN` are the keys of all bindings in m (in increasing order), and `d1
162
- ... dN` are the associated data.
163
-
164
- ```res example
165
- module IntCmp = Belt.Id.MakeComparable({
166
- type t = int
167
- let cmp = (a, b) => Pervasives.compare(a, b)
168
- })
169
-
170
- let s0 = Belt.Map.fromArray(~id=module(IntCmp), [(4, "4"), (1, "1"), (2, "2"), (3, "3")])
171
-
172
- Belt.Map.reduce(s0, list{}, (acc, k, v) => list{
173
- (k, v),
174
- ...acc,
175
- }) /* [(4, "4"), (3, "3"), (2, "2"), (1, "1"), 0] */
176
- ```
177
- *)
178
-
179
- val everyU: ('k, 'v, 'id) t -> ('k -> 'v -> bool [@bs]) -> bool
180
- val every: ('k, 'v, 'id) t -> ('k -> 'v -> bool) -> bool
181
- (** `every(m, p)` checks if all the bindings of the map satisfy the predicate
182
- `p`. Order unspecified *)
183
-
184
- val someU: ('k, 'v, 'id) t -> ('k -> 'v -> bool [@bs]) -> bool
185
- val some: ('k, 'v, 'id) t -> ('k -> 'v -> bool) -> bool
186
- (** `some(m, p)` checks if at least one binding of the map satisfy the
187
- predicate `p`. Order unspecified *)
188
-
189
- val size: ('k, 'v, 'id) t -> int
190
- (** `size(s)`
191
-
192
- ```res example
193
- module IntCmp = Belt.Id.MakeComparable({
194
- type t = int
195
- let cmp = (a, b) => Pervasives.compare(a, b)
196
- })
197
-
198
- Belt.Map.size(Belt.Map.fromArray([(2, "2"), (2, "1"), (3, "3")], ~id=module(IntCmp))) == 2
199
- ```
200
- *)
201
-
202
- val toArray: ('k, 'v, 'id) t -> ('k * 'v) array
203
- (** `toArray(s)`
204
-
205
- ```res example
206
- module IntCmp = Belt.Id.MakeComparable({
207
- type t = int
208
- let cmp = (a, b) => Pervasives.compare(a, b)
209
- })
210
-
211
- Belt.Map.toArray(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp))) == [
212
- (1, "1"),
213
- (2, "2"),
214
- (3, "3"),
215
- ]
216
- ```
217
- *)
218
-
219
- val toList: ('k, 'v, 'id) t -> ('k * 'v) list
220
- (** In increasing order.
221
-
222
- See `Belt.Map.toArray`
223
- *)
224
-
225
-
226
- val fromArray: ('k * 'v) array -> id:('k,'id) id -> ('k,'v,'id) t
227
- (** `fromArray(kvs, ~id);`
228
-
229
- ```res example
230
- module IntCmp = Belt.Id.MakeComparable({
231
- type t = int
232
- let cmp = (a, b) => Pervasives.compare(a, b)
233
- })
234
-
235
- Belt.Map.toArray(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp))) == [
236
- (1, "1"),
237
- (2, "2"),
238
- (3, "3"),
239
- ]
240
- ```
241
- *)
242
-
243
- val keysToArray: ('k, 'v, 'id) t -> 'k array
244
- (** `keysToArray(s);`
245
-
246
- ```res example
247
- module IntCmp = Belt.Id.MakeComparable({
248
- type t = int
249
- let cmp = (a, b) => Pervasives.compare(a, b)
250
- })
251
-
252
- Belt.Map.keysToArray(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp))) == [
253
- 1,
254
- 2,
255
- 3,
256
- ]
257
- ```
258
- *)
259
-
260
- val valuesToArray: ('k, 'v, 'id) t -> 'v array
261
- (** `valuesToArray(s);`
262
-
263
- ```res example
264
- module IntCmp = Belt.Id.MakeComparable({
265
- type t = int
266
- let cmp = (a, b) => Pervasives.compare(a, b)
267
- })
268
-
269
- Belt.Map.valuesToArray(
270
- Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp)),
271
- ) == ["1", "2", "3"]
272
- ```
273
- *)
274
-
275
- val minKey: ('k, _, _) t -> 'k option
276
- (** `minKey(s)` returns the minimum key, None if not exist. *)
277
-
278
- val minKeyUndefined: ('k, _, _) t -> 'k Js.undefined
279
- (** See `Belt.Map.minKey` *)
280
-
281
- val maxKey: ('k, _, _) t -> 'k option
282
- (** `maxKey(s)` returns the maximum key, None if not exist. *)
283
-
284
- val maxKeyUndefined: ('k, _, _) t -> 'k Js.undefined
285
- (** See `Belt.Map.maxKey` *)
286
-
287
- val minimum: ('k, 'v, _) t -> ('k * 'v) option
288
- (** `minimum(s)` returns the minimum key value pair, None if not exist. *)
289
-
290
- val minUndefined: ('k, 'v, _) t -> ('k * 'v) Js.undefined
291
- (** See `Belt.Map.minimum` *)
292
-
293
- val maximum: ('k, 'v, _) t -> ('k * 'v) option
294
- (** `maximum(s)` returns the maximum key value pair, None if not exist. *)
295
-
296
- val maxUndefined:('k, 'v, _) t -> ('k * 'v) Js.undefined
297
- (** See `Belt.Map.maximum` *)
298
-
299
- val get: ('k, 'v, 'id) t -> 'k -> 'v option
300
- (** `get(s, k)`
301
-
302
- ```res example
303
- module IntCmp = Belt.Id.MakeComparable({
304
- type t = int
305
- let cmp = (a, b) => Pervasives.compare(a, b)
306
- })
307
-
308
- Belt.Map.get(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp)), 2) ==
309
- Some("2")
310
-
311
- Belt.Map.get(Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp)), 2) == None
312
- ```
313
- *)
314
-
315
- val getUndefined: ('k, 'v, 'id) t -> 'k -> 'v Js.undefined
316
- (** See `Belt.Map.get`
317
-
318
- Returns `undefined` when not found
319
- *)
320
-
321
- val getWithDefault:
322
- ('k, 'v, 'id) t -> 'k -> 'v -> 'v
323
- (** `getWithDefault(s, k, default)`
324
-
325
- See `Belt.Map.get`
326
-
327
- Returns default when `k` is not found.
328
- *)
329
-
330
- val getExn: ('k, 'v, 'id) t -> 'k -> 'v
331
- (** `getExn(s, k)`
332
-
333
- See `Belt.Map.getExn`
334
-
335
- raise when `k` not exist
336
- *)
337
-
338
- (****************************************************************************)
339
-
340
- val remove: ('k, 'v, 'id) t -> 'k -> ('k, 'v, 'id) t
341
- (** `remove(m, x)` when `x` is not in `m`, `m` is returned reference unchanged.
342
-
343
- ```res example
344
- module IntCmp = Belt.Id.MakeComparable({
345
- type t = int
346
- let cmp = (a, b) => Pervasives.compare(a, b)
347
- })
348
-
349
- let s0 = Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp))
350
-
351
- let s1 = Belt.Map.remove(s0, 1)
352
-
353
- let s2 = Belt.Map.remove(s1, 1)
354
-
355
- s1 === s2
356
-
357
- Belt.Map.keysToArray(s1) == [2, 3]
358
- ```
359
- *)
360
-
361
- val removeMany: ('k, 'v, 'id) t -> 'k array -> ('k, 'v, 'id) t
362
- (** `removeMany(s, xs)`
363
-
364
- Removing each of `xs` to `s`, note unlike `Belt.Map.remove`, the reference
365
- of return value might be changed even if none in `xs` exists `s`.
366
- *)
367
-
368
- val set:
369
- ('k, 'v, 'id) t -> 'k -> 'v -> ('k, 'v, 'id) t
370
- (** `set(m, x, y)` returns a map containing the same bindings as `m`, with a
371
- new binding of `x` to `y`. If `x` was already bound in `m`, its previous
372
- binding disappears.
373
-
374
- ```res example
375
- module IntCmp = Belt.Id.MakeComparable({
376
- type t = int
377
- let cmp = (a, b) => Pervasives.compare(a, b)
378
- })
379
-
380
- let s0 = Belt.Map.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntCmp))
381
-
382
- let s1 = Belt.Map.set(s0, 2, "3")
383
-
384
- Belt.Map.valuesToArray(s1) == ["1", "3", "3"]
385
- ```
386
- *)
387
-
388
- val updateU: ('k, 'v, 'id) t -> 'k -> ('v option -> 'v option [@bs]) -> ('k, 'v, 'id) t
389
- val update: ('k, 'v, 'id) t -> 'k -> ('v option -> 'v option) -> ('k, 'v, 'id) t
390
- (** `update(m, x, f)` returns a map containing the same bindings as `m`, except
391
- for the binding of `x`. Depending on the value of `y` where `y` is
392
- `f(get(m, x))`, the binding of `x` is added, removed or updated. If `y` is
393
- `None`, the binding is removed if it exists; otherwise, if `y` is `Some(z)`
394
- then `x` is associated to `z` in the resulting map. *)
395
-
396
- val mergeMany:
397
- ('k, 'v, 'id) t -> ('k * 'v) array -> ('k, 'v, 'id) t
398
- (** `mergeMany(s, xs)`
399
-
400
- Adding each of `xs` to `s`, note unlike `add`, the reference of return
401
- value might be changed even if all values in `xs` exist `s`.
402
- *)
403
-
404
- val mergeU:
405
- ('k, 'v, 'id ) t ->
406
- ('k, 'v2, 'id) t ->
407
- ('k -> 'v option -> 'v2 option -> 'v3 option [@bs]) ->
408
- ('k, 'v3, 'id) t
409
- val merge:
410
- ('k, 'v, 'id ) t ->
411
- ('k, 'v2, 'id) t ->
412
- ('k -> 'v option -> 'v2 option -> 'v3 option) ->
413
- ('k, 'v3, 'id) t
414
- (** `merge(m1, m2, f)` computes a map whose keys is a subset of keys of `m1`
415
- and of `m2`. The presence of each such binding, and the corresponding
416
- value, is determined with the function `f`. *)
417
-
418
-
419
- val keepU:
420
- ('k, 'v, 'id) t ->
421
- ('k -> 'v -> bool [@bs]) ->
422
- ('k, 'v, 'id) t
423
- val keep:
424
- ('k, 'v, 'id) t ->
425
- ('k -> 'v -> bool) ->
426
- ('k, 'v, 'id) t
427
- (** `keep(m, p)` returns the map with all the bindings in m that satisfy
428
- predicate `p`. *)
429
-
430
- val partitionU:
431
- ('k, 'v, 'id) t ->
432
- ('k -> 'v -> bool [@bs]) ->
433
- ('k, 'v, 'id) t * ('k, 'v, 'id) t
434
- val partition:
435
- ('k, 'v, 'id) t ->
436
- ('k -> 'v -> bool) ->
437
- ('k, 'v, 'id) t * ('k, 'v, 'id) t
438
- (** `partition(m, p)` returns a pair of maps `(m1, m2)`, where `m1` contains
439
- all the bindings of `s` that satisfy the predicate `p`, and `m2` is the map
440
- with all the bindings of `s` that do not satisfy `p`. *)
441
-
442
- val split:
443
- ('k, 'v, 'id) t -> 'k ->
444
- (('k, 'v, 'id) t * ('k, 'v, 'id) t )* 'v option
445
- (** `split(x, m)` returns a tuple `(l, r)`, data, where `l` is the map with all
446
- the bindings of `m` whose 'k is strictly less than `x`; `r` is the map with
447
- all the bindings of m whose 'k is strictly greater than `x`; `data` is
448
- `None` if `m` contains no binding for `x`, or `Some(v)` if `m` binds `v` to
449
- `x`. *)
450
-
451
- val mapU: ('k, 'v, 'id) t -> ('v -> 'v2 [@bs]) -> ('k, 'v2, 'id) t
452
- val map: ('k, 'v, 'id) t -> ('v -> 'v2) -> ('k, 'v2, 'id) t
453
- (** `map(m, f) returns a map with same domain as`m`, where the associated
454
- value`a`of all bindings of`m`has been replaced by the result of the
455
- application of`f`to`a`. The bindings are passed to`f` in increasing order
456
- with respect to the ordering over the type of the keys. *)
457
-
458
- val mapWithKeyU: ('k, 'v, 'id) t -> ('k -> 'v -> 'v2 [@bs]) -> ('k, 'v2, 'id) t
459
- val mapWithKey: ('k, 'v, 'id) t -> ('k -> 'v -> 'v2) -> ('k, 'v2, 'id) t
460
- (** `mapWithKey(m, f)`
461
-
462
- The same as `Belt.Map.map` except that `f` is supplied with one more
463
- argument: the key.
464
- *)
465
-
466
-
467
-
468
- val getData: ('k, 'v, 'id) t -> ('k, 'v, 'id) Belt_MapDict.t
469
- (** `getData(s0)`
470
-
471
- Advanced usage only
472
-
473
- Returns the raw data (detached from comparator), but its type is still
474
- manifested, so that user can pass identity directly without boxing.
475
- *)
476
-
477
- val getId: ('k, 'v, 'id) t -> ('k, 'id) id
478
- (** Advanced usage only
479
-
480
- Returns the identity of s0.
481
- *)
482
-
483
- val packIdData: id:('k, 'id) id -> data:('k, 'v, 'id) Belt_MapDict.t -> ('k, 'v, 'id) t
484
- (** `packIdData(~id, ~data)`
485
-
486
- Advanced usage only
487
-
488
- Returns the packed collection.
489
- *)
490
-
491
- (**/**)
492
- val checkInvariantInternal: _ t -> unit
493
- (**
494
- **raise** when invariant is not held
495
- *)
496
- (**/**)
Binary file
Binary file
Binary file