@tellahq/rescript 10.1.4-republish-1 → 10.1.4-republish-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (598) hide show
  1. package/darwinarm64/ninja.exe +0 -0
  2. package/package.json +1 -1
  3. package/lib/ocaml/arg.cmi +0 -0
  4. package/lib/ocaml/arg.cmt +0 -0
  5. package/lib/ocaml/arg.cmti +0 -0
  6. package/lib/ocaml/arg.ml +0 -359
  7. package/lib/ocaml/arg.mli +0 -185
  8. package/lib/ocaml/array.cmi +0 -0
  9. package/lib/ocaml/array.cmt +0 -0
  10. package/lib/ocaml/array.cmti +0 -0
  11. package/lib/ocaml/array.ml +0 -307
  12. package/lib/ocaml/array.mli +0 -275
  13. package/lib/ocaml/arrayLabels.cmi +0 -0
  14. package/lib/ocaml/arrayLabels.cmt +0 -0
  15. package/lib/ocaml/arrayLabels.cmti +0 -0
  16. package/lib/ocaml/arrayLabels.ml +0 -307
  17. package/lib/ocaml/arrayLabels.mli +0 -276
  18. package/lib/ocaml/belt.cmi +0 -0
  19. package/lib/ocaml/belt.cmt +0 -0
  20. package/lib/ocaml/belt.ml +0 -352
  21. package/lib/ocaml/belt_Array.cmi +0 -0
  22. package/lib/ocaml/belt_Array.cmt +0 -0
  23. package/lib/ocaml/belt_Array.cmti +0 -0
  24. package/lib/ocaml/belt_Array.ml +0 -525
  25. package/lib/ocaml/belt_Array.mli +0 -707
  26. package/lib/ocaml/belt_Float.cmi +0 -0
  27. package/lib/ocaml/belt_Float.cmt +0 -0
  28. package/lib/ocaml/belt_Float.cmti +0 -0
  29. package/lib/ocaml/belt_Float.ml +0 -50
  30. package/lib/ocaml/belt_Float.mli +0 -106
  31. package/lib/ocaml/belt_HashMap.cmi +0 -0
  32. package/lib/ocaml/belt_HashMap.cmt +0 -0
  33. package/lib/ocaml/belt_HashMap.cmti +0 -0
  34. package/lib/ocaml/belt_HashMap.ml +0 -226
  35. package/lib/ocaml/belt_HashMap.mli +0 -436
  36. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  37. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  38. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  39. package/lib/ocaml/belt_HashMapInt.ml +0 -206
  40. package/lib/ocaml/belt_HashMapInt.mli +0 -50
  41. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  42. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  43. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  44. package/lib/ocaml/belt_HashMapString.ml +0 -206
  45. package/lib/ocaml/belt_HashMapString.mli +0 -50
  46. package/lib/ocaml/belt_HashSet.cmi +0 -0
  47. package/lib/ocaml/belt_HashSet.cmt +0 -0
  48. package/lib/ocaml/belt_HashSet.cmti +0 -0
  49. package/lib/ocaml/belt_HashSet.ml +0 -196
  50. package/lib/ocaml/belt_HashSet.mli +0 -125
  51. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  52. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  53. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  54. package/lib/ocaml/belt_HashSetInt.ml +0 -155
  55. package/lib/ocaml/belt_HashSetInt.mli +0 -74
  56. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  57. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  58. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  59. package/lib/ocaml/belt_HashSetString.ml +0 -156
  60. package/lib/ocaml/belt_HashSetString.mli +0 -74
  61. package/lib/ocaml/belt_Id.cmi +0 -0
  62. package/lib/ocaml/belt_Id.cmt +0 -0
  63. package/lib/ocaml/belt_Id.cmti +0 -0
  64. package/lib/ocaml/belt_Id.ml +0 -133
  65. package/lib/ocaml/belt_Id.mli +0 -171
  66. package/lib/ocaml/belt_Int.cmi +0 -0
  67. package/lib/ocaml/belt_Int.cmt +0 -0
  68. package/lib/ocaml/belt_Int.cmti +0 -0
  69. package/lib/ocaml/belt_Int.ml +0 -50
  70. package/lib/ocaml/belt_Int.mli +0 -103
  71. package/lib/ocaml/belt_List.cmi +0 -0
  72. package/lib/ocaml/belt_List.cmt +0 -0
  73. package/lib/ocaml/belt_List.cmti +0 -0
  74. package/lib/ocaml/belt_List.ml +0 -803
  75. package/lib/ocaml/belt_List.mli +0 -844
  76. package/lib/ocaml/belt_Map.cmi +0 -0
  77. package/lib/ocaml/belt_Map.cmt +0 -0
  78. package/lib/ocaml/belt_Map.cmti +0 -0
  79. package/lib/ocaml/belt_Map.ml +0 -170
  80. package/lib/ocaml/belt_Map.mli +0 -496
  81. package/lib/ocaml/belt_MapDict.cmi +0 -0
  82. package/lib/ocaml/belt_MapDict.cmt +0 -0
  83. package/lib/ocaml/belt_MapDict.cmti +0 -0
  84. package/lib/ocaml/belt_MapDict.ml +0 -278
  85. package/lib/ocaml/belt_MapDict.mli +0 -268
  86. package/lib/ocaml/belt_MapInt.cmi +0 -0
  87. package/lib/ocaml/belt_MapInt.cmt +0 -0
  88. package/lib/ocaml/belt_MapInt.cmti +0 -0
  89. package/lib/ocaml/belt_MapInt.ml +0 -169
  90. package/lib/ocaml/belt_MapInt.mli +0 -187
  91. package/lib/ocaml/belt_MapString.cmi +0 -0
  92. package/lib/ocaml/belt_MapString.cmt +0 -0
  93. package/lib/ocaml/belt_MapString.cmti +0 -0
  94. package/lib/ocaml/belt_MapString.ml +0 -169
  95. package/lib/ocaml/belt_MapString.mli +0 -187
  96. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  97. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  98. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  99. package/lib/ocaml/belt_MutableMap.ml +0 -241
  100. package/lib/ocaml/belt_MutableMap.mli +0 -145
  101. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  102. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  103. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  104. package/lib/ocaml/belt_MutableMapInt.ml +0 -172
  105. package/lib/ocaml/belt_MutableMapInt.mli +0 -135
  106. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  107. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  108. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  109. package/lib/ocaml/belt_MutableMapString.ml +0 -172
  110. package/lib/ocaml/belt_MutableMapString.mli +0 -135
  111. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  112. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  113. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  114. package/lib/ocaml/belt_MutableQueue.ml +0 -222
  115. package/lib/ocaml/belt_MutableQueue.mli +0 -116
  116. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  117. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  118. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  119. package/lib/ocaml/belt_MutableSet.ml +0 -371
  120. package/lib/ocaml/belt_MutableSet.mli +0 -617
  121. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  122. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  123. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  124. package/lib/ocaml/belt_MutableSetInt.ml +0 -342
  125. package/lib/ocaml/belt_MutableSetInt.mli +0 -124
  126. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  127. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  128. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  129. package/lib/ocaml/belt_MutableSetString.ml +0 -342
  130. package/lib/ocaml/belt_MutableSetString.mli +0 -124
  131. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  132. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  133. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  134. package/lib/ocaml/belt_MutableStack.ml +0 -106
  135. package/lib/ocaml/belt_MutableStack.mli +0 -63
  136. package/lib/ocaml/belt_Option.cmi +0 -0
  137. package/lib/ocaml/belt_Option.cmt +0 -0
  138. package/lib/ocaml/belt_Option.cmti +0 -0
  139. package/lib/ocaml/belt_Option.ml +0 -93
  140. package/lib/ocaml/belt_Option.mli +0 -270
  141. package/lib/ocaml/belt_Range.cmi +0 -0
  142. package/lib/ocaml/belt_Range.cmt +0 -0
  143. package/lib/ocaml/belt_Range.cmti +0 -0
  144. package/lib/ocaml/belt_Range.ml +0 -76
  145. package/lib/ocaml/belt_Range.mli +0 -114
  146. package/lib/ocaml/belt_Result.cmi +0 -0
  147. package/lib/ocaml/belt_Result.cmt +0 -0
  148. package/lib/ocaml/belt_Result.cmti +0 -0
  149. package/lib/ocaml/belt_Result.ml +0 -75
  150. package/lib/ocaml/belt_Result.mli +0 -205
  151. package/lib/ocaml/belt_Set.cmi +0 -0
  152. package/lib/ocaml/belt_Set.cmt +0 -0
  153. package/lib/ocaml/belt_Set.cmti +0 -0
  154. package/lib/ocaml/belt_Set.cppo.ml +0 -205
  155. package/lib/ocaml/belt_Set.cppo.mli +0 -153
  156. package/lib/ocaml/belt_Set.ml +0 -164
  157. package/lib/ocaml/belt_Set.mli +0 -523
  158. package/lib/ocaml/belt_SetDict.cmi +0 -0
  159. package/lib/ocaml/belt_SetDict.cmt +0 -0
  160. package/lib/ocaml/belt_SetDict.cmti +0 -0
  161. package/lib/ocaml/belt_SetDict.ml +0 -237
  162. package/lib/ocaml/belt_SetDict.mli +0 -567
  163. package/lib/ocaml/belt_SetInt.cmi +0 -0
  164. package/lib/ocaml/belt_SetInt.cmt +0 -0
  165. package/lib/ocaml/belt_SetInt.cmti +0 -0
  166. package/lib/ocaml/belt_SetInt.ml +0 -201
  167. package/lib/ocaml/belt_SetInt.mli +0 -151
  168. package/lib/ocaml/belt_SetString.cmi +0 -0
  169. package/lib/ocaml/belt_SetString.cmt +0 -0
  170. package/lib/ocaml/belt_SetString.cmti +0 -0
  171. package/lib/ocaml/belt_SetString.ml +0 -201
  172. package/lib/ocaml/belt_SetString.mli +0 -151
  173. package/lib/ocaml/belt_SortArray.cmi +0 -0
  174. package/lib/ocaml/belt_SortArray.cmt +0 -0
  175. package/lib/ocaml/belt_SortArray.cmti +0 -0
  176. package/lib/ocaml/belt_SortArray.ml +0 -322
  177. package/lib/ocaml/belt_SortArray.mli +0 -146
  178. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  179. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  180. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  181. package/lib/ocaml/belt_SortArrayInt.ml +0 -263
  182. package/lib/ocaml/belt_SortArrayInt.mli +0 -93
  183. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  184. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  185. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  186. package/lib/ocaml/belt_SortArrayString.ml +0 -263
  187. package/lib/ocaml/belt_SortArrayString.mli +0 -93
  188. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  189. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  190. package/lib/ocaml/belt_internalAVLset.ml +0 -665
  191. package/lib/ocaml/belt_internalAVLset.mli +0 -124
  192. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  193. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  194. package/lib/ocaml/belt_internalAVLtree.ml +0 -762
  195. package/lib/ocaml/belt_internalAVLtree.mli +0 -215
  196. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  197. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  198. package/lib/ocaml/belt_internalBuckets.ml +0 -218
  199. package/lib/ocaml/belt_internalBuckets.mli +0 -57
  200. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  201. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  202. package/lib/ocaml/belt_internalBucketsType.ml +0 -59
  203. package/lib/ocaml/belt_internalBucketsType.mli +0 -46
  204. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  205. package/lib/ocaml/belt_internalMapInt.ml +0 -227
  206. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  207. package/lib/ocaml/belt_internalMapString.ml +0 -227
  208. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  209. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  210. package/lib/ocaml/belt_internalSetBuckets.ml +0 -157
  211. package/lib/ocaml/belt_internalSetBuckets.mli +0 -47
  212. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  213. package/lib/ocaml/belt_internalSetInt.ml +0 -129
  214. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  215. package/lib/ocaml/belt_internalSetString.ml +0 -129
  216. package/lib/ocaml/belt_internals.cmti +0 -0
  217. package/lib/ocaml/belt_internals.mli +0 -79
  218. package/lib/ocaml/buffer.cmi +0 -0
  219. package/lib/ocaml/buffer.cmt +0 -0
  220. package/lib/ocaml/buffer.cmti +0 -0
  221. package/lib/ocaml/buffer.ml +0 -250
  222. package/lib/ocaml/buffer.mli +0 -149
  223. package/lib/ocaml/bytes.cmi +0 -0
  224. package/lib/ocaml/bytes.cmt +0 -0
  225. package/lib/ocaml/bytes.cmti +0 -0
  226. package/lib/ocaml/bytes.ml +0 -431
  227. package/lib/ocaml/bytes.mli +0 -430
  228. package/lib/ocaml/bytesLabels.cmi +0 -0
  229. package/lib/ocaml/bytesLabels.cmt +0 -0
  230. package/lib/ocaml/bytesLabels.cmti +0 -0
  231. package/lib/ocaml/bytesLabels.ml +0 -428
  232. package/lib/ocaml/bytesLabels.mli +0 -276
  233. package/lib/ocaml/callback.cmi +0 -0
  234. package/lib/ocaml/callback.cmt +0 -0
  235. package/lib/ocaml/callback.cmti +0 -0
  236. package/lib/ocaml/callback.ml +0 -20
  237. package/lib/ocaml/callback.mli +0 -34
  238. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  239. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  240. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  241. package/lib/ocaml/camlinternalLazy.ml +0 -89
  242. package/lib/ocaml/camlinternalLazy.mli +0 -27
  243. package/lib/ocaml/camlinternalMod.cmi +0 -0
  244. package/lib/ocaml/camlinternalMod.cmt +0 -0
  245. package/lib/ocaml/camlinternalMod.cmti +0 -0
  246. package/lib/ocaml/camlinternalMod.ml +0 -21
  247. package/lib/ocaml/camlinternalMod.mli +0 -25
  248. package/lib/ocaml/char.cmi +0 -0
  249. package/lib/ocaml/char.cmt +0 -0
  250. package/lib/ocaml/char.cmti +0 -0
  251. package/lib/ocaml/char.ml +0 -76
  252. package/lib/ocaml/char.mli +0 -72
  253. package/lib/ocaml/complex.cmi +0 -0
  254. package/lib/ocaml/complex.cmt +0 -0
  255. package/lib/ocaml/complex.cmti +0 -0
  256. package/lib/ocaml/complex.ml +0 -87
  257. package/lib/ocaml/complex.mli +0 -86
  258. package/lib/ocaml/digest.cmi +0 -0
  259. package/lib/ocaml/digest.cmt +0 -0
  260. package/lib/ocaml/digest.cmti +0 -0
  261. package/lib/ocaml/digest.ml +0 -66
  262. package/lib/ocaml/digest.mli +0 -68
  263. package/lib/ocaml/dom.cmi +0 -0
  264. package/lib/ocaml/dom.cmt +0 -0
  265. package/lib/ocaml/dom.ml +0 -296
  266. package/lib/ocaml/dom_storage.cmi +0 -0
  267. package/lib/ocaml/dom_storage.cmt +0 -0
  268. package/lib/ocaml/dom_storage.ml +0 -22
  269. package/lib/ocaml/dom_storage2.cmi +0 -0
  270. package/lib/ocaml/dom_storage2.cmt +0 -0
  271. package/lib/ocaml/dom_storage2.ml +0 -11
  272. package/lib/ocaml/filename.cmi +0 -0
  273. package/lib/ocaml/filename.cmt +0 -0
  274. package/lib/ocaml/filename.cmti +0 -0
  275. package/lib/ocaml/filename.ml +0 -233
  276. package/lib/ocaml/filename.mli +0 -134
  277. package/lib/ocaml/genlex.cmi +0 -0
  278. package/lib/ocaml/genlex.cmt +0 -0
  279. package/lib/ocaml/genlex.cmti +0 -0
  280. package/lib/ocaml/genlex.ml +0 -201
  281. package/lib/ocaml/genlex.mli +0 -73
  282. package/lib/ocaml/hashmap.cppo.ml +0 -214
  283. package/lib/ocaml/hashmap.cppo.mli +0 -54
  284. package/lib/ocaml/hashset.cppo.ml +0 -165
  285. package/lib/ocaml/hashset.cppo.mli +0 -77
  286. package/lib/ocaml/hashtbl.cmi +0 -0
  287. package/lib/ocaml/hashtbl.cmt +0 -0
  288. package/lib/ocaml/hashtbl.cmti +0 -0
  289. package/lib/ocaml/hashtbl.ml +0 -541
  290. package/lib/ocaml/hashtbl.mli +0 -411
  291. package/lib/ocaml/hashtblLabels.cmi +0 -0
  292. package/lib/ocaml/hashtblLabels.cmt +0 -0
  293. package/lib/ocaml/hashtblLabels.ml +0 -130
  294. package/lib/ocaml/int32.cmi +0 -0
  295. package/lib/ocaml/int32.cmt +0 -0
  296. package/lib/ocaml/int32.cmti +0 -0
  297. package/lib/ocaml/int32.ml +0 -64
  298. package/lib/ocaml/int32.mli +0 -186
  299. package/lib/ocaml/int64.cmi +0 -0
  300. package/lib/ocaml/int64.cmt +0 -0
  301. package/lib/ocaml/int64.cmti +0 -0
  302. package/lib/ocaml/int64.ml +0 -72
  303. package/lib/ocaml/int64.mli +0 -197
  304. package/lib/ocaml/internal_map.cppo.ml +0 -230
  305. package/lib/ocaml/internal_set.cppo.ml +0 -134
  306. package/lib/ocaml/js.cmi +0 -0
  307. package/lib/ocaml/js.cmt +0 -0
  308. package/lib/ocaml/js.ml +0 -316
  309. package/lib/ocaml/js_OO.cmi +0 -0
  310. package/lib/ocaml/js_OO.cmt +0 -0
  311. package/lib/ocaml/js_OO.ml +0 -180
  312. package/lib/ocaml/js_array.cmi +0 -0
  313. package/lib/ocaml/js_array.cmt +0 -0
  314. package/lib/ocaml/js_array.ml +0 -970
  315. package/lib/ocaml/js_array2.cmi +0 -0
  316. package/lib/ocaml/js_array2.cmt +0 -0
  317. package/lib/ocaml/js_array2.ml +0 -1065
  318. package/lib/ocaml/js_bigint.cmi +0 -0
  319. package/lib/ocaml/js_bigint.cmt +0 -0
  320. package/lib/ocaml/js_bigint.ml +0 -3
  321. package/lib/ocaml/js_cast.cmi +0 -0
  322. package/lib/ocaml/js_cast.cmt +0 -0
  323. package/lib/ocaml/js_cast.cmti +0 -0
  324. package/lib/ocaml/js_cast.ml +0 -29
  325. package/lib/ocaml/js_cast.mli +0 -45
  326. package/lib/ocaml/js_console.cmi +0 -0
  327. package/lib/ocaml/js_console.cmt +0 -0
  328. package/lib/ocaml/js_console.ml +0 -51
  329. package/lib/ocaml/js_date.cmi +0 -0
  330. package/lib/ocaml/js_date.cmt +0 -0
  331. package/lib/ocaml/js_date.ml +0 -1263
  332. package/lib/ocaml/js_dict.cmi +0 -0
  333. package/lib/ocaml/js_dict.cmt +0 -0
  334. package/lib/ocaml/js_dict.cmti +0 -0
  335. package/lib/ocaml/js_dict.ml +0 -114
  336. package/lib/ocaml/js_dict.mli +0 -152
  337. package/lib/ocaml/js_exn.cmi +0 -0
  338. package/lib/ocaml/js_exn.cmt +0 -0
  339. package/lib/ocaml/js_exn.cmti +0 -0
  340. package/lib/ocaml/js_exn.ml +0 -102
  341. package/lib/ocaml/js_exn.mli +0 -79
  342. package/lib/ocaml/js_float.cmi +0 -0
  343. package/lib/ocaml/js_float.cmt +0 -0
  344. package/lib/ocaml/js_float.ml +0 -294
  345. package/lib/ocaml/js_global.cmi +0 -0
  346. package/lib/ocaml/js_global.cmt +0 -0
  347. package/lib/ocaml/js_global.ml +0 -185
  348. package/lib/ocaml/js_int.cmi +0 -0
  349. package/lib/ocaml/js_int.cmt +0 -0
  350. package/lib/ocaml/js_int.ml +0 -158
  351. package/lib/ocaml/js_json.cmi +0 -0
  352. package/lib/ocaml/js_json.cmt +0 -0
  353. package/lib/ocaml/js_json.cmti +0 -0
  354. package/lib/ocaml/js_json.ml +0 -195
  355. package/lib/ocaml/js_json.mli +0 -244
  356. package/lib/ocaml/js_list.cmi +0 -0
  357. package/lib/ocaml/js_list.cmt +0 -0
  358. package/lib/ocaml/js_list.cmti +0 -0
  359. package/lib/ocaml/js_list.ml +0 -174
  360. package/lib/ocaml/js_list.mli +0 -72
  361. package/lib/ocaml/js_map.cmi +0 -0
  362. package/lib/ocaml/js_map.cmt +0 -0
  363. package/lib/ocaml/js_map.ml +0 -3
  364. package/lib/ocaml/js_mapperRt.cmi +0 -0
  365. package/lib/ocaml/js_mapperRt.cmt +0 -0
  366. package/lib/ocaml/js_mapperRt.cmti +0 -0
  367. package/lib/ocaml/js_mapperRt.ml +0 -50
  368. package/lib/ocaml/js_mapperRt.mli +0 -44
  369. package/lib/ocaml/js_math.cmi +0 -0
  370. package/lib/ocaml/js_math.cmt +0 -0
  371. package/lib/ocaml/js_math.ml +0 -626
  372. package/lib/ocaml/js_null.cmi +0 -0
  373. package/lib/ocaml/js_null.cmt +0 -0
  374. package/lib/ocaml/js_null.cmti +0 -0
  375. package/lib/ocaml/js_null.ml +0 -57
  376. package/lib/ocaml/js_null.mli +0 -87
  377. package/lib/ocaml/js_null_undefined.cmi +0 -0
  378. package/lib/ocaml/js_null_undefined.cmt +0 -0
  379. package/lib/ocaml/js_null_undefined.cmti +0 -0
  380. package/lib/ocaml/js_null_undefined.ml +0 -50
  381. package/lib/ocaml/js_null_undefined.mli +0 -85
  382. package/lib/ocaml/js_obj.cmi +0 -0
  383. package/lib/ocaml/js_obj.cmt +0 -0
  384. package/lib/ocaml/js_obj.ml +0 -100
  385. package/lib/ocaml/js_option.cmi +0 -0
  386. package/lib/ocaml/js_option.cmt +0 -0
  387. package/lib/ocaml/js_option.cmti +0 -0
  388. package/lib/ocaml/js_option.ml +0 -203
  389. package/lib/ocaml/js_option.mli +0 -52
  390. package/lib/ocaml/js_promise.cmi +0 -0
  391. package/lib/ocaml/js_promise.cmt +0 -0
  392. package/lib/ocaml/js_promise.ml +0 -100
  393. package/lib/ocaml/js_promise2.cmi +0 -0
  394. package/lib/ocaml/js_promise2.cmt +0 -0
  395. package/lib/ocaml/js_promise2.res +0 -58
  396. package/lib/ocaml/js_re.cmi +0 -0
  397. package/lib/ocaml/js_re.cmt +0 -0
  398. package/lib/ocaml/js_re.ml +0 -184
  399. package/lib/ocaml/js_result.cmi +0 -0
  400. package/lib/ocaml/js_result.cmt +0 -0
  401. package/lib/ocaml/js_result.cmti +0 -0
  402. package/lib/ocaml/js_result.ml +0 -28
  403. package/lib/ocaml/js_result.mli +0 -28
  404. package/lib/ocaml/js_set.cmi +0 -0
  405. package/lib/ocaml/js_set.cmt +0 -0
  406. package/lib/ocaml/js_set.ml +0 -3
  407. package/lib/ocaml/js_string.cmi +0 -0
  408. package/lib/ocaml/js_string.cmt +0 -0
  409. package/lib/ocaml/js_string.ml +0 -914
  410. package/lib/ocaml/js_string2.cmi +0 -0
  411. package/lib/ocaml/js_string2.cmt +0 -0
  412. package/lib/ocaml/js_string2.ml +0 -912
  413. package/lib/ocaml/js_typed_array.cmi +0 -0
  414. package/lib/ocaml/js_typed_array.cmt +0 -0
  415. package/lib/ocaml/js_typed_array.cppo.ml +0 -429
  416. package/lib/ocaml/js_typed_array.ml +0 -1405
  417. package/lib/ocaml/js_typed_array2.cmi +0 -0
  418. package/lib/ocaml/js_typed_array2.cmt +0 -0
  419. package/lib/ocaml/js_typed_array2.cppo.ml +0 -296
  420. package/lib/ocaml/js_typed_array2.ml +0 -1269
  421. package/lib/ocaml/js_types.cmi +0 -0
  422. package/lib/ocaml/js_types.cmt +0 -0
  423. package/lib/ocaml/js_types.cmti +0 -0
  424. package/lib/ocaml/js_types.ml +0 -118
  425. package/lib/ocaml/js_types.mli +0 -78
  426. package/lib/ocaml/js_undefined.cmi +0 -0
  427. package/lib/ocaml/js_undefined.cmt +0 -0
  428. package/lib/ocaml/js_undefined.cmti +0 -0
  429. package/lib/ocaml/js_undefined.ml +0 -59
  430. package/lib/ocaml/js_undefined.mli +0 -92
  431. package/lib/ocaml/js_vector.cmi +0 -0
  432. package/lib/ocaml/js_vector.cmt +0 -0
  433. package/lib/ocaml/js_vector.cmti +0 -0
  434. package/lib/ocaml/js_vector.ml +0 -143
  435. package/lib/ocaml/js_vector.mli +0 -92
  436. package/lib/ocaml/js_weakmap.cmi +0 -0
  437. package/lib/ocaml/js_weakmap.cmt +0 -0
  438. package/lib/ocaml/js_weakmap.ml +0 -3
  439. package/lib/ocaml/js_weakset.cmi +0 -0
  440. package/lib/ocaml/js_weakset.cmt +0 -0
  441. package/lib/ocaml/js_weakset.ml +0 -3
  442. package/lib/ocaml/jsx.cmi +0 -0
  443. package/lib/ocaml/jsx.cmt +0 -0
  444. package/lib/ocaml/jsx.res +0 -40
  445. package/lib/ocaml/jsxDOM.cmi +0 -0
  446. package/lib/ocaml/jsxDOM.cmt +0 -0
  447. package/lib/ocaml/jsxDOM.res +0 -620
  448. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  449. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  450. package/lib/ocaml/jsxDOMStyle.ml +0 -781
  451. package/lib/ocaml/jsxEvent.cmi +0 -0
  452. package/lib/ocaml/jsxEvent.cmt +0 -0
  453. package/lib/ocaml/jsxEvent.ml +0 -358
  454. package/lib/ocaml/jsxPPXReactSupport.cmi +0 -0
  455. package/lib/ocaml/jsxPPXReactSupport.cmt +0 -0
  456. package/lib/ocaml/jsxPPXReactSupport.res +0 -48
  457. package/lib/ocaml/lazy.cmi +0 -0
  458. package/lib/ocaml/lazy.cmt +0 -0
  459. package/lib/ocaml/lazy.cmti +0 -0
  460. package/lib/ocaml/lazy.ml +0 -70
  461. package/lib/ocaml/lazy.mli +0 -95
  462. package/lib/ocaml/lexing.cmi +0 -0
  463. package/lib/ocaml/lexing.cmt +0 -0
  464. package/lib/ocaml/lexing.cmti +0 -0
  465. package/lib/ocaml/lexing.ml +0 -230
  466. package/lib/ocaml/lexing.mli +0 -172
  467. package/lib/ocaml/list.cmi +0 -0
  468. package/lib/ocaml/list.cmt +0 -0
  469. package/lib/ocaml/list.cmti +0 -0
  470. package/lib/ocaml/list.ml +0 -485
  471. package/lib/ocaml/list.mli +0 -347
  472. package/lib/ocaml/listLabels.cmi +0 -0
  473. package/lib/ocaml/listLabels.cmt +0 -0
  474. package/lib/ocaml/listLabels.cmti +0 -0
  475. package/lib/ocaml/listLabels.ml +0 -485
  476. package/lib/ocaml/listLabels.mli +0 -353
  477. package/lib/ocaml/map.cmi +0 -0
  478. package/lib/ocaml/map.cmt +0 -0
  479. package/lib/ocaml/map.cmti +0 -0
  480. package/lib/ocaml/map.cppo.ml +0 -174
  481. package/lib/ocaml/map.cppo.mli +0 -191
  482. package/lib/ocaml/map.ml +0 -480
  483. package/lib/ocaml/map.mli +0 -315
  484. package/lib/ocaml/mapLabels.cmi +0 -0
  485. package/lib/ocaml/mapLabels.cmt +0 -0
  486. package/lib/ocaml/mapLabels.ml +0 -480
  487. package/lib/ocaml/mapm.cppo.ml +0 -177
  488. package/lib/ocaml/mapm.cppo.mli +0 -138
  489. package/lib/ocaml/moreLabels.cmi +0 -0
  490. package/lib/ocaml/moreLabels.cmt +0 -0
  491. package/lib/ocaml/moreLabels.cmti +0 -0
  492. package/lib/ocaml/moreLabels.ml +0 -22
  493. package/lib/ocaml/moreLabels.mli +0 -198
  494. package/lib/ocaml/node.cmi +0 -0
  495. package/lib/ocaml/node.cmt +0 -0
  496. package/lib/ocaml/node.ml +0 -84
  497. package/lib/ocaml/node_buffer.cmi +0 -0
  498. package/lib/ocaml/node_buffer.cmt +0 -0
  499. package/lib/ocaml/node_buffer.ml +0 -47
  500. package/lib/ocaml/node_child_process.cmi +0 -0
  501. package/lib/ocaml/node_child_process.cmt +0 -0
  502. package/lib/ocaml/node_child_process.ml +0 -50
  503. package/lib/ocaml/node_fs.cmi +0 -0
  504. package/lib/ocaml/node_fs.cmt +0 -0
  505. package/lib/ocaml/node_fs.ml +0 -153
  506. package/lib/ocaml/node_module.cmi +0 -0
  507. package/lib/ocaml/node_module.cmt +0 -0
  508. package/lib/ocaml/node_module.ml +0 -29
  509. package/lib/ocaml/node_path.cmi +0 -0
  510. package/lib/ocaml/node_path.cmt +0 -0
  511. package/lib/ocaml/node_path.ml +0 -71
  512. package/lib/ocaml/node_process.cmi +0 -0
  513. package/lib/ocaml/node_process.cmt +0 -0
  514. package/lib/ocaml/node_process.cmti +0 -0
  515. package/lib/ocaml/node_process.ml +0 -59
  516. package/lib/ocaml/node_process.mli +0 -48
  517. package/lib/ocaml/obj.cmi +0 -0
  518. package/lib/ocaml/obj.cmt +0 -0
  519. package/lib/ocaml/obj.cmti +0 -0
  520. package/lib/ocaml/obj.ml +0 -29
  521. package/lib/ocaml/obj.mli +0 -62
  522. package/lib/ocaml/parsing.cmi +0 -0
  523. package/lib/ocaml/parsing.cmt +0 -0
  524. package/lib/ocaml/parsing.cmti +0 -0
  525. package/lib/ocaml/parsing.ml +0 -212
  526. package/lib/ocaml/parsing.mli +0 -105
  527. package/lib/ocaml/pervasives.cmi +0 -0
  528. package/lib/ocaml/pervasives.cmt +0 -0
  529. package/lib/ocaml/pervasives.cmti +0 -0
  530. package/lib/ocaml/pervasives.ml +0 -297
  531. package/lib/ocaml/pervasives.mli +0 -771
  532. package/lib/ocaml/printexc.cmi +0 -0
  533. package/lib/ocaml/printexc.cmt +0 -0
  534. package/lib/ocaml/printexc.cmti +0 -0
  535. package/lib/ocaml/printexc.ml +0 -75
  536. package/lib/ocaml/printexc.mli +0 -57
  537. package/lib/ocaml/queue.cmi +0 -0
  538. package/lib/ocaml/queue.cmt +0 -0
  539. package/lib/ocaml/queue.cmti +0 -0
  540. package/lib/ocaml/queue.ml +0 -132
  541. package/lib/ocaml/queue.mli +0 -82
  542. package/lib/ocaml/random.cmi +0 -0
  543. package/lib/ocaml/random.cmt +0 -0
  544. package/lib/ocaml/random.cmti +0 -0
  545. package/lib/ocaml/random.ml +0 -273
  546. package/lib/ocaml/random.mli +0 -102
  547. package/lib/ocaml/set.cmi +0 -0
  548. package/lib/ocaml/set.cmt +0 -0
  549. package/lib/ocaml/set.cmti +0 -0
  550. package/lib/ocaml/set.ml +0 -526
  551. package/lib/ocaml/set.mli +0 -266
  552. package/lib/ocaml/setLabels.cmi +0 -0
  553. package/lib/ocaml/setLabels.cmt +0 -0
  554. package/lib/ocaml/setLabels.ml +0 -526
  555. package/lib/ocaml/setm.cppo.ml +0 -346
  556. package/lib/ocaml/setm.cppo.mli +0 -126
  557. package/lib/ocaml/sort.cmi +0 -0
  558. package/lib/ocaml/sort.cmt +0 -0
  559. package/lib/ocaml/sort.cmti +0 -0
  560. package/lib/ocaml/sort.cppo.ml +0 -267
  561. package/lib/ocaml/sort.cppo.mli +0 -96
  562. package/lib/ocaml/sort.ml +0 -99
  563. package/lib/ocaml/sort.mli +0 -44
  564. package/lib/ocaml/stack.cmi +0 -0
  565. package/lib/ocaml/stack.cmt +0 -0
  566. package/lib/ocaml/stack.cmti +0 -0
  567. package/lib/ocaml/stack.ml +0 -44
  568. package/lib/ocaml/stack.mli +0 -63
  569. package/lib/ocaml/stdLabels.cmi +0 -0
  570. package/lib/ocaml/stdLabels.cmt +0 -0
  571. package/lib/ocaml/stdLabels.cmti +0 -0
  572. package/lib/ocaml/stdLabels.ml +0 -24
  573. package/lib/ocaml/stdLabels.mli +0 -29
  574. package/lib/ocaml/stream.cmi +0 -0
  575. package/lib/ocaml/stream.cmt +0 -0
  576. package/lib/ocaml/stream.cmti +0 -0
  577. package/lib/ocaml/stream.ml +0 -213
  578. package/lib/ocaml/stream.mli +0 -108
  579. package/lib/ocaml/string.cmi +0 -0
  580. package/lib/ocaml/string.cmt +0 -0
  581. package/lib/ocaml/string.cmti +0 -0
  582. package/lib/ocaml/string.ml +0 -190
  583. package/lib/ocaml/string.mli +0 -286
  584. package/lib/ocaml/stringLabels.cmi +0 -0
  585. package/lib/ocaml/stringLabels.cmt +0 -0
  586. package/lib/ocaml/stringLabels.cmti +0 -0
  587. package/lib/ocaml/stringLabels.ml +0 -190
  588. package/lib/ocaml/stringLabels.mli +0 -241
  589. package/lib/ocaml/sys.cmi +0 -0
  590. package/lib/ocaml/sys.cmt +0 -0
  591. package/lib/ocaml/sys.cmti +0 -0
  592. package/lib/ocaml/sys.ml +0 -135
  593. package/lib/ocaml/sys.mli +0 -333
  594. package/lib/ocaml/uchar.cmi +0 -0
  595. package/lib/ocaml/uchar.cmt +0 -0
  596. package/lib/ocaml/uchar.cmti +0 -0
  597. package/lib/ocaml/uchar.ml +0 -58
  598. package/lib/ocaml/uchar.mli +0 -98
@@ -1,436 +0,0 @@
1
- (* Copyright (C) 2018 Authors of ReScript
2
- *
3
- * This program is free software: you can redistribute it and/or modify
4
- * it under the terms of the GNU Lesser General Public License as published by
5
- * the Free Software Foundation, either version 3 of the License, or
6
- * (at your option) any later version.
7
- *
8
- * In addition to the permissions granted to you by the LGPL, you may combine
9
- * or link a "work that uses the Library" with a publicly distributed version
10
- * of this file to produce a combined library or application, then distribute
11
- * that combined work under the terms of your choosing, with no requirement
12
- * to comply with the obligations normally placed on you by section 4 of the
13
- * LGPL version 3 (or the corresponding section of a later version of the LGPL
14
- * should you choose to use a later version).
15
- *
16
- * This program is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * along with this program; if not, write to the Free Software
23
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
24
-
25
- (**
26
- A **mutable** Hash map which allows customized [`hash`]() behavior.
27
-
28
- All data are parameterized by not its only type but also a unique identity in
29
- the time of initialization, so that two _HashMaps of ints_ initialized with different
30
- _hash_ functions will have different type.
31
-
32
- For example:
33
-
34
- ```
35
- type t = int
36
- module I0 = unpack(Belt.Id.hashableU(~hash=(. a: t) => \"&"(a, 0xff_ff), ~eq=(. a, b) => a == b))
37
- let s0: t<_, string, _> = make(~hintSize=40, ~id=module(I0))
38
-
39
- module I1 = unpack(Belt.Id.hashableU(~hash=(. a: t) => \"&"(a, 0xff), ~eq=(. a, b) => a == b))
40
- let s1: t<_, string, _> = make(~hintSize=40, ~id=module(I1))
41
- ```
42
-
43
- The invariant must be held: for two elements who are _equal_,
44
- their hashed value should be the same
45
-
46
- Here the compiler would infer `s0` and `s1` having different type so that
47
- it would not mix.
48
-
49
- ```
50
- let s0: t<int, I0.identity>
51
- let s1: t<int, I1.identity>
52
- ```
53
-
54
- We can add elements to the collection:
55
-
56
- ```
57
- let () = {
58
- add(s1, 0, "3")
59
- add(s1, 1, "3")
60
- }
61
- ```
62
-
63
- Since this is an mutable data strucure, `s1` will contain two pairs.
64
- *)
65
-
66
-
67
- (** Specalized when key type is `int`, more efficient
68
- than the generic type *)
69
- module Int = Belt_HashMapInt
70
-
71
-
72
- (** Specalized when key type is `string`, more efficient
73
- than the generic type *)
74
- module String = Belt_HashMapString
75
-
76
-
77
-
78
-
79
- type ('key,'value,'id) t
80
- (** The type of hash tables from type `'key` to type `'value`. *)
81
-
82
- type ('a, 'id) id = ('a, 'id) Belt_Id.hashable
83
- (** The identity needed for making an empty hash map. *)
84
-
85
-
86
- val make: hintSize:int -> id:('key, 'id) id -> ('key,'value,'id) t
87
- (**
88
- `make(~hintSize=10, ~id)` creates a new map by taking in the comparator and `hintSize`.
89
-
90
- ```res example
91
- module IntHash = Belt.Id.MakeHashable({
92
- type t = int
93
- let hash = a => a
94
- let eq = (a, b) => a == b
95
- })
96
-
97
- let hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
98
-
99
- Belt.HashMap.set(hMap, 0, "a")
100
- ```
101
- *)
102
-
103
- (*TODO: allow randomization for security *)
104
-
105
- val clear: ('key, 'value, 'id ) t -> unit
106
- (**
107
- Clears a hash table.
108
-
109
- ```res example
110
- module IntHash = Belt.Id.MakeHashable({
111
- type t = int
112
- let hash = a => a
113
- let eq = (a, b) => a == b
114
- })
115
-
116
- let hMap = Belt.HashMap.fromArray([(1, "1")], ~id=module(IntHash))
117
- Belt.HashMap.clear(hMap)
118
- Belt.HashMap.isEmpty(hMap) == true
119
- ```
120
- *)
121
-
122
- val isEmpty: _ t -> bool
123
- (**
124
- `isEmpty(m)` checks whether a hash map is empty.
125
-
126
- ```res example
127
- module IntHash = Belt.Id.MakeHashable({
128
- type t = int
129
- let hash = a => a
130
- let eq = (a, b) => a == b
131
- })
132
-
133
- Belt.HashMap.isEmpty(Belt.HashMap.fromArray([(1, "1")], ~id=module(IntHash))) == false
134
- ```
135
- *)
136
-
137
- val set: ('key, 'value, 'id ) t -> 'key -> 'value -> unit
138
- (**
139
- `set(hMap, k, v)` if `k` does not exist, add the binding `k,v`, otherwise, update the old value with the new `v`.
140
-
141
- ```res example
142
- module IntHash = Belt.Id.MakeHashable({
143
- type t = int
144
- let hash = a => a
145
- let eq = (a, b) => a == b
146
- })
147
-
148
- let s0 = Belt.HashMap.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntHash))
149
-
150
- Belt.HashMap.set(s0, 2, "3")
151
-
152
- Belt.HashMap.valuesToArray(s0) == ["1", "3", "3"]
153
- ```
154
- *)
155
-
156
- val copy: ('key, 'value, 'id ) t -> ('key, 'value, 'id ) t
157
- (**
158
- Creates copy of a hash map.
159
-
160
- ```res example
161
- module IntHash = Belt.Id.MakeHashable({
162
- type t = int
163
- let hash = a => a
164
- let eq = (a, b) => a == b
165
- })
166
-
167
- let s0 = Belt.HashMap.fromArray([(2, "2"), (1, "1"), (3, "3")], ~id=module(IntHash))
168
- let s1 = Belt.HashMap.copy(s0)
169
-
170
- Belt.HashMap.set(s0, 2, "3")
171
-
172
- Belt.HashMap.get(s0, 2) != Belt.HashMap.get(s1, 2)
173
- ```
174
- *)
175
-
176
- val get: ('key, 'value, 'id ) t -> 'key -> 'value option
177
- (**
178
- Returns value bound under specific key. If values not exist returns `None`.
179
-
180
- ```res example
181
- module IntHash = Belt.Id.MakeHashable({
182
- type t = int
183
- let hash = a => a
184
- let eq = (a, b) => a == b
185
- })
186
-
187
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
188
- Belt.HashMap.set(s0, 1, "value1")
189
-
190
- Belt.HashMap.get(s0, 1) == Some("value1")
191
- Belt.HashMap.get(s0, 2) == None
192
- ```
193
- *)
194
-
195
-
196
- val has: ('key, 'value, 'id ) t -> 'key -> bool
197
- (**
198
- Checks if `x` is bound in `tbl`.
199
-
200
- ```res example
201
- module IntHash = Belt.Id.MakeHashable({
202
- type t = int
203
- let hash = a => a
204
- let eq = (a, b) => a == b
205
- })
206
-
207
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
208
- Belt.HashMap.set(s0, 1, "value1")
209
-
210
- Belt.HashMap.has(s0, 1) == true
211
- Belt.HashMap.has(s0, 2) == false
212
- ```
213
- *)
214
-
215
- val remove: ('key, 'value, 'id ) t -> 'key -> unit
216
- (**
217
- If bound exists, removes it from the hash map.
218
-
219
- ```res example
220
- module IntHash = Belt.Id.MakeHashable({
221
- type t = int
222
- let hash = a => a
223
- let eq = (a, b) => a == b
224
- })
225
-
226
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
227
- Belt.HashMap.set(s0, 1, "value1")
228
- Belt.HashMap.remove(s0, 1)
229
- Belt.HashMap.has(s0, 1) == false
230
- ```
231
- *)
232
-
233
- val forEachU: ('key, 'value, 'id ) t -> ('key -> 'value -> unit [@bs]) -> unit
234
- (** Same as [forEach](#forEach) but takes uncurried function. *)
235
-
236
- val forEach: ('key, 'value, 'id ) t -> ('key -> 'value -> unit) -> unit
237
- (**
238
- `forEach(tbl, f)` applies `f` to all bindings in table `tbl`. `f` receives the key as first argument, and the associated value as second argument. Each binding is presented exactly once to `f`.
239
-
240
- ```res example
241
- module IntHash = Belt.Id.MakeHashable({
242
- type t = int
243
- let hash = a => a
244
- let eq = (a, b) => a == b
245
- })
246
-
247
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
248
- Belt.HashMap.set(s0, 1, "value1")
249
- Belt.HashMap.forEach(s0, (key, value) => Js.log2(key, value))
250
- // prints (1, "value1")
251
- ```
252
- *)
253
-
254
- val reduceU: ('key, 'value, 'id ) t -> 'c -> ('c -> 'key -> 'value -> 'c [@bs]) -> 'c
255
- val reduce: ('key, 'value, 'id ) t -> 'c -> ('c -> 'key -> 'value -> 'c) -> 'c
256
- (**
257
- `reduce(tbl, init, f)` computes `(f(kN, dN) ... (f(k1, d1, init))...)`, where `k1 ... kN` are the keys of all bindings in `tbl`, and `d1 ... dN` are the associated values. Each binding is presented exactly once to `f`.
258
-
259
- The order in which the bindings are passed to `f` is unspecified. However, if the table contains several bindings for the same key, they are passed to `f` in reverse order of introduction, that is, the most recent binding is passed first.
260
-
261
- ```res example
262
- module IntHash = Belt.Id.MakeHashable({
263
- type t = int
264
- let hash = a => a
265
- let eq = (a, b) => a == b
266
- })
267
-
268
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
269
- Belt.HashMap.set(s0, 1, "value1")
270
- Belt.HashMap.set(s0, 2, "value2")
271
-
272
- Belt.HashMap.reduce(s0, "", (acc, key, value) => acc ++ (", " ++ value)) == "value1, value2"
273
- ```
274
- *)
275
-
276
- val keepMapInPlaceU: ('key, 'value, 'id ) t -> ('key -> 'value -> 'value option [@bs]) -> unit
277
- (** Same as [keepMapInPlace](#keepMapInPlace) but takes uncurried function. *)
278
-
279
- val keepMapInPlace: ('key, 'value, 'id ) t -> ('key -> 'value -> 'value option ) -> unit
280
- (**
281
- Filters out values for which function `f` returned `None`.
282
-
283
- ```res example
284
- module IntHash = Belt.Id.MakeHashable({
285
- type t = int
286
- let hash = a => a
287
- let eq = (a, b) => a == b
288
- })
289
-
290
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
291
- Belt.HashMap.set(s0, 1, "value1")
292
- Belt.HashMap.set(s0, 2, "value2")
293
-
294
- Belt.HashMap.keepMapInPlace(s0, (key, value) => key == 1 ? None : Some(value))
295
- ```
296
- *)
297
-
298
- val size: _ t -> int
299
- (**
300
- `size(tbl)` returns the number of bindings in `tbl`. It takes constant time.
301
-
302
- ```res example
303
- module IntHash = Belt.Id.MakeHashable({
304
- type t = int
305
- let hash = a => a
306
- let eq = (a, b) => a == b
307
- })
308
-
309
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
310
- Belt.HashMap.set(s0, 1, "value1")
311
- Belt.HashMap.set(s0, 2, "value2")
312
-
313
- Belt.HashMap.size(s0) == 2
314
- ```
315
- *)
316
-
317
- val toArray: ('key, 'value, 'id ) t -> ('key * 'value) array
318
- (**
319
- Returns array of key value pairs.
320
-
321
- ```res example
322
- module IntHash = Belt.Id.MakeHashable({
323
- type t = int
324
- let hash = a => a
325
- let eq = (a, b) => a == b
326
- })
327
-
328
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
329
- Belt.HashMap.set(s0, 1, "value1")
330
- Belt.HashMap.set(s0, 2, "value2")
331
-
332
- Belt.HashMap.toArray(s0) == [(1, "value1"), (2, "value2")]
333
- ```
334
- *)
335
-
336
- val keysToArray: ('key, _, _) t -> 'key array
337
- (**
338
- Returns array of keys.
339
-
340
- ```res example
341
- module IntHash = Belt.Id.MakeHashable({
342
- type t = int
343
- let hash = a => a
344
- let eq = (a, b) => a == b
345
- })
346
-
347
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
348
- Belt.HashMap.set(s0, 1, "value1")
349
- Belt.HashMap.set(s0, 2, "value2")
350
-
351
- Belt.HashMap.keysToArray(s0) == [1, 2]
352
- ```
353
- *)
354
-
355
- val valuesToArray: (_,'value,_) t -> 'value array
356
- (**
357
- Returns array of values.
358
-
359
- ```res example
360
- module IntHash = Belt.Id.MakeHashable({
361
- type t = int
362
- let hash = a => a
363
- let eq = (a, b) => a == b
364
- })
365
-
366
- let s0 = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
367
- Belt.HashMap.set(s0, 1, "value1")
368
- Belt.HashMap.set(s0, 2, "value2")
369
-
370
- Belt.HashMap.valuesToArray(s0) == ["value1", "value2"]
371
- ```
372
- *)
373
-
374
- val fromArray: ('key * 'value) array -> id:('key,'id) id -> ('key, 'value, 'id ) t
375
- (**
376
- Creates new hash map from array of pairs.
377
-
378
- Returns array of values.
379
-
380
- ```res example
381
- module IntHash = Belt.Id.MakeHashable({
382
- type t = int
383
- let hash = a => a
384
- let eq = (a, b) => a == b
385
- })
386
-
387
- let s0 = Belt.HashMap.fromArray([(1, "value1"), (2, "value2")], ~id=module(IntHash))
388
- Belt.HashMap.toArray(s0) == [(1, "value1"), (2, "value2")]
389
- ```
390
- *)
391
-
392
- val mergeMany: ('key, 'value, 'id ) t -> ('key * 'value) array -> unit
393
- (**
394
- ```res example
395
- module IntHash = Belt.Id.MakeHashable({
396
- type t = int
397
- let hash = a => a
398
- let eq = (a, b) => a == b
399
- })
400
-
401
- let hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
402
- Belt.HashMap.mergeMany(hMap, [(1, "1"), (2, "2")])
403
- ```
404
- *)
405
-
406
- val getBucketHistogram: _ t -> int array
407
- (**
408
- ```res example
409
- module IntHash = Belt.Id.MakeHashable({
410
- type t = int
411
- let hash = a => a
412
- let eq = (a, b) => a == b
413
- })
414
- let hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
415
- Belt.HashMap.set(hMap, 1, "1")
416
-
417
- Belt.HashMap.getBucketHistogram(hMap)
418
- ```
419
- *)
420
-
421
- val logStats: _ t -> unit
422
- (**
423
- ```res example
424
- module IntHash = Belt.Id.MakeHashable({
425
- type t = int
426
- let hash = a => a
427
- let eq = (a, b) => a == b
428
- })
429
- let hMap = Belt.HashMap.make(~hintSize=10, ~id=module(IntHash))
430
- Belt.HashMap.set(hMap, 1, "1")
431
-
432
- Belt.HashMap.logStats(hMap)
433
- ```
434
- *)
435
-
436
-
Binary file
Binary file
Binary file
@@ -1,206 +0,0 @@
1
- # 1 "others/hashmap.cppo.ml"
2
- (***********************************************************************)
3
- (* *)
4
- (* OCaml *)
5
- (* *)
6
- (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
7
- (* *)
8
- (* Copyright 1996 Institut National de Recherche en Informatique et *)
9
- (* en Automatique. All rights reserved. This file is distributed *)
10
- (* under the terms of the GNU Library General Public License, with *)
11
- (* the special exception on linking described in file ../LICENSE. *)
12
- (* *)
13
- (***********************************************************************)
14
- (** Adapted by Hongbo Zhang, Authors of ReScript 2017 *)
15
-
16
- # 23 "others/hashmap.cppo.ml"
17
- type key = int
18
- type seed = int
19
- external caml_hash_mix_int : seed -> int -> seed = "?hash_mix_int"
20
- external final_mix : seed -> seed = "?hash_final_mix"
21
- let hash (s : key) =
22
- final_mix (caml_hash_mix_int 0 s)
23
-
24
- # 33 "others/hashmap.cppo.ml"
25
- module N = Belt_internalBuckets
26
- module C = Belt_internalBucketsType
27
- module A = Belt_Array
28
-
29
-
30
- type 'b t = (unit, unit, key,'b) N.t
31
-
32
-
33
- let rec copyBucketReHash ~h_buckets ~ndata_tail (old_bucket : _ N.bucket C.opt ) =
34
- match C.toOpt old_bucket with
35
- | None -> ()
36
- | Some cell ->
37
- let nidx = hash cell.key land (A.length h_buckets - 1) in
38
- let v = C.return cell in
39
- begin match C.toOpt (A.getUnsafe ndata_tail nidx) with
40
- | None ->
41
- A.setUnsafe h_buckets nidx v
42
- | Some tail ->
43
- tail.N.next <- v (* cell put at the end *)
44
- end;
45
- A.setUnsafe ndata_tail nidx v;
46
- copyBucketReHash ~h_buckets ~ndata_tail cell.next
47
-
48
-
49
- let resize h =
50
- let odata = h.C.buckets in
51
- let osize = A.length odata in
52
- let nsize = osize * 2 in
53
- if nsize >= osize then begin (* no overflow *)
54
- let h_buckets = A.makeUninitialized nsize in
55
- let ndata_tail = A.makeUninitialized nsize in (* keep track of tail *)
56
- h.C.buckets <- h_buckets; (* so that indexfun sees the new bucket count *)
57
- for i = 0 to osize - 1 do
58
- copyBucketReHash ~h_buckets ~ndata_tail (A.getUnsafe odata i)
59
- done;
60
- for i = 0 to nsize - 1 do
61
- match C.toOpt (A.getUnsafe ndata_tail i) with
62
- | None -> ()
63
- | Some tail -> tail.next <- C.emptyOpt
64
- done
65
- end
66
-
67
-
68
- let rec replaceInBucket (key : key) info cell =
69
- if cell.N.key = key
70
- then
71
- begin
72
- cell.N.value <- info;
73
- false
74
- end
75
- else
76
- match C.toOpt cell.next with
77
- | None -> true
78
- | Some cell ->
79
- replaceInBucket key info cell
80
-
81
- let set h (key : key) value =
82
- let h_buckets = h.C.buckets in
83
- let buckets_len = A.length h_buckets in
84
- let i = hash key land (buckets_len - 1) in
85
- let l = A.getUnsafe h_buckets i in
86
- (match C.toOpt l with
87
- | None ->
88
- A.setUnsafe h_buckets i (C.return {N.key; value; next = C.emptyOpt});
89
- h.C.size <- (h.C.size + 1);
90
- | Some bucket ->
91
- if replaceInBucket key value bucket then begin
92
- A.setUnsafe h_buckets i (C.return {N.key; value; next = l});
93
- h.C.size <- (h.C.size + 1);
94
- end
95
- );
96
- if h.C.size > buckets_len lsl 1 then resize h
97
-
98
-
99
-
100
- let rec removeInBucket h h_buckets i (key : key) prec buckets =
101
- match C.toOpt buckets with
102
- | None -> ()
103
- | Some cell ->
104
- let cell_next = cell.N.next in
105
- if cell.N.key = key
106
- then
107
- begin
108
- prec.N.next <-cell_next;
109
- h.C.size <- (h.C.size - 1);
110
- end
111
- else removeInBucket h h_buckets i key cell cell_next
112
-
113
- let remove h key =
114
- let h_buckets = h.C.buckets in
115
- let i = hash key land (A.length h_buckets - 1) in
116
- let bucket = (A.getUnsafe h_buckets i) in
117
- match C.toOpt bucket with
118
- | None -> ()
119
- | Some cell ->
120
- if cell.N.key = key then
121
- begin
122
- A.setUnsafe h_buckets i cell.next;
123
- h.C.size <- (h.C.size - 1)
124
- end
125
- else
126
- removeInBucket h h_buckets i key cell cell.next
127
-
128
-
129
-
130
- let rec getAux (key : key) buckets =
131
- match C.toOpt buckets with
132
- | None ->
133
- None
134
- | Some cell ->
135
- if key = cell.N.key then Some cell.N.value
136
- else getAux key cell.next
137
-
138
- let get h (key : key) =
139
- let h_buckets = h.C.buckets in
140
- let nid = hash key land (A.length h_buckets - 1) in
141
- match C.toOpt (A.getUnsafe h_buckets nid) with
142
- | None -> None
143
- | Some cell1 ->
144
- if key = cell1.N.key then Some cell1.N.value else
145
- match C.toOpt cell1.N.next with
146
- | None -> None
147
- | Some cell2 ->
148
- if key = cell2.N.key then Some cell2.N.value else
149
- match C.toOpt cell2.N.next with
150
- | None -> None
151
- | Some cell3 ->
152
- if key = cell3.N.key then Some cell3.N.value
153
- else getAux key cell3.N.next
154
-
155
-
156
- let rec memInBucket (key : key) cell =
157
- cell.N.key = key ||
158
- (match C.toOpt cell.next with
159
- | None -> false
160
- | Some nextCell -> memInBucket key nextCell
161
- )
162
-
163
- let has h key =
164
- let h_buckets = h.C.buckets in
165
- let nid = hash key land (A.length h_buckets - 1) in
166
- let bucket = A.getUnsafe h_buckets nid in
167
- match C.toOpt bucket with
168
- | None -> false
169
- | Some bucket ->
170
- memInBucket key bucket
171
-
172
-
173
- let make ~hintSize = C.make ~hintSize ~hash:() ~eq:()
174
- let clear = C.clear
175
- let size h = h.C.size
176
- let forEachU = N.forEachU
177
- let forEach = N.forEach
178
- let reduceU = N.reduceU
179
- let reduce = N.reduce
180
- let logStats = N.logStats
181
- let keepMapInPlaceU = N.keepMapInPlaceU
182
- let keepMapInPlace = N.keepMapInPlace
183
- let toArray = N.toArray
184
- let copy = N.copy
185
- let keysToArray = N.keysToArray
186
- let valuesToArray = N.valuesToArray
187
- let getBucketHistogram = N.getBucketHistogram
188
- let isEmpty = C.isEmpty
189
-
190
- let fromArray arr =
191
- let len = A.length arr in
192
- let v = make ~hintSize:len in
193
- for i = 0 to len - 1 do
194
- let k,value = (A.getUnsafe arr i) in
195
- set v k value
196
- done ;
197
- v
198
-
199
- (* TOOD: optimize heuristics for resizing *)
200
- let mergeMany h arr =
201
- let len = A.length arr in
202
- for i = 0 to len - 1 do
203
- let k,v = (A.getUnsafe arr i) in
204
- set h k v
205
- done
206
-
@@ -1,50 +0,0 @@
1
- # 4 "others/hashmap.cppo.mli"
2
- type key = int
3
-
4
-
5
- # 10 "others/hashmap.cppo.mli"
6
- type 'b t
7
-
8
-
9
- val make: hintSize:int -> 'b t
10
-
11
- val clear: 'b t -> unit
12
-
13
- val isEmpty: _ t -> bool
14
-
15
- val set: 'a t -> key -> 'a -> unit
16
- (**
17
- `setDone tbl k v` if `k` does not exist,
18
- add the binding `k,v`, otherwise, update the old value with the new
19
- `v`
20
- *)
21
-
22
-
23
- val copy: 'a t -> 'a t
24
- val get: 'a t -> key -> 'a option
25
-
26
- val has: 'b t -> key -> bool
27
-
28
- val remove: 'a t -> key -> unit
29
-
30
- val forEachU: 'b t -> (key -> 'b -> unit [@bs]) -> unit
31
- val forEach: 'b t -> (key -> 'b -> unit) -> unit
32
-
33
- val reduceU: 'b t -> 'c -> ('c -> key -> 'b -> 'c [@bs]) -> 'c
34
- val reduce: 'b t -> 'c -> ('c -> key -> 'b -> 'c) -> 'c
35
-
36
- val keepMapInPlaceU: 'a t -> (key -> 'a -> 'a option [@bs]) -> unit
37
- val keepMapInPlace: 'a t -> (key -> 'a -> 'a option) -> unit
38
-
39
-
40
- val size: _ t -> int
41
-
42
-
43
- val toArray: 'a t -> (key * 'a) array
44
- val keysToArray: 'a t -> key array
45
- val valuesToArray: 'a t -> 'a array
46
- val fromArray: (key * 'a) array -> 'a t
47
- val mergeMany: 'a t -> (key * 'a) array -> unit
48
- val getBucketHistogram: _ t -> int array
49
- val logStats: _ t -> unit
50
-
Binary file
Binary file
Binary file