ramda-adjunct 2.34.0

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 (719) hide show
  1. package/.nvmrc +1 -0
  2. package/CHANGELOG.md +973 -0
  3. package/LICENSE.md +25 -0
  4. package/README.md +297 -0
  5. package/SECURITY.md +43 -0
  6. package/dist/RA.node.js +11172 -0
  7. package/dist/RA.node.min.js +2 -0
  8. package/dist/RA.node.min.js.LICENSE.txt +22 -0
  9. package/dist/RA.web.js +11172 -0
  10. package/dist/RA.web.min.js +2 -0
  11. package/dist/RA.web.min.js.LICENSE.txt +22 -0
  12. package/dist/RA.web.standalone.js +27797 -0
  13. package/dist/RA.web.standalone.min.js +2 -0
  14. package/dist/RA.web.standalone.min.js.LICENSE.txt +22 -0
  15. package/es/Y.js +38 -0
  16. package/es/allEqual.js +25 -0
  17. package/es/allEqualTo.js +26 -0
  18. package/es/allIdentical.js +24 -0
  19. package/es/allIdenticalTo.js +26 -0
  20. package/es/allP.js +26 -0
  21. package/es/allSettledP.js +29 -0
  22. package/es/allUnique.js +23 -0
  23. package/es/anyP.js +28 -0
  24. package/es/appendFlipped.js +23 -0
  25. package/es/argsPass.js +38 -0
  26. package/es/async.js +57 -0
  27. package/es/cata.js +101 -0
  28. package/es/catchP.js +24 -0
  29. package/es/ceil.js +26 -0
  30. package/es/compact.js +21 -0
  31. package/es/concatAll.js +30 -0
  32. package/es/concatRight.js +29 -0
  33. package/es/contained.js +29 -0
  34. package/es/curryRight.js +24 -0
  35. package/es/curryRightN.js +32 -0
  36. package/es/defaultWhen.js +25 -0
  37. package/es/delayP.js +44 -0
  38. package/es/dispatch.js +75 -0
  39. package/es/divideNum.js +19 -0
  40. package/es/dropArgs.js +22 -0
  41. package/es/ensureArray.js +22 -0
  42. package/es/escapeRegExp.js +20 -0
  43. package/es/fantasy-land/Identity.js +309 -0
  44. package/es/fantasy-land/mapping.js +20 -0
  45. package/es/fantasy-land/traits.js +41 -0
  46. package/es/fantasy-land/util.js +11 -0
  47. package/es/filterIndexed.js +27 -0
  48. package/es/findOr.js +28 -0
  49. package/es/flattenDepth.js +50 -0
  50. package/es/flattenPath.js +27 -0
  51. package/es/flattenProp.js +28 -0
  52. package/es/floor.js +25 -0
  53. package/es/fnull.js +37 -0
  54. package/es/hasPath.js +38 -0
  55. package/es/inRange.js +29 -0
  56. package/es/index.js +252 -0
  57. package/es/internal/ap.js +20 -0
  58. package/es/internal/compareLength.js +5 -0
  59. package/es/internal/isOfTypeObject.js +7 -0
  60. package/es/internal/makeFlat.js +46 -0
  61. package/es/internal/ponyfills/Array.from.js +40 -0
  62. package/es/internal/ponyfills/Math.sign.js +5 -0
  63. package/es/internal/ponyfills/Math.trunc.js +14 -0
  64. package/es/internal/ponyfills/Number.MAX_SAFE_INTEGER.js +2 -0
  65. package/es/internal/ponyfills/Number.MIN_SAFE_INTEGER.js +2 -0
  66. package/es/internal/ponyfills/Number.isFinite.js +5 -0
  67. package/es/internal/ponyfills/Number.isInteger.js +4 -0
  68. package/es/internal/ponyfills/Number.isNaN.js +5 -0
  69. package/es/internal/ponyfills/Number.isSafeInteger.js +7 -0
  70. package/es/internal/ponyfills/Promise.allSettled.js +38 -0
  71. package/es/internal/ponyfills/Promise.any.js +77 -0
  72. package/es/internal/ponyfills/String.padEnd.js +24 -0
  73. package/es/internal/ponyfills/String.padStart.js +26 -0
  74. package/es/internal/ponyfills/String.repeat.js +46 -0
  75. package/es/internal/ponyfills/String.replaceAll.js +34 -0
  76. package/es/internal/ponyfills/String.trimEnd.js +3 -0
  77. package/es/internal/ponyfills/String.trimStart.js +3 -0
  78. package/es/invoke.js +20 -0
  79. package/es/invokeArgs.js +30 -0
  80. package/es/isArray.js +22 -0
  81. package/es/isArrayLike.js +87 -0
  82. package/es/isAsyncFunction.js +22 -0
  83. package/es/isBigInt.js +23 -0
  84. package/es/isBoolean.js +21 -0
  85. package/es/isDate.js +20 -0
  86. package/es/isEmptyArray.js +26 -0
  87. package/es/isEmptyString.js +27 -0
  88. package/es/isError.js +20 -0
  89. package/es/isEven.js +29 -0
  90. package/es/isFalse.js +29 -0
  91. package/es/isFalsy.js +26 -0
  92. package/es/isFinite.js +33 -0
  93. package/es/isFloat.js +34 -0
  94. package/es/isFunction.js +26 -0
  95. package/es/isGeneratorFunction.js +33 -0
  96. package/es/isIndexed.js +21 -0
  97. package/es/isInteger.js +35 -0
  98. package/es/isInteger32.js +28 -0
  99. package/es/isIterable.js +33 -0
  100. package/es/isMap.js +23 -0
  101. package/es/isNaN.js +41 -0
  102. package/es/isNaturalNumber.js +25 -0
  103. package/es/isNegative.js +25 -0
  104. package/es/isNegativeZero.js +22 -0
  105. package/es/isNilOrEmpty.js +25 -0
  106. package/es/isNonEmptyArray.js +27 -0
  107. package/es/isNonEmptyString.js +30 -0
  108. package/es/isNonNegative.js +28 -0
  109. package/es/isNonPositive.js +28 -0
  110. package/es/isNotArray.js +22 -0
  111. package/es/isNotArrayLike.js +24 -0
  112. package/es/isNotAsyncFunction.js +27 -0
  113. package/es/isNotBoolean.js +22 -0
  114. package/es/isNotDate.js +21 -0
  115. package/es/isNotEmpty.js +25 -0
  116. package/es/isNotFinite.js +29 -0
  117. package/es/isNotFloat.js +33 -0
  118. package/es/isNotFunction.js +29 -0
  119. package/es/isNotGeneratorFunction.js +27 -0
  120. package/es/isNotInteger.js +34 -0
  121. package/es/isNotMap.js +24 -0
  122. package/es/isNotNaN.js +35 -0
  123. package/es/isNotNil.js +22 -0
  124. package/es/isNotNilOrEmpty.js +26 -0
  125. package/es/isNotNull.js +22 -0
  126. package/es/isNotNumber.js +23 -0
  127. package/es/isNotObj.js +29 -0
  128. package/es/isNotObjLike.js +29 -0
  129. package/es/isNotPair.js +25 -0
  130. package/es/isNotPlainObj.js +35 -0
  131. package/es/isNotPrimitive.js +22 -0
  132. package/es/isNotRegExp.js +22 -0
  133. package/es/isNotSet.js +23 -0
  134. package/es/isNotString.js +21 -0
  135. package/es/isNotUndefined.js +22 -0
  136. package/es/isNotValidDate.js +22 -0
  137. package/es/isNotValidNumber.js +25 -0
  138. package/es/isNull.js +21 -0
  139. package/es/isNumber.js +23 -0
  140. package/es/isObj.js +31 -0
  141. package/es/isObjLike.js +30 -0
  142. package/es/isOdd.js +24 -0
  143. package/es/isPair.js +25 -0
  144. package/es/isPlainObj.js +52 -0
  145. package/es/isPositive.js +24 -0
  146. package/es/isPositiveZero.js +22 -0
  147. package/es/isPrimitive.js +31 -0
  148. package/es/isPromise.js +27 -0
  149. package/es/isPrototypeOf.js +34 -0
  150. package/es/isRegExp.js +21 -0
  151. package/es/isSafeInteger.js +34 -0
  152. package/es/isSentinelValue.js +26 -0
  153. package/es/isSet.js +22 -0
  154. package/es/isSparseArray.js +30 -0
  155. package/es/isString.js +20 -0
  156. package/es/isSymbol.js +27 -0
  157. package/es/isThenable.js +26 -0
  158. package/es/isTrue.js +25 -0
  159. package/es/isTruthy.js +27 -0
  160. package/es/isUndefined.js +22 -0
  161. package/es/isValidDate.js +26 -0
  162. package/es/isValidNumber.js +26 -0
  163. package/es/lastP.js +63 -0
  164. package/es/lengthEq.js +22 -0
  165. package/es/lengthGt.js +22 -0
  166. package/es/lengthGte.js +24 -0
  167. package/es/lengthLt.js +22 -0
  168. package/es/lengthLte.js +23 -0
  169. package/es/lengthNotEq.js +22 -0
  170. package/es/lensEq.js +27 -0
  171. package/es/lensIso.js +55 -0
  172. package/es/lensNotEq.js +26 -0
  173. package/es/lensNotSatisfy.js +28 -0
  174. package/es/lensSatisfies.js +31 -0
  175. package/es/lensTraverse.js +42 -0
  176. package/es/liftF.js +37 -0
  177. package/es/liftFN.js +47 -0
  178. package/es/list.js +19 -0
  179. package/es/mapIndexed.js +26 -0
  180. package/es/mergePath.js +30 -0
  181. package/es/mergePaths.js +27 -0
  182. package/es/mergeProp.js +30 -0
  183. package/es/mergeProps.js +26 -0
  184. package/es/mergeRight.js +26 -0
  185. package/es/move.js +25 -0
  186. package/es/nand.js +27 -0
  187. package/es/neither.js +39 -0
  188. package/es/noneP.js +28 -0
  189. package/es/nonePass.js +31 -0
  190. package/es/noop.js +19 -0
  191. package/es/nor.js +28 -0
  192. package/es/notAllPass.js +31 -0
  193. package/es/notAllUnique.js +23 -0
  194. package/es/notBoth.js +39 -0
  195. package/es/notEqual.js +30 -0
  196. package/es/omitBy.js +26 -0
  197. package/es/omitIndexes.js +27 -0
  198. package/es/overlaps.js +29 -0
  199. package/es/padCharsEnd.js +31 -0
  200. package/es/padCharsStart.js +29 -0
  201. package/es/padEnd.js +24 -0
  202. package/es/padStart.js +22 -0
  203. package/es/pathNotEq.js +32 -0
  204. package/es/pathOrLazy.js +25 -0
  205. package/es/paths.js +27 -0
  206. package/es/pickIndexes.js +30 -0
  207. package/es/propNotEq.js +29 -0
  208. package/es/rangeStep.js +36 -0
  209. package/es/reduceIndexed.js +30 -0
  210. package/es/reduceP.js +111 -0
  211. package/es/reduceRightP.js +117 -0
  212. package/es/rejectP.js +23 -0
  213. package/es/renameKeyWith.js +28 -0
  214. package/es/renameKeys.js +42 -0
  215. package/es/renameKeysWith.js +26 -0
  216. package/es/repeatStr.js +24 -0
  217. package/es/replaceAll.js +29 -0
  218. package/es/resolveP.js +29 -0
  219. package/es/round.js +24 -0
  220. package/es/seq.js +44 -0
  221. package/es/sign.js +27 -0
  222. package/es/skipTake.js +22 -0
  223. package/es/sliceFrom.js +22 -0
  224. package/es/sliceTo.js +22 -0
  225. package/es/sortByProps.js +52 -0
  226. package/es/spreadPath.js +25 -0
  227. package/es/spreadProp.js +25 -0
  228. package/es/stubArray.js +19 -0
  229. package/es/stubNull.js +18 -0
  230. package/es/stubObj.js +20 -0
  231. package/es/stubString.js +18 -0
  232. package/es/stubUndefined.js +19 -0
  233. package/es/subtractNum.js +19 -0
  234. package/es/thenCatchP.js +26 -0
  235. package/es/thenP.js +28 -0
  236. package/es/toArray.js +27 -0
  237. package/es/toInteger32.js +24 -0
  238. package/es/toUinteger32.js +26 -0
  239. package/es/trimCharsEnd.js +22 -0
  240. package/es/trimCharsStart.js +22 -0
  241. package/es/trimEnd.js +23 -0
  242. package/es/trimStart.js +22 -0
  243. package/es/trunc.js +27 -0
  244. package/es/unzipObjWith.js +26 -0
  245. package/es/viewOr.js +30 -0
  246. package/es/weave.js +36 -0
  247. package/es/weaveLazy.js +38 -0
  248. package/es/zipObjWith.js +26 -0
  249. package/lib/Y.js +44 -0
  250. package/lib/allEqual.js +35 -0
  251. package/lib/allEqualTo.js +32 -0
  252. package/lib/allIdentical.js +33 -0
  253. package/lib/allIdenticalTo.js +32 -0
  254. package/lib/allP.js +32 -0
  255. package/lib/allSettledP.js +41 -0
  256. package/lib/allUnique.js +32 -0
  257. package/lib/anyP.js +47 -0
  258. package/lib/appendFlipped.js +29 -0
  259. package/lib/argsPass.js +48 -0
  260. package/lib/async.js +67 -0
  261. package/lib/cata.js +110 -0
  262. package/lib/catchP.js +30 -0
  263. package/lib/ceil.js +32 -0
  264. package/lib/compact.js +30 -0
  265. package/lib/concatAll.js +40 -0
  266. package/lib/concatRight.js +35 -0
  267. package/lib/contained.js +35 -0
  268. package/lib/curryRight.js +33 -0
  269. package/lib/curryRightN.js +38 -0
  270. package/lib/defaultWhen.js +31 -0
  271. package/lib/delayP.js +54 -0
  272. package/lib/dispatch.js +50 -0
  273. package/lib/divideNum.js +25 -0
  274. package/lib/dropArgs.js +28 -0
  275. package/lib/ensureArray.js +31 -0
  276. package/lib/escapeRegExp.js +29 -0
  277. package/lib/fantasy-land/Identity.js +323 -0
  278. package/lib/fantasy-land/mapping.js +44 -0
  279. package/lib/fantasy-land/traits.js +77 -0
  280. package/lib/fantasy-land/util.js +21 -0
  281. package/lib/filterIndexed.js +33 -0
  282. package/lib/findOr.js +34 -0
  283. package/lib/flattenDepth.js +58 -0
  284. package/lib/flattenPath.js +33 -0
  285. package/lib/flattenProp.js +37 -0
  286. package/lib/floor.js +31 -0
  287. package/lib/fnull.js +47 -0
  288. package/lib/hasPath.js +47 -0
  289. package/lib/inRange.js +37 -0
  290. package/lib/index.js +863 -0
  291. package/lib/internal/ap.js +37 -0
  292. package/lib/internal/compareLength.js +12 -0
  293. package/lib/internal/isOfTypeObject.js +13 -0
  294. package/lib/internal/makeFlat.js +54 -0
  295. package/lib/internal/ponyfills/Array.from.js +52 -0
  296. package/lib/internal/ponyfills/Math.sign.js +11 -0
  297. package/lib/internal/ponyfills/Math.trunc.js +22 -0
  298. package/lib/internal/ponyfills/Number.MAX_SAFE_INTEGER.js +7 -0
  299. package/lib/internal/ponyfills/Number.MIN_SAFE_INTEGER.js +7 -0
  300. package/lib/internal/ponyfills/Number.isFinite.js +15 -0
  301. package/lib/internal/ponyfills/Number.isInteger.js +14 -0
  302. package/lib/internal/ponyfills/Number.isNaN.js +15 -0
  303. package/lib/internal/ponyfills/Number.isSafeInteger.js +18 -0
  304. package/lib/internal/ponyfills/Promise.allSettled.js +48 -0
  305. package/lib/internal/ponyfills/Promise.any.js +89 -0
  306. package/lib/internal/ponyfills/String.padEnd.js +34 -0
  307. package/lib/internal/ponyfills/String.padStart.js +36 -0
  308. package/lib/internal/ponyfills/String.repeat.js +55 -0
  309. package/lib/internal/ponyfills/String.replaceAll.js +44 -0
  310. package/lib/internal/ponyfills/String.trimEnd.js +10 -0
  311. package/lib/internal/ponyfills/String.trimStart.js +10 -0
  312. package/lib/invoke.js +29 -0
  313. package/lib/invokeArgs.js +40 -0
  314. package/lib/isArray.js +31 -0
  315. package/lib/isArrayLike.js +98 -0
  316. package/lib/isAsyncFunction.js +28 -0
  317. package/lib/isBigInt.js +29 -0
  318. package/lib/isBoolean.js +27 -0
  319. package/lib/isDate.js +26 -0
  320. package/lib/isEmptyArray.js +35 -0
  321. package/lib/isEmptyString.js +33 -0
  322. package/lib/isError.js +26 -0
  323. package/lib/isEven.js +39 -0
  324. package/lib/isFalse.js +35 -0
  325. package/lib/isFalsy.js +35 -0
  326. package/lib/isFinite.js +46 -0
  327. package/lib/isFloat.js +44 -0
  328. package/lib/isFunction.js +36 -0
  329. package/lib/isGeneratorFunction.js +40 -0
  330. package/lib/isIndexed.js +31 -0
  331. package/lib/isInteger.js +47 -0
  332. package/lib/isInteger32.js +37 -0
  333. package/lib/isIterable.js +42 -0
  334. package/lib/isMap.js +29 -0
  335. package/lib/isNaN.js +54 -0
  336. package/lib/isNaturalNumber.js +35 -0
  337. package/lib/isNegative.js +34 -0
  338. package/lib/isNegativeZero.js +28 -0
  339. package/lib/isNilOrEmpty.js +31 -0
  340. package/lib/isNonEmptyArray.js +37 -0
  341. package/lib/isNonEmptyString.js +41 -0
  342. package/lib/isNonNegative.js +37 -0
  343. package/lib/isNonPositive.js +37 -0
  344. package/lib/isNotArray.js +31 -0
  345. package/lib/isNotArrayLike.js +33 -0
  346. package/lib/isNotAsyncFunction.js +36 -0
  347. package/lib/isNotBoolean.js +31 -0
  348. package/lib/isNotDate.js +30 -0
  349. package/lib/isNotEmpty.js +31 -0
  350. package/lib/isNotFinite.js +38 -0
  351. package/lib/isNotFloat.js +42 -0
  352. package/lib/isNotFunction.js +38 -0
  353. package/lib/isNotGeneratorFunction.js +36 -0
  354. package/lib/isNotInteger.js +43 -0
  355. package/lib/isNotMap.js +33 -0
  356. package/lib/isNotNaN.js +44 -0
  357. package/lib/isNotNil.js +28 -0
  358. package/lib/isNotNilOrEmpty.js +35 -0
  359. package/lib/isNotNull.js +31 -0
  360. package/lib/isNotNumber.js +32 -0
  361. package/lib/isNotObj.js +38 -0
  362. package/lib/isNotObjLike.js +38 -0
  363. package/lib/isNotPair.js +34 -0
  364. package/lib/isNotPlainObj.js +44 -0
  365. package/lib/isNotPrimitive.js +31 -0
  366. package/lib/isNotRegExp.js +31 -0
  367. package/lib/isNotSet.js +32 -0
  368. package/lib/isNotString.js +30 -0
  369. package/lib/isNotUndefined.js +31 -0
  370. package/lib/isNotValidDate.js +31 -0
  371. package/lib/isNotValidNumber.js +34 -0
  372. package/lib/isNull.js +27 -0
  373. package/lib/isNumber.js +29 -0
  374. package/lib/isObj.js +42 -0
  375. package/lib/isObjLike.js +40 -0
  376. package/lib/isOdd.js +33 -0
  377. package/lib/isPair.js +34 -0
  378. package/lib/isPlainObj.js +64 -0
  379. package/lib/isPositive.js +33 -0
  380. package/lib/isPositiveZero.js +28 -0
  381. package/lib/isPrimitive.js +47 -0
  382. package/lib/isPromise.js +36 -0
  383. package/lib/isPrototypeOf.js +43 -0
  384. package/lib/isRegExp.js +27 -0
  385. package/lib/isSafeInteger.js +46 -0
  386. package/lib/isSentinelValue.js +35 -0
  387. package/lib/isSet.js +28 -0
  388. package/lib/isSparseArray.js +39 -0
  389. package/lib/isString.js +26 -0
  390. package/lib/isSymbol.js +33 -0
  391. package/lib/isThenable.js +35 -0
  392. package/lib/isTrue.js +31 -0
  393. package/lib/isTruthy.js +33 -0
  394. package/lib/isUndefined.js +31 -0
  395. package/lib/isValidDate.js +36 -0
  396. package/lib/isValidNumber.js +36 -0
  397. package/lib/lastP.js +76 -0
  398. package/lib/lengthEq.js +31 -0
  399. package/lib/lengthGt.js +31 -0
  400. package/lib/lengthGte.js +33 -0
  401. package/lib/lengthLt.js +31 -0
  402. package/lib/lengthLte.js +32 -0
  403. package/lib/lengthNotEq.js +31 -0
  404. package/lib/lensEq.js +33 -0
  405. package/lib/lensIso.js +62 -0
  406. package/lib/lensNotEq.js +35 -0
  407. package/lib/lensNotSatisfy.js +37 -0
  408. package/lib/lensSatisfies.js +40 -0
  409. package/lib/lensTraverse.js +51 -0
  410. package/lib/liftF.js +46 -0
  411. package/lib/liftFN.js +56 -0
  412. package/lib/list.js +25 -0
  413. package/lib/mapIndexed.js +32 -0
  414. package/lib/mergePath.js +39 -0
  415. package/lib/mergePaths.js +36 -0
  416. package/lib/mergeProp.js +39 -0
  417. package/lib/mergeProps.js +32 -0
  418. package/lib/mergeRight.js +32 -0
  419. package/lib/move.js +31 -0
  420. package/lib/nand.js +33 -0
  421. package/lib/neither.js +45 -0
  422. package/lib/noneP.js +39 -0
  423. package/lib/nonePass.js +37 -0
  424. package/lib/noop.js +28 -0
  425. package/lib/nor.js +34 -0
  426. package/lib/notAllPass.js +37 -0
  427. package/lib/notAllUnique.js +32 -0
  428. package/lib/notBoth.js +45 -0
  429. package/lib/notEqual.js +36 -0
  430. package/lib/omitBy.js +32 -0
  431. package/lib/omitIndexes.js +34 -0
  432. package/lib/overlaps.js +38 -0
  433. package/lib/padCharsEnd.js +44 -0
  434. package/lib/padCharsStart.js +42 -0
  435. package/lib/padEnd.js +32 -0
  436. package/lib/padStart.js +30 -0
  437. package/lib/pathNotEq.js +38 -0
  438. package/lib/pathOrLazy.js +31 -0
  439. package/lib/paths.js +33 -0
  440. package/lib/pickIndexes.js +37 -0
  441. package/lib/propNotEq.js +35 -0
  442. package/lib/rangeStep.js +45 -0
  443. package/lib/reduceIndexed.js +36 -0
  444. package/lib/reduceP.js +122 -0
  445. package/lib/reduceRightP.js +129 -0
  446. package/lib/rejectP.js +29 -0
  447. package/lib/renameKeyWith.js +37 -0
  448. package/lib/renameKeys.js +51 -0
  449. package/lib/renameKeysWith.js +32 -0
  450. package/lib/repeatStr.js +37 -0
  451. package/lib/replaceAll.js +42 -0
  452. package/lib/resolveP.js +35 -0
  453. package/lib/round.js +30 -0
  454. package/lib/seq.js +50 -0
  455. package/lib/sign.js +39 -0
  456. package/lib/skipTake.js +28 -0
  457. package/lib/sliceFrom.js +28 -0
  458. package/lib/sliceTo.js +28 -0
  459. package/lib/sortByProps.js +58 -0
  460. package/lib/spreadPath.js +31 -0
  461. package/lib/spreadProp.js +34 -0
  462. package/lib/stubArray.js +25 -0
  463. package/lib/stubNull.js +24 -0
  464. package/lib/stubObj.js +26 -0
  465. package/lib/stubString.js +24 -0
  466. package/lib/stubUndefined.js +25 -0
  467. package/lib/subtractNum.js +25 -0
  468. package/lib/thenCatchP.js +33 -0
  469. package/lib/thenP.js +34 -0
  470. package/lib/toArray.js +40 -0
  471. package/lib/toInteger32.js +30 -0
  472. package/lib/toUinteger32.js +32 -0
  473. package/lib/trimCharsEnd.js +31 -0
  474. package/lib/trimCharsStart.js +31 -0
  475. package/lib/trimEnd.js +36 -0
  476. package/lib/trimStart.js +35 -0
  477. package/lib/trunc.js +39 -0
  478. package/lib/unzipObjWith.js +35 -0
  479. package/lib/viewOr.js +36 -0
  480. package/lib/weave.js +42 -0
  481. package/lib/weaveLazy.js +44 -0
  482. package/lib/zipObjWith.js +32 -0
  483. package/package.json +204 -0
  484. package/src/Y.js +32 -0
  485. package/src/allEqual.js +28 -0
  486. package/src/allEqualTo.js +25 -0
  487. package/src/allIdentical.js +26 -0
  488. package/src/allIdenticalTo.js +25 -0
  489. package/src/allP.js +27 -0
  490. package/src/allSettledP.js +34 -0
  491. package/src/allUnique.js +25 -0
  492. package/src/anyP.js +33 -0
  493. package/src/appendFlipped.js +24 -0
  494. package/src/argsPass.js +40 -0
  495. package/src/async.js +60 -0
  496. package/src/cata.js +86 -0
  497. package/src/catchP.js +25 -0
  498. package/src/ceil.js +28 -0
  499. package/src/compact.js +23 -0
  500. package/src/concatAll.js +34 -0
  501. package/src/concatRight.js +30 -0
  502. package/src/contained.js +30 -0
  503. package/src/curryRight.js +26 -0
  504. package/src/curryRightN.js +29 -0
  505. package/src/defaultWhen.js +26 -0
  506. package/src/delayP.js +45 -0
  507. package/src/dispatch.js +74 -0
  508. package/src/divideNum.js +20 -0
  509. package/src/dropArgs.js +23 -0
  510. package/src/ensureArray.js +24 -0
  511. package/src/escapeRegExp.js +22 -0
  512. package/src/fantasy-land/Identity.js +270 -0
  513. package/src/fantasy-land/mapping.js +20 -0
  514. package/src/fantasy-land/traits.js +57 -0
  515. package/src/fantasy-land/util.js +23 -0
  516. package/src/filterIndexed.js +28 -0
  517. package/src/findOr.js +30 -0
  518. package/src/flattenDepth.js +39 -0
  519. package/src/flattenPath.js +26 -0
  520. package/src/flattenProp.js +28 -0
  521. package/src/floor.js +27 -0
  522. package/src/fnull.js +38 -0
  523. package/src/hasPath.js +40 -0
  524. package/src/inRange.js +34 -0
  525. package/src/index.js +241 -0
  526. package/src/internal/ap.js +30 -0
  527. package/src/internal/compareLength.js +7 -0
  528. package/src/internal/isOfTypeObject.js +3 -0
  529. package/src/internal/makeFlat.js +42 -0
  530. package/src/internal/ponyfills/Array.from.js +34 -0
  531. package/src/internal/ponyfills/Math.sign.js +3 -0
  532. package/src/internal/ponyfills/Math.trunc.js +14 -0
  533. package/src/internal/ponyfills/Number.MAX_SAFE_INTEGER.js +3 -0
  534. package/src/internal/ponyfills/Number.MIN_SAFE_INTEGER.js +3 -0
  535. package/src/internal/ponyfills/Number.isFinite.js +8 -0
  536. package/src/internal/ponyfills/Number.isInteger.js +10 -0
  537. package/src/internal/ponyfills/Number.isNaN.js +8 -0
  538. package/src/internal/ponyfills/Number.isSafeInteger.js +11 -0
  539. package/src/internal/ponyfills/Promise.allSettled.js +18 -0
  540. package/src/internal/ponyfills/Promise.any.js +29 -0
  541. package/src/internal/ponyfills/String.padEnd.js +25 -0
  542. package/src/internal/ponyfills/String.padStart.js +27 -0
  543. package/src/internal/ponyfills/String.repeat.js +49 -0
  544. package/src/internal/ponyfills/String.replaceAll.js +44 -0
  545. package/src/internal/ponyfills/String.trimEnd.js +5 -0
  546. package/src/internal/ponyfills/String.trimStart.js +5 -0
  547. package/src/invoke.js +22 -0
  548. package/src/invokeArgs.js +36 -0
  549. package/src/isArray.js +27 -0
  550. package/src/isArrayLike.js +79 -0
  551. package/src/isAsyncFunction.js +23 -0
  552. package/src/isBigInt.js +24 -0
  553. package/src/isBoolean.js +22 -0
  554. package/src/isDate.js +21 -0
  555. package/src/isEmptyArray.js +28 -0
  556. package/src/isEmptyString.js +28 -0
  557. package/src/isError.js +21 -0
  558. package/src/isEven.js +31 -0
  559. package/src/isFalse.js +31 -0
  560. package/src/isFalsy.js +28 -0
  561. package/src/isFinite.js +37 -0
  562. package/src/isFloat.js +36 -0
  563. package/src/isFunction.js +32 -0
  564. package/src/isGeneratorFunction.js +43 -0
  565. package/src/isIndexed.js +24 -0
  566. package/src/isInteger.js +40 -0
  567. package/src/isInteger32.js +28 -0
  568. package/src/isIterable.js +37 -0
  569. package/src/isMap.js +25 -0
  570. package/src/isNaN.js +45 -0
  571. package/src/isNaturalNumber.js +28 -0
  572. package/src/isNegative.js +27 -0
  573. package/src/isNegativeZero.js +23 -0
  574. package/src/isNilOrEmpty.js +26 -0
  575. package/src/isNonEmptyArray.js +29 -0
  576. package/src/isNonEmptyString.js +32 -0
  577. package/src/isNonNegative.js +30 -0
  578. package/src/isNonPositive.js +30 -0
  579. package/src/isNotArray.js +24 -0
  580. package/src/isNotArrayLike.js +26 -0
  581. package/src/isNotAsyncFunction.js +27 -0
  582. package/src/isNotBoolean.js +24 -0
  583. package/src/isNotDate.js +23 -0
  584. package/src/isNotEmpty.js +26 -0
  585. package/src/isNotFinite.js +31 -0
  586. package/src/isNotFloat.js +35 -0
  587. package/src/isNotFunction.js +29 -0
  588. package/src/isNotGeneratorFunction.js +27 -0
  589. package/src/isNotInteger.js +36 -0
  590. package/src/isNotMap.js +27 -0
  591. package/src/isNotNaN.js +37 -0
  592. package/src/isNotNil.js +23 -0
  593. package/src/isNotNilOrEmpty.js +28 -0
  594. package/src/isNotNull.js +24 -0
  595. package/src/isNotNumber.js +25 -0
  596. package/src/isNotObj.js +29 -0
  597. package/src/isNotObjLike.js +29 -0
  598. package/src/isNotPair.js +27 -0
  599. package/src/isNotPlainObj.js +35 -0
  600. package/src/isNotPrimitive.js +25 -0
  601. package/src/isNotRegExp.js +24 -0
  602. package/src/isNotSet.js +26 -0
  603. package/src/isNotString.js +23 -0
  604. package/src/isNotUndefined.js +24 -0
  605. package/src/isNotValidDate.js +24 -0
  606. package/src/isNotValidNumber.js +27 -0
  607. package/src/isNull.js +22 -0
  608. package/src/isNumber.js +24 -0
  609. package/src/isObj.js +31 -0
  610. package/src/isObjLike.js +30 -0
  611. package/src/isOdd.js +29 -0
  612. package/src/isPair.js +27 -0
  613. package/src/isPlainObj.js +65 -0
  614. package/src/isPositive.js +26 -0
  615. package/src/isPositiveZero.js +23 -0
  616. package/src/isPrimitive.js +45 -0
  617. package/src/isPromise.js +32 -0
  618. package/src/isPrototypeOf.js +36 -0
  619. package/src/isRegExp.js +22 -0
  620. package/src/isSafeInteger.js +40 -0
  621. package/src/isSentinelValue.js +26 -0
  622. package/src/isSet.js +24 -0
  623. package/src/isSparseArray.js +43 -0
  624. package/src/isString.js +21 -0
  625. package/src/isSymbol.js +29 -0
  626. package/src/isThenable.js +28 -0
  627. package/src/isTrue.js +27 -0
  628. package/src/isTruthy.js +28 -0
  629. package/src/isUndefined.js +24 -0
  630. package/src/isValidDate.js +29 -0
  631. package/src/isValidNumber.js +28 -0
  632. package/src/lastP.js +54 -0
  633. package/src/lengthEq.js +24 -0
  634. package/src/lengthGt.js +24 -0
  635. package/src/lengthGte.js +26 -0
  636. package/src/lengthLt.js +24 -0
  637. package/src/lengthLte.js +25 -0
  638. package/src/lengthNotEq.js +24 -0
  639. package/src/lensEq.js +28 -0
  640. package/src/lensIso.js +51 -0
  641. package/src/lensNotEq.js +28 -0
  642. package/src/lensNotSatisfy.js +30 -0
  643. package/src/lensSatisfies.js +33 -0
  644. package/src/lensTraverse.js +44 -0
  645. package/src/liftF.js +37 -0
  646. package/src/liftFN.js +45 -0
  647. package/src/list.js +20 -0
  648. package/src/mapIndexed.js +27 -0
  649. package/src/mergePath.js +32 -0
  650. package/src/mergePaths.js +29 -0
  651. package/src/mergeProp.js +30 -0
  652. package/src/mergeProps.js +27 -0
  653. package/src/mergeRight.js +27 -0
  654. package/src/move.js +26 -0
  655. package/src/nand.js +27 -0
  656. package/src/neither.js +38 -0
  657. package/src/noneP.js +35 -0
  658. package/src/nonePass.js +32 -0
  659. package/src/noop.js +21 -0
  660. package/src/nor.js +28 -0
  661. package/src/notAllPass.js +32 -0
  662. package/src/notAllUnique.js +25 -0
  663. package/src/notBoth.js +38 -0
  664. package/src/notEqual.js +31 -0
  665. package/src/omitBy.js +25 -0
  666. package/src/omitIndexes.js +27 -0
  667. package/src/overlaps.js +32 -0
  668. package/src/padCharsEnd.js +37 -0
  669. package/src/padCharsStart.js +35 -0
  670. package/src/padEnd.js +25 -0
  671. package/src/padStart.js +23 -0
  672. package/src/pathNotEq.js +31 -0
  673. package/src/pathOrLazy.js +30 -0
  674. package/src/paths.js +26 -0
  675. package/src/pickIndexes.js +30 -0
  676. package/src/propNotEq.js +30 -0
  677. package/src/rangeStep.js +37 -0
  678. package/src/reduceIndexed.js +31 -0
  679. package/src/reduceP.js +96 -0
  680. package/src/reduceRightP.js +101 -0
  681. package/src/rejectP.js +24 -0
  682. package/src/renameKeyWith.js +30 -0
  683. package/src/renameKeys.js +40 -0
  684. package/src/renameKeysWith.js +27 -0
  685. package/src/repeatStr.js +30 -0
  686. package/src/replaceAll.js +35 -0
  687. package/src/resolveP.js +28 -0
  688. package/src/round.js +26 -0
  689. package/src/seq.js +38 -0
  690. package/src/sign.js +33 -0
  691. package/src/skipTake.js +33 -0
  692. package/src/sliceFrom.js +23 -0
  693. package/src/sliceTo.js +23 -0
  694. package/src/sortByProps.js +31 -0
  695. package/src/spreadPath.js +26 -0
  696. package/src/spreadProp.js +25 -0
  697. package/src/stubArray.js +18 -0
  698. package/src/stubNull.js +19 -0
  699. package/src/stubObj.js +19 -0
  700. package/src/stubString.js +19 -0
  701. package/src/stubUndefined.js +19 -0
  702. package/src/subtractNum.js +20 -0
  703. package/src/thenCatchP.js +27 -0
  704. package/src/thenP.js +29 -0
  705. package/src/toArray.js +32 -0
  706. package/src/toInteger32.js +22 -0
  707. package/src/toUinteger32.js +26 -0
  708. package/src/trimCharsEnd.js +25 -0
  709. package/src/trimCharsStart.js +25 -0
  710. package/src/trimEnd.js +30 -0
  711. package/src/trimStart.js +29 -0
  712. package/src/trunc.js +33 -0
  713. package/src/unzipObjWith.js +40 -0
  714. package/src/viewOr.js +32 -0
  715. package/src/weave.js +35 -0
  716. package/src/weaveLazy.js +37 -0
  717. package/src/zipObjWith.js +27 -0
  718. package/tonicExample.js +4 -0
  719. package/types/index.d.ts +1553 -0
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _lengthLte = _interopRequireDefault(require("./lengthLte"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ // Original idea for this function was conceived by https://github.com/jackmellis
13
+ // in https://github.com/char0n/ramda-adjunct/pull/513.
14
+
15
+ /**
16
+ * Returns true if all items in the list are equivalent using `R.equals` for equality comparisons.
17
+ *
18
+ * @func allEqual
19
+ * @memberOf RA
20
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.9.0|v2.9.0}
21
+ * @category List
22
+ * @sig [a] -> Boolean
23
+ * @param {Array} list The list of values
24
+ * @return {boolean}
25
+ * @see {@link https://ramdajs.com/docs/#equals|equals}
26
+ * @example
27
+ *
28
+ * RA.allEqual([ 1, 2, 3, 4 ]); //=> false
29
+ * RA.allEqual([ 1, 1, 1, 1 ]); //=> true
30
+ * RA.allEqual([]); //=> true
31
+ *
32
+ */
33
+ var allEqual = (0, _ramda.curryN)(1, (0, _ramda.pipe)(_ramda.uniq, (0, _lengthLte["default"])(1)));
34
+ var _default = allEqual;
35
+ exports["default"] = _default;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Returns true if all items in the list are equivalent to user provided value using `R.equals` for equality comparisons.
10
+ *
11
+ * @func allEqualTo
12
+ * @memberOf RA
13
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}
14
+ * @category List
15
+ * @sig a -> [b] -> Boolean
16
+ * @param {*} val User provided value to check the `list` against
17
+ * @param {Array} list The list of values
18
+ * @return {boolean}
19
+ * @see {@link RA.allEqual|allEqual}, {@link https://ramdajs.com/docs/#equals|equals}
20
+ * @example
21
+ *
22
+ * RA.allEqualTo(1, [ 1, 2, 3, 4 ]); //=> false
23
+ * RA.allEqualTo(1, [ 1, 1, 1, 1 ]); //=> true
24
+ * RA.allEqualTo({}, [ {}, {} ]); //=> true
25
+ * RA.allEqualTo(1, []); //=> true
26
+ *
27
+ */
28
+ var allEqualTo = (0, _ramda.curry)(function (val, list) {
29
+ return (0, _ramda.all)((0, _ramda.equals)(val), list);
30
+ });
31
+ var _default = allEqualTo;
32
+ exports["default"] = _default;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _lengthLte = _interopRequireDefault(require("./lengthLte"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ /**
13
+ * Returns true if all items in the list are equivalent using `R.identical` for equality comparisons.
14
+ *
15
+ * @func allIdentical
16
+ * @memberOf RA
17
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}
18
+ * @category List
19
+ * @sig [a] -> Boolean
20
+ * @param {Array} list The list of values
21
+ * @return {boolean}
22
+ * @see {@link https://ramdajs.com/docs/#identical|identical}
23
+ * @example
24
+ *
25
+ * RA.allIdentical([ 1, 2, 3, 4 ]); //=> false
26
+ * RA.allIdentical([ 1, 1, 1, 1 ]); //=> true
27
+ * RA.allIdentical([]); //=> true
28
+ * RA.allIdentical([ {}, {} ]); //=> false
29
+ * RA.allIdentical([ () => {}, () => {} ]); //=> false
30
+ */
31
+ var allIdentical = (0, _ramda.curryN)(1, (0, _ramda.pipe)((0, _ramda.uniqWith)(_ramda.identical), (0, _lengthLte["default"])(1)));
32
+ var _default = allIdentical;
33
+ exports["default"] = _default;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Returns true if all items in the list are equivalent to user provided value using `R.identical` for equality comparisons.
10
+ *
11
+ * @func allIdenticalTo
12
+ * @memberOf RA
13
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}
14
+ * @category List
15
+ * @sig a -> [b] -> Boolean
16
+ * @param {*} val User provided value to check the `list` against
17
+ * @param {Array} list The list of values
18
+ * @return {boolean}
19
+ * @see {@link RA.allIdentical|allIdentical}, {@link http://ramdajs.com/docs/#identical|R.identical}
20
+ * @example
21
+ *
22
+ * RA.allIdenticalTo(1, [ 1, 2, 3, 4 ]); //=> false
23
+ * RA.allIdenticalTo(1, [ 1, 1, 1, 1 ]); //=> true
24
+ * RA.allIdenticalTo(1, []); //=> true
25
+ * RA.allIdenticalTo({}, [ {}, {} ]); //=> false
26
+ *
27
+ */
28
+ var allIdenticalTo = (0, _ramda.curry)(function (val, list) {
29
+ return (0, _ramda.all)((0, _ramda.identical)(val), list);
30
+ });
31
+ var _default = allIdenticalTo;
32
+ exports["default"] = _default;
package/lib/allP.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Composable shortcut for `Promise.all`.
10
+ *
11
+ * The `allP` method returns a single Promise that resolves when all of the promises
12
+ * in the iterable argument have resolved or when the iterable argument contains no promises.
13
+ * It rejects with the reason of the first promise that rejects.
14
+ *
15
+ * @func allP
16
+ * @memberOf RA
17
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
18
+ * @category Function
19
+ * @sig [Promise a] -> Promise [a]
20
+ * @param {Iterable.<*>} iterable An iterable object such as an Array or String
21
+ * @return {Promise} An already resolved Promise if the iterable passed is empty. An asynchronously resolved Promise if the iterable passed contains no promises. Note, Google Chrome 58 returns an already resolved promise in this case. A pending Promise in all other cases. This returned promise is then resolved/rejected asynchronously (as soon as the stack is empty) when all the promises in the given iterable have resolved, or if any of the promises reject. See the example about "Asynchronicity or synchronicity of allP" below.
22
+ * @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}
23
+ * @example
24
+ *
25
+ * RA.allP([1, 2]); //=> Promise([1, 2])
26
+ * RA.allP([1, Promise.resolve(2)]); //=> Promise([1, 2])
27
+ * RA.allP([Promise.resolve(1), Promise.resolve(2)]); //=> Promise([1, 2])
28
+ * RA.allP([1, Promise.reject(2)]); //=> Promise(2)
29
+ */
30
+ var allP = (0, _ramda.curryN)(1, (0, _ramda.bind)(Promise.all, Promise));
31
+ var _default = allP;
32
+ exports["default"] = _default;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = exports.allSettledPPonyfill = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _isFunction = _interopRequireDefault(require("./isFunction"));
9
+
10
+ var _Promise = _interopRequireDefault(require("./internal/ponyfills/Promise.allSettled"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var allSettledPPonyfill = (0, _ramda.curryN)(1, _Promise["default"]);
15
+ /**
16
+ * Returns a promise that is fulfilled with an array of promise state snapshots,
17
+ * but only after all the original promises have settled, i.e. become either fulfilled or rejected.
18
+ * We say that a promise is settled if it is not pending, i.e. if it is either fulfilled or rejected.
19
+ *
20
+ * @func allSettledP
21
+ * @memberOf RA
22
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.18.0|v2.18.0}
23
+ * @category Function
24
+ * @typedef Settlement = { status: String, value: * }
25
+ * @sig [Promise a] -> Promise [Settlement a]
26
+ * @param {Iterable.<*>} iterable An iterable object such as an Array or String
27
+ * @return {Promise} Returns a promise that is fulfilled with an array of promise state snapshots
28
+ * @see {@link RA.allP|allP}
29
+ * @example
30
+ *
31
+ * RA.allSettledP([
32
+ * Promise.resolve(1),
33
+ * 2,
34
+ * Promise.reject(3),
35
+ * ]); //=> Promise([{ status: 'fulfilled', value: 1 }, { status: 'fulfilled', value: 2 }, { status: 'rejected', reason: 3 }])
36
+ */
37
+
38
+ exports.allSettledPPonyfill = allSettledPPonyfill;
39
+ var allSettledP = (0, _isFunction["default"])(Promise.allSettled) ? (0, _ramda.curryN)(1, (0, _ramda.bind)(Promise.allSettled, Promise)) : allSettledPPonyfill;
40
+ var _default = allSettledP;
41
+ exports["default"] = _default;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _lengthEq = _interopRequireDefault(require("./lengthEq"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ /**
13
+ * Returns true if all items in the list are unique. `R.equals` is used to determine equality.
14
+ *
15
+ * @func allUnique
16
+ * @memberOf RA
17
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
18
+ * @category List
19
+ * @sig [a] -> Boolean
20
+ * @param {Array} list The list of values
21
+ * @return {boolean}
22
+ * @see {@link RA.notAllUnique|notAllUnique}, {@link https://ramdajs.com/docs/#equals|equals}
23
+ * @example
24
+ *
25
+ * RA.allUnique([ 1, 2, 3, 4 ]); //=> true
26
+ * RA.allUnique([ 1, 1, 2, 3 ]); //=> false
27
+ * RA.allUnique([]); //=> true
28
+ *
29
+ */
30
+ var allUnique = (0, _ramda.converge)(_lengthEq["default"], [_ramda.length, _ramda.uniq]);
31
+ var _default = allUnique;
32
+ exports["default"] = _default;
package/lib/anyP.js ADDED
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = exports.anyPPonyfill = void 0;
7
+
8
+ var _ramda = require("ramda");
9
+
10
+ var _isFunction = _interopRequireDefault(require("./isFunction"));
11
+
12
+ var _Promise = _interopRequireWildcard(require("./internal/ponyfills/Promise.any"));
13
+
14
+ exports.AggregatedError = _Promise.AggregatedError;
15
+
16
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
18
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
+
22
+ var anyPPonyfill = (0, _ramda.curryN)(1, _Promise["default"]);
23
+ exports.anyPPonyfill = anyPPonyfill;
24
+
25
+ /**
26
+ * Returns a promise that is fulfilled by the first given promise to be fulfilled,
27
+ * or rejected with an array of rejection reasons if all of the given promises are rejected.
28
+ *
29
+ * @func anyP
30
+ * @memberOf RA
31
+ * @category Function
32
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
33
+ * @sig [Promise a] -> Promise a
34
+ * @param {Iterable.<*>} iterable An iterable object such as an Array or String
35
+ * @return {Promise} A promise that is fulfilled by the first given promise to be fulfilled, or rejected with an array of rejection reasons if all of the given promises are rejected
36
+ * @see {@link RA.lastP|lastP}
37
+ * @example
38
+ *
39
+ * RA.anyP([
40
+ * Promise.resolve(1),
41
+ * 2,
42
+ * Promise.reject(3),
43
+ * ]); //=> Promise(1)
44
+ */
45
+ var anyP = (0, _isFunction["default"])(Promise.any) ? (0, _ramda.curryN)(1, (0, _ramda.bind)(Promise.any, Promise)) : anyPPonyfill;
46
+ var _default = anyP;
47
+ exports["default"] = _default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Returns a new list containing the contents of the given list, followed by the given element.
10
+ * Like {@link http://ramdajs.com/docs/#append|R.append} but with argument order reversed.
11
+ *
12
+ * @func appendFlipped
13
+ * @memberOf RA
14
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}
15
+ * @category List
16
+ * @sig [a] -> a -> [a]
17
+ * @param {Array} list The list of elements to add a new item to
18
+ * @param {*} el The element to add to the end of the new list
19
+ * @return {Array} A new list containing the elements of the old list followed by `el`
20
+ * @see {@link http://ramdajs.com/docs/#append|R.append}
21
+ * @example
22
+ *
23
+ * RA.appendFlipped(['write', 'more'], 'tests'); //=> ['write', 'more', 'tests']
24
+ * RA.appendFlipped([], 'tests'); //=> ['tests']
25
+ * RA.appendFlipped(['write', 'more'], ['tests']); //=> ['write', 'more', ['tests']]
26
+ */
27
+ var appendFlipped = (0, _ramda.flip)(_ramda.append);
28
+ var _default = appendFlipped;
29
+ exports["default"] = _default;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _list = _interopRequireDefault(require("./list"));
9
+
10
+ var _isTruthy = _interopRequireDefault(require("./isTruthy"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ /**
15
+ * Takes a combining predicate and a list of functions and returns a function which will map the
16
+ * arguments it receives to the list of functions and returns the result of passing the values
17
+ * returned from each function to the combining predicate. A combining predicate is a function that
18
+ * combines a list of Boolean values into a single Boolean value, such as `R.any` or `R.all`. It
19
+ * will test each value using `RA.isTruthy`, meaning the functions don't necessarily have to be
20
+ * predicates.
21
+ *
22
+ * The function returned is curried to the number of functions supplied, and if called with more
23
+ * arguments than functions, any remaining arguments are passed in to the combining predicate
24
+ * untouched.
25
+ *
26
+ * @func argsPass
27
+ * @memberOf RA
28
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.7.0|v2.7.0}
29
+ * @category Logic
30
+ * @sig ((* -> Boolean) -> [*] -> Boolean) -> [(* -> Boolean), ...] -> (*...) -> Boolean
31
+ * @param {Function} combiningPredicate The predicate used to combine the values returned from the
32
+ * list of functions
33
+ * @param {Array} functions List of functions
34
+ * @return {boolean} Returns the combined result of mapping arguments to functions
35
+ * @example
36
+ *
37
+ * RA.argsPass(R.all, [RA.isArray, RA.isBoolean, RA.isString])([], false, 'abc') //=> true
38
+ * RA.argsPass(R.all, [RA.isArray, RA.isBoolean, RA.isString])([], false, 1) //=> false
39
+ * RA.argsPass(R.any, [RA.isArray, RA.isBoolean, RA.isString])({}, 1, 'abc') //=> true
40
+ * RA.argsPass(R.any, [RA.isArray, RA.isBoolean, RA.isString])({}, 1, false) //=> false
41
+ * RA.argsPass(R.none, [RA.isArray, RA.isBoolean, RA.isString])({}, 1, false) //=> true
42
+ * RA.argsPass(R.none, [RA.isArray, RA.isBoolean, RA.isString])({}, 1, 'abc') //=> false
43
+ */
44
+ var argsPass = (0, _ramda.curry)(function (combiningPredicate, predicates) {
45
+ return (0, _ramda.useWith)((0, _ramda.compose)(combiningPredicate(_isTruthy["default"]), _list["default"]), predicates);
46
+ });
47
+ var _default = argsPass;
48
+ exports["default"] = _default;
package/lib/async.js ADDED
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _resolveP = _interopRequireDefault(require("./resolveP"));
9
+
10
+ var _rejectP = _interopRequireDefault(require("./rejectP"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ /**
15
+ * Takes a generator function and returns an async function.
16
+ * The async function returned is a curried function whose arity matches that of the generator function.
17
+ *
18
+ * Note: This function is handy for environments that does support generators but doesn't support async/await.
19
+ *
20
+ * @func async
21
+ * @memberOf RA
22
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.16.0|v2.16.0}
23
+ * @category Function
24
+ * @sig Promise c => (a, b, ...) -> a -> b -> ... -> c
25
+ * @param {Function} generatorFn The generator function
26
+ * @return {Function} Curried async function
27
+ * @see {@link https://www.promisejs.org/generators/}
28
+ * @example
29
+ *
30
+ * const asyncFn = RA.async(function* generator(val1, val2) {
31
+ * const a = yield Promise.resolve(val1);
32
+ * const b = yield Promise.resolve(val2);
33
+ *
34
+ * return a + b;
35
+ * });
36
+ *
37
+ * asyncFn(1, 2); //=> Promise(3)
38
+ *
39
+ */
40
+ var async = (0, _ramda.curryN)(1, function (generatorFn) {
41
+ function asyncWrapper() {
42
+ var iterator = (0, _ramda.bind)(generatorFn, this).apply(void 0, arguments);
43
+
44
+ var handle = function handle(result) {
45
+ var resolved = (0, _resolveP["default"])(result.value);
46
+ return result.done ? resolved : resolved.then(function (value) {
47
+ return handle(iterator.next(value));
48
+ }, function (error) {
49
+ return handle(iterator["throw"](error));
50
+ });
51
+ };
52
+
53
+ try {
54
+ return handle(iterator.next());
55
+ } catch (error) {
56
+ return (0, _rejectP["default"])(error);
57
+ }
58
+ }
59
+
60
+ if (generatorFn.length > 0) {
61
+ return (0, _ramda.curryN)(generatorFn.length, asyncWrapper);
62
+ }
63
+
64
+ return asyncWrapper;
65
+ });
66
+ var _default = async;
67
+ exports["default"] = _default;
package/lib/cata.js ADDED
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _isFunction = _interopRequireDefault(require("./isFunction"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ /**
13
+ * The catamorphism is a way of folding a type into a value.
14
+ *
15
+ * **Either**
16
+ *
17
+ * If the either is right then the right function will be executed with
18
+ * the `right` value and the value of the function returned. Otherwise the left function
19
+ * will be called with the `left` value.
20
+ *
21
+ * **Maybe**
22
+ *
23
+ * If the maybe is Some than the right function will be executed with the `some` value and the value of the function
24
+ * returned. Otherwise the left function with be called without an argument.
25
+ *
26
+ * **Result**
27
+ *
28
+ * If the result is Ok than the right function will be executed with the `Ok` value and the value of the function
29
+ * returned. Otherwise the left function will be called with the `Error` value.
30
+ *
31
+ * **Validation**
32
+ *
33
+ * If the validation is Success than the right function will be executed with the `Success` value and the value of the function
34
+ * returned. Otherwise the left function will be called with the `Failure` value.
35
+ *
36
+ * Supported monadic libraries: {@link https://monet.github.io/monet.js/|monet.js}, {@link https://folktale.origamitower.com/|folktale}, {@link https://github.com/ramda/ramda-fantasy|ramda-fantasy}
37
+ *
38
+ * @func cata
39
+ * @memberOf RA
40
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.4.0|v1.4.0}
41
+ * @category Function
42
+ * @sig (a -> b) -> (a -> c) -> Cata a -> b | c
43
+ * @param {Function} leftFn The left function that consumes the left value
44
+ * @param {Function} rightFn The right function that consumes the right value
45
+ * @param {Cata} catamorphicObj Either, Maybe or any other type with catamorphic capabilities (`cata` or `either` method)
46
+ * @return {*}
47
+ * @see {@link https://monet.github.io/monet.js/#cata|cata explained}
48
+ * @example
49
+ *
50
+ * // Either
51
+ * const eitherR = Either.Right(1);
52
+ * const eitherL = Either.Left(2);
53
+ *
54
+ * RA.cata(identity, identity, eitherR); //=> 1
55
+ * RA.cata(identity, identity, eitherL); //=> 2
56
+ *
57
+ * // Maybe
58
+ * const maybeSome = Maybe.Some(1);
59
+ * const maybeNothing = Maybe.Nothing();
60
+ *
61
+ * RA.cata(identity, identity, maybeSome); //=> 1
62
+ * RA.cata(identity, identity, maybeNothing); //=> undefined
63
+ */
64
+ var catamorphism = (0, _ramda.curry)(function (leftFn, rightFn, catamorphicObj) {
65
+ // folktale support
66
+ if ((0, _isFunction["default"])(catamorphicObj.matchWith)) {
67
+ return catamorphicObj.matchWith({
68
+ // Result type
69
+ Ok: function Ok(_ref) {
70
+ var value = _ref.value;
71
+ return rightFn(value);
72
+ },
73
+ Error: function Error(_ref2) {
74
+ var value = _ref2.value;
75
+ return leftFn(value);
76
+ },
77
+ // Maybe type
78
+ Just: function Just(_ref3) {
79
+ var value = _ref3.value;
80
+ return rightFn(value);
81
+ },
82
+ Nothing: function Nothing() {
83
+ return leftFn(undefined);
84
+ },
85
+ // Validation type
86
+ Success: function Success(_ref4) {
87
+ var value = _ref4.value;
88
+ return rightFn(value);
89
+ },
90
+ Failure: function Failure(_ref5) {
91
+ var value = _ref5.value;
92
+ return leftFn(value);
93
+ }
94
+ });
95
+ }
96
+
97
+ if ((0, _isFunction["default"])(catamorphicObj.cata)) {
98
+ return catamorphicObj.cata(leftFn, rightFn);
99
+ }
100
+
101
+ if ((0, _isFunction["default"])(catamorphicObj.getOrElse)) {
102
+ var elseValue = "RA.cata".concat(Math.random());
103
+ var value = catamorphicObj.getOrElse(elseValue);
104
+ return value === elseValue ? leftFn() : rightFn(value);
105
+ }
106
+
107
+ return catamorphicObj.either(leftFn, rightFn);
108
+ });
109
+ var _default = catamorphism;
110
+ exports["default"] = _default;
package/lib/catchP.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Composable shortcut for `Promise.catch`.
10
+ * The catchP function returns a Promise. It takes two arguments: a callback function for the failure of the Promise
11
+ * and the promise instance itself.
12
+ *
13
+ * @func catchP
14
+ * @memberOf RA
15
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.29.0|v2.29.0}
16
+ * @category Function
17
+ * @sig (a -> Promise b | b) -> Promise b
18
+ * @param {Function} onRejected A Function called if the Promise is rejected. This function has one argument, the rejection reason.
19
+ * @param {Promise} promise Any Promise
20
+ * @return {Promise} Returns a Promise with dealt rejected cases
21
+ * @see {@link RA.thenP|thenP}, {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}
22
+ *
23
+ * @example
24
+ *
25
+ * RA.catchP(() => 'b', Promise.resolve('a')); //=> Promise('a')
26
+ * RA.catchP(() => 'b', Promise.reject('a')); //=> Promise('b')
27
+ */
28
+ var catchP = (0, _ramda.invoker)(1, 'catch');
29
+ var _default = catchP;
30
+ exports["default"] = _default;
package/lib/ceil.js ADDED
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Returns the smallest integer greater than or equal to a given number.
10
+ *
11
+ * Note: ceil(null) returns integer 0 and does not give a NaN error.
12
+ *
13
+ * @func ceil
14
+ * @memberOf RA
15
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.15.0|v2.15.0}
16
+ * @category Math
17
+ * @sig Number -> Number
18
+ * @param {number} number The number to ceil
19
+ * @return {number} The smallest integer greater than or equal to the given number
20
+ * @example
21
+ *
22
+ * RA.ceil(.95); //=> 1
23
+ * RA.ceil(4); //=> 4
24
+ * RA.ceil(7.004); //=> 8
25
+ * RA.ceil(-0.95); //=> -0
26
+ * RA.ceil(-4); //=> -4
27
+ * RA.ceil(-7.004); //=> -7
28
+ * RA.ceil(null); //=> 0
29
+ */
30
+ var ceil = (0, _ramda.curryN)(1, (0, _ramda.bind)(Math.ceil, Math));
31
+ var _default = ceil;
32
+ exports["default"] = _default;
package/lib/compact.js ADDED
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _isFalsy = _interopRequireDefault(require("./isFalsy"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ /**
13
+ * Creates an array with all falsy values removed.
14
+ * The values false, null, 0, "", undefined, and NaN are falsy.
15
+ *
16
+ * @func compact
17
+ * @memberOf RA
18
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}
19
+ * @category List
20
+ * @sig Filterable f => f a -> f a
21
+ * @param {Array} list The array to compact
22
+ * @return {Array} Returns the new array of filtered values
23
+ * @see {@link RA.isFalsy|isFalsy}
24
+ * @example
25
+ *
26
+ * RA.compact([0, 1, false, 2, '', 3]); //=> [1, 2, 3]
27
+ */
28
+ var compact = (0, _ramda.reject)(_isFalsy["default"]);
29
+ var _default = compact;
30
+ exports["default"] = _default;