rubico 2.2.3 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/AggregateReducer.d.ts +10 -0
  2. package/README.md +0 -1
  3. package/Transducer.d.ts +231 -0
  4. package/Transducer.js +121 -43
  5. package/__.d.ts +2 -0
  6. package/_internal/ComparisonOperator.d.ts +2 -0
  7. package/_internal/EmptyMap.d.ts +2 -0
  8. package/_internal/FilteringAsyncIterator.d.ts +29 -0
  9. package/_internal/FilteringIterator.d.ts +25 -0
  10. package/_internal/FlatMappingAsyncIterator.d.ts +34 -0
  11. package/_internal/FlatMappingIterator.d.ts +15 -0
  12. package/_internal/MappingAsyncIterator.d.ts +21 -0
  13. package/_internal/MappingIterator.d.ts +29 -0
  14. package/_internal/NextIteration.d.ts +14 -0
  15. package/_internal/SelfReferencingPromise.d.ts +10 -0
  16. package/_internal/add.d.ts +11 -0
  17. package/_internal/always.d.ts +13 -0
  18. package/_internal/areAllValuesNonfunctions.d.ts +10 -0
  19. package/_internal/areAnyValuesPromises.d.ts +10 -0
  20. package/_internal/arrayConditional.d.ts +20 -0
  21. package/_internal/arrayEvery.d.ts +10 -0
  22. package/_internal/arrayExtend.d.ts +13 -0
  23. package/_internal/arrayExtendMap.d.ts +20 -0
  24. package/_internal/arrayFilter.d.ts +16 -0
  25. package/_internal/arrayFilterByConditions.d.ts +20 -0
  26. package/_internal/arrayFind.d.ts +15 -0
  27. package/_internal/arrayFlatMap.d.ts +20 -0
  28. package/_internal/arrayFlatten.d.ts +20 -0
  29. package/_internal/arrayForEach.d.ts +19 -0
  30. package/_internal/arrayJoin.d.ts +13 -0
  31. package/_internal/arrayMap.d.ts +16 -0
  32. package/_internal/arrayMapPool.d.ts +19 -0
  33. package/_internal/arrayMapSeries.d.ts +17 -0
  34. package/_internal/arrayPush.d.ts +11 -0
  35. package/_internal/arrayReduce.d.ts +14 -0
  36. package/_internal/arraySome.d.ts +13 -0
  37. package/_internal/asyncIteratorEvery.d.ts +16 -0
  38. package/_internal/asyncIteratorFind.d.ts +12 -0
  39. package/_internal/asyncIteratorForEach.d.ts +17 -0
  40. package/_internal/asyncIteratorReduce.d.ts +14 -0
  41. package/_internal/asyncIteratorSome.d.ts +16 -0
  42. package/_internal/binaryExtend.d.ts +16 -0
  43. package/_internal/bufferAlloc.d.ts +8 -0
  44. package/_internal/callConcat.d.ts +8 -0
  45. package/_internal/callPropBinary.d.ts +18 -0
  46. package/_internal/callPropUnary.d.ts +17 -0
  47. package/_internal/catcherApply.d.ts +17 -0
  48. package/_internal/copyDeep.d.ts +13 -0
  49. package/_internal/curry2.d.ts +21 -0
  50. package/_internal/curry3.d.ts +22 -0
  51. package/_internal/curry4.d.ts +23 -0
  52. package/_internal/curry5.d.ts +24 -0
  53. package/_internal/curryArgs2.d.ts +21 -0
  54. package/_internal/curryArgs3.d.ts +22 -0
  55. package/_internal/curryArgs4.d.ts +23 -0
  56. package/_internal/curryArity.d.ts +20 -0
  57. package/_internal/deleteByPath.d.ts +13 -0
  58. package/_internal/equals.d.ts +10 -0
  59. package/_internal/funcApply.d.ts +16 -0
  60. package/_internal/funcConcat.d.ts +17 -0
  61. package/_internal/funcConcatSync.d.ts +17 -0
  62. package/_internal/functionArrayAll.d.ts +10 -0
  63. package/_internal/functionArrayAllSeries.d.ts +10 -0
  64. package/_internal/functionObjectAll.d.ts +13 -0
  65. package/_internal/genericReduce.d.ts +26 -0
  66. package/_internal/genericTransform.d.ts +18 -0
  67. package/_internal/getArg1.d.ts +8 -0
  68. package/_internal/getByPath.d.ts +13 -0
  69. package/_internal/globalThisHasBuffer.d.ts +11 -0
  70. package/_internal/greaterThan.d.ts +10 -0
  71. package/_internal/greaterThanOrEqual.d.ts +10 -0
  72. package/_internal/identity.d.ts +11 -0
  73. package/_internal/isArray.d.ts +11 -0
  74. package/_internal/isAsyncGeneratorFunction.d.ts +11 -0
  75. package/_internal/isBinary.d.ts +11 -0
  76. package/_internal/isGeneratorFunction.d.ts +11 -0
  77. package/_internal/isNodeReadStream.d.ts +11 -0
  78. package/_internal/isObject.d.ts +11 -0
  79. package/_internal/isPromise.d.ts +11 -0
  80. package/_internal/iteratorEvery.d.ts +12 -0
  81. package/_internal/iteratorFind.d.ts +12 -0
  82. package/_internal/iteratorForEach.d.ts +19 -0
  83. package/_internal/iteratorReduce.d.ts +18 -0
  84. package/_internal/iteratorSome.d.ts +13 -0
  85. package/_internal/leftResolverRightResolverCompare.d.ts +2 -0
  86. package/_internal/leftResolverRightValueCompare.d.ts +2 -0
  87. package/_internal/leftValueRightResolverCompare.d.ts +2 -0
  88. package/_internal/lessThan.d.ts +10 -0
  89. package/_internal/lessThanOrEqual.d.ts +10 -0
  90. package/_internal/mapFilter.d.ts +21 -0
  91. package/_internal/mapFrom.d.ts +13 -0
  92. package/_internal/mapMap.d.ts +16 -0
  93. package/_internal/mapMapEntries.d.ts +13 -0
  94. package/_internal/mapReduce.d.ts +14 -0
  95. package/_internal/mapSet.d.ts +10 -0
  96. package/_internal/memoizeCappedUnary.d.ts +18 -0
  97. package/_internal/nonfunctionsConditional.d.ts +10 -0
  98. package/_internal/noop.d.ts +11 -0
  99. package/_internal/objectAssign.d.ts +15 -0
  100. package/_internal/objectFilter.d.ts +13 -0
  101. package/_internal/objectFlatMap.d.ts +26 -0
  102. package/_internal/objectFlatten.d.ts +21 -0
  103. package/_internal/objectForEach.d.ts +17 -0
  104. package/_internal/objectKeys.d.ts +11 -0
  105. package/_internal/objectKeysLength.d.ts +10 -0
  106. package/_internal/objectMap.d.ts +17 -0
  107. package/_internal/objectMapEntries.d.ts +13 -0
  108. package/_internal/objectReduce.d.ts +14 -0
  109. package/_internal/objectSet.d.ts +14 -0
  110. package/_internal/objectSetIf.d.ts +15 -0
  111. package/_internal/objectToString.d.ts +11 -0
  112. package/_internal/objectValues.d.ts +11 -0
  113. package/_internal/placeholder.d.ts +2 -0
  114. package/_internal/promiseAll.d.ts +11 -0
  115. package/_internal/promiseObjectAll.d.ts +13 -0
  116. package/_internal/promiseRace.d.ts +11 -0
  117. package/_internal/propertyPathToArray.d.ts +10 -0
  118. package/_internal/reducerAllSync.d.ts +10 -0
  119. package/_internal/reducerAnySync.d.ts +10 -0
  120. package/_internal/reducerConcat.d.ts +15 -0
  121. package/_internal/reducerEvery.d.ts +12 -0
  122. package/_internal/reducerFilter.d.ts +19 -0
  123. package/_internal/reducerFlatMap.d.ts +20 -0
  124. package/_internal/reducerForEach.d.ts +18 -0
  125. package/_internal/reducerMap.d.ts +19 -0
  126. package/_internal/reducerSome.d.ts +16 -0
  127. package/_internal/reducerTryCatch.d.ts +15 -0
  128. package/_internal/sameValueZero.d.ts +13 -0
  129. package/_internal/setByPath.d.ts +14 -0
  130. package/_internal/setExtend.d.ts +12 -0
  131. package/_internal/setFilter.d.ts +16 -0
  132. package/_internal/setFlatMap.d.ts +21 -0
  133. package/_internal/setFlatten.d.ts +19 -0
  134. package/_internal/setMap.d.ts +17 -0
  135. package/_internal/sha256.d.ts +2 -0
  136. package/_internal/sleep.d.ts +10 -0
  137. package/_internal/spread2.d.ts +14 -0
  138. package/_internal/streamExtend.d.ts +17 -0
  139. package/_internal/stringFilter.d.ts +17 -0
  140. package/_internal/stringFlatMap.d.ts +22 -0
  141. package/_internal/stringMap.d.ts +19 -0
  142. package/_internal/symbolAsyncIterator.d.ts +11 -0
  143. package/_internal/symbolIterator.d.ts +11 -0
  144. package/_internal/tapSync.d.ts +16 -0
  145. package/_internal/thunkConditional.d.ts +17 -0
  146. package/_internal/thunkify1.d.ts +16 -0
  147. package/_internal/thunkify2.d.ts +17 -0
  148. package/_internal/thunkify3.d.ts +18 -0
  149. package/_internal/thunkify4.d.ts +19 -0
  150. package/_internal/thunkify5.d.ts +20 -0
  151. package/_internal/thunkifyArgs.d.ts +13 -0
  152. package/_internal/timeInLoop.d.ts +25 -0
  153. package/_internal/timeInLoopAsync.d.ts +23 -0
  154. package/all.d.ts +100 -0
  155. package/always.d.ts +2 -0
  156. package/and.d.ts +45 -0
  157. package/assign.d.ts +46 -0
  158. package/compose.d.ts +25 -0
  159. package/curry.d.ts +70 -0
  160. package/dist/Transducer.es.js +1 -1
  161. package/dist/Transducer.es.min.js +1 -1
  162. package/dist/Transducer.js +1 -1
  163. package/dist/Transducer.min.js +1 -1
  164. package/dist/Transducer.mjs +1 -1
  165. package/dist/__.es.js +1 -1
  166. package/dist/__.es.min.js +1 -1
  167. package/dist/__.js +1 -1
  168. package/dist/__.min.js +1 -1
  169. package/dist/__.mjs +1 -1
  170. package/dist/all.es.js +1 -1
  171. package/dist/all.es.min.js +1 -1
  172. package/dist/all.js +1 -1
  173. package/dist/all.min.js +1 -1
  174. package/dist/all.mjs +1 -1
  175. package/dist/always.es.js +1 -1
  176. package/dist/always.es.min.js +1 -1
  177. package/dist/always.js +1 -1
  178. package/dist/always.min.js +1 -1
  179. package/dist/always.mjs +1 -1
  180. package/dist/and.es.js +1 -1
  181. package/dist/and.es.min.js +1 -1
  182. package/dist/and.js +1 -1
  183. package/dist/and.min.js +1 -1
  184. package/dist/and.mjs +1 -1
  185. package/dist/assign.es.js +1 -1
  186. package/dist/assign.es.min.js +1 -1
  187. package/dist/assign.js +1 -1
  188. package/dist/assign.min.js +1 -1
  189. package/dist/assign.mjs +1 -1
  190. package/dist/compose.es.js +1 -1
  191. package/dist/compose.es.min.js +1 -1
  192. package/dist/compose.js +1 -1
  193. package/dist/compose.min.js +1 -1
  194. package/dist/compose.mjs +1 -1
  195. package/dist/curry.es.js +1 -1
  196. package/dist/curry.es.min.js +1 -1
  197. package/dist/curry.js +1 -1
  198. package/dist/curry.min.js +1 -1
  199. package/dist/curry.mjs +1 -1
  200. package/dist/eq.es.js +1 -1
  201. package/dist/eq.es.min.js +1 -1
  202. package/dist/eq.js +1 -1
  203. package/dist/eq.min.js +1 -1
  204. package/dist/eq.mjs +1 -1
  205. package/dist/every.es.js +1 -1
  206. package/dist/every.es.min.js +1 -1
  207. package/dist/every.js +1 -1
  208. package/dist/every.min.js +1 -1
  209. package/dist/every.mjs +1 -1
  210. package/dist/filter.es.js +1 -1
  211. package/dist/filter.es.min.js +1 -1
  212. package/dist/filter.js +1 -1
  213. package/dist/filter.min.js +1 -1
  214. package/dist/filter.mjs +1 -1
  215. package/dist/flatMap.es.js +1 -1
  216. package/dist/flatMap.es.min.js +1 -1
  217. package/dist/flatMap.js +1 -1
  218. package/dist/flatMap.min.js +1 -1
  219. package/dist/flatMap.mjs +1 -1
  220. package/dist/forEach.es.js +1 -1
  221. package/dist/forEach.es.min.js +1 -1
  222. package/dist/forEach.js +1 -1
  223. package/dist/forEach.min.js +1 -1
  224. package/dist/forEach.mjs +1 -1
  225. package/dist/get.es.js +1 -1
  226. package/dist/get.es.min.js +1 -1
  227. package/dist/get.js +1 -1
  228. package/dist/get.min.js +1 -1
  229. package/dist/get.mjs +1 -1
  230. package/dist/gt.es.js +1 -1
  231. package/dist/gt.es.min.js +1 -1
  232. package/dist/gt.js +1 -1
  233. package/dist/gt.min.js +1 -1
  234. package/dist/gt.mjs +1 -1
  235. package/dist/gte.es.js +1 -1
  236. package/dist/gte.es.min.js +1 -1
  237. package/dist/gte.js +1 -1
  238. package/dist/gte.min.js +1 -1
  239. package/dist/gte.mjs +1 -1
  240. package/dist/lt.es.js +1 -1
  241. package/dist/lt.es.min.js +1 -1
  242. package/dist/lt.js +1 -1
  243. package/dist/lt.min.js +1 -1
  244. package/dist/lt.mjs +1 -1
  245. package/dist/lte.es.js +1 -1
  246. package/dist/lte.es.min.js +1 -1
  247. package/dist/lte.js +1 -1
  248. package/dist/lte.min.js +1 -1
  249. package/dist/lte.mjs +1 -1
  250. package/dist/map.es.js +1 -1
  251. package/dist/map.es.min.js +1 -1
  252. package/dist/map.js +1 -1
  253. package/dist/map.min.js +1 -1
  254. package/dist/map.mjs +1 -1
  255. package/dist/not.es.js +1 -1
  256. package/dist/not.es.min.js +1 -1
  257. package/dist/not.js +1 -1
  258. package/dist/not.min.js +1 -1
  259. package/dist/not.mjs +1 -1
  260. package/dist/omit.es.js +1 -1
  261. package/dist/omit.es.min.js +1 -1
  262. package/dist/omit.js +1 -1
  263. package/dist/omit.min.js +1 -1
  264. package/dist/omit.mjs +1 -1
  265. package/dist/or.es.js +1 -1
  266. package/dist/or.es.min.js +1 -1
  267. package/dist/or.js +1 -1
  268. package/dist/or.min.js +1 -1
  269. package/dist/or.mjs +1 -1
  270. package/dist/pick.es.js +1 -1
  271. package/dist/pick.es.min.js +1 -1
  272. package/dist/pick.js +1 -1
  273. package/dist/pick.min.js +1 -1
  274. package/dist/pick.mjs +1 -1
  275. package/dist/pipe.es.js +1 -1
  276. package/dist/pipe.es.min.js +1 -1
  277. package/dist/pipe.js +1 -1
  278. package/dist/pipe.min.js +1 -1
  279. package/dist/pipe.mjs +1 -1
  280. package/dist/reduce.es.js +1 -1
  281. package/dist/reduce.es.min.js +1 -1
  282. package/dist/reduce.js +1 -1
  283. package/dist/reduce.min.js +1 -1
  284. package/dist/reduce.mjs +1 -1
  285. package/dist/rubico.es.js +1 -1
  286. package/dist/rubico.es.min.js +1 -1
  287. package/dist/rubico.global.js +1 -1
  288. package/dist/rubico.global.min.js +1 -1
  289. package/dist/rubico.js +1 -1
  290. package/dist/rubico.min.js +1 -1
  291. package/dist/rubico.mjs +1 -1
  292. package/dist/set.es.js +1 -1
  293. package/dist/set.es.min.js +1 -1
  294. package/dist/set.js +1 -1
  295. package/dist/set.min.js +1 -1
  296. package/dist/set.mjs +1 -1
  297. package/dist/some.es.js +1 -1
  298. package/dist/some.es.min.js +1 -1
  299. package/dist/some.js +1 -1
  300. package/dist/some.min.js +1 -1
  301. package/dist/some.mjs +1 -1
  302. package/dist/switchCase.es.js +1 -1
  303. package/dist/switchCase.es.min.js +1 -1
  304. package/dist/switchCase.js +1 -1
  305. package/dist/switchCase.min.js +1 -1
  306. package/dist/switchCase.mjs +1 -1
  307. package/dist/tap.es.js +1 -1
  308. package/dist/tap.es.min.js +1 -1
  309. package/dist/tap.js +1 -1
  310. package/dist/tap.min.js +1 -1
  311. package/dist/tap.mjs +1 -1
  312. package/dist/thunkify.es.js +1 -1
  313. package/dist/thunkify.es.min.js +1 -1
  314. package/dist/thunkify.js +1 -1
  315. package/dist/thunkify.min.js +1 -1
  316. package/dist/thunkify.mjs +1 -1
  317. package/dist/transform.es.js +1 -1
  318. package/dist/transform.es.min.js +1 -1
  319. package/dist/transform.js +1 -1
  320. package/dist/transform.min.js +1 -1
  321. package/dist/transform.mjs +1 -1
  322. package/dist/tryCatch.es.js +1 -1
  323. package/dist/tryCatch.es.min.js +1 -1
  324. package/dist/tryCatch.js +1 -1
  325. package/dist/tryCatch.min.js +1 -1
  326. package/dist/tryCatch.mjs +1 -1
  327. package/dist/x/append.es.js +1 -1
  328. package/dist/x/append.es.min.js +1 -1
  329. package/dist/x/append.js +1 -1
  330. package/dist/x/append.min.js +1 -1
  331. package/dist/x/append.mjs +1 -1
  332. package/dist/x/callProp.es.js +1 -1
  333. package/dist/x/callProp.es.min.js +1 -1
  334. package/dist/x/callProp.js +1 -1
  335. package/dist/x/callProp.min.js +1 -1
  336. package/dist/x/callProp.mjs +1 -1
  337. package/dist/x/defaultsDeep.es.js +1 -1
  338. package/dist/x/defaultsDeep.es.min.js +1 -1
  339. package/dist/x/defaultsDeep.js +1 -1
  340. package/dist/x/defaultsDeep.min.js +1 -1
  341. package/dist/x/defaultsDeep.mjs +1 -1
  342. package/dist/x/differenceWith.es.js +1 -1
  343. package/dist/x/differenceWith.es.min.js +1 -1
  344. package/dist/x/differenceWith.js +1 -1
  345. package/dist/x/differenceWith.min.js +1 -1
  346. package/dist/x/differenceWith.mjs +1 -1
  347. package/dist/x/filterOut.es.js +1 -1
  348. package/dist/x/filterOut.es.min.js +1 -1
  349. package/dist/x/filterOut.js +1 -1
  350. package/dist/x/filterOut.min.js +1 -1
  351. package/dist/x/filterOut.mjs +1 -1
  352. package/dist/x/find.es.js +1 -1
  353. package/dist/x/find.es.min.js +1 -1
  354. package/dist/x/find.js +1 -1
  355. package/dist/x/find.min.js +1 -1
  356. package/dist/x/find.mjs +1 -1
  357. package/dist/x/findIndex.es.js +1 -1
  358. package/dist/x/findIndex.es.min.js +1 -1
  359. package/dist/x/findIndex.js +1 -1
  360. package/dist/x/findIndex.min.js +1 -1
  361. package/dist/x/findIndex.mjs +1 -1
  362. package/dist/x/first.es.js +1 -1
  363. package/dist/x/first.es.min.js +1 -1
  364. package/dist/x/first.js +1 -1
  365. package/dist/x/first.min.js +1 -1
  366. package/dist/x/first.mjs +1 -1
  367. package/dist/x/flatten.es.js +1 -1
  368. package/dist/x/flatten.es.min.js +1 -1
  369. package/dist/x/flatten.js +1 -1
  370. package/dist/x/flatten.min.js +1 -1
  371. package/dist/x/flatten.mjs +1 -1
  372. package/dist/x/groupBy.es.js +1 -1
  373. package/dist/x/groupBy.es.min.js +1 -1
  374. package/dist/x/groupBy.js +1 -1
  375. package/dist/x/groupBy.min.js +1 -1
  376. package/dist/x/groupBy.mjs +1 -1
  377. package/dist/x/has.es.js +1 -1
  378. package/dist/x/has.es.min.js +1 -1
  379. package/dist/x/has.js +1 -1
  380. package/dist/x/has.min.js +1 -1
  381. package/dist/x/has.mjs +1 -1
  382. package/dist/x/identity.es.js +1 -1
  383. package/dist/x/identity.es.min.js +1 -1
  384. package/dist/x/identity.js +1 -1
  385. package/dist/x/identity.min.js +1 -1
  386. package/dist/x/identity.mjs +1 -1
  387. package/dist/x/includes.es.js +1 -1
  388. package/dist/x/includes.es.min.js +1 -1
  389. package/dist/x/includes.js +1 -1
  390. package/dist/x/includes.min.js +1 -1
  391. package/dist/x/includes.mjs +1 -1
  392. package/dist/x/isDeepEqual.es.js +1 -1
  393. package/dist/x/isDeepEqual.es.min.js +1 -1
  394. package/dist/x/isDeepEqual.js +1 -1
  395. package/dist/x/isDeepEqual.min.js +1 -1
  396. package/dist/x/isDeepEqual.mjs +1 -1
  397. package/dist/x/isEmpty.es.js +1 -1
  398. package/dist/x/isEmpty.es.min.js +1 -1
  399. package/dist/x/isEmpty.js +1 -1
  400. package/dist/x/isEmpty.min.js +1 -1
  401. package/dist/x/isEmpty.mjs +1 -1
  402. package/dist/x/isEqual.es.js +1 -1
  403. package/dist/x/isEqual.es.min.js +1 -1
  404. package/dist/x/isEqual.js +1 -1
  405. package/dist/x/isEqual.min.js +1 -1
  406. package/dist/x/isEqual.mjs +1 -1
  407. package/dist/x/isFunction.es.js +1 -1
  408. package/dist/x/isFunction.es.min.js +1 -1
  409. package/dist/x/isFunction.js +1 -1
  410. package/dist/x/isFunction.min.js +1 -1
  411. package/dist/x/isFunction.mjs +1 -1
  412. package/dist/x/isIn.es.js +1 -1
  413. package/dist/x/isIn.es.min.js +1 -1
  414. package/dist/x/isIn.js +1 -1
  415. package/dist/x/isIn.min.js +1 -1
  416. package/dist/x/isIn.mjs +1 -1
  417. package/dist/x/isObject.es.js +1 -1
  418. package/dist/x/isObject.es.min.js +1 -1
  419. package/dist/x/isObject.js +1 -1
  420. package/dist/x/isObject.min.js +1 -1
  421. package/dist/x/isObject.mjs +1 -1
  422. package/dist/x/isString.es.js +1 -1
  423. package/dist/x/isString.es.min.js +1 -1
  424. package/dist/x/isString.js +1 -1
  425. package/dist/x/isString.min.js +1 -1
  426. package/dist/x/isString.mjs +1 -1
  427. package/dist/x/keys.es.js +1 -1
  428. package/dist/x/keys.es.min.js +1 -1
  429. package/dist/x/keys.js +1 -1
  430. package/dist/x/keys.min.js +1 -1
  431. package/dist/x/keys.mjs +1 -1
  432. package/dist/x/last.es.js +1 -1
  433. package/dist/x/last.es.min.js +1 -1
  434. package/dist/x/last.js +1 -1
  435. package/dist/x/last.min.js +1 -1
  436. package/dist/x/last.mjs +1 -1
  437. package/dist/x/maxBy.es.js +1 -1
  438. package/dist/x/maxBy.es.min.js +1 -1
  439. package/dist/x/maxBy.js +1 -1
  440. package/dist/x/maxBy.min.js +1 -1
  441. package/dist/x/maxBy.mjs +1 -1
  442. package/dist/x/noop.es.js +1 -1
  443. package/dist/x/noop.es.min.js +1 -1
  444. package/dist/x/noop.js +1 -1
  445. package/dist/x/noop.min.js +1 -1
  446. package/dist/x/noop.mjs +1 -1
  447. package/dist/x/pluck.es.js +1 -1
  448. package/dist/x/pluck.es.min.js +1 -1
  449. package/dist/x/pluck.js +1 -1
  450. package/dist/x/pluck.min.js +1 -1
  451. package/dist/x/pluck.mjs +1 -1
  452. package/dist/x/prepend.es.js +1 -1
  453. package/dist/x/prepend.es.min.js +1 -1
  454. package/dist/x/prepend.js +1 -1
  455. package/dist/x/prepend.min.js +1 -1
  456. package/dist/x/prepend.mjs +1 -1
  457. package/dist/x/size.es.js +1 -1
  458. package/dist/x/size.es.min.js +1 -1
  459. package/dist/x/size.js +1 -1
  460. package/dist/x/size.min.js +1 -1
  461. package/dist/x/size.mjs +1 -1
  462. package/dist/x/trace.es.js +1 -1
  463. package/dist/x/trace.es.min.js +1 -1
  464. package/dist/x/trace.js +1 -1
  465. package/dist/x/trace.min.js +1 -1
  466. package/dist/x/trace.mjs +1 -1
  467. package/dist/x/unionWith.es.js +1 -1
  468. package/dist/x/unionWith.es.min.js +1 -1
  469. package/dist/x/unionWith.js +1 -1
  470. package/dist/x/unionWith.min.js +1 -1
  471. package/dist/x/unionWith.mjs +1 -1
  472. package/dist/x/uniq.es.js +1 -1
  473. package/dist/x/uniq.es.min.js +1 -1
  474. package/dist/x/uniq.js +1 -1
  475. package/dist/x/uniq.min.js +1 -1
  476. package/dist/x/uniq.mjs +1 -1
  477. package/dist/x/unless.es.js +1 -1
  478. package/dist/x/unless.es.min.js +1 -1
  479. package/dist/x/unless.js +1 -1
  480. package/dist/x/unless.min.js +1 -1
  481. package/dist/x/unless.mjs +1 -1
  482. package/dist/x/values.es.js +1 -1
  483. package/dist/x/values.es.min.js +1 -1
  484. package/dist/x/values.js +1 -1
  485. package/dist/x/values.min.js +1 -1
  486. package/dist/x/values.mjs +1 -1
  487. package/dist/x/when.es.js +1 -1
  488. package/dist/x/when.es.min.js +1 -1
  489. package/dist/x/when.js +1 -1
  490. package/dist/x/when.min.js +1 -1
  491. package/dist/x/when.mjs +1 -1
  492. package/eq.d.ts +51 -0
  493. package/es.d.ts +80 -0
  494. package/es.js +1 -1
  495. package/every.d.ts +52 -0
  496. package/filter.d.ts +148 -0
  497. package/flatMap.d.ts +109 -0
  498. package/forEach.d.ts +35 -0
  499. package/get.d.ts +70 -0
  500. package/global.d.ts +1 -0
  501. package/gt.d.ts +49 -0
  502. package/gte.d.ts +51 -0
  503. package/index.d.ts +1 -0
  504. package/index.js +1 -1
  505. package/lt.d.ts +49 -0
  506. package/lte.d.ts +49 -0
  507. package/map.d.ts +246 -0
  508. package/monad/Instance.d.ts +246 -0
  509. package/monad/Instance.js +188 -206
  510. package/not.d.ts +34 -0
  511. package/omit.d.ts +50 -0
  512. package/or.d.ts +43 -0
  513. package/package.json +43 -4
  514. package/pick.d.ts +43 -0
  515. package/pipe.d.ts +49 -0
  516. package/reduce.d.ts +166 -0
  517. package/set.d.ts +61 -0
  518. package/some.d.ts +65 -0
  519. package/switchCase.d.ts +76 -0
  520. package/tap.d.ts +53 -0
  521. package/thunkify.d.ts +21 -0
  522. package/transform.d.ts +131 -0
  523. package/tryCatch.d.ts +47 -0
  524. package/x/append.d.ts +38 -0
  525. package/x/callProp.d.ts +20 -0
  526. package/x/defaultsDeep.d.ts +42 -0
  527. package/x/differenceWith.d.ts +25 -0
  528. package/x/filterOut.d.ts +39 -0
  529. package/x/find.d.ts +34 -0
  530. package/x/findIndex.d.ts +25 -0
  531. package/x/first.d.ts +23 -0
  532. package/x/flatten.d.ts +57 -0
  533. package/x/groupBy.d.ts +50 -0
  534. package/x/has.d.ts +25 -0
  535. package/x/heapUsedInLoop.d.ts +53 -0
  536. package/x/identity.d.ts +21 -0
  537. package/x/includes.d.ts +25 -0
  538. package/x/index.d.ts +34 -0
  539. package/x/is.d.ts +2 -0
  540. package/x/isDeepEqual.d.ts +42 -0
  541. package/x/isEmpty.d.ts +24 -0
  542. package/x/isEqual.d.ts +2 -0
  543. package/x/isFunction.d.ts +23 -0
  544. package/x/isIn.d.ts +61 -0
  545. package/x/isObject.d.ts +2 -0
  546. package/x/isString.benchmarks.d.ts +1 -0
  547. package/x/isString.d.ts +21 -0
  548. package/x/keys.d.ts +23 -0
  549. package/x/last.d.ts +22 -0
  550. package/x/maxBy.d.ts +41 -0
  551. package/x/noop.d.ts +21 -0
  552. package/x/pluck.d.ts +35 -0
  553. package/x/prepend.d.ts +38 -0
  554. package/x/size.d.ts +21 -0
  555. package/x/test.d.ts +1 -0
  556. package/x/timeInLoop.d.ts +21 -0
  557. package/x/trace.d.ts +30 -0
  558. package/x/tracef.d.ts +7 -0
  559. package/x/unionWith.d.ts +31 -0
  560. package/x/uniq.d.ts +24 -0
  561. package/x/unless.d.ts +28 -0
  562. package/x/values.d.ts +23 -0
  563. package/x/when.d.ts +28 -0
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/unless.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/unless.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/values.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/values.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/when.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/when.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/x/when.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/eq.d.ts ADDED
@@ -0,0 +1,51 @@
1
+ export = eq;
2
+ /**
3
+ * @name eq
4
+ *
5
+ * @synopsis
6
+ * ```coffeescript [specscript]
7
+ * eq(leftValue Promise|any, rightValue Promise|any) -> boolean
8
+ *
9
+ * eq(leftValue Promise|any, right function)(...args) -> Promise|boolean
10
+ * eq(...args, leftValue Promise|any, right function) -> Promise|boolean
11
+ *
12
+ * eq(left function, rightValue Promise|any)(...args) -> Promise|boolean
13
+ * eq(...args, left function, rightValue Promise|any) -> Promise|boolean
14
+ *
15
+ * eq(left function, right function)(...args) -> Promise|boolean
16
+ * eq(...args, left function, right function) -> Promise|boolean
17
+ * ```
18
+ *
19
+ * @description
20
+ * Test for [equality (`==`)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality) between two values.
21
+ *
22
+ * ```javascript [playground]
23
+ * const areNamesEqual = eq('Ted', 'George')
24
+ *
25
+ * console.log(areNamesEqual) // false
26
+ * ```
27
+ *
28
+ * If either of the two values are resolver functions, `eq` returns a function that resolves the values to compare from its arguments.
29
+ *
30
+ * ```javascript [playground]
31
+ * const personIsGeorge = eq(get('name'), 'George')
32
+ *
33
+ * const person = { name: 'George', likes: 'bananas' }
34
+ *
35
+ * if (personIsGeorge(person)) {
36
+ * console.log('The person is george')
37
+ * }
38
+ * ```
39
+ *
40
+ * `eq` supports a tacit API for composability.
41
+ *
42
+ * ```javascript [playground]
43
+ * pipe({ name: 'George' }, [
44
+ * eq('George', get('name')),
45
+ * console.log, // true
46
+ * ])
47
+ * ```
48
+ *
49
+ * @execution concurrent
50
+ */
51
+ declare const eq: (...args: any[]) => any;
package/es.d.ts ADDED
@@ -0,0 +1,80 @@
1
+ export default rubico;
2
+ declare namespace rubico {
3
+ export { pipe };
4
+ export { compose };
5
+ export { tap };
6
+ export { forEach };
7
+ export { switchCase };
8
+ export { tryCatch };
9
+ export { all };
10
+ export { assign };
11
+ export { get };
12
+ export { set };
13
+ export { pick };
14
+ export { omit };
15
+ export { map };
16
+ export { filter };
17
+ export { flatMap };
18
+ export { reduce };
19
+ export { transform };
20
+ export { and };
21
+ export { or };
22
+ export { not };
23
+ export { some };
24
+ export { every };
25
+ export { eq };
26
+ export { gt };
27
+ export { lt };
28
+ export { gte };
29
+ export { lte };
30
+ export { thunkify };
31
+ export { always };
32
+ export { curry };
33
+ export { __ };
34
+ }
35
+ declare function pipe(...args: any[]): any;
36
+ declare function compose(...args: any[]): any;
37
+ declare function tap(...args: any[]): any;
38
+ declare namespace tap {
39
+ function _if(predicate: any, func: any): (...args: any[]) => any;
40
+ export { _if as if };
41
+ }
42
+ declare function forEach(...args: any[]): any;
43
+ declare function switchCase(...args: any[]): any;
44
+ declare function tryCatch(...args: any[]): any;
45
+ declare function all(...args: any[]): any;
46
+ declare namespace all {
47
+ function series(...args: any[]): any;
48
+ }
49
+ declare function assign(arg0: any, arg1: any): any;
50
+ declare function get(arg0: any, arg1: any, arg2: any): any;
51
+ declare function set(arg0: any, arg1: any, arg2: any): any;
52
+ declare function pick(arg0: any, arg1: any): any;
53
+ declare function omit(arg0: any, arg1: any): any;
54
+ declare function map(...args: any[]): any;
55
+ declare namespace map {
56
+ function entries(mapper: any): (value: any) => any;
57
+ function series(mapper: any): (value: any) => any;
58
+ function pool(concurrencyLimit: any, mapper: any): (value: any) => any[] | Promise<any>;
59
+ }
60
+ declare function filter(...args: any[]): any;
61
+ declare function flatMap(...args: any[]): any;
62
+ declare function reduce(...args: any[]): any;
63
+ declare function transform(...args: any[]): any;
64
+ declare function and(...args: any[]): any;
65
+ declare function or(...args: any[]): any;
66
+ declare function not(...args: any[]): any;
67
+ declare function some(...args: any[]): any;
68
+ declare function every(...args: any[]): any;
69
+ declare function eq(...args: any[]): any;
70
+ declare function gt(...args: any[]): any;
71
+ declare function lt(...args: any[]): any;
72
+ declare function gte(...args: any[]): any;
73
+ declare function lte(...args: any[]): any;
74
+ declare function thunkify(func: any, ...args: any[]): () => any;
75
+ declare function always(value: any): () => any;
76
+ declare function curry(func: any, ...args: any[]): any;
77
+ declare namespace curry {
78
+ function arity(arity: any, func: any, ...args: any[]): any;
79
+ }
80
+ declare const __: any;
package/es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v2.2.3
2
+ * rubico v2.3.1
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2023 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/every.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ export = every;
2
+ /**
3
+ * @name every
4
+ *
5
+ * @synopsis
6
+ * ```coffeescript [specscript]
7
+ * type Foldable = Array|Iterable|AsyncIterable|{ reduce: function }|Object
8
+ *
9
+ * every(collection Foldable, predicate function) -> result Promise|boolean
10
+ *
11
+ * every(predicate function)(collection Foldable) -> result Promise|boolean
12
+ * ```
13
+ *
14
+ * @description
15
+ * Test a predicate concurrently across all items of a collection, returning true if all predications are truthy.
16
+ *
17
+ * ```javascript [playground]
18
+ * const isOdd = number => number % 2 == 1
19
+ *
20
+ * console.log(
21
+ * every([1, 2, 3, 4, 5], isOdd),
22
+ * ) // false
23
+ *
24
+ * console.log(
25
+ * every([1, 3, 5], isOdd),
26
+ * ) // true
27
+ * ```
28
+ *
29
+ * The collection can be any iterable, async iterable, or object values iterable collection. Below is an example of `every` accepting an async generator as the collection.
30
+ *
31
+ * ```javascript [playground]
32
+ * const asyncNumbers = async function* () {
33
+ * yield 1; yield 2; yield 3; yield 4; yield 5
34
+ * }
35
+ *
36
+ * every(asyncNumbers(), async number => number < 6).then(console.log) // true
37
+ * ```
38
+ *
39
+ * `every` supports a tacit API for composability.
40
+ *
41
+ * ```javascript [playground]
42
+ * pipe([1, 2, 3], [
43
+ * every(number => number < 5),
44
+ * console.log, // true
45
+ * ])
46
+ * ```
47
+ *
48
+ * @execution concurrent
49
+ *
50
+ * @muxing
51
+ */
52
+ declare function every(...args: any[]): any;
package/filter.d.ts ADDED
@@ -0,0 +1,148 @@
1
+ export = filter;
2
+ /**
3
+ * @name filter
4
+ *
5
+ * @synopsis
6
+ * ```coffeescript [specscript]
7
+ * type Filterable = Array|Object|Set|Map|Iterator|AsyncIterator
8
+ *
9
+ * type Predicate = (
10
+ * value any,
11
+ * indexOrKey number|string,
12
+ * collection Filterable,
13
+ * )=>boolean
14
+ *
15
+ * filter(collection Filterable, predicate Predicate) -> result Promise|Filterable
16
+ * filter(predicate Predicate)(collection Filterable) -> result Promise|Filterable
17
+ * ```
18
+ *
19
+ * @description
20
+ * Filter out items from a collection based on the results of their concurrent executions with a synchronous or asynchronous predicate function. `filter` accepts the following collections:
21
+ *
22
+ * * `Array`
23
+ * * `Object`
24
+ * * `Set`
25
+ * * `Map`
26
+ * * `Iterator`/`Generator`
27
+ * * `AsyncIterator`/`AsyncGenerator`
28
+ *
29
+ * For arrays (type `Array`), `filter` applies the predicate function to each item of the array, returning a new array containing only the items that tested truthy by the predicate. The order of the items is preserved. On each iteration, the predicate is passed the item, the index of the item, and a reference to the array.
30
+ *
31
+ * ```javascript [playground]
32
+ * const isOdd = number => number % 2 == 1
33
+ *
34
+ * const array = [1, 2, 3, 4, 5]
35
+ *
36
+ * console.log(filter(isOdd)(array)) // [1, 3, 5]
37
+ * console.log(filter(array, isOdd)) // [1, 3, 5]
38
+ * ```
39
+ *
40
+ * For objects (type `Object`), `filter` applies the predicate function to each value of the object, returning a new object containing only the values that tested truthy by the predicate. On each iteration, the predicate is passed the object value, the key of the object value, and a reference to the object.
41
+ *
42
+ * ```javascript [playground]
43
+ * const isOdd = number => number % 2 == 1
44
+ *
45
+ * const obj = { a: 1, b: 2, c: 3, d: 4, e: 5 }
46
+ *
47
+ * console.log(filter(isOdd)(obj)) // { a: 1, c: 3, e: 5 }
48
+ * console.log(filter(obj, isOdd)) // { a: 1, c: 3, e: 5 }
49
+ * ```
50
+ *
51
+ * For sets (type `Set`), `filter` applies the predicate function to each item in the set, returning a new set containing only the items that tested truthy by the predicate. On each iteration, the predicate is passed the item, the same item as the key argument, and a reference to the set.
52
+ *
53
+ * ```javascript [playground]
54
+ * const isOdd = number => number % 2 == 1
55
+ *
56
+ * const set = new Set([1, 2, 3, 4, 5])
57
+ *
58
+ * console.log(filter(isOdd)(set)) // Set { 1, 3, 5 }
59
+ * console.log(filter(set, isOdd)) // Set { 1, 3, 5 }
60
+ * ```
61
+ *
62
+ * For maps (type `Map`), `filter` applies the predicate function to the value of each entry of the map, returning a new map containing only the entries where the values tested truthy by the predicate. The order of the entries are preserved. On each iteration, the predicate is passed the map value, the key of the value, and a reference to the map.
63
+ *
64
+ * ```javascript [playground]
65
+ * const isOdd = number => number % 2 == 1
66
+ *
67
+ * const obj = { a: 1, b: 2, c: 3, d: 4, e: 5 }
68
+ * const m = new Map([['a', 1], ['b', 2], ['c', 3], ['d', 4], ['e', 5]])
69
+ *
70
+ * console.log(filter(isOdd)(m)) // Map(3) { 'a' => 1, 'c' => 3, 'e' => 5 }
71
+ * console.log(filter(m, isOdd)) // Map(3) { 'a' => 1, 'c' => 3, 'e' => 5 }
72
+ * ```
73
+ *
74
+ * For iterators (type `Iterator`) or generators (type `Generator`), `filter` returns a lazily filtered iterator/generator; all values that are normally yielded by the iterator/generator that test falsy by the predicate function are skipped by the lazily filtered iterator/generator. On each iteration, the predicate is passed the iteration value only.
75
+ *
76
+ * ```javascript [playground]
77
+ * const isOdd = number => number % 2 == 1
78
+ *
79
+ * const numbersGeneratorFunction = function* () {
80
+ * yield 1; yield 2; yield 3; yield 4; yield 5
81
+ * }
82
+ *
83
+ * const numbersGenerator = numbersGeneratorFunction()
84
+ * const oddNumbersGenerator = filter(numbersGeneratorFunction(), isOdd)
85
+ * const oddNumbersGenerator2 = filter(isOdd)(numbersGeneratorFunction())
86
+ *
87
+ * for (const number of numbersGenerator) {
88
+ * console.log(number) // 1
89
+ * // 2
90
+ * // 3
91
+ * // 4
92
+ * // 5
93
+ * }
94
+ *
95
+ * for (const number of oddNumbersGenerator) {
96
+ * console.log(number) // 1
97
+ * // 3
98
+ * // 5
99
+ * }
100
+ *
101
+ * for (const number of oddNumbersGenerator2) {
102
+ * console.log(number) // 1
103
+ * // 3
104
+ * // 5
105
+ * }
106
+ * ```
107
+ *
108
+ * With asyncIterators (type `AsyncIterator`) or asyncGenerators (type `AsyncGenerator`), `filter` returns a lazily filtered asyncIterator/asyncGenerator; all values that are normally yielded by the asyncIterator/asyncGenerator that test falsy by the predicate function are skipped by the lazily filtered asyncIterator/asyncGenerator. On each iteration, the predicate is passed the iteration value only.
109
+ *
110
+ * ```javascript [playground]
111
+ * const asyncIsOdd = async number => number % 2 == 1
112
+ *
113
+ * const asyncNumbersGeneratorFunction = async function* () {
114
+ * yield 1; yield 2; yield 3; yield 4; yield 5
115
+ * }
116
+ *
117
+ * const asyncNumbersGenerator = asyncNumbersGeneratorFunction()
118
+ *
119
+ * const asyncOddNumbersGenerator = filter(asyncNumbersGeneratorFunction(), asyncIsOdd)
120
+ *
121
+ * const asyncOddNumbersGenerator2 = filter(asyncIsOdd)(asyncNumbersGeneratorFunction())
122
+ *
123
+ * for await (const number of asyncNumbersGenerator) {
124
+ * console.log(number) // 1
125
+ * // 2
126
+ * // 3
127
+ * // 4
128
+ * // 5
129
+ * }
130
+ *
131
+ * for await (const number of asyncOddNumbersGenerator) {
132
+ * console.log(number) // 1
133
+ * // 3
134
+ * // 5
135
+ * }
136
+ *
137
+ * for await (const number of asyncOddNumbersGenerator2) {
138
+ * console.log(number) // 1
139
+ * // 3
140
+ * // 5
141
+ * }
142
+ * ```
143
+ *
144
+ * @execution concurrent
145
+ *
146
+ * @transducing
147
+ */
148
+ declare function filter(...args: any[]): any;
package/flatMap.d.ts ADDED
@@ -0,0 +1,109 @@
1
+ export = flatMap;
2
+ /**
3
+ * @name flatMap
4
+ *
5
+ * @synopsis
6
+ * ```coffeescript [specscript]
7
+ * type FlatMappable = Array|String|Set|Iterator|AsyncIterator
8
+ *
9
+ * type Iterable = Iterable|AsyncIterable|Object<value any>
10
+ *
11
+ * type FlatMapper = (
12
+ * item any,
13
+ * indexOrKey string,
14
+ * collection FlatMappable
15
+ * )=>Promise|FlatMappable
16
+ *
17
+ * flatMap(collection FlatMappable, flatMapper FlatMapper) -> result Promise|FlatMappable
18
+ * flatMap(flatMapper FlatMapper)(collection FlatMappable) -> result Promise|FlatMappable
19
+ * ```
20
+ *
21
+ * @description
22
+ * Applies a flatMapper function concurrently to each item of a collection, creating a new collection of the same type. A flatMapping operation iterates through each item of a collection and applies the flatMapper function to each item, flattening the result of the execution into the result collection. The result of an individual execution can be any iterable, async iterable, or object values iterable collection. The flatMapper function may be asynchronous.
23
+ *
24
+ * * `Iterable` - the execution result is iterated and each item is added to the result collection
25
+ * * `AsyncIterable` - the execution result is asynchronously iterated and each item is added to the result collection
26
+ * * `Object` - the execution result values are added to the result collection
27
+ *
28
+ * The following example demonstrates various execution results being flattened into the same array.
29
+ *
30
+ * ```javascript [playground]
31
+ * const identity = value => value
32
+ *
33
+ * flatMap(identity)([
34
+ * [1, 1], // array
35
+ * new Set([2, 2]), // set
36
+ * (function* () { yield 3; yield 3 })(), // generator
37
+ * (async function* () { yield 7; yield 7 })(), // asyncGenerator
38
+ * { a: 5, b: 5 }, // object
39
+ * new Uint8Array([8]), // typedArray
40
+ * ]).then(console.log)
41
+ * // [1, 1, 2, 3, 3, 5, 5, 8, 7, 7]
42
+ * ```
43
+ *
44
+ * A flatMapping operation concatenates onto the resulting collection synchronous values and muxes any asynchronous values. Muxing, or asynchronously "mixing", is the process of combining multiple asynchronous sources into one source, with order determined by the asynchronous resolution of the individual items.
45
+ *
46
+ * ```javascript [playground]
47
+ * const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
48
+ *
49
+ * const repeat3 = function* (message) {
50
+ * yield message; yield message; yield message
51
+ * }
52
+ *
53
+ * console.log( // sync is concatenated
54
+ * flatMap(['foo', 'bar', 'baz'], repeat3),
55
+ * ) // ['foo', 'foo', 'foo', 'bar', 'bar', 'bar', 'baz', 'baz', 'baz']
56
+ *
57
+ * const asyncRepeat3 = async function* (message) {
58
+ * yield message
59
+ * await sleep(100)
60
+ * yield message
61
+ * await sleep(1000)
62
+ * yield message
63
+ * }
64
+ *
65
+ * // async is muxed
66
+ * flatMap(['foo', 'bar', 'baz'], asyncRepeat3).then(console.log)
67
+ * // ['foo', 'bar', 'baz', 'foo', 'bar', 'baz', 'foo', 'bar', 'baz']
68
+ * ```
69
+ *
70
+ * For arrays (type `Array`), `flatMap` applies the flatMapper function to each item, pushing (`.push`) the items of each execution into a new array.
71
+ *
72
+ * ```javascript [playground]
73
+ * const duplicate = value => [value, value]
74
+ *
75
+ * console.log(
76
+ * flatMap([1, 2, 3, 4, 5], duplicate)
77
+ * ) // [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
78
+ * ```
79
+ *
80
+ * For strings (type `String`), `flatMap` applies the flatMapper function to each character, adding (`+`) the items of each execution into a new string
81
+ *
82
+ * ```javascript [playground]
83
+ * const duplicate = value => [value, value]
84
+ *
85
+ * console.log(
86
+ * flatMap('12345', duplicate)
87
+ * ) // 1122334455
88
+ * ```
89
+ *
90
+ * For sets (type `Set`), `flatMap` applies the flatMapper function to each item, adding (`.add`) the items of each execution into a new set
91
+ *
92
+ * ```javascript [playground]
93
+ * const pairPlus100 = value => [value, value + 100]
94
+ *
95
+ * console.log(
96
+ * flatMap(new Set([1, 2, 3, 4, 5]), pairPlus100)
97
+ * ) // Set(10) { 1, 101, 2, 102, 3, 103, 4, 104, 5, 105 }
98
+ * ```
99
+ *
100
+ * @execution concurrent
101
+ *
102
+ * @transducing
103
+ *
104
+ * @archive
105
+ * * For typed arrays (type [`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#typedarray_objects)) and Node.js buffers (type [`Buffer`](https://nodejs.org/api/buffer.html)), `flatMap` applies a flatMapper function to each value of the typed array/buffer, joining the result of each execution with `.set` into the resulting typed array
106
+ *
107
+ * * For Node.js duplex streams (type [Stream](https://nodejs.org/api/stream.html#class-streamduplex)), `flatMap` applies a flatMapper function to each item of the stream, writing (`.write`) each item of each execution into the duplex stream
108
+ */
109
+ declare function flatMap(...args: any[]): any;
package/forEach.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ export = forEach;
2
+ /**
3
+ * @name forEach
4
+ *
5
+ * @synopsis
6
+ * ```coffeescript [specscript]
7
+ * type Collection = Array|Iterable|AsyncIterable|{ forEach: function }|Object
8
+ *
9
+ * forEach(collection Collection, callback function) -> collection Collection
10
+ *
11
+ * forEach(callback function)(collection Collection) -> collection Collection
12
+ * ```
13
+ *
14
+ * @description
15
+ * Execute a callback for each item of a collection, returning a Promise if the execution is asynchronous.
16
+ *
17
+ * ```javascript [playground]
18
+ * forEach([1, 2, 3, 4, 5l], console.log) // 1 2 3 4 5
19
+ *
20
+ * forEach({ a: 1, b: 2, c: 3 }, console.log) // 1 2 3
21
+ * ```
22
+ *
23
+ * Omit the data argument for a composable API
24
+ *
25
+ * ```javascript [playground]
26
+ * pipe([1, 2, 3, 4, 5], [
27
+ * filter(number => number % 2 == 1),
28
+ * map(number => number ** 2),
29
+ * forEach(console.log), // 1
30
+ * // 9
31
+ * // 25
32
+ * ])
33
+ * ```
34
+ */
35
+ declare function forEach(...args: any[]): any;
package/get.d.ts ADDED
@@ -0,0 +1,70 @@
1
+ export = get;
2
+ /**
3
+ * @name get
4
+ *
5
+ * @synopsis
6
+ * ```coffeescript [specscript]
7
+ * get(
8
+ * object Promise|Object,
9
+ * path string|number|Array<string|number>,
10
+ * defaultValue? function|any
11
+ * ) -> result Promise|Object
12
+ *
13
+ * get(
14
+ * path string|number|Array<string|number>,
15
+ * defaultValue? function|any
16
+ * )(object Object) -> result Promise|Object
17
+ * ```
18
+ *
19
+ * @description
20
+ * Accesses a property of an object given a path denoted by a string, number, or an array of string or numbers.
21
+ *
22
+ * ```javascript [playground]
23
+ * const obj = { hello: 'world' }
24
+ *
25
+ * console.log(get(obj, 'hello')) // world
26
+ * ```
27
+ *
28
+ * `get` supports a tacit API for composability
29
+ *
30
+ * ```javascript [playground]
31
+ * const obj = { hello: 'world' }
32
+ *
33
+ * const getHello = get('hello')
34
+ *
35
+ * console.log(getHello({ hello: 'world' })) // world
36
+ * ```
37
+ *
38
+ * If the value at the end of the path is not found on the object, returns an optional default value. The default value can be a function resolver that takes the object as an argument. If no default value is provided, returns `undefined`. The function resolver may be asynchronous (returns a promise).
39
+ *
40
+ * ```javascript [playground]
41
+ * const getHelloWithDefaultValue = get('hello', 'default')
42
+ *
43
+ * console.log(getHelloWithDefaultValue({ foo: 'bar' })) // default
44
+ *
45
+ * const getHelloWithDefaultResolver = get('hello', object => object.foo)
46
+ *
47
+ * console.log(getHelloWithDefaultResolver({ foo: 'bar' })) // bar
48
+ * ```
49
+ *
50
+ * `get` supports three types of path patterns for nested property access.
51
+ *
52
+ * * dot delimited - `'a.b.c'`
53
+ * * bracket notation - `'a[0].value'`
54
+ * * an array of keys or indices - `['a', 0, 'value']`
55
+ *
56
+ * ```javascript [playground]
57
+ * const getABC0 = get('a.b.c[0]')
58
+ *
59
+ * console.log(getABC0({ a: { b: { c: ['hello'] } } })) // hello
60
+ *
61
+ * const get00000DotNotation = get('0.0.0.0.0')
62
+ * const get00000BracketNotation = get('[0][0][0][0][0]')
63
+ * const get00000ArrayNotation = get([0, 0, 0, 0, 0])
64
+ *
65
+ * console.log(get00000DotNotation([[[[['foo']]]]])) // foo
66
+ * console.log(get00000BracketNotation([[[[['foo']]]]])) // foo
67
+ * console.log(get00000ArrayNotation([[[[['foo']]]]])) // foo
68
+ * ```
69
+ */
70
+ declare function get(arg0: any, arg1: any, arg2: any): any;
package/global.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};