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,37 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = exports.repeatStrInvoker = exports.repeatStrPonyfill = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _String = _interopRequireDefault(require("./internal/ponyfills/String.repeat"));
9
+
10
+ var _isFunction = _interopRequireDefault(require("./isFunction"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var repeatStrPonyfill = (0, _ramda.curry)(_String["default"]);
15
+ exports.repeatStrPonyfill = repeatStrPonyfill;
16
+ var repeatStrInvoker = (0, _ramda.flip)((0, _ramda.invoker)(1, 'repeat'));
17
+ /**
18
+ * Constructs and returns a new string which contains the specified
19
+ * number of copies of the string on which it was called, concatenated together.
20
+ *
21
+ * @func repeatStr
22
+ * @memberOf RA
23
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.11.0|v2.11.0}
24
+ * @category List
25
+ * @sig String -> Number -> String
26
+ * @param {string} value String value to be repeated
27
+ * @param {number} count An integer between 0 and +∞: [0, +∞), indicating the number of times to repeat the string in the newly-created string that is to be returned
28
+ * @return {string} A new string containing the specified number of copies of the given string
29
+ * @example
30
+ *
31
+ * RA.repeatStr('a', 3); //=> 'aaa'
32
+ */
33
+
34
+ exports.repeatStrInvoker = repeatStrInvoker;
35
+ var repeatStr = (0, _isFunction["default"])(String.prototype.repeat) ? repeatStrInvoker : repeatStrPonyfill;
36
+ var _default = repeatStr;
37
+ exports["default"] = _default;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = exports.replaceAllInvoker = exports.replaceAllPonyfill = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _isFunction = _interopRequireDefault(require("./isFunction"));
9
+
10
+ var _String = _interopRequireDefault(require("./internal/ponyfills/String.replaceAll"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var replaceAllPonyfill = (0, _ramda.curryN)(3, _String["default"]);
15
+ exports.replaceAllPonyfill = replaceAllPonyfill;
16
+ var replaceAllInvoker = (0, _ramda.invoker)(2, 'replaceAll');
17
+ /**
18
+ * Replaces all substring matches in a string with a replacement.
19
+ *
20
+ * @func replaceAll
21
+ * @memberOf RA
22
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.17.0|v2.17.0}
23
+ * @category String
24
+ * @sig String -> String -> String -> String
25
+ * @param {string} searchValue The substring or a global RegExp to match
26
+ * @param {string} replaceValue The string to replace the matches with
27
+ * @param {string} str The String to do the search and replacement in
28
+ * @return {string} A new string containing all the `searchValue` replaced with the `replaceValue`
29
+ * @throws {TypeError} When invalid arguments provided
30
+ * @see {@link http://ramdajs.com/docs/#replace|R.replace}, {@link https://github.com/tc39/proposal-string-replaceall|TC39 proposal}
31
+ * @example
32
+ *
33
+ * RA.replaceAll('ac', 'ef', 'ac ab ac ab'); //=> 'ef ab ef ab'
34
+ * RA.replaceAll('', '_', 'xxx'); //=> '_x_x_x_'
35
+ * RA.replaceAll(/x/g, 'v', 'xxx'); //=> 'vvv'
36
+ * RA.replaceAll(/x/, 'v', 'xxx'); //=> TypeError
37
+ */
38
+
39
+ exports.replaceAllInvoker = replaceAllInvoker;
40
+ var replaceAll = (0, _isFunction["default"])(String.prototype.replaceAll) ? replaceAllInvoker : replaceAllPonyfill;
41
+ var _default = replaceAll;
42
+ exports["default"] = _default;
@@ -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
+ /* eslint-disable max-len */
9
+
10
+ /**
11
+ * Composable shortcut for `Promise.resolve`.
12
+ *
13
+ * Returns a Promise object that is resolved with the given value.
14
+ * If the value is a thenable (i.e. has a "then" method), the returned promise will
15
+ * "follow" that thenable, adopting its eventual state.
16
+ *
17
+ * @func resolveP
18
+ * @memberOf RA
19
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.16.0|v1.16.0}
20
+ * @category Function
21
+ * @sig a -> Promise a
22
+ * @param {*} [value=undefined] Argument to be resolved by this Promise. Can also be a Promise or a thenable to resolve
23
+ * @return {Promise} A Promise that is resolved with the given value, or the promise passed as value, if the value was a promise object
24
+ * @see {@link RA.rejectP|rejectP}
25
+ * @example
26
+ *
27
+ * RA.resolveP(); //=> Promise(undefined)
28
+ * RA.resolveP('a'); //=> Promise('a')
29
+ * RA.resolveP([1, 2, 3]); //=> Promise([1, 2, 3])
30
+ */
31
+
32
+ /* eslint-enable max-len */
33
+ var resolveP = (0, _ramda.bind)(Promise.resolve, Promise);
34
+ var _default = resolveP;
35
+ exports["default"] = _default;
package/lib/round.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
+ * Returns the value of a number rounded to the nearest integer.
10
+ *
11
+ * @func round
12
+ * @memberOf RA
13
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.15.0|v2.15.0}
14
+ * @category Math
15
+ * @sig Number -> Number
16
+ * @param {number} number The number to round
17
+ * @return {number} The value of the given number rounded to the nearest integer
18
+ * @example
19
+ *
20
+ * RA.round(0.9); //=> 1
21
+ * RA.round(5.95); //=> 6
22
+ * RA.round(5.5); //=> 6
23
+ * RA.round(5.05); //=> 5
24
+ * RA.round(-5.05); //=> -5
25
+ * RA.round(-5.5); //=> -5
26
+ * RA.round(-5.95); //=> -6
27
+ */
28
+ var round = (0, _ramda.curryN)(1, (0, _ramda.bind)(Math.round, Math));
29
+ var _default = round;
30
+ exports["default"] = _default;
package/lib/seq.js ADDED
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /* eslint-disable max-len */
9
+
10
+ /**
11
+ * Runs the given list of functions in order with the supplied object, then returns the object.
12
+ * Also known as the normal order sequencing combinator.
13
+ *
14
+ * Acts as a transducer if a transformer is given as second parameter.
15
+ *
16
+ * @func seq
17
+ * @aliases sequencing
18
+ * @memberOf RA
19
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.3.0|v2.3.0}
20
+ * @category Function
21
+ * @sig [(a -> *), (a -> *), ...] -> a -> a
22
+ * @param {Array} fns The list of functions to call in order with `x` whose return values will be thrown away
23
+ * @param {*} x
24
+ * @return {*} `x`
25
+ * @see {@link http://ramdajs.com/docs/#tap|R.tap}, {@link http://www.cs.rpi.edu/academics/courses/spring11/proglang/handouts/lambda-calculus-chapter.pdf|sequencing combinator explained}
26
+ * @example
27
+ *
28
+ * RA.seq([console.info, console.log])('foo'); //=> prints 'foo' via info then log
29
+ *
30
+ * // usage in composition
31
+ * R.pipe(
32
+ * R.concat('prefix '),
33
+ * RA.seq([
34
+ * console.info, //=> prints 'prefix test'
35
+ * console.log //=> prints 'prefix test'
36
+ * ]),
37
+ * R.toUpper
38
+ * )('test'); //=> 'PREFIX TEST'
39
+ */
40
+
41
+ /* eslint-enable max-len */
42
+ var seq = (0, _ramda.curry)(function (fns, x) {
43
+ return (0, _ramda.tap)(function (tx) {
44
+ return (0, _ramda.map)(function (fn) {
45
+ return fn(tx);
46
+ })(fns);
47
+ })(x);
48
+ });
49
+ var _default = seq;
50
+ exports["default"] = _default;
package/lib/sign.js ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = exports.signPonyfill = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _isFunction = _interopRequireDefault(require("./isFunction"));
9
+
10
+ var _Math = _interopRequireDefault(require("./internal/ponyfills/Math.sign"));
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
13
+
14
+ var signPonyfill = (0, _ramda.curryN)(1, _Math["default"]);
15
+ /**
16
+ * Returns the sign of a number, indicating whether the number is positive, negative or zero.
17
+ *
18
+ * @func sign
19
+ * @memberOf RA
20
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.15.0|v2.15.0}
21
+ * @category Math
22
+ * @sig Number | String -> Number
23
+ * @param {number} number A number
24
+ * @return {number} A number representing the sign of the given argument. If the argument is a positive number, negative number, positive zero or negative zero, the function will return 1, -1, 0 or -0 respectively. Otherwise, NaN is returned
25
+ * @example
26
+ *
27
+ * RA.sign(3); // 1
28
+ * RA.sign(-3); // -1
29
+ * RA.sign('-3'); // -1
30
+ * RA.sign(0); // 0
31
+ * RA.sign(-0); // -0
32
+ * RA.sign(NaN); // NaN
33
+ * RA.sign('foo'); // NaN
34
+ */
35
+
36
+ exports.signPonyfill = signPonyfill;
37
+ var sign = (0, _isFunction["default"])(Math.sign) ? (0, _ramda.curryN)(1, (0, _ramda.bind)(Math.sign, Math)) : signPonyfill;
38
+ var _default = sign;
39
+ exports["default"] = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * When given a number n and an array, returns an array containing every nth element.
10
+ *
11
+ * @func skipTake
12
+ * @memberOf RA
13
+ * @category List
14
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.26.0|v2.26.0}
15
+ * @sig Number -> [a] -> [a]
16
+ * @param {number} the nth element to extract
17
+ * @param {Array} value the input array
18
+ * @return {Array} An array containing every nth element
19
+ * @example
20
+ *
21
+ * RA.skipTake(2, [1,2,3,4]) //=> [1, 3]
22
+ * RA.skipTake(3, R.range(0, 20)); //=> [0, 3, 6, 9, 12, 15, 18]
23
+ */
24
+ var skipTake = (0, _ramda.curry)(function (n, list) {
25
+ return (0, _ramda.addIndex)(_ramda.filter)((0, _ramda.pipe)((0, _ramda.nthArg)(1), (0, _ramda.modulo)(_ramda.__, n), (0, _ramda.identical)(0)))(list);
26
+ });
27
+ var _default = skipTake;
28
+ exports["default"] = _default;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Returns the elements of the given list or string (or object with a slice method)
10
+ * from fromIndex (inclusive).
11
+ * Dispatches to the slice method of the second argument, if present.
12
+ *
13
+ * @func sliceFrom
14
+ * @memberOf RA
15
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.16.0|v1.16.0}
16
+ * @category List
17
+ * @sig Number -> [a] -> [a]
18
+ * @param {number} fromIndex The start index (inclusive)
19
+ * @param {Array|string} list The list or string to slice
20
+ * @return {Array|string} The sliced list or string
21
+ * @see {@link http://ramdajs.com/docs/#slice|R.slice}, {@link RA.sliceTo|sliceTo}
22
+ * @example
23
+ *
24
+ * RA.sliceFrom(1, [1, 2, 3]); //=> [2, 3]
25
+ */
26
+ var sliceFrom = (0, _ramda.slice)(_ramda.__, Infinity);
27
+ var _default = sliceFrom;
28
+ exports["default"] = _default;
package/lib/sliceTo.js ADDED
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Returns the elements of the given list or string (or object with a slice method)
10
+ * to toIndex (exclusive).
11
+ * Dispatches to the slice method of the second argument, if present.
12
+ *
13
+ * @func sliceTo
14
+ * @memberOf RA
15
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.16.0|v1.16.0}
16
+ * @category List
17
+ * @sig Number -> [a] -> [a]
18
+ * @param {number} toIndex The end index (exclusive)
19
+ * @param {Array|string} list The list or string to slice
20
+ * @return {Array|string} The sliced list or string
21
+ * @see {@link http://ramdajs.com/docs/#slice|R.slice}, {@link RA.sliceFrom|sliceFrom}
22
+ * @example
23
+ *
24
+ * RA.sliceTo(2, [1, 2, 3]); //=> [1, 2]
25
+ */
26
+ var sliceTo = (0, _ramda.slice)(0);
27
+ var _default = sliceTo;
28
+ exports["default"] = _default;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
9
+
10
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
11
+
12
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
13
+
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
15
+
16
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
17
+
18
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
19
+
20
+ /**
21
+ * Sort a list of objects by a list of props (if first prop value is equivalent, sort by second, etc).
22
+ *
23
+ * @func sortByProps
24
+ * @memberOf RA
25
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.26.0|v2.26.0}
26
+ * @category List
27
+ * @sig [k] -> [{k: v}] -> [{k: v}]
28
+ * @param {Array.<string>} props A list of properties in the list param to sort by
29
+ * @param {Array.<object>} list A list of objects to be sorted
30
+ * @return {Array.<object>} A new list sorted by the properties in the props param
31
+ * @example
32
+ *
33
+ * sortByProps(['num'], [{num: 3}, {num: 2}, {num: 1}])
34
+ * //=> [{num: 1}, {num: 2} {num: 3}]
35
+ * sortByProps(['letter', 'num'], [{num: 3, letter: 'a'}, {num: 2, letter: 'a'} {num: 1, letter: 'z'}])
36
+ * //=> [ {num: 2, letter: 'a'}, {num: 3, letter: 'a'}, {num: 1, letter: 'z'}]
37
+ * sortByProps(['name', 'num'], [{num: 3}, {num: 2}, {num: 1}])
38
+ * //=> [{num: 1}, {num: 2}, {num: 3}]
39
+ */
40
+ var sortByProps = (0, _ramda.curry)(function (props, list) {
41
+ var firstTruthy = function firstTruthy(_ref) {
42
+ var _ref2 = _toArray(_ref),
43
+ head = _ref2[0],
44
+ tail = _ref2.slice(1);
45
+
46
+ return (0, _ramda.reduce)(_ramda.either, head, tail);
47
+ };
48
+
49
+ var makeComparator = function makeComparator(propName) {
50
+ return (0, _ramda.comparator)(function (a, b) {
51
+ return (0, _ramda.lt)((0, _ramda.prop)(propName, a), (0, _ramda.prop)(propName, b));
52
+ });
53
+ };
54
+
55
+ return (0, _ramda.sort)(firstTruthy((0, _ramda.map)(makeComparator, props)), list);
56
+ });
57
+ var _default = sortByProps;
58
+ exports["default"] = _default;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Spreads object under property path onto provided object.
10
+ * It's like {@link RA.flattenPath|flattenPath}, but removes object under the property path.
11
+ *
12
+ * @func spreadPath
13
+ * @memberOf RA
14
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}
15
+ * @category Object
16
+ * @typedef Idx = String | Int
17
+ * @sig [Idx] -> {k: v} -> {k: v}
18
+ * @param {!Array.<string|number>} path The property path to spread
19
+ * @param {!Object} obj The provided object
20
+ * @return {!Object} The result of the spread
21
+ * @see {@link RA.spreadProp|spreadProp}, {@link RA.flattenPath|flattenPath}
22
+ * @example
23
+ *
24
+ * RA.spreadPath(
25
+ * ['b1', 'b2'],
26
+ * { a: 1, b1: { b2: { c: 3, d: 4 } } }
27
+ * ); // => { a: 1, c: 3, d: 4, b1: {} };
28
+ */
29
+ var spreadPath = (0, _ramda.curryN)(2, (0, _ramda.converge)(_ramda.merge, [_ramda.dissocPath, (0, _ramda.pathOr)({})]));
30
+ var _default = spreadPath;
31
+ exports["default"] = _default;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _spreadPath = _interopRequireDefault(require("./spreadPath"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ /**
13
+ * Spreads object under property onto provided object.
14
+ * It's like {@link RA.flattenProp|flattenProp}, but removes object under the property.
15
+ *
16
+ * @func spreadProp
17
+ * @memberOf RA
18
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.19.0|v1.19.0}
19
+ * @category Object
20
+ * @typedef Idx = String | Int
21
+ * @sig Idx -> {k: v} -> {k: v}
22
+ * @param {!string|number} prop The property to spread
23
+ * @param {!Object} obj The provided object
24
+ * @return {!Object} The result of the spread
25
+ * @see {@link RA.spreadPath|spreadPath}, {@link RA.flattenProp|flattenProp}
26
+ * @example
27
+ *
28
+ * RA.spreadProp('b', { a: 1, b: { c: 3, d: 4 } }); // => { a: 1, c: 3, d: 4 };
29
+ */
30
+ var spreadProp = (0, _ramda.curry)(function (prop, obj) {
31
+ return (0, _spreadPath["default"])((0, _ramda.of)(prop), obj);
32
+ });
33
+ var _default = spreadProp;
34
+ exports["default"] = _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ /**
7
+ * A function that returns new empty array on every call.
8
+ *
9
+ * @func stubArray
10
+ * @memberOf RA
11
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}
12
+ * @category Function
13
+ * @sig ... -> Array
14
+ * @return {Array} New empty array
15
+ * @example
16
+ *
17
+ * RA.stubArray(); //=> []
18
+ * RA.stubArray(1, 2, 3); //=> []
19
+ */
20
+ var stubArray = function stubArray() {
21
+ return [];
22
+ };
23
+
24
+ var _default = stubArray;
25
+ exports["default"] = _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * A function that returns `null`.
10
+ *
11
+ * @func stubNull
12
+ * @memberOf RA
13
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.6.0|v1.6.0}
14
+ * @category Function
15
+ * @sig ... -> null
16
+ * @return {null}
17
+ * @example
18
+ *
19
+ * RA.stubNull(); //=> null
20
+ * RA.stubNull(1, 2, 3); //=> null
21
+ */
22
+ var stubNull = (0, _ramda.always)(null);
23
+ var _default = stubNull;
24
+ exports["default"] = _default;
package/lib/stubObj.js ADDED
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ /**
7
+ * This function returns a new empty object.
8
+ *
9
+ * @func stubObj
10
+ * @memberOf RA
11
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}
12
+ * @category Function
13
+ * @sig ... -> Object
14
+ * @aliases stubObject
15
+ * @return {Object} Returns the new empty object.
16
+ * @example
17
+ *
18
+ * RA.stubObj(); //=> {}
19
+ * RA.stubObj(1, 2, 3); //=> {}
20
+ */
21
+ var stubObj = function stubObj() {
22
+ return {};
23
+ };
24
+
25
+ var _default = stubObj;
26
+ exports["default"] = _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * A function that returns empty string.
10
+ *
11
+ * @func stubString
12
+ * @memberOf RA
13
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}
14
+ * @category Function
15
+ * @sig ... -> String
16
+ * @return {string} The empty string
17
+ * @example
18
+ *
19
+ * RA.stubString(); //=> ''
20
+ * RA.stubString(1, 2, 3); //=> ''
21
+ */
22
+ var stubString = (0, _ramda.always)('');
23
+ var _default = stubString;
24
+ exports["default"] = _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * A function that returns `undefined`.
10
+ *
11
+ * @func stubUndefined
12
+ * @memberOf RA
13
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.0.0|v1.0.0}
14
+ * @category Function
15
+ * @sig ... -> undefined
16
+ * @return {undefined}
17
+ * @example
18
+ *
19
+ * RA.stubUndefined(); //=> undefined
20
+ * RA.stubUndefined(1, 2, 3); //=> undefined
21
+ */
22
+ var stubUndefined = (0, _ramda.always)(void 0); // eslint-disable-line no-void
23
+
24
+ var _default = stubUndefined;
25
+ exports["default"] = _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Subtracts its first argument from its second argument.
10
+ *
11
+ * @func subtractNum
12
+ * @memberOf RA
13
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
14
+ * @category Math
15
+ * @sig Number -> Number -> Number
16
+ * @param {number} subtrahend the number to subtract
17
+ * @param {number} minuend the number to subtract from
18
+ * @return {number} A number representing the difference of subtracting the subtrahend from the minuend
19
+ * @example
20
+ *
21
+ * RA.subtractNum(3, 5); //=> 2
22
+ */
23
+ var subtractNum = (0, _ramda.flip)(_ramda.subtract);
24
+ var _default = subtractNum;
25
+ exports["default"] = _default;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = exports.thenCatchP = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ /**
9
+ * Composable shortcut for `Promise.then` that allows for success and failure callbacks.
10
+ * The thenCatchP function returns a Promise. It takes three arguments: a callback function for the success of the Promise,
11
+ * a callback function for the failure of the Promise, and the promise instance itself.
12
+ *
13
+ * @func thenCatchP
14
+ * @memberOf RA
15
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0}
16
+ * @category Function
17
+ * @sig (a -> b) -> (c -> d) -> Promise a -> Promise b | d
18
+ * @param {Function} onFulfilled A Function called if the Promise is fulfilled. This function has one argument, the fulfillment value
19
+ * @param {Function} onRejected A Function called if the Promise is rejected. This function has one argument, the error
20
+ * @param {Promise} promise Any Promise or Thenable object
21
+ * @return {Promise}
22
+ * @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}
23
+ * @example
24
+ *
25
+ * const promise = Promise.resolve(1);
26
+ * const add1 = x => x + 1;
27
+ *
28
+ * RA.thenCatchP(add1, console.error, promise); // => Promise(2)
29
+ */
30
+ var thenCatchP = (0, _ramda.invoker)(2, 'then');
31
+ exports.thenCatchP = thenCatchP;
32
+ var _default = thenCatchP;
33
+ exports["default"] = _default;
package/lib/thenP.js ADDED
@@ -0,0 +1,34 @@
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.then`.
10
+ * The thenP function returns a Promise. It takes two arguments: a callback function for the success of the Promise
11
+ * and the promise instance itself.
12
+ *
13
+ * @func thenP
14
+ * @memberOf RA
15
+ * @aliases then
16
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.8.0|v2.8.0}
17
+ * @deprecated since v2.12.0; available in ramda@0.26.0 as R.then
18
+ * @category Function
19
+ * @sig (a -> Promise b | b) -> Promise b
20
+ * @param {Function} onFulfilled A Function called if the Promise is fulfilled. This function has one argument, the fulfillment value
21
+ * @param {Promise} promise Any Promise or Thenable object
22
+ * @return {Promise} A Promise in the pending status
23
+
24
+ * @see {@link RA.resolveP|resolveP}, {@link RA.rejectP|rejectP}, {@link RA.allP|allP}
25
+ * @example
26
+ *
27
+ * const promise = Promise.resolve(1);
28
+ * const add1 = v => v + 1;
29
+ *
30
+ * RA.thenP(add1, promise); // => Promise(2)
31
+ */
32
+ var thenP = (0, _ramda.invoker)(1, 'then');
33
+ var _default = thenP;
34
+ exports["default"] = _default;