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,323 @@
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"] = void 0;
7
+
8
+ var _ramda = require("ramda");
9
+
10
+ var fl = _interopRequireWildcard(require("./mapping"));
11
+
12
+ var _traits = require("./traits");
13
+
14
+ 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); }
15
+
16
+ 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; }
17
+
18
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
19
+
20
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
21
+
22
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
23
+
24
+ /**
25
+ * The simplest {@link https://github.com/fantasyland/fantasy-land|fantasy-land}
26
+ * compatible monad which attaches no information to values.
27
+ *
28
+ * The Identity type is a very simple type that has no interesting side effects and
29
+ * is effectively just a container of some value. So why does it exist ?
30
+ * The Identity type is often used as the base monad of a monad
31
+ * transformer when no other behaviour is required.
32
+ *
33
+ * @memberOf RA
34
+ * @implements
35
+ * {@link https://github.com/fantasyland/fantasy-land#apply|Apply},
36
+ * {@link https://github.com/fantasyland/fantasy-land#applicative|Applicative},
37
+ * {@link https://github.com/fantasyland/fantasy-land#functor|Functor},
38
+ * {@link https://github.com/fantasyland/fantasy-land#setoid|Setoid},
39
+ * {@link https://github.com/fantasyland/fantasy-land#semigroup|Semigroup},
40
+ * {@link https://github.com/fantasyland/fantasy-land#chain|Chain},
41
+ * {@link https://github.com/fantasyland/fantasy-land#monad|Monad},
42
+ * {@link https://github.com/fantasyland/fantasy-land#ord|Ord},
43
+ * {@link https://github.com/fantasyland/fantasy-land#monoid|Monoid*},
44
+ * {@link https://github.com/fantasyland/fantasy-land#contravariant|Contravariant}
45
+ * @since {@link https://char0n.github.io/ramda-adjunct/1.8.0|v1.8.0}
46
+ */
47
+ var Identity = /*#__PURE__*/function (_fl$of, _fl$ap, _fl$map, _fl$equals, _fl$concat, _fl$chain, _fl$lte, _fl$empty, _fl$contramap) {
48
+ /**
49
+ * Private constructor. Use {@link RA.Identity.of|Identity.of} instead.
50
+ *
51
+ * @param {*} value
52
+ * @return {RA.Identity}
53
+ */
54
+ function Identity(value) {
55
+ _classCallCheck(this, Identity);
56
+
57
+ this.value = value;
58
+ }
59
+ /**
60
+ * Catamorphism for a value.
61
+ * @returns {*}
62
+ * @example
63
+ *
64
+ * const a = Identity.of(1);
65
+ * a.get(); //=> 1
66
+ */
67
+
68
+
69
+ _createClass(Identity, [{
70
+ key: "get",
71
+ value: function get() {
72
+ return this.value;
73
+ }
74
+ /**
75
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#apply|Apply} specification.
76
+ *
77
+ * @sig ap :: Apply f => f a ~> f (a -> b) -> f b
78
+ * @param {RA.Identity} applyWithFn
79
+ * @return {RA.Identity}
80
+ * @example
81
+ *
82
+ * const a = Identity.of(1);
83
+ * const b = Identity.of(1).map(a => b => a + b);
84
+ *
85
+ * a.ap(b); //=> Identity(2)
86
+ */
87
+
88
+ }, {
89
+ key: _fl$ap,
90
+ value: function value(applyWithFn) {
91
+ return _traits.applyTrait[fl.ap].call(this, applyWithFn);
92
+ }
93
+ }, {
94
+ key: "ap",
95
+ value: function ap(applyWithFn) {
96
+ return this[fl.ap](applyWithFn);
97
+ }
98
+ /**
99
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#functor|Functor} specification.
100
+ *
101
+ * @sig map :: Functor f => f a ~> (a -> b) -> f b
102
+ * @param {Function} fn
103
+ * @return {RA.Identity}
104
+ * @example
105
+ *
106
+ * const a = Identity.of(1);
107
+ * a.map(a => a + 1); //=> Identity(2)
108
+ */
109
+
110
+ }, {
111
+ key: _fl$map,
112
+ value: function value(fn) {
113
+ return _traits.functorTrait[fl.map].call(this, fn);
114
+ }
115
+ }, {
116
+ key: "map",
117
+ value: function map(fn) {
118
+ return this[fl.map](fn);
119
+ }
120
+ /**
121
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#setoid|Setoid} specification.
122
+ *
123
+ * @sig equals :: Setoid a => a ~> a -> Boolean
124
+ * @param {RA.Identity} setoid
125
+ * @return {boolean}
126
+ * @example
127
+ *
128
+ * const a = Identity.of(1);
129
+ * const b = Identity.of(1);
130
+ * const c = Identity.of(2);
131
+ *
132
+ * a.equals(b); //=> true
133
+ * a.equals(c); //=> false
134
+ */
135
+
136
+ }, {
137
+ key: _fl$equals,
138
+ value: function value(setoid) {
139
+ return _traits.setoidTrait[fl.equals].call(this, setoid);
140
+ }
141
+ }, {
142
+ key: "equals",
143
+ value: function equals(setoid) {
144
+ return this[fl.equals](setoid);
145
+ }
146
+ /**
147
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#semigroup|Semigroup} specification.
148
+ *
149
+ * @sig concat :: Semigroup a => a ~> a -> a
150
+ * @param {RA.Identity} semigroup
151
+ * @return {RA.Identity}
152
+ * @example
153
+ *
154
+ * const a = Identity.of(1);
155
+ * const b = Identity.of(1);
156
+ * a.concat(b); //=> 2
157
+ *
158
+ * const c = Identity.of('c');
159
+ * const d = Identity.of('d');
160
+ * c.concat(d); //=> 'cd'
161
+ *
162
+ * const e = Identity.of(['e']);
163
+ * const f = Identity.of(['f']);
164
+ * e.concat(f); //=> ['e', 'f']
165
+ */
166
+
167
+ }, {
168
+ key: _fl$concat,
169
+ value: function value(semigroup) {
170
+ return _traits.semigroupTrait[fl.concat].call(this, semigroup);
171
+ }
172
+ }, {
173
+ key: "concat",
174
+ value: function concat(semigroup) {
175
+ return this[fl.concat](semigroup);
176
+ }
177
+ /**
178
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#chain|Chain} specification.
179
+ *
180
+ * @sig chain :: Chain m => m a ~> (a -> m b) -> m b
181
+ * @param {Function} fn Function returning the value of the same {@link https://github.com/fantasyland/fantasy-land#semigroup|Chain}
182
+ * @return {RA.Identity}
183
+ * @example
184
+ *
185
+ * const a = Identity.of(1);
186
+ * const fn = val => Identity.of(val + 1);
187
+ *
188
+ * a.chain(fn).chain(fn); //=> Identity(3)
189
+ */
190
+
191
+ }, {
192
+ key: _fl$chain,
193
+ value: function value(fn) {
194
+ return _traits.chainTrait[fl.chain].call(this, fn);
195
+ }
196
+ }, {
197
+ key: "chain",
198
+ value: function chain(fn) {
199
+ return this[fl.chain](fn);
200
+ }
201
+ /**
202
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#ord|Ord} specification.
203
+ *
204
+ * @sig lte :: Ord a => a ~> a -> Boolean
205
+ * @param {RA.Identity} ord
206
+ * @return {boolean}
207
+ * @example
208
+ *
209
+ * const a = Identity.of(1);
210
+ * const b = Identity.of(1);
211
+ * const c = Identity.of(2);
212
+ *
213
+ * a.lte(b); //=> true
214
+ * a.lte(c); //=> true
215
+ * c.lte(a); //=> false
216
+ */
217
+
218
+ }, {
219
+ key: _fl$lte,
220
+ value: function value(ord) {
221
+ return _traits.ordTrait[fl.lte].call(this, ord);
222
+ }
223
+ }, {
224
+ key: "lte",
225
+ value: function lte(ord) {
226
+ return this[fl.lte](ord);
227
+ }
228
+ /**
229
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#monoid|Monoid*} specification.
230
+ * Partial implementation of Monoid specification. `empty` method on instance only, returning
231
+ * identity value of the wrapped type. Using `R.empty` under the hood.
232
+ *
233
+ *
234
+ * @sig empty :: Monoid m => () -> m
235
+ * @return {RA.Identity}
236
+ * @example
237
+ *
238
+ * const a = Identity.of('test');
239
+ * const i = a.empty();
240
+ *
241
+ * a.concat(i); //=> Identity('string');
242
+ * i.concat(a); //=> Identity('string');
243
+ */
244
+
245
+ }, {
246
+ key: _fl$empty,
247
+ value: function value() {
248
+ return this.constructor.of((0, _ramda.empty)(this.value));
249
+ }
250
+ }, {
251
+ key: "empty",
252
+ value: function empty() {
253
+ return this[fl.empty]();
254
+ }
255
+ /**
256
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#contravariant|Contravariant} specification.
257
+ *
258
+ * @sig contramap :: Contravariant f => f a ~> (b -> a) -> f b
259
+ * @param {Function} fn
260
+ * @return {RA.Identity}
261
+ * @example
262
+ *
263
+ * const identity = a => a;
264
+ * const add1 = a => a + 1;
265
+ * const divide2 = a => a / 2;
266
+ *
267
+ * Identity.of(divide2).contramap(add1).get()(3); //=> 2
268
+ * Identity.of(identity).contramap(divide2).contramap(add1).get()(3); //=> 2
269
+ * Identity.of(identity).contramap(a => divide2(add1(a))).get()(3); //=> 2
270
+ */
271
+
272
+ }, {
273
+ key: _fl$contramap,
274
+ value: function value(fn) {
275
+ var _this = this;
276
+
277
+ return this.constructor.of(function (value) {
278
+ return _this.value(fn(value));
279
+ });
280
+ }
281
+ }, {
282
+ key: "contramap",
283
+ value: function contramap(fn) {
284
+ return this[fl.contramap](fn);
285
+ }
286
+ }], [{
287
+ key: _fl$of,
288
+ value:
289
+ /**
290
+ * Fantasy land {@link https://github.com/fantasyland/fantasy-land#applicative|Applicative} specification.
291
+ *
292
+ * @static
293
+ * @sig of :: Applicative f => a -> f a
294
+ * @param {*} value
295
+ * @returns {RA.Identity}
296
+ * @example
297
+ *
298
+ * const a = Identity.of(1); //=> Identity(1)
299
+ */
300
+ function value(_value) {
301
+ return new Identity(_value);
302
+ }
303
+ }, {
304
+ key: "of",
305
+ value: function of(value) {
306
+ return new Identity(value);
307
+ }
308
+ /**
309
+ * @static
310
+ */
311
+
312
+ }, {
313
+ key: '@@type',
314
+ get: function get() {
315
+ return 'RA/Identity';
316
+ }
317
+ }]);
318
+
319
+ return Identity;
320
+ }(fl.of, fl.ap, fl.map, fl.equals, fl.concat, fl.chain, fl.lte, fl.empty, fl.contramap);
321
+
322
+ var _default = Identity;
323
+ exports["default"] = _default;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.promap = exports.bimap = exports.extract = exports.extend = exports.chainRec = exports.chain = exports.traverse = exports.reduce = exports.zero = exports.alt = exports.of = exports.ap = exports.contramap = exports.map = exports.empty = exports.concat = exports.id = exports.compose = exports.lte = exports.equals = void 0;
5
+ var equals = 'fantasy-land/equals';
6
+ exports.equals = equals;
7
+ var lte = 'fantasy-land/lte';
8
+ exports.lte = lte;
9
+ var compose = 'fantasy-land/compose';
10
+ exports.compose = compose;
11
+ var id = 'fantasy-land/id';
12
+ exports.id = id;
13
+ var concat = 'fantasy-land/concat';
14
+ exports.concat = concat;
15
+ var empty = 'fantasy-land/empty';
16
+ exports.empty = empty;
17
+ var map = 'fantasy-land/map';
18
+ exports.map = map;
19
+ var contramap = 'fantasy-land/contramap';
20
+ exports.contramap = contramap;
21
+ var ap = 'fantasy-land/ap';
22
+ exports.ap = ap;
23
+ var of = 'fantasy-land/of';
24
+ exports.of = of;
25
+ var alt = 'fantasy-land/alt';
26
+ exports.alt = alt;
27
+ var zero = 'fantasy-land/zero';
28
+ exports.zero = zero;
29
+ var reduce = 'fantasy-land/reduce';
30
+ exports.reduce = reduce;
31
+ var traverse = 'fantasy-land/traverse';
32
+ exports.traverse = traverse;
33
+ var chain = 'fantasy-land/chain';
34
+ exports.chain = chain;
35
+ var chainRec = 'fantasy-land/chainRec';
36
+ exports.chainRec = chainRec;
37
+ var extend = 'fantasy-land/extend';
38
+ exports.extend = extend;
39
+ var extract = 'fantasy-land/extract';
40
+ exports.extract = extract;
41
+ var bimap = 'fantasy-land/bimap';
42
+ exports.bimap = bimap;
43
+ var promap = 'fantasy-land/promap';
44
+ exports.promap = promap;
@@ -0,0 +1,77 @@
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.ordTrait = exports.chainTrait = exports.semigroupTrait = exports.setoidTrait = exports.applyTrait = exports.functorTrait = void 0;
7
+
8
+ var _ramda = require("ramda");
9
+
10
+ var _isString = _interopRequireDefault(require("../isString"));
11
+
12
+ var _isNumber = _interopRequireDefault(require("../isNumber"));
13
+
14
+ var _isFunction = _interopRequireDefault(require("../isFunction"));
15
+
16
+ var _util = require("./util");
17
+
18
+ var fl = _interopRequireWildcard(require("./mapping"));
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
25
+
26
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
27
+
28
+ var functorTrait = _defineProperty({}, fl.map, function (fn) {
29
+ return this.constructor[fl.of](fn(this.value));
30
+ });
31
+
32
+ exports.functorTrait = functorTrait;
33
+
34
+ var applyTrait = _defineProperty({}, fl.ap, function (applyWithFn) {
35
+ var _this = this;
36
+
37
+ return applyWithFn.map(function (fn) {
38
+ return fn(_this.value);
39
+ });
40
+ });
41
+
42
+ exports.applyTrait = applyTrait;
43
+
44
+ var setoidTrait = _defineProperty({}, fl.equals, function (setoid) {
45
+ return (0, _util.isSameType)(this, setoid) && (0, _ramda.equals)(this.value, setoid.value);
46
+ });
47
+
48
+ exports.setoidTrait = setoidTrait;
49
+
50
+ var semigroupTrait = _defineProperty({}, fl.concat, function (semigroup) {
51
+ var concatenatedValue = this.value;
52
+
53
+ if ((0, _isString["default"])(this.value) || (0, _isNumber["default"])(this.value)) {
54
+ concatenatedValue = this.value + semigroup.value;
55
+ } else if ((0, _ramda.pathSatisfies)(_isFunction["default"], ['value', fl.concat], this)) {
56
+ concatenatedValue = this.value[fl.concat](semigroup.value);
57
+ } else if ((0, _ramda.pathSatisfies)(_isFunction["default"], ['value', 'concat'], this)) {
58
+ concatenatedValue = this.value.concat(semigroup.value);
59
+ }
60
+
61
+ return this.constructor[fl.of](concatenatedValue);
62
+ });
63
+
64
+ exports.semigroupTrait = semigroupTrait;
65
+
66
+ var chainTrait = _defineProperty({}, fl.chain, function (fn) {
67
+ var newChain = fn(this.value);
68
+ return (0, _util.isSameType)(this, newChain) ? newChain : this;
69
+ });
70
+
71
+ exports.chainTrait = chainTrait;
72
+
73
+ var ordTrait = _defineProperty({}, fl.lte, function (ord) {
74
+ return (0, _util.isSameType)(this, ord) && (this.value < ord.value || this[fl.equals](ord));
75
+ });
76
+
77
+ exports.ordTrait = ordTrait;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.isNotSameType = exports.isSameType = exports.typeEquals = exports.type = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ // type :: Monad a => a -> String
9
+ var type = (0, _ramda.either)((0, _ramda.path)(['@@type']), (0, _ramda.path)(['constructor', '@@type'])); // typeEquals :: Monad a => String -> a -> Boolean
10
+
11
+ exports.type = type;
12
+ var typeEquals = (0, _ramda.curry)(function (typeIdent, monad) {
13
+ return type(monad) === typeIdent;
14
+ }); // isSameType :: (Monad a, Monad b) => a -> b -> Boolean
15
+
16
+ exports.typeEquals = typeEquals;
17
+ var isSameType = (0, _ramda.curryN)(2, (0, _ramda.useWith)(_ramda.equals, [type, type])); // isNotSameType :: (Monad a, Monad b) => a -> b -> Boolean
18
+
19
+ exports.isSameType = isSameType;
20
+ var isNotSameType = (0, _ramda.complement)(isSameType);
21
+ exports.isNotSameType = isNotSameType;
@@ -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
+ /**
9
+ * {@link http://ramdajs.com/docs/#filter|R.filter} function that more closely resembles `Array.prototype.filter`.
10
+ * It takes two new parameters to its callback function: the current index, and the entire list.
11
+ *
12
+ * `filterIndexed` implementation is simple: `
13
+ * const filterIndexed = R.addIndex(R.filter);
14
+ * `
15
+ *
16
+ * @func filterIndexed
17
+ * @memberOf RA
18
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.31.0|v2.31.0}
19
+ * @category List
20
+ * @typedef Idx = Number
21
+ * @sig Filterable f => ((a, Idx, f a) -> Boolean) -> f a -> f a
22
+ * @param {Function} pred The predicate function
23
+ * @param {Array} list The collection to filter
24
+ * @return {Array} Filterable
25
+ * @see {@link http://ramdajs.com/docs/#addIndex|R.addIndex}, {@link http://ramdajs.com/docs/#filter|R.filter}
26
+ * @example
27
+ *
28
+ * const isValueGtIndex = (val, idx) => val > idx;
29
+ * RA.filterIndexed(isValueGtIndex, [5, 4, 3, 2, 1, 0]); //=> [5, 4, 3]
30
+ */
31
+ var filterIndexed = (0, _ramda.addIndex)(_ramda.filter);
32
+ var _default = filterIndexed;
33
+ exports["default"] = _default;
package/lib/findOr.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
+ * Returns the first element of the list which matches the predicate.
10
+ * Returns default value if no element matches or matched element is `null`, `undefined` or `NaN`.
11
+ * Dispatches to the find method of the second argument, if present.
12
+ * Acts as a transducer if a transformer is given in list position.
13
+ *
14
+ * @func findOr
15
+ * @memberOf RA
16
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.32.0|v2.32.0}
17
+ * @category List
18
+ * @sig a -> (b -> Boolean) -> [b] -> b | a
19
+ * @param {*} defaultValue The default value
20
+ * @param {Function} fn The predicate function used to determine if the element is the desired one.
21
+ * @param {Array} list The array to consider.
22
+ * @return {*} The element found, or the default value.
23
+ * @see {@link http://ramdajs.com/docs/#defaultTo|R.defaultTo}, {@link http://ramdajs.com/docs/#find|R.find}
24
+ * @example
25
+ *
26
+ * RA.findOr(1, isUndefined, [1, 2, undefined]); // => 1
27
+ * RA.findOr(1, val => val === 2, [1, 2, undefined]); // => 2
28
+ * RA.findOr(1, val => val === 3, [1, 2, undefined]); // => 1
29
+ */
30
+ var findOr = (0, _ramda.curry)(function (defaultVal, fn, list) {
31
+ return (0, _ramda.pipe)((0, _ramda.find)(fn), (0, _ramda.defaultTo)(defaultVal))(list);
32
+ });
33
+ var _default = findOr;
34
+ 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
+ var _makeFlat2 = _interopRequireDefault(require("./internal/makeFlat"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
13
+
14
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
15
+
16
+ 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); }
17
+
18
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
19
+
20
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
21
+
22
+ 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; }
23
+
24
+ var flatten1 = (0, _makeFlat2["default"])(false);
25
+ /**
26
+ * Flattens the list to the specified depth.
27
+ *
28
+ * @func flattenDepth
29
+ * @memberOf RA
30
+ * @since {@link https://char0n.github.io/ramda-adjunct/2.19.0|v2.19.0}
31
+ * @category List
32
+ * @sig Number -> [a] -> [b]
33
+ * @param {!number} depth The maximum recursion depth
34
+ * @param {!Array} list The array to flatten
35
+ * @return {!Array} Returns the new flattened array
36
+ * @see {@link http://ramdajs.com/docs/#flatten|R.flatten}, {@link http://ramdajs.com/docs/#unnest|R.unnest}
37
+ * @example
38
+ *
39
+ * RA.flattenDepth(
40
+ * 2,
41
+ * [1, [2], [3, [4, 5], 6, [[[7], 8]]], 9, 10]
42
+ * ); //=> [1, 2, 3, 4, 5, 6, [[7], 8], 9, 10];
43
+ */
44
+
45
+ var flattenDepth = (0, _ramda.curry)(function (depth, list) {
46
+ var currentDept = depth;
47
+
48
+ var flatList = _toConsumableArray(list);
49
+
50
+ while (currentDept > 0) {
51
+ flatList = flatten1(flatList);
52
+ currentDept -= 1;
53
+ }
54
+
55
+ return flatList;
56
+ });
57
+ var _default = flattenDepth;
58
+ 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
+ /**
9
+ * Flattens a property path so that its fields are spread out into the provided object.
10
+ * It's like {@link RA.spreadPath|spreadPath}, but preserves object under the property path.
11
+ *
12
+ * @func flattenPath
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 flatten
19
+ * @param {!Object} obj The provided object
20
+ * @return {!Object} The flattened object
21
+ * @see {@link RA.flattenProp|flattenProp}, {@link RA.spreadPath|spreadPath}
22
+ * @example
23
+ *
24
+ * RA.flattenPath(
25
+ * ['b1', 'b2'],
26
+ * { a: 1, b1: { b2: { c: 3, d: 4 } } }
27
+ * ); // => { a: 1, c: 3, d: 4, b1: { b2: { c: 3, d: 4 } } };
28
+ */
29
+ var flattenPath = (0, _ramda.curry)(function (path, obj) {
30
+ return (0, _ramda.merge)(obj, (0, _ramda.pathOr)({}, path, obj));
31
+ });
32
+ var _default = flattenPath;
33
+ exports["default"] = _default;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports["default"] = void 0;
5
+
6
+ var _ramda = require("ramda");
7
+
8
+ var _flattenPath = _interopRequireDefault(require("./flattenPath"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ /**
13
+ * Flattens a property so that its fields are spread out into the provided object.
14
+ * It's like {@link RA.spreadProp|spreadProp}, but preserves object under the property path.
15
+ *
16
+ * @func flattenProp
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 flatten
23
+ * @param {!Object} obj The provided object
24
+ * @return {!Object} The flattened object
25
+ * @see {@link RA.flattenPath|flattenPath}, {@link RA.spreadProp|spreadProp}
26
+ * @example
27
+ *
28
+ * RA.flattenProp(
29
+ * 'b',
30
+ * { a: 1, b: { c: 3, d: 4 } }
31
+ * ); // => { a: 1, c: 3, d: 4, b: { c: 3, d: 4 } };
32
+ */
33
+ var flattenProp = (0, _ramda.curry)(function (prop, obj) {
34
+ return (0, _flattenPath["default"])((0, _ramda.of)(prop), obj);
35
+ });
36
+ var _default = flattenProp;
37
+ exports["default"] = _default;