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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (668) hide show
  1. package/CHANGELOG.md +204 -2
  2. package/README.md +1 -1
  3. package/darwinarm64/bsb_helper.exe +0 -0
  4. package/darwinarm64/bsc.exe +0 -0
  5. package/darwinarm64/ninja.exe +0 -0
  6. package/darwinarm64/rescript.exe +0 -0
  7. package/docs/docson/build-schema.json +497 -516
  8. package/lib/4.06.1/bsb_helper.ml +6 -1
  9. package/lib/4.06.1/rescript.ml +1414 -1191
  10. package/lib/4.06.1/whole_compiler.ml +69844 -69069
  11. package/lib/es6/belt_internalBuckets.js +13 -13
  12. package/lib/es6/caml_float.js +5 -5
  13. package/lib/es6/caml_format.js +1 -1
  14. package/lib/es6/caml_int64.js +1 -1
  15. package/lib/es6/caml_obj.js +26 -6
  16. package/lib/es6/complex.js +4 -4
  17. package/lib/es6/js.js +3 -0
  18. package/lib/es6/js_promise2.js +16 -0
  19. package/lib/es6/jsxPPXReactSupport.js +26 -0
  20. package/lib/js/belt_internalBuckets.js +13 -13
  21. package/lib/js/caml_float.js +5 -5
  22. package/lib/js/caml_format.js +1 -1
  23. package/lib/js/caml_int64.js +1 -1
  24. package/lib/js/caml_obj.js +26 -6
  25. package/lib/js/complex.js +4 -4
  26. package/lib/js/js.js +3 -0
  27. package/lib/js/js_promise2.js +14 -0
  28. package/lib/js/jsxPPXReactSupport.js +24 -0
  29. package/package.json +2 -1
  30. package/scripts/buildNinjaBinary.js +29 -0
  31. package/scripts/install.js +7 -3
  32. package/scripts/installUtils.js +9 -1
  33. package/scripts/rescript_arg.js +2 -4
  34. package/scripts/rescript_format.js +73 -39
  35. package/win32/refmt.exe +0 -0
  36. package/darwin/bsb_helper.exe +0 -0
  37. package/darwin/bsc.exe +0 -0
  38. package/darwin/ninja.COPYING +0 -202
  39. package/darwin/ninja.exe +0 -0
  40. package/darwin/rescript.exe +0 -0
  41. package/darwinarm64/ninja.COPYING +0 -202
  42. package/freebsd/ninja.COPYING +0 -202
  43. package/lib/ocaml/arg.cmi +0 -0
  44. package/lib/ocaml/arg.cmt +0 -0
  45. package/lib/ocaml/arg.cmti +0 -0
  46. package/lib/ocaml/arg.ml +0 -359
  47. package/lib/ocaml/arg.mli +0 -185
  48. package/lib/ocaml/array.cmi +0 -0
  49. package/lib/ocaml/array.cmt +0 -0
  50. package/lib/ocaml/array.cmti +0 -0
  51. package/lib/ocaml/array.ml +0 -307
  52. package/lib/ocaml/array.mli +0 -275
  53. package/lib/ocaml/arrayLabels.cmi +0 -0
  54. package/lib/ocaml/arrayLabels.cmt +0 -0
  55. package/lib/ocaml/arrayLabels.cmti +0 -0
  56. package/lib/ocaml/arrayLabels.ml +0 -307
  57. package/lib/ocaml/arrayLabels.mli +0 -276
  58. package/lib/ocaml/belt.cmi +0 -0
  59. package/lib/ocaml/belt.cmt +0 -0
  60. package/lib/ocaml/belt.ml +0 -352
  61. package/lib/ocaml/belt_Array.cmi +0 -0
  62. package/lib/ocaml/belt_Array.cmt +0 -0
  63. package/lib/ocaml/belt_Array.cmti +0 -0
  64. package/lib/ocaml/belt_Array.ml +0 -525
  65. package/lib/ocaml/belt_Array.mli +0 -707
  66. package/lib/ocaml/belt_Float.cmi +0 -0
  67. package/lib/ocaml/belt_Float.cmt +0 -0
  68. package/lib/ocaml/belt_Float.cmti +0 -0
  69. package/lib/ocaml/belt_Float.ml +0 -50
  70. package/lib/ocaml/belt_Float.mli +0 -106
  71. package/lib/ocaml/belt_HashMap.cmi +0 -0
  72. package/lib/ocaml/belt_HashMap.cmt +0 -0
  73. package/lib/ocaml/belt_HashMap.cmti +0 -0
  74. package/lib/ocaml/belt_HashMap.ml +0 -226
  75. package/lib/ocaml/belt_HashMap.mli +0 -436
  76. package/lib/ocaml/belt_HashMapInt.cmi +0 -0
  77. package/lib/ocaml/belt_HashMapInt.cmt +0 -0
  78. package/lib/ocaml/belt_HashMapInt.cmti +0 -0
  79. package/lib/ocaml/belt_HashMapInt.ml +0 -206
  80. package/lib/ocaml/belt_HashMapInt.mli +0 -50
  81. package/lib/ocaml/belt_HashMapString.cmi +0 -0
  82. package/lib/ocaml/belt_HashMapString.cmt +0 -0
  83. package/lib/ocaml/belt_HashMapString.cmti +0 -0
  84. package/lib/ocaml/belt_HashMapString.ml +0 -206
  85. package/lib/ocaml/belt_HashMapString.mli +0 -50
  86. package/lib/ocaml/belt_HashSet.cmi +0 -0
  87. package/lib/ocaml/belt_HashSet.cmt +0 -0
  88. package/lib/ocaml/belt_HashSet.cmti +0 -0
  89. package/lib/ocaml/belt_HashSet.ml +0 -196
  90. package/lib/ocaml/belt_HashSet.mli +0 -125
  91. package/lib/ocaml/belt_HashSetInt.cmi +0 -0
  92. package/lib/ocaml/belt_HashSetInt.cmt +0 -0
  93. package/lib/ocaml/belt_HashSetInt.cmti +0 -0
  94. package/lib/ocaml/belt_HashSetInt.ml +0 -155
  95. package/lib/ocaml/belt_HashSetInt.mli +0 -74
  96. package/lib/ocaml/belt_HashSetString.cmi +0 -0
  97. package/lib/ocaml/belt_HashSetString.cmt +0 -0
  98. package/lib/ocaml/belt_HashSetString.cmti +0 -0
  99. package/lib/ocaml/belt_HashSetString.ml +0 -156
  100. package/lib/ocaml/belt_HashSetString.mli +0 -74
  101. package/lib/ocaml/belt_Id.cmi +0 -0
  102. package/lib/ocaml/belt_Id.cmt +0 -0
  103. package/lib/ocaml/belt_Id.cmti +0 -0
  104. package/lib/ocaml/belt_Id.ml +0 -133
  105. package/lib/ocaml/belt_Id.mli +0 -171
  106. package/lib/ocaml/belt_Int.cmi +0 -0
  107. package/lib/ocaml/belt_Int.cmt +0 -0
  108. package/lib/ocaml/belt_Int.cmti +0 -0
  109. package/lib/ocaml/belt_Int.ml +0 -50
  110. package/lib/ocaml/belt_Int.mli +0 -103
  111. package/lib/ocaml/belt_List.cmi +0 -0
  112. package/lib/ocaml/belt_List.cmt +0 -0
  113. package/lib/ocaml/belt_List.cmti +0 -0
  114. package/lib/ocaml/belt_List.ml +0 -803
  115. package/lib/ocaml/belt_List.mli +0 -844
  116. package/lib/ocaml/belt_Map.cmi +0 -0
  117. package/lib/ocaml/belt_Map.cmt +0 -0
  118. package/lib/ocaml/belt_Map.cmti +0 -0
  119. package/lib/ocaml/belt_Map.ml +0 -170
  120. package/lib/ocaml/belt_Map.mli +0 -496
  121. package/lib/ocaml/belt_MapDict.cmi +0 -0
  122. package/lib/ocaml/belt_MapDict.cmt +0 -0
  123. package/lib/ocaml/belt_MapDict.cmti +0 -0
  124. package/lib/ocaml/belt_MapDict.ml +0 -278
  125. package/lib/ocaml/belt_MapDict.mli +0 -268
  126. package/lib/ocaml/belt_MapInt.cmi +0 -0
  127. package/lib/ocaml/belt_MapInt.cmt +0 -0
  128. package/lib/ocaml/belt_MapInt.cmti +0 -0
  129. package/lib/ocaml/belt_MapInt.ml +0 -169
  130. package/lib/ocaml/belt_MapInt.mli +0 -187
  131. package/lib/ocaml/belt_MapString.cmi +0 -0
  132. package/lib/ocaml/belt_MapString.cmt +0 -0
  133. package/lib/ocaml/belt_MapString.cmti +0 -0
  134. package/lib/ocaml/belt_MapString.ml +0 -169
  135. package/lib/ocaml/belt_MapString.mli +0 -187
  136. package/lib/ocaml/belt_MutableMap.cmi +0 -0
  137. package/lib/ocaml/belt_MutableMap.cmt +0 -0
  138. package/lib/ocaml/belt_MutableMap.cmti +0 -0
  139. package/lib/ocaml/belt_MutableMap.ml +0 -241
  140. package/lib/ocaml/belt_MutableMap.mli +0 -145
  141. package/lib/ocaml/belt_MutableMapInt.cmi +0 -0
  142. package/lib/ocaml/belt_MutableMapInt.cmt +0 -0
  143. package/lib/ocaml/belt_MutableMapInt.cmti +0 -0
  144. package/lib/ocaml/belt_MutableMapInt.ml +0 -172
  145. package/lib/ocaml/belt_MutableMapInt.mli +0 -135
  146. package/lib/ocaml/belt_MutableMapString.cmi +0 -0
  147. package/lib/ocaml/belt_MutableMapString.cmt +0 -0
  148. package/lib/ocaml/belt_MutableMapString.cmti +0 -0
  149. package/lib/ocaml/belt_MutableMapString.ml +0 -172
  150. package/lib/ocaml/belt_MutableMapString.mli +0 -135
  151. package/lib/ocaml/belt_MutableQueue.cmi +0 -0
  152. package/lib/ocaml/belt_MutableQueue.cmt +0 -0
  153. package/lib/ocaml/belt_MutableQueue.cmti +0 -0
  154. package/lib/ocaml/belt_MutableQueue.ml +0 -222
  155. package/lib/ocaml/belt_MutableQueue.mli +0 -116
  156. package/lib/ocaml/belt_MutableSet.cmi +0 -0
  157. package/lib/ocaml/belt_MutableSet.cmt +0 -0
  158. package/lib/ocaml/belt_MutableSet.cmti +0 -0
  159. package/lib/ocaml/belt_MutableSet.ml +0 -371
  160. package/lib/ocaml/belt_MutableSet.mli +0 -617
  161. package/lib/ocaml/belt_MutableSetInt.cmi +0 -0
  162. package/lib/ocaml/belt_MutableSetInt.cmt +0 -0
  163. package/lib/ocaml/belt_MutableSetInt.cmti +0 -0
  164. package/lib/ocaml/belt_MutableSetInt.ml +0 -342
  165. package/lib/ocaml/belt_MutableSetInt.mli +0 -124
  166. package/lib/ocaml/belt_MutableSetString.cmi +0 -0
  167. package/lib/ocaml/belt_MutableSetString.cmt +0 -0
  168. package/lib/ocaml/belt_MutableSetString.cmti +0 -0
  169. package/lib/ocaml/belt_MutableSetString.ml +0 -342
  170. package/lib/ocaml/belt_MutableSetString.mli +0 -124
  171. package/lib/ocaml/belt_MutableStack.cmi +0 -0
  172. package/lib/ocaml/belt_MutableStack.cmt +0 -0
  173. package/lib/ocaml/belt_MutableStack.cmti +0 -0
  174. package/lib/ocaml/belt_MutableStack.ml +0 -106
  175. package/lib/ocaml/belt_MutableStack.mli +0 -63
  176. package/lib/ocaml/belt_Option.cmi +0 -0
  177. package/lib/ocaml/belt_Option.cmt +0 -0
  178. package/lib/ocaml/belt_Option.cmti +0 -0
  179. package/lib/ocaml/belt_Option.ml +0 -93
  180. package/lib/ocaml/belt_Option.mli +0 -270
  181. package/lib/ocaml/belt_Range.cmi +0 -0
  182. package/lib/ocaml/belt_Range.cmt +0 -0
  183. package/lib/ocaml/belt_Range.cmti +0 -0
  184. package/lib/ocaml/belt_Range.ml +0 -76
  185. package/lib/ocaml/belt_Range.mli +0 -114
  186. package/lib/ocaml/belt_Result.cmi +0 -0
  187. package/lib/ocaml/belt_Result.cmt +0 -0
  188. package/lib/ocaml/belt_Result.cmti +0 -0
  189. package/lib/ocaml/belt_Result.ml +0 -75
  190. package/lib/ocaml/belt_Result.mli +0 -205
  191. package/lib/ocaml/belt_Set.cmi +0 -0
  192. package/lib/ocaml/belt_Set.cmt +0 -0
  193. package/lib/ocaml/belt_Set.cmti +0 -0
  194. package/lib/ocaml/belt_Set.cppo.ml +0 -205
  195. package/lib/ocaml/belt_Set.cppo.mli +0 -153
  196. package/lib/ocaml/belt_Set.ml +0 -164
  197. package/lib/ocaml/belt_Set.mli +0 -523
  198. package/lib/ocaml/belt_SetDict.cmi +0 -0
  199. package/lib/ocaml/belt_SetDict.cmt +0 -0
  200. package/lib/ocaml/belt_SetDict.cmti +0 -0
  201. package/lib/ocaml/belt_SetDict.ml +0 -237
  202. package/lib/ocaml/belt_SetDict.mli +0 -567
  203. package/lib/ocaml/belt_SetInt.cmi +0 -0
  204. package/lib/ocaml/belt_SetInt.cmt +0 -0
  205. package/lib/ocaml/belt_SetInt.cmti +0 -0
  206. package/lib/ocaml/belt_SetInt.ml +0 -201
  207. package/lib/ocaml/belt_SetInt.mli +0 -151
  208. package/lib/ocaml/belt_SetString.cmi +0 -0
  209. package/lib/ocaml/belt_SetString.cmt +0 -0
  210. package/lib/ocaml/belt_SetString.cmti +0 -0
  211. package/lib/ocaml/belt_SetString.ml +0 -201
  212. package/lib/ocaml/belt_SetString.mli +0 -151
  213. package/lib/ocaml/belt_SortArray.cmi +0 -0
  214. package/lib/ocaml/belt_SortArray.cmt +0 -0
  215. package/lib/ocaml/belt_SortArray.cmti +0 -0
  216. package/lib/ocaml/belt_SortArray.ml +0 -322
  217. package/lib/ocaml/belt_SortArray.mli +0 -146
  218. package/lib/ocaml/belt_SortArrayInt.cmi +0 -0
  219. package/lib/ocaml/belt_SortArrayInt.cmt +0 -0
  220. package/lib/ocaml/belt_SortArrayInt.cmti +0 -0
  221. package/lib/ocaml/belt_SortArrayInt.ml +0 -263
  222. package/lib/ocaml/belt_SortArrayInt.mli +0 -93
  223. package/lib/ocaml/belt_SortArrayString.cmi +0 -0
  224. package/lib/ocaml/belt_SortArrayString.cmt +0 -0
  225. package/lib/ocaml/belt_SortArrayString.cmti +0 -0
  226. package/lib/ocaml/belt_SortArrayString.ml +0 -263
  227. package/lib/ocaml/belt_SortArrayString.mli +0 -93
  228. package/lib/ocaml/belt_internalAVLset.cmt +0 -0
  229. package/lib/ocaml/belt_internalAVLset.cmti +0 -0
  230. package/lib/ocaml/belt_internalAVLset.ml +0 -665
  231. package/lib/ocaml/belt_internalAVLset.mli +0 -124
  232. package/lib/ocaml/belt_internalAVLtree.cmt +0 -0
  233. package/lib/ocaml/belt_internalAVLtree.cmti +0 -0
  234. package/lib/ocaml/belt_internalAVLtree.ml +0 -762
  235. package/lib/ocaml/belt_internalAVLtree.mli +0 -215
  236. package/lib/ocaml/belt_internalBuckets.cmt +0 -0
  237. package/lib/ocaml/belt_internalBuckets.cmti +0 -0
  238. package/lib/ocaml/belt_internalBuckets.ml +0 -218
  239. package/lib/ocaml/belt_internalBuckets.mli +0 -57
  240. package/lib/ocaml/belt_internalBucketsType.cmt +0 -0
  241. package/lib/ocaml/belt_internalBucketsType.cmti +0 -0
  242. package/lib/ocaml/belt_internalBucketsType.ml +0 -59
  243. package/lib/ocaml/belt_internalBucketsType.mli +0 -46
  244. package/lib/ocaml/belt_internalMapInt.cmt +0 -0
  245. package/lib/ocaml/belt_internalMapInt.ml +0 -227
  246. package/lib/ocaml/belt_internalMapString.cmt +0 -0
  247. package/lib/ocaml/belt_internalMapString.ml +0 -227
  248. package/lib/ocaml/belt_internalSetBuckets.cmt +0 -0
  249. package/lib/ocaml/belt_internalSetBuckets.cmti +0 -0
  250. package/lib/ocaml/belt_internalSetBuckets.ml +0 -157
  251. package/lib/ocaml/belt_internalSetBuckets.mli +0 -47
  252. package/lib/ocaml/belt_internalSetInt.cmt +0 -0
  253. package/lib/ocaml/belt_internalSetInt.ml +0 -129
  254. package/lib/ocaml/belt_internalSetString.cmt +0 -0
  255. package/lib/ocaml/belt_internalSetString.ml +0 -129
  256. package/lib/ocaml/belt_internals.cmti +0 -0
  257. package/lib/ocaml/belt_internals.mli +0 -79
  258. package/lib/ocaml/buffer.cmi +0 -0
  259. package/lib/ocaml/buffer.cmt +0 -0
  260. package/lib/ocaml/buffer.cmti +0 -0
  261. package/lib/ocaml/buffer.ml +0 -250
  262. package/lib/ocaml/buffer.mli +0 -149
  263. package/lib/ocaml/bytes.cmi +0 -0
  264. package/lib/ocaml/bytes.cmt +0 -0
  265. package/lib/ocaml/bytes.cmti +0 -0
  266. package/lib/ocaml/bytes.ml +0 -431
  267. package/lib/ocaml/bytes.mli +0 -430
  268. package/lib/ocaml/bytesLabels.cmi +0 -0
  269. package/lib/ocaml/bytesLabels.cmt +0 -0
  270. package/lib/ocaml/bytesLabels.cmti +0 -0
  271. package/lib/ocaml/bytesLabels.ml +0 -428
  272. package/lib/ocaml/bytesLabels.mli +0 -276
  273. package/lib/ocaml/callback.cmi +0 -0
  274. package/lib/ocaml/callback.cmt +0 -0
  275. package/lib/ocaml/callback.cmti +0 -0
  276. package/lib/ocaml/callback.ml +0 -20
  277. package/lib/ocaml/callback.mli +0 -34
  278. package/lib/ocaml/camlinternalLazy.cmi +0 -0
  279. package/lib/ocaml/camlinternalLazy.cmt +0 -0
  280. package/lib/ocaml/camlinternalLazy.cmti +0 -0
  281. package/lib/ocaml/camlinternalLazy.ml +0 -89
  282. package/lib/ocaml/camlinternalLazy.mli +0 -27
  283. package/lib/ocaml/camlinternalMod.cmi +0 -0
  284. package/lib/ocaml/camlinternalMod.cmt +0 -0
  285. package/lib/ocaml/camlinternalMod.cmti +0 -0
  286. package/lib/ocaml/camlinternalMod.ml +0 -21
  287. package/lib/ocaml/camlinternalMod.mli +0 -25
  288. package/lib/ocaml/char.cmi +0 -0
  289. package/lib/ocaml/char.cmt +0 -0
  290. package/lib/ocaml/char.cmti +0 -0
  291. package/lib/ocaml/char.ml +0 -76
  292. package/lib/ocaml/char.mli +0 -72
  293. package/lib/ocaml/complex.cmi +0 -0
  294. package/lib/ocaml/complex.cmt +0 -0
  295. package/lib/ocaml/complex.cmti +0 -0
  296. package/lib/ocaml/complex.ml +0 -87
  297. package/lib/ocaml/complex.mli +0 -86
  298. package/lib/ocaml/digest.cmi +0 -0
  299. package/lib/ocaml/digest.cmt +0 -0
  300. package/lib/ocaml/digest.cmti +0 -0
  301. package/lib/ocaml/digest.ml +0 -66
  302. package/lib/ocaml/digest.mli +0 -68
  303. package/lib/ocaml/dom.cmi +0 -0
  304. package/lib/ocaml/dom.cmt +0 -0
  305. package/lib/ocaml/dom.ml +0 -296
  306. package/lib/ocaml/dom_storage.cmi +0 -0
  307. package/lib/ocaml/dom_storage.cmt +0 -0
  308. package/lib/ocaml/dom_storage.ml +0 -22
  309. package/lib/ocaml/dom_storage2.cmi +0 -0
  310. package/lib/ocaml/dom_storage2.cmt +0 -0
  311. package/lib/ocaml/dom_storage2.ml +0 -11
  312. package/lib/ocaml/filename.cmi +0 -0
  313. package/lib/ocaml/filename.cmt +0 -0
  314. package/lib/ocaml/filename.cmti +0 -0
  315. package/lib/ocaml/filename.ml +0 -233
  316. package/lib/ocaml/filename.mli +0 -134
  317. package/lib/ocaml/genlex.cmi +0 -0
  318. package/lib/ocaml/genlex.cmt +0 -0
  319. package/lib/ocaml/genlex.cmti +0 -0
  320. package/lib/ocaml/genlex.ml +0 -201
  321. package/lib/ocaml/genlex.mli +0 -73
  322. package/lib/ocaml/hashmap.cppo.ml +0 -214
  323. package/lib/ocaml/hashmap.cppo.mli +0 -54
  324. package/lib/ocaml/hashset.cppo.ml +0 -165
  325. package/lib/ocaml/hashset.cppo.mli +0 -77
  326. package/lib/ocaml/hashtbl.cmi +0 -0
  327. package/lib/ocaml/hashtbl.cmt +0 -0
  328. package/lib/ocaml/hashtbl.cmti +0 -0
  329. package/lib/ocaml/hashtbl.ml +0 -541
  330. package/lib/ocaml/hashtbl.mli +0 -411
  331. package/lib/ocaml/hashtblLabels.cmi +0 -0
  332. package/lib/ocaml/hashtblLabels.cmt +0 -0
  333. package/lib/ocaml/hashtblLabels.ml +0 -130
  334. package/lib/ocaml/int32.cmi +0 -0
  335. package/lib/ocaml/int32.cmt +0 -0
  336. package/lib/ocaml/int32.cmti +0 -0
  337. package/lib/ocaml/int32.ml +0 -64
  338. package/lib/ocaml/int32.mli +0 -186
  339. package/lib/ocaml/int64.cmi +0 -0
  340. package/lib/ocaml/int64.cmt +0 -0
  341. package/lib/ocaml/int64.cmti +0 -0
  342. package/lib/ocaml/int64.ml +0 -72
  343. package/lib/ocaml/int64.mli +0 -197
  344. package/lib/ocaml/internal_map.cppo.ml +0 -230
  345. package/lib/ocaml/internal_set.cppo.ml +0 -134
  346. package/lib/ocaml/js.cmi +0 -0
  347. package/lib/ocaml/js.cmt +0 -0
  348. package/lib/ocaml/js.ml +0 -313
  349. package/lib/ocaml/js_OO.cmi +0 -0
  350. package/lib/ocaml/js_OO.cmt +0 -0
  351. package/lib/ocaml/js_OO.ml +0 -180
  352. package/lib/ocaml/js_array.cmi +0 -0
  353. package/lib/ocaml/js_array.cmt +0 -0
  354. package/lib/ocaml/js_array.ml +0 -970
  355. package/lib/ocaml/js_array2.cmi +0 -0
  356. package/lib/ocaml/js_array2.cmt +0 -0
  357. package/lib/ocaml/js_array2.ml +0 -1065
  358. package/lib/ocaml/js_bigint.cmi +0 -0
  359. package/lib/ocaml/js_bigint.cmt +0 -0
  360. package/lib/ocaml/js_bigint.ml +0 -3
  361. package/lib/ocaml/js_cast.cmi +0 -0
  362. package/lib/ocaml/js_cast.cmt +0 -0
  363. package/lib/ocaml/js_cast.cmti +0 -0
  364. package/lib/ocaml/js_cast.ml +0 -29
  365. package/lib/ocaml/js_cast.mli +0 -45
  366. package/lib/ocaml/js_console.cmi +0 -0
  367. package/lib/ocaml/js_console.cmt +0 -0
  368. package/lib/ocaml/js_console.ml +0 -51
  369. package/lib/ocaml/js_date.cmi +0 -0
  370. package/lib/ocaml/js_date.cmt +0 -0
  371. package/lib/ocaml/js_date.ml +0 -1263
  372. package/lib/ocaml/js_dict.cmi +0 -0
  373. package/lib/ocaml/js_dict.cmt +0 -0
  374. package/lib/ocaml/js_dict.cmti +0 -0
  375. package/lib/ocaml/js_dict.ml +0 -114
  376. package/lib/ocaml/js_dict.mli +0 -152
  377. package/lib/ocaml/js_exn.cmi +0 -0
  378. package/lib/ocaml/js_exn.cmt +0 -0
  379. package/lib/ocaml/js_exn.cmti +0 -0
  380. package/lib/ocaml/js_exn.ml +0 -102
  381. package/lib/ocaml/js_exn.mli +0 -79
  382. package/lib/ocaml/js_float.cmi +0 -0
  383. package/lib/ocaml/js_float.cmt +0 -0
  384. package/lib/ocaml/js_float.ml +0 -294
  385. package/lib/ocaml/js_global.cmi +0 -0
  386. package/lib/ocaml/js_global.cmt +0 -0
  387. package/lib/ocaml/js_global.ml +0 -185
  388. package/lib/ocaml/js_int.cmi +0 -0
  389. package/lib/ocaml/js_int.cmt +0 -0
  390. package/lib/ocaml/js_int.ml +0 -158
  391. package/lib/ocaml/js_json.cmi +0 -0
  392. package/lib/ocaml/js_json.cmt +0 -0
  393. package/lib/ocaml/js_json.cmti +0 -0
  394. package/lib/ocaml/js_json.ml +0 -195
  395. package/lib/ocaml/js_json.mli +0 -244
  396. package/lib/ocaml/js_list.cmi +0 -0
  397. package/lib/ocaml/js_list.cmt +0 -0
  398. package/lib/ocaml/js_list.cmti +0 -0
  399. package/lib/ocaml/js_list.ml +0 -174
  400. package/lib/ocaml/js_list.mli +0 -72
  401. package/lib/ocaml/js_map.cmi +0 -0
  402. package/lib/ocaml/js_map.cmt +0 -0
  403. package/lib/ocaml/js_map.ml +0 -3
  404. package/lib/ocaml/js_mapperRt.cmi +0 -0
  405. package/lib/ocaml/js_mapperRt.cmt +0 -0
  406. package/lib/ocaml/js_mapperRt.cmti +0 -0
  407. package/lib/ocaml/js_mapperRt.ml +0 -50
  408. package/lib/ocaml/js_mapperRt.mli +0 -44
  409. package/lib/ocaml/js_math.cmi +0 -0
  410. package/lib/ocaml/js_math.cmt +0 -0
  411. package/lib/ocaml/js_math.ml +0 -626
  412. package/lib/ocaml/js_null.cmi +0 -0
  413. package/lib/ocaml/js_null.cmt +0 -0
  414. package/lib/ocaml/js_null.cmti +0 -0
  415. package/lib/ocaml/js_null.ml +0 -57
  416. package/lib/ocaml/js_null.mli +0 -87
  417. package/lib/ocaml/js_null_undefined.cmi +0 -0
  418. package/lib/ocaml/js_null_undefined.cmt +0 -0
  419. package/lib/ocaml/js_null_undefined.cmti +0 -0
  420. package/lib/ocaml/js_null_undefined.ml +0 -50
  421. package/lib/ocaml/js_null_undefined.mli +0 -85
  422. package/lib/ocaml/js_obj.cmi +0 -0
  423. package/lib/ocaml/js_obj.cmt +0 -0
  424. package/lib/ocaml/js_obj.ml +0 -100
  425. package/lib/ocaml/js_option.cmi +0 -0
  426. package/lib/ocaml/js_option.cmt +0 -0
  427. package/lib/ocaml/js_option.cmti +0 -0
  428. package/lib/ocaml/js_option.ml +0 -203
  429. package/lib/ocaml/js_option.mli +0 -52
  430. package/lib/ocaml/js_promise.cmi +0 -0
  431. package/lib/ocaml/js_promise.cmt +0 -0
  432. package/lib/ocaml/js_promise.ml +0 -100
  433. package/lib/ocaml/js_re.cmi +0 -0
  434. package/lib/ocaml/js_re.cmt +0 -0
  435. package/lib/ocaml/js_re.ml +0 -184
  436. package/lib/ocaml/js_result.cmi +0 -0
  437. package/lib/ocaml/js_result.cmt +0 -0
  438. package/lib/ocaml/js_result.cmti +0 -0
  439. package/lib/ocaml/js_result.ml +0 -28
  440. package/lib/ocaml/js_result.mli +0 -28
  441. package/lib/ocaml/js_set.cmi +0 -0
  442. package/lib/ocaml/js_set.cmt +0 -0
  443. package/lib/ocaml/js_set.ml +0 -3
  444. package/lib/ocaml/js_string.cmi +0 -0
  445. package/lib/ocaml/js_string.cmt +0 -0
  446. package/lib/ocaml/js_string.ml +0 -914
  447. package/lib/ocaml/js_string2.cmi +0 -0
  448. package/lib/ocaml/js_string2.cmt +0 -0
  449. package/lib/ocaml/js_string2.ml +0 -912
  450. package/lib/ocaml/js_typed_array.cmi +0 -0
  451. package/lib/ocaml/js_typed_array.cmt +0 -0
  452. package/lib/ocaml/js_typed_array.cppo.ml +0 -429
  453. package/lib/ocaml/js_typed_array.ml +0 -1405
  454. package/lib/ocaml/js_typed_array2.cmi +0 -0
  455. package/lib/ocaml/js_typed_array2.cmt +0 -0
  456. package/lib/ocaml/js_typed_array2.cppo.ml +0 -296
  457. package/lib/ocaml/js_typed_array2.ml +0 -1269
  458. package/lib/ocaml/js_types.cmi +0 -0
  459. package/lib/ocaml/js_types.cmt +0 -0
  460. package/lib/ocaml/js_types.cmti +0 -0
  461. package/lib/ocaml/js_types.ml +0 -118
  462. package/lib/ocaml/js_types.mli +0 -78
  463. package/lib/ocaml/js_undefined.cmi +0 -0
  464. package/lib/ocaml/js_undefined.cmt +0 -0
  465. package/lib/ocaml/js_undefined.cmti +0 -0
  466. package/lib/ocaml/js_undefined.ml +0 -59
  467. package/lib/ocaml/js_undefined.mli +0 -92
  468. package/lib/ocaml/js_vector.cmi +0 -0
  469. package/lib/ocaml/js_vector.cmt +0 -0
  470. package/lib/ocaml/js_vector.cmti +0 -0
  471. package/lib/ocaml/js_vector.ml +0 -143
  472. package/lib/ocaml/js_vector.mli +0 -92
  473. package/lib/ocaml/js_weakmap.cmi +0 -0
  474. package/lib/ocaml/js_weakmap.cmt +0 -0
  475. package/lib/ocaml/js_weakmap.ml +0 -3
  476. package/lib/ocaml/js_weakset.cmi +0 -0
  477. package/lib/ocaml/js_weakset.cmt +0 -0
  478. package/lib/ocaml/js_weakset.ml +0 -3
  479. package/lib/ocaml/jsx.cmi +0 -0
  480. package/lib/ocaml/jsx.cmt +0 -0
  481. package/lib/ocaml/jsx.ml +0 -39
  482. package/lib/ocaml/jsxDOM.cmi +0 -0
  483. package/lib/ocaml/jsxDOM.cmt +0 -0
  484. package/lib/ocaml/jsxDOM.ml +0 -2087
  485. package/lib/ocaml/jsxDOMStyle.cmi +0 -0
  486. package/lib/ocaml/jsxDOMStyle.cmt +0 -0
  487. package/lib/ocaml/jsxDOMStyle.ml +0 -777
  488. package/lib/ocaml/jsxEvent.cmi +0 -0
  489. package/lib/ocaml/jsxEvent.cmt +0 -0
  490. package/lib/ocaml/jsxEvent.ml +0 -358
  491. package/lib/ocaml/lazy.cmi +0 -0
  492. package/lib/ocaml/lazy.cmt +0 -0
  493. package/lib/ocaml/lazy.cmti +0 -0
  494. package/lib/ocaml/lazy.ml +0 -70
  495. package/lib/ocaml/lazy.mli +0 -95
  496. package/lib/ocaml/lexing.cmi +0 -0
  497. package/lib/ocaml/lexing.cmt +0 -0
  498. package/lib/ocaml/lexing.cmti +0 -0
  499. package/lib/ocaml/lexing.ml +0 -230
  500. package/lib/ocaml/lexing.mli +0 -172
  501. package/lib/ocaml/list.cmi +0 -0
  502. package/lib/ocaml/list.cmt +0 -0
  503. package/lib/ocaml/list.cmti +0 -0
  504. package/lib/ocaml/list.ml +0 -485
  505. package/lib/ocaml/list.mli +0 -347
  506. package/lib/ocaml/listLabels.cmi +0 -0
  507. package/lib/ocaml/listLabels.cmt +0 -0
  508. package/lib/ocaml/listLabels.cmti +0 -0
  509. package/lib/ocaml/listLabels.ml +0 -485
  510. package/lib/ocaml/listLabels.mli +0 -353
  511. package/lib/ocaml/map.cmi +0 -0
  512. package/lib/ocaml/map.cmt +0 -0
  513. package/lib/ocaml/map.cmti +0 -0
  514. package/lib/ocaml/map.cppo.ml +0 -174
  515. package/lib/ocaml/map.cppo.mli +0 -191
  516. package/lib/ocaml/map.ml +0 -480
  517. package/lib/ocaml/map.mli +0 -315
  518. package/lib/ocaml/mapLabels.cmi +0 -0
  519. package/lib/ocaml/mapLabels.cmt +0 -0
  520. package/lib/ocaml/mapLabels.ml +0 -480
  521. package/lib/ocaml/mapm.cppo.ml +0 -177
  522. package/lib/ocaml/mapm.cppo.mli +0 -138
  523. package/lib/ocaml/moreLabels.cmi +0 -0
  524. package/lib/ocaml/moreLabels.cmt +0 -0
  525. package/lib/ocaml/moreLabels.cmti +0 -0
  526. package/lib/ocaml/moreLabels.ml +0 -22
  527. package/lib/ocaml/moreLabels.mli +0 -198
  528. package/lib/ocaml/node.cmi +0 -0
  529. package/lib/ocaml/node.cmt +0 -0
  530. package/lib/ocaml/node.ml +0 -84
  531. package/lib/ocaml/node_buffer.cmi +0 -0
  532. package/lib/ocaml/node_buffer.cmt +0 -0
  533. package/lib/ocaml/node_buffer.ml +0 -47
  534. package/lib/ocaml/node_child_process.cmi +0 -0
  535. package/lib/ocaml/node_child_process.cmt +0 -0
  536. package/lib/ocaml/node_child_process.ml +0 -50
  537. package/lib/ocaml/node_fs.cmi +0 -0
  538. package/lib/ocaml/node_fs.cmt +0 -0
  539. package/lib/ocaml/node_fs.ml +0 -153
  540. package/lib/ocaml/node_module.cmi +0 -0
  541. package/lib/ocaml/node_module.cmt +0 -0
  542. package/lib/ocaml/node_module.ml +0 -29
  543. package/lib/ocaml/node_path.cmi +0 -0
  544. package/lib/ocaml/node_path.cmt +0 -0
  545. package/lib/ocaml/node_path.ml +0 -71
  546. package/lib/ocaml/node_process.cmi +0 -0
  547. package/lib/ocaml/node_process.cmt +0 -0
  548. package/lib/ocaml/node_process.cmti +0 -0
  549. package/lib/ocaml/node_process.ml +0 -59
  550. package/lib/ocaml/node_process.mli +0 -48
  551. package/lib/ocaml/obj.cmi +0 -0
  552. package/lib/ocaml/obj.cmt +0 -0
  553. package/lib/ocaml/obj.cmti +0 -0
  554. package/lib/ocaml/obj.ml +0 -29
  555. package/lib/ocaml/obj.mli +0 -62
  556. package/lib/ocaml/parsing.cmi +0 -0
  557. package/lib/ocaml/parsing.cmt +0 -0
  558. package/lib/ocaml/parsing.cmti +0 -0
  559. package/lib/ocaml/parsing.ml +0 -212
  560. package/lib/ocaml/parsing.mli +0 -105
  561. package/lib/ocaml/pervasives.cmi +0 -0
  562. package/lib/ocaml/pervasives.cmt +0 -0
  563. package/lib/ocaml/pervasives.cmti +0 -0
  564. package/lib/ocaml/pervasives.ml +0 -297
  565. package/lib/ocaml/pervasives.mli +0 -771
  566. package/lib/ocaml/printexc.cmi +0 -0
  567. package/lib/ocaml/printexc.cmt +0 -0
  568. package/lib/ocaml/printexc.cmti +0 -0
  569. package/lib/ocaml/printexc.ml +0 -79
  570. package/lib/ocaml/printexc.mli +0 -57
  571. package/lib/ocaml/queue.cmi +0 -0
  572. package/lib/ocaml/queue.cmt +0 -0
  573. package/lib/ocaml/queue.cmti +0 -0
  574. package/lib/ocaml/queue.ml +0 -132
  575. package/lib/ocaml/queue.mli +0 -82
  576. package/lib/ocaml/random.cmi +0 -0
  577. package/lib/ocaml/random.cmt +0 -0
  578. package/lib/ocaml/random.cmti +0 -0
  579. package/lib/ocaml/random.ml +0 -273
  580. package/lib/ocaml/random.mli +0 -102
  581. package/lib/ocaml/set.cmi +0 -0
  582. package/lib/ocaml/set.cmt +0 -0
  583. package/lib/ocaml/set.cmti +0 -0
  584. package/lib/ocaml/set.ml +0 -526
  585. package/lib/ocaml/set.mli +0 -266
  586. package/lib/ocaml/setLabels.cmi +0 -0
  587. package/lib/ocaml/setLabels.cmt +0 -0
  588. package/lib/ocaml/setLabels.ml +0 -526
  589. package/lib/ocaml/setm.cppo.ml +0 -346
  590. package/lib/ocaml/setm.cppo.mli +0 -126
  591. package/lib/ocaml/sort.cmi +0 -0
  592. package/lib/ocaml/sort.cmt +0 -0
  593. package/lib/ocaml/sort.cmti +0 -0
  594. package/lib/ocaml/sort.cppo.ml +0 -267
  595. package/lib/ocaml/sort.cppo.mli +0 -96
  596. package/lib/ocaml/sort.ml +0 -99
  597. package/lib/ocaml/sort.mli +0 -44
  598. package/lib/ocaml/stack.cmi +0 -0
  599. package/lib/ocaml/stack.cmt +0 -0
  600. package/lib/ocaml/stack.cmti +0 -0
  601. package/lib/ocaml/stack.ml +0 -44
  602. package/lib/ocaml/stack.mli +0 -63
  603. package/lib/ocaml/stdLabels.cmi +0 -0
  604. package/lib/ocaml/stdLabels.cmt +0 -0
  605. package/lib/ocaml/stdLabels.cmti +0 -0
  606. package/lib/ocaml/stdLabels.ml +0 -24
  607. package/lib/ocaml/stdLabels.mli +0 -29
  608. package/lib/ocaml/stream.cmi +0 -0
  609. package/lib/ocaml/stream.cmt +0 -0
  610. package/lib/ocaml/stream.cmti +0 -0
  611. package/lib/ocaml/stream.ml +0 -213
  612. package/lib/ocaml/stream.mli +0 -108
  613. package/lib/ocaml/string.cmi +0 -0
  614. package/lib/ocaml/string.cmt +0 -0
  615. package/lib/ocaml/string.cmti +0 -0
  616. package/lib/ocaml/string.ml +0 -190
  617. package/lib/ocaml/string.mli +0 -286
  618. package/lib/ocaml/stringLabels.cmi +0 -0
  619. package/lib/ocaml/stringLabels.cmt +0 -0
  620. package/lib/ocaml/stringLabels.cmti +0 -0
  621. package/lib/ocaml/stringLabels.ml +0 -190
  622. package/lib/ocaml/stringLabels.mli +0 -241
  623. package/lib/ocaml/sys.cmi +0 -0
  624. package/lib/ocaml/sys.cmt +0 -0
  625. package/lib/ocaml/sys.cmti +0 -0
  626. package/lib/ocaml/sys.ml +0 -135
  627. package/lib/ocaml/sys.mli +0 -333
  628. package/lib/ocaml/uchar.cmi +0 -0
  629. package/lib/ocaml/uchar.cmt +0 -0
  630. package/lib/ocaml/uchar.cmti +0 -0
  631. package/lib/ocaml/uchar.ml +0 -58
  632. package/lib/ocaml/uchar.mli +0 -98
  633. package/linux/bsb_helper.exe +0 -0
  634. package/linux/bsc.exe +0 -0
  635. package/linux/ninja.COPYING +0 -202
  636. package/linux/ninja.exe +0 -0
  637. package/linux/rescript.exe +0 -0
  638. package/openbsd/.keep +0 -0
  639. package/scripts/LICENSE.ml +0 -27
  640. package/scripts/buckle_lto.js +0 -55
  641. package/scripts/build_sorted.ml +0 -233
  642. package/scripts/caml_oo_curry_gen.ml +0 -71
  643. package/scripts/checkUnused.js +0 -63
  644. package/scripts/ciTest.js +0 -172
  645. package/scripts/cover.sh +0 -3
  646. package/scripts/curry_gen.ml +0 -167
  647. package/scripts/dbg +0 -13
  648. package/scripts/dedupe.js +0 -44
  649. package/scripts/doc_gen.js +0 -117
  650. package/scripts/js_internal_gen.js +0 -135
  651. package/scripts/jsconfig.json +0 -12
  652. package/scripts/littlecase.js +0 -21
  653. package/scripts/ninja.js +0 -1980
  654. package/scripts/pack.js +0 -107
  655. package/scripts/prebuilt.js +0 -99
  656. package/scripts/release.js +0 -41
  657. package/scripts/repl.js +0 -151
  658. package/scripts/shake.js +0 -138
  659. package/scripts/tasks.js +0 -149
  660. package/scripts/test.sh +0 -3
  661. package/scripts/tmp.js +0 -98
  662. package/scripts/validate.js +0 -41
  663. package/vendor/ninja.tar.gz +0 -0
  664. package/win32/bsb_helper.exe +0 -0
  665. package/win32/bsc.exe +0 -0
  666. package/win32/ninja.COPYING +0 -202
  667. package/win32/ninja.exe +0 -0
  668. package/win32/rescript.exe +0 -0
@@ -1,149 +0,0 @@
1
- (**************************************************************************)
2
- (* *)
3
- (* OCaml *)
4
- (* *)
5
- (* Pierre Weis and Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
6
- (* *)
7
- (* Copyright 1999 Institut National de Recherche en Informatique et *)
8
- (* en Automatique. *)
9
- (* *)
10
- (* All rights reserved. This file is distributed under the terms of *)
11
- (* the GNU Lesser General Public License version 2.1, with the *)
12
- (* special exception on linking described in the file LICENSE. *)
13
- (* *)
14
- (**************************************************************************)
15
-
16
- (** Extensible buffers.
17
-
18
- This module implements buffers that automatically expand
19
- as necessary. It provides accumulative concatenation of strings
20
- in quasi-linear time (instead of quadratic time when strings are
21
- concatenated pairwise).
22
- *)
23
-
24
- type t
25
- (** The abstract type of buffers. *)
26
-
27
- val create : int -> t
28
- (** [create n] returns a fresh buffer, initially empty.
29
- The [n] parameter is the initial size of the internal byte sequence
30
- that holds the buffer contents. That byte sequence is automatically
31
- reallocated when more than [n] characters are stored in the buffer,
32
- but shrinks back to [n] characters when [reset] is called.
33
- For best performance, [n] should be of the same order of magnitude
34
- as the number of characters that are expected to be stored in
35
- the buffer (for instance, 80 for a buffer that holds one output
36
- line). Nothing bad will happen if the buffer grows beyond that
37
- limit, however. In doubt, take [n = 16] for instance.
38
- If [n] is not between 1 and {!Sys.max_string_length}, it will
39
- be clipped to that interval. *)
40
-
41
- val contents : t -> string
42
- (** Return a copy of the current contents of the buffer.
43
- The buffer itself is unchanged. *)
44
-
45
- val to_bytes : t -> bytes
46
- (** Return a copy of the current contents of the buffer.
47
- The buffer itself is unchanged.
48
- @since 4.02 *)
49
-
50
- val sub : t -> int -> int -> string
51
- (** [Buffer.sub b off len] returns a copy of [len] bytes from the
52
- current contents of the buffer [b], starting at offset [off].
53
-
54
- Raise [Invalid_argument] if [srcoff] and [len] do not designate a valid
55
- range of [b]. *)
56
-
57
- val blit : t -> int -> bytes -> int -> int -> unit
58
- (** [Buffer.blit src srcoff dst dstoff len] copies [len] characters from
59
- the current contents of the buffer [src], starting at offset [srcoff]
60
- to [dst], starting at character [dstoff].
61
-
62
- Raise [Invalid_argument] if [srcoff] and [len] do not designate a valid
63
- range of [src], or if [dstoff] and [len] do not designate a valid
64
- range of [dst].
65
- @since 3.11.2
66
- *)
67
-
68
- val nth : t -> int -> char
69
- (** Get the n-th character of the buffer. Raise [Invalid_argument] if
70
- index out of bounds *)
71
-
72
- val length : t -> int
73
- (** Return the number of characters currently contained in the buffer. *)
74
-
75
- val clear : t -> unit
76
- (** Empty the buffer. *)
77
-
78
- val reset : t -> unit
79
- (** Empty the buffer and deallocate the internal byte sequence holding the
80
- buffer contents, replacing it with the initial internal byte sequence
81
- of length [n] that was allocated by {!Buffer.create} [n].
82
- For long-lived buffers that may have grown a lot, [reset] allows
83
- faster reclamation of the space used by the buffer. *)
84
-
85
- val add_char : t -> char -> unit
86
- (** [add_char b c] appends the character [c] at the end of buffer [b]. *)
87
-
88
- val add_utf_8_uchar : t -> Uchar.t -> unit
89
- (** [add_utf_8_uchar b u] appends the {{:https://tools.ietf.org/html/rfc3629}
90
- UTF-8} encoding of [u] at the end of buffer [b].
91
-
92
- @since 4.06.0 *)
93
-
94
- val add_utf_16le_uchar : t -> Uchar.t -> unit
95
- (** [add_utf_16le_uchar b u] appends the
96
- {{:https://tools.ietf.org/html/rfc2781}UTF-16LE} encoding of [u]
97
- at the end of buffer [b].
98
-
99
- @since 4.06.0 *)
100
-
101
- val add_utf_16be_uchar : t -> Uchar.t -> unit
102
- (** [add_utf_16be_uchar b u] appends the
103
- {{:https://tools.ietf.org/html/rfc2781}UTF-16BE} encoding of [u]
104
- at the end of buffer [b].
105
-
106
- @since 4.06.0 *)
107
-
108
- val add_string : t -> string -> unit
109
- (** [add_string b s] appends the string [s] at the end of buffer [b]. *)
110
-
111
- val add_bytes : t -> bytes -> unit
112
- (** [add_bytes b s] appends the byte sequence [s] at the end of buffer [b].
113
- @since 4.02 *)
114
-
115
- val add_substring : t -> string -> int -> int -> unit
116
- (** [add_substring b s ofs len] takes [len] characters from offset
117
- [ofs] in string [s] and appends them at the end of buffer [b]. *)
118
-
119
- val add_subbytes : t -> bytes -> int -> int -> unit
120
- (** [add_subbytes b s ofs len] takes [len] characters from offset
121
- [ofs] in byte sequence [s] and appends them at the end of buffer [b].
122
- @since 4.02 *)
123
-
124
- val add_substitute : t -> (string -> string) -> string -> unit
125
- (** [add_substitute b f s] appends the string pattern [s] at the end
126
- of buffer [b] with substitution.
127
- The substitution process looks for variables into
128
- the pattern and substitutes each variable name by its value, as
129
- obtained by applying the mapping [f] to the variable name. Inside the
130
- string pattern, a variable name immediately follows a non-escaped
131
- [$] character and is one of the following:
132
- - a non empty sequence of alphanumeric or [_] characters,
133
- - an arbitrary sequence of characters enclosed by a pair of
134
- matching parentheses or curly brackets.
135
- An escaped [$] character is a [$] that immediately follows a backslash
136
- character; it then stands for a plain [$].
137
- Raise [Not_found] if the closing character of a parenthesized variable
138
- cannot be found. *)
139
-
140
- val add_buffer : t -> t -> unit
141
- (** [add_buffer b1 b2] appends the current contents of buffer [b2]
142
- at the end of buffer [b1]. [b2] is not modified. *)
143
-
144
-
145
- val truncate : t -> int -> unit
146
- (** [truncate b len] truncates the length of [b] to [len]
147
- Note: the internal byte sequence is not shortened.
148
- Raise [Invalid_argument] if [len < 0] or [len > length b].
149
- @since 4.05.0 *)
Binary file
Binary file
Binary file
@@ -1,431 +0,0 @@
1
- (**************************************************************************)
2
- (* *)
3
- (* OCaml *)
4
- (* *)
5
- (* Xavier Leroy, projet Cristal, INRIA Rocquencourt *)
6
- (* *)
7
- (* Copyright 1996 Institut National de Recherche en Informatique et *)
8
- (* en Automatique. *)
9
- (* *)
10
- (* All rights reserved. This file is distributed under the terms of *)
11
- (* the GNU Lesser General Public License version 2.1, with the *)
12
- (* special exception on linking described in the file LICENSE. *)
13
- (* *)
14
- (**************************************************************************)
15
-
16
- (* Byte sequence operations *)
17
-
18
- (* WARNING: Some functions in this file are duplicated in string.ml for
19
- efficiency reasons. When you modify the one in this file you need to
20
- modify its duplicate in string.ml.
21
- These functions have a "duplicated" comment above their definition.
22
- *)
23
-
24
-
25
-
26
- external of_small_int_array :
27
- (_ [@bs.as {json|null|json}] ) ->
28
- int array -> string =
29
- "String.fromCharCode.apply"
30
- [@@bs.val]
31
-
32
- external (.!()) : string -> int -> char = "%string_unsafe_get"
33
- external length : bytes -> int = "%bytes_length"
34
- external%private string_length : string -> int = "%string_length"
35
- external get : bytes -> int -> char = "%bytes_safe_get"
36
- external set : bytes -> int -> char -> unit = "%bytes_safe_set"
37
- external create : int -> bytes = "?create_bytes"
38
-
39
- external unsafe_get : bytes -> int -> char = "%bytes_unsafe_get"
40
- external unsafe_set : bytes -> int -> char -> unit = "%bytes_unsafe_set"
41
- external (.![]) : bytes -> int -> char = "%bytes_unsafe_get"
42
- external (.![]<-) : bytes -> int -> char -> unit = "%bytes_unsafe_set"
43
- external new_uninitialized : int -> bytes = "Array" [@@bs.new]
44
- external to_int_array : bytes -> int array = "%identity"
45
-
46
- let unsafe_fill : bytes -> int -> int -> char -> unit
47
- = fun (s : bytes) i l (c : char) ->
48
- if l > 0 then
49
- for k = i to l + i - 1 do
50
- s.![k] <- c
51
- done
52
-
53
-
54
-
55
-
56
- (** Same as {!Array.prototype.copyWithin} *)
57
- let copyWithin (s1 : bytes) i1 i2 len =
58
- if i1 < i2 then (* nop for i1 = i2 *)
59
- let range_a = length s1 - i2 - 1 in
60
- let range_b = len - 1 in
61
- let range = if range_a > range_b then range_b else range_a in
62
- for j = range downto 0 do
63
- s1.![i2 + j] <- s1.![i1 + j]
64
- done
65
- else if i1 > i2 then
66
- let range_a = length s1 - i1 - 1 in
67
- let range_b = len - 1 in
68
- let range = if range_a > range_b then range_b else range_a in
69
- for k = 0 to range do
70
- s1.![i2 + k] <- s1.![i1 + k]
71
- done
72
-
73
- (* TODO: when the compiler could optimize small function calls,
74
- use high order functions instead
75
- *)
76
- let unsafe_blit (s1:bytes) i1 (s2:bytes) i2 len =
77
- if len > 0 then
78
- if s1 == s2 then
79
- copyWithin s1 i1 i2 len
80
- else
81
- let off1 = length s1 - i1 in
82
- if len <= off1 then
83
- for i = 0 to len - 1 do
84
- s2.![i2 + i] <- s1.![i1 + i]
85
- done
86
- else
87
- begin
88
- for i = 0 to off1 - 1 do
89
- s2.![i2 + i] <- s1.![i1 + i]
90
- done;
91
- for i = off1 to len - 1 do
92
- s2.![i2 + i] <- '\000'
93
- done
94
- end
95
-
96
- let unsafe_blit_string (s1 : string) i1 (s2 : bytes) i2 (len : int ) =
97
- if len > 0 then
98
- let off1 = string_length s1 - i1 in
99
- if len <= off1 then
100
- for i = 0 to len - 1 do
101
- s2.![i2 + i] <- s1.!(i1 + i)
102
- done
103
- else
104
- begin
105
- for i = 0 to off1 - 1 do
106
- s2.![i2 + i] <- s1.!(i1 + i)
107
- done;
108
- for i = off1 to len - 1 do
109
- s2.![i2 + i] <- '\000'
110
- done
111
- end
112
- let string_of_large_bytes (bytes : bytes) i len =
113
- let s = ref "" in
114
- let s_len = ref len in
115
- let seg = 1024 in
116
- if i = 0 && len <= 4 * seg && len = length bytes then
117
- of_small_int_array (to_int_array bytes)
118
- else
119
- begin
120
- let offset = ref 0 in
121
- while s_len.contents > 0 do
122
- let next = if s_len.contents < 1024 then s_len.contents else seg in
123
- let tmp_bytes = new_uninitialized next in
124
- for k = 0 to next - 1 do
125
- tmp_bytes.![k] <- bytes.![k + offset.contents]
126
- done;
127
- s.contents <- s.contents ^ of_small_int_array (to_int_array tmp_bytes);
128
- s_len.contents <- s_len.contents - next ;
129
- offset.contents <- offset.contents + next;
130
- done;
131
- s.contents
132
- end
133
-
134
-
135
- let make n c =
136
- let s = create n in
137
- unsafe_fill s 0 n c;
138
- s
139
-
140
- let init n f =
141
- let s = create n in
142
- for i = 0 to n - 1 do
143
- unsafe_set s i (f i)
144
- done;
145
- s
146
-
147
- let empty = create 0
148
-
149
- let copy s =
150
- let len = length s in
151
- let r = create len in
152
- unsafe_blit s 0 r 0 len;
153
- r
154
-
155
- let to_string (a : bytes) : string =
156
- string_of_large_bytes a 0 (length a)
157
-
158
- let unsafe_to_string = to_string
159
-
160
- (** checkout [Bytes.empty] -- to be inlined? *)
161
- let of_string (s : string) =
162
- let len = string_length s in
163
- let res = new_uninitialized len in
164
- for i = 0 to len - 1 do
165
- res.![i] <- s.!(i)
166
- (* Note that when get a char and convert it to int immedately, should be optimized
167
- should be [s.charCodeAt[i]]
168
- *)
169
- done;
170
- res
171
-
172
- let unsafe_of_string = of_string
173
-
174
- let sub s ofs len =
175
- if ofs < 0 || len < 0 || ofs > length s - len
176
- then invalid_arg "String.sub / Bytes.sub"
177
- else begin
178
- let r = create len in
179
- unsafe_blit s ofs r 0 len;
180
- r
181
- end
182
-
183
- let sub_string b ofs len = unsafe_to_string (sub b ofs len)
184
-
185
- (* addition with an overflow check *)
186
- let (++) a b =
187
- let c = a + b in
188
- match a < 0, b < 0, c < 0 with
189
- | true , true , false
190
- | false, false, true -> invalid_arg "Bytes.extend" (* overflow *)
191
- | _ -> c
192
-
193
- let extend s left right =
194
- let len = length s ++ left ++ right in
195
- let r = create len in
196
- let (srcoff, dstoff) = if left < 0 then -left, 0 else 0, left in
197
- let cpylen = min (length s - srcoff) (len - dstoff) in
198
- if cpylen > 0 then unsafe_blit s srcoff r dstoff cpylen;
199
- r
200
-
201
- let fill s ofs len c =
202
- if ofs < 0 || len < 0 || ofs > length s - len
203
- then invalid_arg "String.fill / Bytes.fill"
204
- else unsafe_fill s ofs len c
205
-
206
- let blit s1 ofs1 s2 ofs2 len =
207
- if len < 0 || ofs1 < 0 || ofs1 > length s1 - len
208
- || ofs2 < 0 || ofs2 > length s2 - len
209
- then invalid_arg "Bytes.blit"
210
- else unsafe_blit s1 ofs1 s2 ofs2 len
211
-
212
- let blit_string s1 ofs1 s2 ofs2 len =
213
- if len < 0 || ofs1 < 0 || ofs1 > string_length s1 - len
214
- || ofs2 < 0 || ofs2 > length s2 - len
215
- then invalid_arg "String.blit / Bytes.blit_string"
216
- else unsafe_blit_string s1 ofs1 s2 ofs2 len
217
-
218
- (* duplicated in string.ml *)
219
- let iter f a =
220
- for i = 0 to length a - 1 do f(unsafe_get a i) done
221
-
222
- (* duplicated in string.ml *)
223
- let iteri f a =
224
- for i = 0 to length a - 1 do f i (unsafe_get a i) done
225
-
226
- let ensure_ge (x:int) y = if x >= y then x else invalid_arg "Bytes.concat"
227
-
228
- let rec sum_lengths acc seplen = function
229
- | [] -> acc
230
- | hd :: [] -> length hd + acc
231
- | hd :: tl -> sum_lengths (ensure_ge (length hd + seplen + acc) acc) seplen tl
232
-
233
- let rec unsafe_blits dst pos sep seplen = function
234
- [] -> dst
235
- | hd :: [] ->
236
- unsafe_blit hd 0 dst pos (length hd); dst
237
- | hd :: tl ->
238
- unsafe_blit hd 0 dst pos (length hd);
239
- unsafe_blit sep 0 dst (pos + length hd) seplen;
240
- unsafe_blits dst (pos + length hd + seplen) sep seplen tl
241
-
242
- let concat sep = function
243
- [] -> empty
244
- | l -> let seplen = length sep in
245
- unsafe_blits
246
- (create (sum_lengths 0 seplen l))
247
- 0 sep seplen l
248
-
249
- let cat s1 s2 =
250
- let l1 = length s1 in
251
- let l2 = length s2 in
252
- let r = create (l1 + l2) in
253
- unsafe_blit s1 0 r 0 l1;
254
- unsafe_blit s2 0 r l1 l2;
255
- r
256
-
257
-
258
- external char_chr: int -> char = "%identity"
259
-
260
- let is_space = function
261
- | ' ' | '\012' | '\n' | '\r' | '\t' -> true
262
- | _ -> false
263
-
264
- let trim s =
265
- let len = length s in
266
- let i = ref 0 in
267
- while !i < len && is_space (unsafe_get s !i) do
268
- incr i
269
- done;
270
- let j = ref (len - 1) in
271
- while !j >= !i && is_space (unsafe_get s !j) do
272
- decr j
273
- done;
274
- if !j >= !i then
275
- sub s !i (!j - !i + 1)
276
- else
277
- empty
278
-
279
- let escaped s =
280
- let n = ref 0 in
281
- for i = 0 to length s - 1 do
282
- n := !n +
283
- (match unsafe_get s i with
284
- | '\"' | '\\' | '\n' | '\t' | '\r' | '\b' -> 2
285
- | ' ' .. '~' -> 1
286
- | _ -> 4)
287
- done;
288
- if !n = length s then copy s else begin
289
- let s' = create !n in
290
- n := 0;
291
- for i = 0 to length s - 1 do
292
- begin match unsafe_get s i with
293
- | ('\"' | '\\') as c ->
294
- unsafe_set s' !n '\\'; incr n; unsafe_set s' !n c
295
- | '\n' ->
296
- unsafe_set s' !n '\\'; incr n; unsafe_set s' !n 'n'
297
- | '\t' ->
298
- unsafe_set s' !n '\\'; incr n; unsafe_set s' !n 't'
299
- | '\r' ->
300
- unsafe_set s' !n '\\'; incr n; unsafe_set s' !n 'r'
301
- | '\b' ->
302
- unsafe_set s' !n '\\'; incr n; unsafe_set s' !n 'b'
303
- | (' ' .. '~') as c -> unsafe_set s' !n c
304
- | c ->
305
- let a = (c :> int) in
306
- unsafe_set s' !n '\\';
307
- incr n;
308
- unsafe_set s' !n (char_chr (48 + a / 100));
309
- incr n;
310
- unsafe_set s' !n (char_chr (48 + (a / 10) mod 10));
311
- incr n;
312
- unsafe_set s' !n (char_chr (48 + a mod 10));
313
- end;
314
- incr n
315
- done;
316
- s'
317
- end
318
-
319
- let map f s =
320
- let l = length s in
321
- if l = 0 then s else begin
322
- let r = create l in
323
- for i = 0 to l - 1 do unsafe_set r i (f (unsafe_get s i)) done;
324
- r
325
- end
326
-
327
- let mapi f s =
328
- let l = length s in
329
- if l = 0 then s else begin
330
- let r = create l in
331
- for i = 0 to l - 1 do unsafe_set r i (f i (unsafe_get s i)) done;
332
- r
333
- end
334
-
335
- let uppercase_ascii s = map Char.uppercase_ascii s
336
- let lowercase_ascii s = map Char.lowercase_ascii s
337
-
338
- let apply1 f s =
339
- if length s = 0 then s else begin
340
- let r = copy s in
341
- unsafe_set r 0 (f(unsafe_get s 0));
342
- r
343
- end
344
-
345
- let capitalize_ascii s = apply1 Char.uppercase_ascii s
346
- let uncapitalize_ascii s = apply1 Char.lowercase_ascii s
347
-
348
- (* duplicated in string.ml *)
349
- let rec index_rec s lim i c =
350
- if i >= lim then raise Not_found else
351
- if unsafe_get s i = c then i else index_rec s lim (i + 1) c
352
-
353
- (* duplicated in string.ml *)
354
- let index s c = index_rec s (length s) 0 c
355
-
356
- (* duplicated in string.ml *)
357
- let rec index_rec_opt s lim i c =
358
- if i >= lim then None else
359
- if unsafe_get s i = c then Some i else index_rec_opt s lim (i + 1) c
360
-
361
- (* duplicated in string.ml *)
362
- let index_opt s c = index_rec_opt s (length s) 0 c
363
-
364
- (* duplicated in string.ml *)
365
- let index_from s i c =
366
- let l = length s in
367
- if i < 0 || i > l then invalid_arg "String.index_from / Bytes.index_from" else
368
- index_rec s l i c
369
-
370
- (* duplicated in string.ml *)
371
- let index_from_opt s i c =
372
- let l = length s in
373
- if i < 0 || i > l then invalid_arg "String.index_from_opt / Bytes.index_from_opt" else
374
- index_rec_opt s l i c
375
-
376
- (* duplicated in string.ml *)
377
- let rec rindex_rec s i c =
378
- if i < 0 then raise Not_found else
379
- if unsafe_get s i = c then i else rindex_rec s (i - 1) c
380
-
381
- (* duplicated in string.ml *)
382
- let rindex s c = rindex_rec s (length s - 1) c
383
-
384
- (* duplicated in string.ml *)
385
- let rindex_from s i c =
386
- if i < -1 || i >= length s then
387
- invalid_arg "String.rindex_from / Bytes.rindex_from"
388
- else
389
- rindex_rec s i c
390
-
391
- (* duplicated in string.ml *)
392
- let rec rindex_rec_opt s i c =
393
- if i < 0 then None else
394
- if unsafe_get s i = c then Some i else rindex_rec_opt s (i - 1) c
395
-
396
- (* duplicated in string.ml *)
397
- let rindex_opt s c = rindex_rec_opt s (length s - 1) c
398
-
399
- (* duplicated in string.ml *)
400
- let rindex_from_opt s i c =
401
- if i < -1 || i >= length s then
402
- invalid_arg "String.rindex_from_opt / Bytes.rindex_from_opt"
403
- else
404
- rindex_rec_opt s i c
405
-
406
-
407
- (* duplicated in string.ml *)
408
- let contains_from s i c =
409
- let l = length s in
410
- if i < 0 || i > l then
411
- invalid_arg "String.contains_from / Bytes.contains_from"
412
- else
413
- try ignore (index_rec s l i c); true with Not_found -> false
414
-
415
-
416
- (* duplicated in string.ml *)
417
- let contains s c = contains_from s 0 c
418
-
419
- (* duplicated in string.ml *)
420
- let rcontains_from s i c =
421
- if i < 0 || i >= length s then
422
- invalid_arg "String.rcontains_from / Bytes.rcontains_from"
423
- else
424
- try ignore (rindex_rec s i c); true with Not_found -> false
425
-
426
-
427
- type t = bytes
428
-
429
- let compare (x: t) (y: t) = Pervasives.compare x y
430
- let equal (x : t) (y : t) = x = y
431
-