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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (616) hide show
  1. package/darwin/bsb_helper.exe +0 -0
  2. package/darwin/bsc.exe +0 -0
  3. package/darwin/ninja.exe +0 -0
  4. package/darwin/rescript.exe +0 -0
  5. package/darwinarm64/bsb_helper.exe +0 -0
  6. package/darwinarm64/bsc.exe +0 -0
  7. package/darwinarm64/ninja.exe +0 -0
  8. package/darwinarm64/rescript.exe +0 -0
  9. package/lib/ocaml/arg.cmi +0 -0
  10. package/lib/ocaml/arg.cmt +0 -0
  11. package/lib/ocaml/arg.cmti +0 -0
  12. package/lib/ocaml/arg.ml +359 -0
  13. package/lib/ocaml/arg.mli +185 -0
  14. package/lib/ocaml/array.cmi +0 -0
  15. package/lib/ocaml/array.cmt +0 -0
  16. package/lib/ocaml/array.cmti +0 -0
  17. package/lib/ocaml/array.ml +307 -0
  18. package/lib/ocaml/array.mli +275 -0
  19. package/lib/ocaml/arrayLabels.cmi +0 -0
  20. package/lib/ocaml/arrayLabels.cmt +0 -0
  21. package/lib/ocaml/arrayLabels.cmti +0 -0
  22. package/lib/ocaml/arrayLabels.ml +307 -0
  23. package/lib/ocaml/arrayLabels.mli +276 -0
  24. package/lib/ocaml/belt.cmi +0 -0
  25. package/lib/ocaml/belt.cmt +0 -0
  26. package/lib/ocaml/belt.ml +352 -0
  27. package/lib/ocaml/belt_Array.cmi +0 -0
  28. package/lib/ocaml/belt_Array.cmt +0 -0
  29. package/lib/ocaml/belt_Array.cmti +0 -0
  30. package/lib/ocaml/belt_Array.ml +525 -0
  31. package/lib/ocaml/belt_Array.mli +707 -0
  32. package/lib/ocaml/belt_Float.cmi +0 -0
  33. package/lib/ocaml/belt_Float.cmt +0 -0
  34. package/lib/ocaml/belt_Float.cmti +0 -0
  35. package/lib/ocaml/belt_Float.ml +50 -0
  36. package/lib/ocaml/belt_Float.mli +106 -0
  37. package/lib/ocaml/belt_HashMap.cmi +0 -0
  38. package/lib/ocaml/belt_HashMap.cmt +0 -0
  39. package/lib/ocaml/belt_HashMap.cmti +0 -0
  40. package/lib/ocaml/belt_HashMap.ml +226 -0
  41. package/lib/ocaml/belt_HashMap.mli +436 -0
  42. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  43. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  44. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  45. package/lib/ocaml/belt_HashMapInt.ml +206 -0
  46. package/lib/ocaml/belt_HashMapInt.mli +50 -0
  47. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  48. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  49. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  50. package/lib/ocaml/belt_HashMapString.ml +206 -0
  51. package/lib/ocaml/belt_HashMapString.mli +50 -0
  52. package/lib/ocaml/belt_HashSet.cmi +0 -0
  53. package/lib/ocaml/belt_HashSet.cmt +0 -0
  54. package/lib/ocaml/belt_HashSet.cmti +0 -0
  55. package/lib/ocaml/belt_HashSet.ml +196 -0
  56. package/lib/ocaml/belt_HashSet.mli +125 -0
  57. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  58. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  59. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  60. package/lib/ocaml/belt_HashSetInt.ml +155 -0
  61. package/lib/ocaml/belt_HashSetInt.mli +74 -0
  62. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  63. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  64. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  65. package/lib/ocaml/belt_HashSetString.ml +156 -0
  66. package/lib/ocaml/belt_HashSetString.mli +74 -0
  67. package/lib/ocaml/belt_Id.cmi +0 -0
  68. package/lib/ocaml/belt_Id.cmt +0 -0
  69. package/lib/ocaml/belt_Id.cmti +0 -0
  70. package/lib/ocaml/belt_Id.ml +133 -0
  71. package/lib/ocaml/belt_Id.mli +171 -0
  72. package/lib/ocaml/belt_Int.cmi +0 -0
  73. package/lib/ocaml/belt_Int.cmt +0 -0
  74. package/lib/ocaml/belt_Int.cmti +0 -0
  75. package/lib/ocaml/belt_Int.ml +50 -0
  76. package/lib/ocaml/belt_Int.mli +103 -0
  77. package/lib/ocaml/belt_List.cmi +0 -0
  78. package/lib/ocaml/belt_List.cmt +0 -0
  79. package/lib/ocaml/belt_List.cmti +0 -0
  80. package/lib/ocaml/belt_List.ml +803 -0
  81. package/lib/ocaml/belt_List.mli +844 -0
  82. package/lib/ocaml/belt_Map.cmi +0 -0
  83. package/lib/ocaml/belt_Map.cmt +0 -0
  84. package/lib/ocaml/belt_Map.cmti +0 -0
  85. package/lib/ocaml/belt_Map.ml +170 -0
  86. package/lib/ocaml/belt_Map.mli +496 -0
  87. package/lib/ocaml/belt_MapDict.cmi +0 -0
  88. package/lib/ocaml/belt_MapDict.cmt +0 -0
  89. package/lib/ocaml/belt_MapDict.cmti +0 -0
  90. package/lib/ocaml/belt_MapDict.ml +278 -0
  91. package/lib/ocaml/belt_MapDict.mli +268 -0
  92. package/lib/ocaml/belt_MapInt.cmi +0 -0
  93. package/lib/ocaml/belt_MapInt.cmt +0 -0
  94. package/lib/ocaml/belt_MapInt.cmti +0 -0
  95. package/lib/ocaml/belt_MapInt.ml +169 -0
  96. package/lib/ocaml/belt_MapInt.mli +187 -0
  97. package/lib/ocaml/belt_MapString.cmi +0 -0
  98. package/lib/ocaml/belt_MapString.cmt +0 -0
  99. package/lib/ocaml/belt_MapString.cmti +0 -0
  100. package/lib/ocaml/belt_MapString.ml +169 -0
  101. package/lib/ocaml/belt_MapString.mli +187 -0
  102. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  103. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  104. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  105. package/lib/ocaml/belt_MutableMap.ml +241 -0
  106. package/lib/ocaml/belt_MutableMap.mli +145 -0
  107. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  108. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  109. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  110. package/lib/ocaml/belt_MutableMapInt.ml +172 -0
  111. package/lib/ocaml/belt_MutableMapInt.mli +135 -0
  112. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  113. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  114. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  115. package/lib/ocaml/belt_MutableMapString.ml +172 -0
  116. package/lib/ocaml/belt_MutableMapString.mli +135 -0
  117. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  118. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  119. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  120. package/lib/ocaml/belt_MutableQueue.ml +222 -0
  121. package/lib/ocaml/belt_MutableQueue.mli +116 -0
  122. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  123. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  124. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  125. package/lib/ocaml/belt_MutableSet.ml +371 -0
  126. package/lib/ocaml/belt_MutableSet.mli +617 -0
  127. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  128. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  129. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  130. package/lib/ocaml/belt_MutableSetInt.ml +342 -0
  131. package/lib/ocaml/belt_MutableSetInt.mli +124 -0
  132. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  133. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  134. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  135. package/lib/ocaml/belt_MutableSetString.ml +342 -0
  136. package/lib/ocaml/belt_MutableSetString.mli +124 -0
  137. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  138. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  139. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  140. package/lib/ocaml/belt_MutableStack.ml +106 -0
  141. package/lib/ocaml/belt_MutableStack.mli +63 -0
  142. package/lib/ocaml/belt_Option.cmi +0 -0
  143. package/lib/ocaml/belt_Option.cmt +0 -0
  144. package/lib/ocaml/belt_Option.cmti +0 -0
  145. package/lib/ocaml/belt_Option.ml +93 -0
  146. package/lib/ocaml/belt_Option.mli +270 -0
  147. package/lib/ocaml/belt_Range.cmi +0 -0
  148. package/lib/ocaml/belt_Range.cmt +0 -0
  149. package/lib/ocaml/belt_Range.cmti +0 -0
  150. package/lib/ocaml/belt_Range.ml +76 -0
  151. package/lib/ocaml/belt_Range.mli +114 -0
  152. package/lib/ocaml/belt_Result.cmi +0 -0
  153. package/lib/ocaml/belt_Result.cmt +0 -0
  154. package/lib/ocaml/belt_Result.cmti +0 -0
  155. package/lib/ocaml/belt_Result.ml +75 -0
  156. package/lib/ocaml/belt_Result.mli +205 -0
  157. package/lib/ocaml/belt_Set.cmi +0 -0
  158. package/lib/ocaml/belt_Set.cmt +0 -0
  159. package/lib/ocaml/belt_Set.cmti +0 -0
  160. package/lib/ocaml/belt_Set.cppo.ml +205 -0
  161. package/lib/ocaml/belt_Set.cppo.mli +153 -0
  162. package/lib/ocaml/belt_Set.ml +164 -0
  163. package/lib/ocaml/belt_Set.mli +523 -0
  164. package/lib/ocaml/belt_SetDict.cmi +0 -0
  165. package/lib/ocaml/belt_SetDict.cmt +0 -0
  166. package/lib/ocaml/belt_SetDict.cmti +0 -0
  167. package/lib/ocaml/belt_SetDict.ml +237 -0
  168. package/lib/ocaml/belt_SetDict.mli +567 -0
  169. package/lib/ocaml/belt_SetInt.cmi +0 -0
  170. package/lib/ocaml/belt_SetInt.cmt +0 -0
  171. package/lib/ocaml/belt_SetInt.cmti +0 -0
  172. package/lib/ocaml/belt_SetInt.ml +201 -0
  173. package/lib/ocaml/belt_SetInt.mli +151 -0
  174. package/lib/ocaml/belt_SetString.cmi +0 -0
  175. package/lib/ocaml/belt_SetString.cmt +0 -0
  176. package/lib/ocaml/belt_SetString.cmti +0 -0
  177. package/lib/ocaml/belt_SetString.ml +201 -0
  178. package/lib/ocaml/belt_SetString.mli +151 -0
  179. package/lib/ocaml/belt_SortArray.cmi +0 -0
  180. package/lib/ocaml/belt_SortArray.cmt +0 -0
  181. package/lib/ocaml/belt_SortArray.cmti +0 -0
  182. package/lib/ocaml/belt_SortArray.ml +322 -0
  183. package/lib/ocaml/belt_SortArray.mli +146 -0
  184. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  185. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  186. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  187. package/lib/ocaml/belt_SortArrayInt.ml +263 -0
  188. package/lib/ocaml/belt_SortArrayInt.mli +93 -0
  189. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  190. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  191. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  192. package/lib/ocaml/belt_SortArrayString.ml +263 -0
  193. package/lib/ocaml/belt_SortArrayString.mli +93 -0
  194. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  195. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  196. package/lib/ocaml/belt_internalAVLset.ml +665 -0
  197. package/lib/ocaml/belt_internalAVLset.mli +124 -0
  198. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  199. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  200. package/lib/ocaml/belt_internalAVLtree.ml +762 -0
  201. package/lib/ocaml/belt_internalAVLtree.mli +215 -0
  202. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  203. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  204. package/lib/ocaml/belt_internalBuckets.ml +218 -0
  205. package/lib/ocaml/belt_internalBuckets.mli +57 -0
  206. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  207. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  208. package/lib/ocaml/belt_internalBucketsType.ml +59 -0
  209. package/lib/ocaml/belt_internalBucketsType.mli +46 -0
  210. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  211. package/lib/ocaml/belt_internalMapInt.ml +227 -0
  212. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  213. package/lib/ocaml/belt_internalMapString.ml +227 -0
  214. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  215. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  216. package/lib/ocaml/belt_internalSetBuckets.ml +157 -0
  217. package/lib/ocaml/belt_internalSetBuckets.mli +47 -0
  218. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  219. package/lib/ocaml/belt_internalSetInt.ml +129 -0
  220. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  221. package/lib/ocaml/belt_internalSetString.ml +129 -0
  222. package/lib/ocaml/belt_internals.cmti +0 -0
  223. package/lib/ocaml/belt_internals.mli +79 -0
  224. package/lib/ocaml/buffer.cmi +0 -0
  225. package/lib/ocaml/buffer.cmt +0 -0
  226. package/lib/ocaml/buffer.cmti +0 -0
  227. package/lib/ocaml/buffer.ml +250 -0
  228. package/lib/ocaml/buffer.mli +149 -0
  229. package/lib/ocaml/bytes.cmi +0 -0
  230. package/lib/ocaml/bytes.cmt +0 -0
  231. package/lib/ocaml/bytes.cmti +0 -0
  232. package/lib/ocaml/bytes.ml +431 -0
  233. package/lib/ocaml/bytes.mli +430 -0
  234. package/lib/ocaml/bytesLabels.cmi +0 -0
  235. package/lib/ocaml/bytesLabels.cmt +0 -0
  236. package/lib/ocaml/bytesLabels.cmti +0 -0
  237. package/lib/ocaml/bytesLabels.ml +428 -0
  238. package/lib/ocaml/bytesLabels.mli +276 -0
  239. package/lib/ocaml/callback.cmi +0 -0
  240. package/lib/ocaml/callback.cmt +0 -0
  241. package/lib/ocaml/callback.cmti +0 -0
  242. package/lib/ocaml/callback.ml +20 -0
  243. package/lib/ocaml/callback.mli +34 -0
  244. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  245. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  246. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  247. package/lib/ocaml/camlinternalLazy.ml +89 -0
  248. package/lib/ocaml/camlinternalLazy.mli +27 -0
  249. package/lib/ocaml/camlinternalMod.cmi +0 -0
  250. package/lib/ocaml/camlinternalMod.cmt +0 -0
  251. package/lib/ocaml/camlinternalMod.cmti +0 -0
  252. package/lib/ocaml/camlinternalMod.ml +21 -0
  253. package/lib/ocaml/camlinternalMod.mli +25 -0
  254. package/lib/ocaml/char.cmi +0 -0
  255. package/lib/ocaml/char.cmt +0 -0
  256. package/lib/ocaml/char.cmti +0 -0
  257. package/lib/ocaml/char.ml +76 -0
  258. package/lib/ocaml/char.mli +72 -0
  259. package/lib/ocaml/complex.cmi +0 -0
  260. package/lib/ocaml/complex.cmt +0 -0
  261. package/lib/ocaml/complex.cmti +0 -0
  262. package/lib/ocaml/complex.ml +87 -0
  263. package/lib/ocaml/complex.mli +86 -0
  264. package/lib/ocaml/digest.cmi +0 -0
  265. package/lib/ocaml/digest.cmt +0 -0
  266. package/lib/ocaml/digest.cmti +0 -0
  267. package/lib/ocaml/digest.ml +66 -0
  268. package/lib/ocaml/digest.mli +68 -0
  269. package/lib/ocaml/dom.cmi +0 -0
  270. package/lib/ocaml/dom.cmt +0 -0
  271. package/lib/ocaml/dom.ml +296 -0
  272. package/lib/ocaml/dom_storage.cmi +0 -0
  273. package/lib/ocaml/dom_storage.cmt +0 -0
  274. package/lib/ocaml/dom_storage.ml +22 -0
  275. package/lib/ocaml/dom_storage2.cmi +0 -0
  276. package/lib/ocaml/dom_storage2.cmt +0 -0
  277. package/lib/ocaml/dom_storage2.ml +11 -0
  278. package/lib/ocaml/filename.cmi +0 -0
  279. package/lib/ocaml/filename.cmt +0 -0
  280. package/lib/ocaml/filename.cmti +0 -0
  281. package/lib/ocaml/filename.ml +233 -0
  282. package/lib/ocaml/filename.mli +134 -0
  283. package/lib/ocaml/genlex.cmi +0 -0
  284. package/lib/ocaml/genlex.cmt +0 -0
  285. package/lib/ocaml/genlex.cmti +0 -0
  286. package/lib/ocaml/genlex.ml +201 -0
  287. package/lib/ocaml/genlex.mli +73 -0
  288. package/lib/ocaml/hashmap.cppo.ml +214 -0
  289. package/lib/ocaml/hashmap.cppo.mli +54 -0
  290. package/lib/ocaml/hashset.cppo.ml +165 -0
  291. package/lib/ocaml/hashset.cppo.mli +77 -0
  292. package/lib/ocaml/hashtbl.cmi +0 -0
  293. package/lib/ocaml/hashtbl.cmt +0 -0
  294. package/lib/ocaml/hashtbl.cmti +0 -0
  295. package/lib/ocaml/hashtbl.ml +541 -0
  296. package/lib/ocaml/hashtbl.mli +411 -0
  297. package/lib/ocaml/hashtblLabels.cmi +0 -0
  298. package/lib/ocaml/hashtblLabels.cmt +0 -0
  299. package/lib/ocaml/hashtblLabels.ml +130 -0
  300. package/lib/ocaml/int32.cmi +0 -0
  301. package/lib/ocaml/int32.cmt +0 -0
  302. package/lib/ocaml/int32.cmti +0 -0
  303. package/lib/ocaml/int32.ml +64 -0
  304. package/lib/ocaml/int32.mli +186 -0
  305. package/lib/ocaml/int64.cmi +0 -0
  306. package/lib/ocaml/int64.cmt +0 -0
  307. package/lib/ocaml/int64.cmti +0 -0
  308. package/lib/ocaml/int64.ml +72 -0
  309. package/lib/ocaml/int64.mli +197 -0
  310. package/lib/ocaml/internal_map.cppo.ml +230 -0
  311. package/lib/ocaml/internal_set.cppo.ml +134 -0
  312. package/lib/ocaml/js.cmi +0 -0
  313. package/lib/ocaml/js.cmt +0 -0
  314. package/lib/ocaml/js.ml +316 -0
  315. package/lib/ocaml/js_OO.cmi +0 -0
  316. package/lib/ocaml/js_OO.cmt +0 -0
  317. package/lib/ocaml/js_OO.ml +180 -0
  318. package/lib/ocaml/js_array.cmi +0 -0
  319. package/lib/ocaml/js_array.cmt +0 -0
  320. package/lib/ocaml/js_array.ml +970 -0
  321. package/lib/ocaml/js_array2.cmi +0 -0
  322. package/lib/ocaml/js_array2.cmt +0 -0
  323. package/lib/ocaml/js_array2.ml +1065 -0
  324. package/lib/ocaml/js_bigint.cmi +0 -0
  325. package/lib/ocaml/js_bigint.cmt +0 -0
  326. package/lib/ocaml/js_bigint.ml +3 -0
  327. package/lib/ocaml/js_cast.cmi +0 -0
  328. package/lib/ocaml/js_cast.cmt +0 -0
  329. package/lib/ocaml/js_cast.cmti +0 -0
  330. package/lib/ocaml/js_cast.ml +29 -0
  331. package/lib/ocaml/js_cast.mli +45 -0
  332. package/lib/ocaml/js_console.cmi +0 -0
  333. package/lib/ocaml/js_console.cmt +0 -0
  334. package/lib/ocaml/js_console.ml +51 -0
  335. package/lib/ocaml/js_date.cmi +0 -0
  336. package/lib/ocaml/js_date.cmt +0 -0
  337. package/lib/ocaml/js_date.ml +1263 -0
  338. package/lib/ocaml/js_dict.cmi +0 -0
  339. package/lib/ocaml/js_dict.cmt +0 -0
  340. package/lib/ocaml/js_dict.cmti +0 -0
  341. package/lib/ocaml/js_dict.ml +114 -0
  342. package/lib/ocaml/js_dict.mli +152 -0
  343. package/lib/ocaml/js_exn.cmi +0 -0
  344. package/lib/ocaml/js_exn.cmt +0 -0
  345. package/lib/ocaml/js_exn.cmti +0 -0
  346. package/lib/ocaml/js_exn.ml +102 -0
  347. package/lib/ocaml/js_exn.mli +79 -0
  348. package/lib/ocaml/js_float.cmi +0 -0
  349. package/lib/ocaml/js_float.cmt +0 -0
  350. package/lib/ocaml/js_float.ml +294 -0
  351. package/lib/ocaml/js_global.cmi +0 -0
  352. package/lib/ocaml/js_global.cmt +0 -0
  353. package/lib/ocaml/js_global.ml +185 -0
  354. package/lib/ocaml/js_int.cmi +0 -0
  355. package/lib/ocaml/js_int.cmt +0 -0
  356. package/lib/ocaml/js_int.ml +158 -0
  357. package/lib/ocaml/js_json.cmi +0 -0
  358. package/lib/ocaml/js_json.cmt +0 -0
  359. package/lib/ocaml/js_json.cmti +0 -0
  360. package/lib/ocaml/js_json.ml +195 -0
  361. package/lib/ocaml/js_json.mli +244 -0
  362. package/lib/ocaml/js_list.cmi +0 -0
  363. package/lib/ocaml/js_list.cmt +0 -0
  364. package/lib/ocaml/js_list.cmti +0 -0
  365. package/lib/ocaml/js_list.ml +174 -0
  366. package/lib/ocaml/js_list.mli +72 -0
  367. package/lib/ocaml/js_map.cmi +0 -0
  368. package/lib/ocaml/js_map.cmt +0 -0
  369. package/lib/ocaml/js_map.ml +3 -0
  370. package/lib/ocaml/js_mapperRt.cmi +0 -0
  371. package/lib/ocaml/js_mapperRt.cmt +0 -0
  372. package/lib/ocaml/js_mapperRt.cmti +0 -0
  373. package/lib/ocaml/js_mapperRt.ml +50 -0
  374. package/lib/ocaml/js_mapperRt.mli +44 -0
  375. package/lib/ocaml/js_math.cmi +0 -0
  376. package/lib/ocaml/js_math.cmt +0 -0
  377. package/lib/ocaml/js_math.ml +626 -0
  378. package/lib/ocaml/js_null.cmi +0 -0
  379. package/lib/ocaml/js_null.cmt +0 -0
  380. package/lib/ocaml/js_null.cmti +0 -0
  381. package/lib/ocaml/js_null.ml +57 -0
  382. package/lib/ocaml/js_null.mli +87 -0
  383. package/lib/ocaml/js_null_undefined.cmi +0 -0
  384. package/lib/ocaml/js_null_undefined.cmt +0 -0
  385. package/lib/ocaml/js_null_undefined.cmti +0 -0
  386. package/lib/ocaml/js_null_undefined.ml +50 -0
  387. package/lib/ocaml/js_null_undefined.mli +85 -0
  388. package/lib/ocaml/js_obj.cmi +0 -0
  389. package/lib/ocaml/js_obj.cmt +0 -0
  390. package/lib/ocaml/js_obj.ml +100 -0
  391. package/lib/ocaml/js_option.cmi +0 -0
  392. package/lib/ocaml/js_option.cmt +0 -0
  393. package/lib/ocaml/js_option.cmti +0 -0
  394. package/lib/ocaml/js_option.ml +203 -0
  395. package/lib/ocaml/js_option.mli +52 -0
  396. package/lib/ocaml/js_promise.cmi +0 -0
  397. package/lib/ocaml/js_promise.cmt +0 -0
  398. package/lib/ocaml/js_promise.ml +100 -0
  399. package/lib/ocaml/js_promise2.cmi +0 -0
  400. package/lib/ocaml/js_promise2.cmt +0 -0
  401. package/lib/ocaml/js_promise2.res +58 -0
  402. package/lib/ocaml/js_re.cmi +0 -0
  403. package/lib/ocaml/js_re.cmt +0 -0
  404. package/lib/ocaml/js_re.ml +184 -0
  405. package/lib/ocaml/js_result.cmi +0 -0
  406. package/lib/ocaml/js_result.cmt +0 -0
  407. package/lib/ocaml/js_result.cmti +0 -0
  408. package/lib/ocaml/js_result.ml +28 -0
  409. package/lib/ocaml/js_result.mli +28 -0
  410. package/lib/ocaml/js_set.cmi +0 -0
  411. package/lib/ocaml/js_set.cmt +0 -0
  412. package/lib/ocaml/js_set.ml +3 -0
  413. package/lib/ocaml/js_string.cmi +0 -0
  414. package/lib/ocaml/js_string.cmt +0 -0
  415. package/lib/ocaml/js_string.ml +914 -0
  416. package/lib/ocaml/js_string2.cmi +0 -0
  417. package/lib/ocaml/js_string2.cmt +0 -0
  418. package/lib/ocaml/js_string2.ml +912 -0
  419. package/lib/ocaml/js_typed_array.cmi +0 -0
  420. package/lib/ocaml/js_typed_array.cmt +0 -0
  421. package/lib/ocaml/js_typed_array.cppo.ml +429 -0
  422. package/lib/ocaml/js_typed_array.ml +1405 -0
  423. package/lib/ocaml/js_typed_array2.cmi +0 -0
  424. package/lib/ocaml/js_typed_array2.cmt +0 -0
  425. package/lib/ocaml/js_typed_array2.cppo.ml +296 -0
  426. package/lib/ocaml/js_typed_array2.ml +1269 -0
  427. package/lib/ocaml/js_types.cmi +0 -0
  428. package/lib/ocaml/js_types.cmt +0 -0
  429. package/lib/ocaml/js_types.cmti +0 -0
  430. package/lib/ocaml/js_types.ml +118 -0
  431. package/lib/ocaml/js_types.mli +78 -0
  432. package/lib/ocaml/js_undefined.cmi +0 -0
  433. package/lib/ocaml/js_undefined.cmt +0 -0
  434. package/lib/ocaml/js_undefined.cmti +0 -0
  435. package/lib/ocaml/js_undefined.ml +59 -0
  436. package/lib/ocaml/js_undefined.mli +92 -0
  437. package/lib/ocaml/js_vector.cmi +0 -0
  438. package/lib/ocaml/js_vector.cmt +0 -0
  439. package/lib/ocaml/js_vector.cmti +0 -0
  440. package/lib/ocaml/js_vector.ml +143 -0
  441. package/lib/ocaml/js_vector.mli +92 -0
  442. package/lib/ocaml/js_weakmap.cmi +0 -0
  443. package/lib/ocaml/js_weakmap.cmt +0 -0
  444. package/lib/ocaml/js_weakmap.ml +3 -0
  445. package/lib/ocaml/js_weakset.cmi +0 -0
  446. package/lib/ocaml/js_weakset.cmt +0 -0
  447. package/lib/ocaml/js_weakset.ml +3 -0
  448. package/lib/ocaml/jsx.cmi +0 -0
  449. package/lib/ocaml/jsx.cmt +0 -0
  450. package/lib/ocaml/jsx.res +40 -0
  451. package/lib/ocaml/jsxDOM.cmi +0 -0
  452. package/lib/ocaml/jsxDOM.cmt +0 -0
  453. package/lib/ocaml/jsxDOM.res +620 -0
  454. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  455. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  456. package/lib/ocaml/jsxDOMStyle.ml +781 -0
  457. package/lib/ocaml/jsxEvent.cmi +0 -0
  458. package/lib/ocaml/jsxEvent.cmt +0 -0
  459. package/lib/ocaml/jsxEvent.ml +358 -0
  460. package/lib/ocaml/jsxPPXReactSupport.cmi +0 -0
  461. package/lib/ocaml/jsxPPXReactSupport.cmt +0 -0
  462. package/lib/ocaml/jsxPPXReactSupport.res +48 -0
  463. package/lib/ocaml/lazy.cmi +0 -0
  464. package/lib/ocaml/lazy.cmt +0 -0
  465. package/lib/ocaml/lazy.cmti +0 -0
  466. package/lib/ocaml/lazy.ml +70 -0
  467. package/lib/ocaml/lazy.mli +95 -0
  468. package/lib/ocaml/lexing.cmi +0 -0
  469. package/lib/ocaml/lexing.cmt +0 -0
  470. package/lib/ocaml/lexing.cmti +0 -0
  471. package/lib/ocaml/lexing.ml +230 -0
  472. package/lib/ocaml/lexing.mli +172 -0
  473. package/lib/ocaml/list.cmi +0 -0
  474. package/lib/ocaml/list.cmt +0 -0
  475. package/lib/ocaml/list.cmti +0 -0
  476. package/lib/ocaml/list.ml +485 -0
  477. package/lib/ocaml/list.mli +347 -0
  478. package/lib/ocaml/listLabels.cmi +0 -0
  479. package/lib/ocaml/listLabels.cmt +0 -0
  480. package/lib/ocaml/listLabels.cmti +0 -0
  481. package/lib/ocaml/listLabels.ml +485 -0
  482. package/lib/ocaml/listLabels.mli +353 -0
  483. package/lib/ocaml/map.cmi +0 -0
  484. package/lib/ocaml/map.cmt +0 -0
  485. package/lib/ocaml/map.cmti +0 -0
  486. package/lib/ocaml/map.cppo.ml +174 -0
  487. package/lib/ocaml/map.cppo.mli +191 -0
  488. package/lib/ocaml/map.ml +480 -0
  489. package/lib/ocaml/map.mli +315 -0
  490. package/lib/ocaml/mapLabels.cmi +0 -0
  491. package/lib/ocaml/mapLabels.cmt +0 -0
  492. package/lib/ocaml/mapLabels.ml +480 -0
  493. package/lib/ocaml/mapm.cppo.ml +177 -0
  494. package/lib/ocaml/mapm.cppo.mli +138 -0
  495. package/lib/ocaml/moreLabels.cmi +0 -0
  496. package/lib/ocaml/moreLabels.cmt +0 -0
  497. package/lib/ocaml/moreLabels.cmti +0 -0
  498. package/lib/ocaml/moreLabels.ml +22 -0
  499. package/lib/ocaml/moreLabels.mli +198 -0
  500. package/lib/ocaml/node.cmi +0 -0
  501. package/lib/ocaml/node.cmt +0 -0
  502. package/lib/ocaml/node.ml +84 -0
  503. package/lib/ocaml/node_buffer.cmi +0 -0
  504. package/lib/ocaml/node_buffer.cmt +0 -0
  505. package/lib/ocaml/node_buffer.ml +47 -0
  506. package/lib/ocaml/node_child_process.cmi +0 -0
  507. package/lib/ocaml/node_child_process.cmt +0 -0
  508. package/lib/ocaml/node_child_process.ml +50 -0
  509. package/lib/ocaml/node_fs.cmi +0 -0
  510. package/lib/ocaml/node_fs.cmt +0 -0
  511. package/lib/ocaml/node_fs.ml +153 -0
  512. package/lib/ocaml/node_module.cmi +0 -0
  513. package/lib/ocaml/node_module.cmt +0 -0
  514. package/lib/ocaml/node_module.ml +29 -0
  515. package/lib/ocaml/node_path.cmi +0 -0
  516. package/lib/ocaml/node_path.cmt +0 -0
  517. package/lib/ocaml/node_path.ml +71 -0
  518. package/lib/ocaml/node_process.cmi +0 -0
  519. package/lib/ocaml/node_process.cmt +0 -0
  520. package/lib/ocaml/node_process.cmti +0 -0
  521. package/lib/ocaml/node_process.ml +59 -0
  522. package/lib/ocaml/node_process.mli +48 -0
  523. package/lib/ocaml/obj.cmi +0 -0
  524. package/lib/ocaml/obj.cmt +0 -0
  525. package/lib/ocaml/obj.cmti +0 -0
  526. package/lib/ocaml/obj.ml +29 -0
  527. package/lib/ocaml/obj.mli +62 -0
  528. package/lib/ocaml/parsing.cmi +0 -0
  529. package/lib/ocaml/parsing.cmt +0 -0
  530. package/lib/ocaml/parsing.cmti +0 -0
  531. package/lib/ocaml/parsing.ml +212 -0
  532. package/lib/ocaml/parsing.mli +105 -0
  533. package/lib/ocaml/pervasives.cmi +0 -0
  534. package/lib/ocaml/pervasives.cmt +0 -0
  535. package/lib/ocaml/pervasives.cmti +0 -0
  536. package/lib/ocaml/pervasives.ml +297 -0
  537. package/lib/ocaml/pervasives.mli +771 -0
  538. package/lib/ocaml/printexc.cmi +0 -0
  539. package/lib/ocaml/printexc.cmt +0 -0
  540. package/lib/ocaml/printexc.cmti +0 -0
  541. package/lib/ocaml/printexc.ml +75 -0
  542. package/lib/ocaml/printexc.mli +57 -0
  543. package/lib/ocaml/queue.cmi +0 -0
  544. package/lib/ocaml/queue.cmt +0 -0
  545. package/lib/ocaml/queue.cmti +0 -0
  546. package/lib/ocaml/queue.ml +132 -0
  547. package/lib/ocaml/queue.mli +82 -0
  548. package/lib/ocaml/random.cmi +0 -0
  549. package/lib/ocaml/random.cmt +0 -0
  550. package/lib/ocaml/random.cmti +0 -0
  551. package/lib/ocaml/random.ml +273 -0
  552. package/lib/ocaml/random.mli +102 -0
  553. package/lib/ocaml/set.cmi +0 -0
  554. package/lib/ocaml/set.cmt +0 -0
  555. package/lib/ocaml/set.cmti +0 -0
  556. package/lib/ocaml/set.ml +526 -0
  557. package/lib/ocaml/set.mli +266 -0
  558. package/lib/ocaml/setLabels.cmi +0 -0
  559. package/lib/ocaml/setLabels.cmt +0 -0
  560. package/lib/ocaml/setLabels.ml +526 -0
  561. package/lib/ocaml/setm.cppo.ml +346 -0
  562. package/lib/ocaml/setm.cppo.mli +126 -0
  563. package/lib/ocaml/sort.cmi +0 -0
  564. package/lib/ocaml/sort.cmt +0 -0
  565. package/lib/ocaml/sort.cmti +0 -0
  566. package/lib/ocaml/sort.cppo.ml +267 -0
  567. package/lib/ocaml/sort.cppo.mli +96 -0
  568. package/lib/ocaml/sort.ml +99 -0
  569. package/lib/ocaml/sort.mli +44 -0
  570. package/lib/ocaml/stack.cmi +0 -0
  571. package/lib/ocaml/stack.cmt +0 -0
  572. package/lib/ocaml/stack.cmti +0 -0
  573. package/lib/ocaml/stack.ml +44 -0
  574. package/lib/ocaml/stack.mli +63 -0
  575. package/lib/ocaml/stdLabels.cmi +0 -0
  576. package/lib/ocaml/stdLabels.cmt +0 -0
  577. package/lib/ocaml/stdLabels.cmti +0 -0
  578. package/lib/ocaml/stdLabels.ml +24 -0
  579. package/lib/ocaml/stdLabels.mli +29 -0
  580. package/lib/ocaml/stream.cmi +0 -0
  581. package/lib/ocaml/stream.cmt +0 -0
  582. package/lib/ocaml/stream.cmti +0 -0
  583. package/lib/ocaml/stream.ml +213 -0
  584. package/lib/ocaml/stream.mli +108 -0
  585. package/lib/ocaml/string.cmi +0 -0
  586. package/lib/ocaml/string.cmt +0 -0
  587. package/lib/ocaml/string.cmti +0 -0
  588. package/lib/ocaml/string.ml +190 -0
  589. package/lib/ocaml/string.mli +286 -0
  590. package/lib/ocaml/stringLabels.cmi +0 -0
  591. package/lib/ocaml/stringLabels.cmt +0 -0
  592. package/lib/ocaml/stringLabels.cmti +0 -0
  593. package/lib/ocaml/stringLabels.ml +190 -0
  594. package/lib/ocaml/stringLabels.mli +241 -0
  595. package/lib/ocaml/sys.cmi +0 -0
  596. package/lib/ocaml/sys.cmt +0 -0
  597. package/lib/ocaml/sys.cmti +0 -0
  598. package/lib/ocaml/sys.ml +135 -0
  599. package/lib/ocaml/sys.mli +333 -0
  600. package/lib/ocaml/uchar.cmi +0 -0
  601. package/lib/ocaml/uchar.cmt +0 -0
  602. package/lib/ocaml/uchar.cmti +0 -0
  603. package/lib/ocaml/uchar.ml +58 -0
  604. package/lib/ocaml/uchar.mli +98 -0
  605. package/linux/bsb_helper.exe +0 -0
  606. package/linux/bsc.exe +0 -0
  607. package/linux/ninja.exe +0 -0
  608. package/linux/rescript.exe +0 -0
  609. package/ninja.COPYING +202 -0
  610. package/package.json +1 -1
  611. package/vendor/ninja.tar.gz +0 -0
  612. package/win32/bsb_helper.exe +0 -0
  613. package/win32/bsc.exe +0 -0
  614. package/win32/ninja.exe +0 -0
  615. package/win32/refmt.exe +0 -0
  616. package/win32/rescript.exe +0 -0
@@ -0,0 +1,172 @@
1
+ # 2 "others/mapm.cppo.ml"
2
+ module I = Belt_internalMapInt
3
+ type key = int
4
+ # 10 "others/mapm.cppo.ml"
5
+ module N = Belt_internalAVLtree
6
+ module A = Belt_Array
7
+
8
+
9
+
10
+
11
+ type 'a t = {
12
+ mutable data : 'a I.t
13
+ }
14
+
15
+
16
+ let make () = {data = None}
17
+ let isEmpty m = N.isEmpty m.data
18
+ let clear m = m.data<- None
19
+ (* let singleton k v = t ~data:(N.singleton k v) *)
20
+
21
+ let minKeyUndefined m = N.minKeyUndefined m.data
22
+ let minKey m = N.minKey m.data
23
+ let maxKeyUndefined m = N.maxKeyUndefined m.data
24
+ let maxKey m = N.maxKey m.data
25
+ let minimum m = N.minimum m.data
26
+ let minUndefined m = N.minUndefined m.data
27
+ let maximum m = N.maximum m.data
28
+ let maxUndefined m = N.maxUndefined m.data
29
+
30
+ let set (m : _ t) k v =
31
+ let old_data = m.data in
32
+ let v = I.addMutate old_data k v in
33
+ if v != old_data then
34
+ m.data <-v
35
+
36
+ let forEachU d f = N.forEachU d.data f
37
+ let forEach d f = forEachU d (fun[@bs] a b -> f a b)
38
+ let mapU d f = {data = N.mapU d.data f}
39
+ let map d f = mapU d (fun[@bs] a -> f a )
40
+ let mapWithKeyU d f = { data = (N.mapWithKeyU d.data f)}
41
+ let mapWithKey d f = mapWithKeyU d (fun [@bs] a b -> f a b)
42
+ let reduceU d acc f = N.reduceU d.data acc f
43
+ let reduce d acc f = reduceU d acc (fun[@bs] a b c -> f a b c)
44
+ let everyU d f = N.everyU d.data f
45
+ let every d f = everyU d (fun[@bs] a b -> f a b)
46
+ let someU d f = N.someU d.data f
47
+ let some d f = someU d (fun[@bs] a b -> f a b)
48
+ let size d = N.size d.data
49
+ let toList d = N.toList d.data
50
+ let toArray d = N.toArray d.data
51
+ let keysToArray d = N.keysToArray d.data
52
+ let valuesToArray d = N.valuesToArray d.data
53
+ let checkInvariantInternal d = N.checkInvariantInternal d.data
54
+ let has d v = I.has d.data v
55
+
56
+
57
+ let rec removeMutateAux nt (x : key)=
58
+ let k = nt.N.key in
59
+ if x = k then
60
+ let {N.left = l; right = r} = nt in
61
+ match l, r with
62
+ | None, _ -> r
63
+ | _, None -> l
64
+ | _, Some nr ->
65
+ nt.right <- (N.removeMinAuxWithRootMutate nt nr);
66
+ Some (N.balMutate nt)
67
+ else
68
+ begin
69
+ if x < k then
70
+ match nt.left with
71
+ | None -> Some nt
72
+ | Some l ->
73
+ nt.left <- (removeMutateAux l x );
74
+ Some (N.balMutate nt)
75
+ else
76
+ match nt.right with
77
+ | None -> Some nt
78
+ | Some r ->
79
+ nt.right <- (removeMutateAux r x);
80
+ Some (N.balMutate nt)
81
+ end
82
+
83
+ let remove d v =
84
+ let oldRoot = d.data in
85
+ match oldRoot with
86
+ | None -> ()
87
+ | Some root ->
88
+ let newRoot = removeMutateAux root v in
89
+ if newRoot != oldRoot then
90
+ d.data <- newRoot
91
+
92
+
93
+ let rec updateDone t (x : key) f =
94
+ match t with
95
+ | None ->
96
+ (match f None [@bs] with
97
+ | Some data -> N.singleton x data
98
+ | None -> t)
99
+ | Some nt ->
100
+ let k = nt.N.key in
101
+ (* let c = (Belt_Cmp.getCmpInternal cmp) x k [@bs] in *)
102
+ if k = x then begin
103
+ match f (Some nt.value) [@bs] with
104
+ | None ->
105
+ let {N.left = l; right = r} = nt in
106
+ begin match l, r with
107
+ | None, _ -> r
108
+ | _, None -> l
109
+ | _, Some nr ->
110
+ nt.right <- (N.removeMinAuxWithRootMutate nt nr);
111
+ Some (N.balMutate nt)
112
+ end
113
+ | Some data ->
114
+ nt.value <- data;
115
+ Some nt
116
+ end
117
+ else
118
+ let {N.left = l; right = r} = nt in
119
+ (if x < k then
120
+ let ll = updateDone l x f in
121
+ nt.left <- ll
122
+ else
123
+ nt.right <- (updateDone r x f);
124
+ );
125
+ Some (N.balMutate nt)
126
+
127
+ let updateU t x f =
128
+ let oldRoot = t.data in
129
+ let newRoot = updateDone oldRoot x f in
130
+ if newRoot != oldRoot then
131
+ t.data <- newRoot
132
+ let update t x f = updateU t x (fun[@bs] a -> f a )
133
+ let rec removeArrayMutateAux t xs i len =
134
+ if i < len then
135
+ let ele = A.getUnsafe xs i in
136
+ let u = removeMutateAux t ele in
137
+ match u with
138
+ | None -> None
139
+ | Some t -> removeArrayMutateAux t xs (i+1) len
140
+ else Some t
141
+
142
+ let removeMany (d : _ t) xs =
143
+ let oldRoot = d.data in
144
+ match oldRoot with
145
+ | None -> ()
146
+ | Some nt ->
147
+ let len = A.length xs in
148
+ let newRoot = removeArrayMutateAux nt xs 0 len in
149
+ if newRoot != oldRoot then
150
+ d.data <- newRoot
151
+
152
+
153
+
154
+ (* let split = I.split *)
155
+ (* let merge = I.merge *)
156
+
157
+
158
+ let fromArray xs =
159
+ { data = I.fromArray xs }
160
+
161
+ let cmpU d0 d1 f =
162
+ I.cmpU d0.data d1.data f
163
+ let cmp d0 d1 f = cmpU d0 d1 (fun[@bs] a b -> f a b)
164
+
165
+ let eqU d0 d1 f =
166
+ I.eqU d0.data d1.data f
167
+ let eq d0 d1 f = eqU d0 d1 (fun[@bs] a b -> f a b)
168
+
169
+ let get d x = I.get d.data x
170
+ let getUndefined d x = I.getUndefined d.data x
171
+ let getWithDefault d x def = I.getWithDefault d.data x def
172
+ let getExn d x = I.getExn d.data x
@@ -0,0 +1,135 @@
1
+ # 1 "others/mapm.cppo.mli"
2
+ (* Copyright (C) 2017 Authors of ReScript
3
+ *
4
+ * This program is free software: you can redistribute it and/or modify
5
+ * it under the terms of the GNU Lesser General Public License as published by
6
+ * the Free Software Foundation, either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ *
9
+ * In addition to the permissions granted to you by the LGPL, you may combine
10
+ * or link a "work that uses the Library" with a publicly distributed version
11
+ * of this file to produce a combined library or application, then distribute
12
+ * that combined work under the terms of your choosing, with no requirement
13
+ * to comply with the obligations normally placed on you by section 4 of the
14
+ * LGPL version 3 (or the corresponding section of a later version of the LGPL
15
+ * should you choose to use a later version).
16
+ *
17
+ * This program is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with this program; if not, write to the Free Software
24
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
25
+
26
+ # 28 "others/mapm.cppo.mli"
27
+ type key = int
28
+ # 32 "others/mapm.cppo.mli"
29
+ type 'a t
30
+
31
+
32
+ val make: unit -> 'a t
33
+ val clear: 'a t -> unit
34
+ val isEmpty: 'a t -> bool
35
+
36
+ val has: 'a t -> key -> bool
37
+
38
+ val cmpU: 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
39
+ val cmp: 'a t -> 'a t -> ('a -> 'a -> int) -> int
40
+ (** `cmp m1 m2 cmp`
41
+ First compare by size, if size is the same,
42
+ compare by key, value pair
43
+ *)
44
+
45
+ val eqU: 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
46
+ val eq: 'a t -> 'a t -> ('a -> 'a -> bool ) -> bool
47
+ (** `eq m1 m2 cmp` *)
48
+
49
+ val forEachU: 'a t -> (key -> 'a -> unit [@bs]) -> unit
50
+ val forEach: 'a t -> (key -> 'a -> unit) -> unit
51
+ (** `forEach m f` applies `f` to all bindings in map `m`.
52
+ `f` receives the key as first argument, and the associated value
53
+ as second argument.
54
+ The application order of `f` is in increasing order. *)
55
+
56
+ val reduceU: 'a t -> 'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
57
+ val reduce: 'a t -> 'b -> ('b -> key -> 'a -> 'b ) -> 'b
58
+ (** `reduce m a f` computes `(f kN dN ... (f k1 d1 a)...)`,
59
+ where `k1 ... kN` are the keys of all bindings in `m`
60
+ (in increasing order), and `d1 ... dN` are the associated data. *)
61
+
62
+ val everyU: 'a t -> (key -> 'a -> bool [@bs]) -> bool
63
+ val every: 'a t -> (key -> 'a -> bool) -> bool
64
+ (** `every m p` checks if all the bindings of the map
65
+ satisfy the predicate `p`.
66
+ The application order of `p` is unspecified.
67
+ *)
68
+
69
+ val someU: 'a t -> (key -> 'a -> bool [@bs]) -> bool
70
+ val some: 'a t -> (key -> 'a -> bool) -> bool
71
+ (** `some m p` checks if at least one binding of the map
72
+ satisfy the predicate `p`.
73
+ The application order of `p` is unspecified.
74
+ *)
75
+
76
+
77
+
78
+
79
+ val size: 'a t -> int
80
+ val toList: 'a t -> (key * 'a) list
81
+ (** In increasing order *)
82
+
83
+ val toArray: 'a t -> (key * 'a) array
84
+ (** In increasing order *)
85
+
86
+ val fromArray: (key * 'a) array -> 'a t
87
+ val keysToArray: 'a t -> key array
88
+ val valuesToArray: 'a t -> 'a array
89
+ val minKey: _ t -> key option
90
+ val minKeyUndefined: _ t -> key Js.undefined
91
+ val maxKey: _ t -> key option
92
+ val maxKeyUndefined: _ t -> key Js.undefined
93
+ val minimum: 'a t -> (key * 'a) option
94
+ val minUndefined: 'a t -> (key * 'a) Js.undefined
95
+ val maximum: 'a t -> (key * 'a) option
96
+ val maxUndefined: 'a t -> (key * 'a) Js.undefined
97
+ val get: 'a t -> key -> 'a option
98
+ val getUndefined: 'a t -> key -> 'a Js.undefined
99
+ val getWithDefault: 'a t -> key -> 'a -> 'a
100
+ val getExn: 'a t -> key -> 'a
101
+ val checkInvariantInternal: _ t -> unit
102
+ (**
103
+ **raise** when invariant is not held
104
+ *)
105
+
106
+
107
+
108
+ (****************************************************************************)
109
+
110
+ (*TODO: add functional `merge, partition, keep, split`*)
111
+
112
+ val remove: 'a t -> key -> unit
113
+ (** `remove m x` do the in-place modification *)
114
+
115
+ val removeMany: 'a t -> key array -> unit
116
+
117
+ val set: 'a t -> key -> 'a -> unit
118
+ (** `set m x y` do the in-place modification, return
119
+ `m` for chaining. If `x` was already bound
120
+ in `m`, its previous binding disappears. *)
121
+
122
+ val updateU: 'a t -> key -> ('a option -> 'a option [@bs]) -> unit
123
+ val update: 'a t -> key -> ('a option -> 'a option) -> unit
124
+
125
+
126
+ val mapU: 'a t -> ('a -> 'b [@bs]) -> 'b t
127
+ val map: 'a t -> ('a -> 'b) -> 'b t
128
+ (** `map m f` returns a map with same domain as `m`, where the
129
+ associated value `a` of all bindings of `m` has been
130
+ replaced by the result of the application of `f` to `a`.
131
+ The bindings are passed to `f` in increasing order
132
+ with respect to the ordering over the type of the keys. *)
133
+
134
+ val mapWithKeyU: 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
135
+ val mapWithKey: 'a t -> (key -> 'a -> 'b) -> 'b t
@@ -0,0 +1,172 @@
1
+ # 5 "others/mapm.cppo.ml"
2
+ module I = Belt_internalMapString
3
+ type key = string
4
+ # 10 "others/mapm.cppo.ml"
5
+ module N = Belt_internalAVLtree
6
+ module A = Belt_Array
7
+
8
+
9
+
10
+
11
+ type 'a t = {
12
+ mutable data : 'a I.t
13
+ }
14
+
15
+
16
+ let make () = {data = None}
17
+ let isEmpty m = N.isEmpty m.data
18
+ let clear m = m.data<- None
19
+ (* let singleton k v = t ~data:(N.singleton k v) *)
20
+
21
+ let minKeyUndefined m = N.minKeyUndefined m.data
22
+ let minKey m = N.minKey m.data
23
+ let maxKeyUndefined m = N.maxKeyUndefined m.data
24
+ let maxKey m = N.maxKey m.data
25
+ let minimum m = N.minimum m.data
26
+ let minUndefined m = N.minUndefined m.data
27
+ let maximum m = N.maximum m.data
28
+ let maxUndefined m = N.maxUndefined m.data
29
+
30
+ let set (m : _ t) k v =
31
+ let old_data = m.data in
32
+ let v = I.addMutate old_data k v in
33
+ if v != old_data then
34
+ m.data <-v
35
+
36
+ let forEachU d f = N.forEachU d.data f
37
+ let forEach d f = forEachU d (fun[@bs] a b -> f a b)
38
+ let mapU d f = {data = N.mapU d.data f}
39
+ let map d f = mapU d (fun[@bs] a -> f a )
40
+ let mapWithKeyU d f = { data = (N.mapWithKeyU d.data f)}
41
+ let mapWithKey d f = mapWithKeyU d (fun [@bs] a b -> f a b)
42
+ let reduceU d acc f = N.reduceU d.data acc f
43
+ let reduce d acc f = reduceU d acc (fun[@bs] a b c -> f a b c)
44
+ let everyU d f = N.everyU d.data f
45
+ let every d f = everyU d (fun[@bs] a b -> f a b)
46
+ let someU d f = N.someU d.data f
47
+ let some d f = someU d (fun[@bs] a b -> f a b)
48
+ let size d = N.size d.data
49
+ let toList d = N.toList d.data
50
+ let toArray d = N.toArray d.data
51
+ let keysToArray d = N.keysToArray d.data
52
+ let valuesToArray d = N.valuesToArray d.data
53
+ let checkInvariantInternal d = N.checkInvariantInternal d.data
54
+ let has d v = I.has d.data v
55
+
56
+
57
+ let rec removeMutateAux nt (x : key)=
58
+ let k = nt.N.key in
59
+ if x = k then
60
+ let {N.left = l; right = r} = nt in
61
+ match l, r with
62
+ | None, _ -> r
63
+ | _, None -> l
64
+ | _, Some nr ->
65
+ nt.right <- (N.removeMinAuxWithRootMutate nt nr);
66
+ Some (N.balMutate nt)
67
+ else
68
+ begin
69
+ if x < k then
70
+ match nt.left with
71
+ | None -> Some nt
72
+ | Some l ->
73
+ nt.left <- (removeMutateAux l x );
74
+ Some (N.balMutate nt)
75
+ else
76
+ match nt.right with
77
+ | None -> Some nt
78
+ | Some r ->
79
+ nt.right <- (removeMutateAux r x);
80
+ Some (N.balMutate nt)
81
+ end
82
+
83
+ let remove d v =
84
+ let oldRoot = d.data in
85
+ match oldRoot with
86
+ | None -> ()
87
+ | Some root ->
88
+ let newRoot = removeMutateAux root v in
89
+ if newRoot != oldRoot then
90
+ d.data <- newRoot
91
+
92
+
93
+ let rec updateDone t (x : key) f =
94
+ match t with
95
+ | None ->
96
+ (match f None [@bs] with
97
+ | Some data -> N.singleton x data
98
+ | None -> t)
99
+ | Some nt ->
100
+ let k = nt.N.key in
101
+ (* let c = (Belt_Cmp.getCmpInternal cmp) x k [@bs] in *)
102
+ if k = x then begin
103
+ match f (Some nt.value) [@bs] with
104
+ | None ->
105
+ let {N.left = l; right = r} = nt in
106
+ begin match l, r with
107
+ | None, _ -> r
108
+ | _, None -> l
109
+ | _, Some nr ->
110
+ nt.right <- (N.removeMinAuxWithRootMutate nt nr);
111
+ Some (N.balMutate nt)
112
+ end
113
+ | Some data ->
114
+ nt.value <- data;
115
+ Some nt
116
+ end
117
+ else
118
+ let {N.left = l; right = r} = nt in
119
+ (if x < k then
120
+ let ll = updateDone l x f in
121
+ nt.left <- ll
122
+ else
123
+ nt.right <- (updateDone r x f);
124
+ );
125
+ Some (N.balMutate nt)
126
+
127
+ let updateU t x f =
128
+ let oldRoot = t.data in
129
+ let newRoot = updateDone oldRoot x f in
130
+ if newRoot != oldRoot then
131
+ t.data <- newRoot
132
+ let update t x f = updateU t x (fun[@bs] a -> f a )
133
+ let rec removeArrayMutateAux t xs i len =
134
+ if i < len then
135
+ let ele = A.getUnsafe xs i in
136
+ let u = removeMutateAux t ele in
137
+ match u with
138
+ | None -> None
139
+ | Some t -> removeArrayMutateAux t xs (i+1) len
140
+ else Some t
141
+
142
+ let removeMany (d : _ t) xs =
143
+ let oldRoot = d.data in
144
+ match oldRoot with
145
+ | None -> ()
146
+ | Some nt ->
147
+ let len = A.length xs in
148
+ let newRoot = removeArrayMutateAux nt xs 0 len in
149
+ if newRoot != oldRoot then
150
+ d.data <- newRoot
151
+
152
+
153
+
154
+ (* let split = I.split *)
155
+ (* let merge = I.merge *)
156
+
157
+
158
+ let fromArray xs =
159
+ { data = I.fromArray xs }
160
+
161
+ let cmpU d0 d1 f =
162
+ I.cmpU d0.data d1.data f
163
+ let cmp d0 d1 f = cmpU d0 d1 (fun[@bs] a b -> f a b)
164
+
165
+ let eqU d0 d1 f =
166
+ I.eqU d0.data d1.data f
167
+ let eq d0 d1 f = eqU d0 d1 (fun[@bs] a b -> f a b)
168
+
169
+ let get d x = I.get d.data x
170
+ let getUndefined d x = I.getUndefined d.data x
171
+ let getWithDefault d x def = I.getWithDefault d.data x def
172
+ let getExn d x = I.getExn d.data x
@@ -0,0 +1,135 @@
1
+ # 1 "others/mapm.cppo.mli"
2
+ (* Copyright (C) 2017 Authors of ReScript
3
+ *
4
+ * This program is free software: you can redistribute it and/or modify
5
+ * it under the terms of the GNU Lesser General Public License as published by
6
+ * the Free Software Foundation, either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ *
9
+ * In addition to the permissions granted to you by the LGPL, you may combine
10
+ * or link a "work that uses the Library" with a publicly distributed version
11
+ * of this file to produce a combined library or application, then distribute
12
+ * that combined work under the terms of your choosing, with no requirement
13
+ * to comply with the obligations normally placed on you by section 4 of the
14
+ * LGPL version 3 (or the corresponding section of a later version of the LGPL
15
+ * should you choose to use a later version).
16
+ *
17
+ * This program is distributed in the hope that it will be useful,
18
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
+ * GNU Lesser General Public License for more details.
21
+ *
22
+ * You should have received a copy of the GNU Lesser General Public License
23
+ * along with this program; if not, write to the Free Software
24
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *)
25
+
26
+ # 26 "others/mapm.cppo.mli"
27
+ type key = string
28
+ # 32 "others/mapm.cppo.mli"
29
+ type 'a t
30
+
31
+
32
+ val make: unit -> 'a t
33
+ val clear: 'a t -> unit
34
+ val isEmpty: 'a t -> bool
35
+
36
+ val has: 'a t -> key -> bool
37
+
38
+ val cmpU: 'a t -> 'a t -> ('a -> 'a -> int [@bs]) -> int
39
+ val cmp: 'a t -> 'a t -> ('a -> 'a -> int) -> int
40
+ (** `cmp m1 m2 cmp`
41
+ First compare by size, if size is the same,
42
+ compare by key, value pair
43
+ *)
44
+
45
+ val eqU: 'a t -> 'a t -> ('a -> 'a -> bool [@bs]) -> bool
46
+ val eq: 'a t -> 'a t -> ('a -> 'a -> bool ) -> bool
47
+ (** `eq m1 m2 cmp` *)
48
+
49
+ val forEachU: 'a t -> (key -> 'a -> unit [@bs]) -> unit
50
+ val forEach: 'a t -> (key -> 'a -> unit) -> unit
51
+ (** `forEach m f` applies `f` to all bindings in map `m`.
52
+ `f` receives the key as first argument, and the associated value
53
+ as second argument.
54
+ The application order of `f` is in increasing order. *)
55
+
56
+ val reduceU: 'a t -> 'b -> ('b -> key -> 'a -> 'b [@bs]) -> 'b
57
+ val reduce: 'a t -> 'b -> ('b -> key -> 'a -> 'b ) -> 'b
58
+ (** `reduce m a f` computes `(f kN dN ... (f k1 d1 a)...)`,
59
+ where `k1 ... kN` are the keys of all bindings in `m`
60
+ (in increasing order), and `d1 ... dN` are the associated data. *)
61
+
62
+ val everyU: 'a t -> (key -> 'a -> bool [@bs]) -> bool
63
+ val every: 'a t -> (key -> 'a -> bool) -> bool
64
+ (** `every m p` checks if all the bindings of the map
65
+ satisfy the predicate `p`.
66
+ The application order of `p` is unspecified.
67
+ *)
68
+
69
+ val someU: 'a t -> (key -> 'a -> bool [@bs]) -> bool
70
+ val some: 'a t -> (key -> 'a -> bool) -> bool
71
+ (** `some m p` checks if at least one binding of the map
72
+ satisfy the predicate `p`.
73
+ The application order of `p` is unspecified.
74
+ *)
75
+
76
+
77
+
78
+
79
+ val size: 'a t -> int
80
+ val toList: 'a t -> (key * 'a) list
81
+ (** In increasing order *)
82
+
83
+ val toArray: 'a t -> (key * 'a) array
84
+ (** In increasing order *)
85
+
86
+ val fromArray: (key * 'a) array -> 'a t
87
+ val keysToArray: 'a t -> key array
88
+ val valuesToArray: 'a t -> 'a array
89
+ val minKey: _ t -> key option
90
+ val minKeyUndefined: _ t -> key Js.undefined
91
+ val maxKey: _ t -> key option
92
+ val maxKeyUndefined: _ t -> key Js.undefined
93
+ val minimum: 'a t -> (key * 'a) option
94
+ val minUndefined: 'a t -> (key * 'a) Js.undefined
95
+ val maximum: 'a t -> (key * 'a) option
96
+ val maxUndefined: 'a t -> (key * 'a) Js.undefined
97
+ val get: 'a t -> key -> 'a option
98
+ val getUndefined: 'a t -> key -> 'a Js.undefined
99
+ val getWithDefault: 'a t -> key -> 'a -> 'a
100
+ val getExn: 'a t -> key -> 'a
101
+ val checkInvariantInternal: _ t -> unit
102
+ (**
103
+ **raise** when invariant is not held
104
+ *)
105
+
106
+
107
+
108
+ (****************************************************************************)
109
+
110
+ (*TODO: add functional `merge, partition, keep, split`*)
111
+
112
+ val remove: 'a t -> key -> unit
113
+ (** `remove m x` do the in-place modification *)
114
+
115
+ val removeMany: 'a t -> key array -> unit
116
+
117
+ val set: 'a t -> key -> 'a -> unit
118
+ (** `set m x y` do the in-place modification, return
119
+ `m` for chaining. If `x` was already bound
120
+ in `m`, its previous binding disappears. *)
121
+
122
+ val updateU: 'a t -> key -> ('a option -> 'a option [@bs]) -> unit
123
+ val update: 'a t -> key -> ('a option -> 'a option) -> unit
124
+
125
+
126
+ val mapU: 'a t -> ('a -> 'b [@bs]) -> 'b t
127
+ val map: 'a t -> ('a -> 'b) -> 'b t
128
+ (** `map m f` returns a map with same domain as `m`, where the
129
+ associated value `a` of all bindings of `m` has been
130
+ replaced by the result of the application of `f` to `a`.
131
+ The bindings are passed to `f` in increasing order
132
+ with respect to the ordering over the type of the keys. *)
133
+
134
+ val mapWithKeyU: 'a t -> (key -> 'a -> 'b [@bs]) -> 'b t
135
+ val mapWithKey: 'a t -> (key -> 'a -> 'b) -> 'b t
Binary file
Binary file
Binary file