ramda-adjunct 5.0.0 → 5.1.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 (408) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -1
  3. package/dist/RA.node.js +10440 -452
  4. package/dist/RA.node.min.js +1 -1
  5. package/dist/RA.web.js +10440 -452
  6. package/dist/RA.web.min.js +1 -1
  7. package/dist/RA.web.standalone.js +18646 -447
  8. package/dist/RA.web.standalone.min.js +1 -1
  9. package/dist/package.json +1 -0
  10. package/es/async.js +4 -4
  11. package/es/copyKeys.js +1 -1
  12. package/es/dispatch.js +5 -5
  13. package/es/fantasy-land/Identity.js +3 -3
  14. package/es/fantasy-land/traits.js +1 -1
  15. package/es/flattenDepth.js +5 -5
  16. package/es/internal/ponyfills/Array.from.js +5 -5
  17. package/es/internal/ponyfills/Promise.allSettled.js +5 -5
  18. package/es/internal/ponyfills/Promise.any.js +15 -15
  19. package/es/lastP.js +5 -5
  20. package/es/reduceP.js +4 -4
  21. package/es/reduceRightP.js +4 -4
  22. package/es/renameKey.js +1 -1
  23. package/es/sortByProps.js +5 -5
  24. package/lib/allEqual.js +1 -1
  25. package/lib/allIdentical.js +1 -1
  26. package/lib/allSettledP.js +1 -1
  27. package/lib/allUnique.js +1 -1
  28. package/lib/anyP.js +1 -1
  29. package/lib/argsPass.js +1 -1
  30. package/lib/async.js +5 -5
  31. package/lib/cata.js +1 -1
  32. package/lib/compact.js +1 -1
  33. package/lib/concatAll.js +1 -1
  34. package/lib/copyKeys.js +2 -2
  35. package/lib/curryRight.js +1 -1
  36. package/lib/delayP.js +1 -1
  37. package/lib/dispatch.js +6 -6
  38. package/lib/ensureArray.js +1 -1
  39. package/lib/escapeRegExp.js +1 -1
  40. package/lib/fantasy-land/Identity.js +3 -3
  41. package/lib/fantasy-land/traits.js +2 -2
  42. package/lib/flattenDepth.js +6 -6
  43. package/lib/flattenProp.js +1 -1
  44. package/lib/fnull.js +1 -1
  45. package/lib/index.js +1 -1
  46. package/lib/internal/ap.js +1 -1
  47. package/lib/internal/isCoercible.js +1 -1
  48. package/lib/internal/makeFlat.js +1 -1
  49. package/lib/internal/ponyfills/Array.from.js +6 -6
  50. package/lib/internal/ponyfills/Math.trunc.js +1 -1
  51. package/lib/internal/ponyfills/Number.isFinite.js +1 -1
  52. package/lib/internal/ponyfills/Number.isInteger.js +1 -1
  53. package/lib/internal/ponyfills/Number.isNaN.js +1 -1
  54. package/lib/internal/ponyfills/Number.isSafeInteger.js +1 -1
  55. package/lib/internal/ponyfills/Promise.allSettled.js +6 -6
  56. package/lib/internal/ponyfills/Promise.any.js +16 -16
  57. package/lib/internal/ponyfills/String.padEnd.js +1 -1
  58. package/lib/internal/ponyfills/String.padStart.js +1 -1
  59. package/lib/internal/ponyfills/String.repeat.js +1 -1
  60. package/lib/internal/ponyfills/String.replaceAll.js +1 -1
  61. package/lib/invoke.js +1 -1
  62. package/lib/invokeArgs.js +1 -1
  63. package/lib/isArray.js +1 -1
  64. package/lib/isArrayLike.js +1 -1
  65. package/lib/isBlank.js +1 -1
  66. package/lib/isEmptyArray.js +1 -1
  67. package/lib/isEven.js +1 -1
  68. package/lib/isFalsy.js +1 -1
  69. package/lib/isFinite.js +1 -1
  70. package/lib/isFloat.js +1 -1
  71. package/lib/isFunction.js +1 -1
  72. package/lib/isIndexed.js +1 -1
  73. package/lib/isInteger.js +1 -1
  74. package/lib/isInteger32.js +1 -1
  75. package/lib/isIterable.js +1 -1
  76. package/lib/isNaN.js +1 -1
  77. package/lib/isNaturalNumber.js +1 -1
  78. package/lib/isNegative.js +1 -1
  79. package/lib/isNonEmptyArray.js +1 -1
  80. package/lib/isNonEmptyString.js +1 -1
  81. package/lib/isNonNegative.js +1 -1
  82. package/lib/isNonPositive.js +1 -1
  83. package/lib/isNotArray.js +1 -1
  84. package/lib/isNotArrayLike.js +1 -1
  85. package/lib/isNotAsyncFunction.js +1 -1
  86. package/lib/isNotBoolean.js +1 -1
  87. package/lib/isNotDate.js +1 -1
  88. package/lib/isNotFinite.js +1 -1
  89. package/lib/isNotFloat.js +1 -1
  90. package/lib/isNotFunction.js +1 -1
  91. package/lib/isNotGeneratorFunction.js +1 -1
  92. package/lib/isNotInteger.js +1 -1
  93. package/lib/isNotMap.js +1 -1
  94. package/lib/isNotNaN.js +1 -1
  95. package/lib/isNotNilOrEmpty.js +1 -1
  96. package/lib/isNotNull.js +1 -1
  97. package/lib/isNotNumber.js +1 -1
  98. package/lib/isNotObj.js +1 -1
  99. package/lib/isNotObjLike.js +1 -1
  100. package/lib/isNotPair.js +1 -1
  101. package/lib/isNotPlainObj.js +1 -1
  102. package/lib/isNotPrimitive.js +1 -1
  103. package/lib/isNotRegExp.js +1 -1
  104. package/lib/isNotSet.js +1 -1
  105. package/lib/isNotString.js +1 -1
  106. package/lib/isNotUndefined.js +1 -1
  107. package/lib/isNotValidDate.js +1 -1
  108. package/lib/isNotValidNumber.js +1 -1
  109. package/lib/isObj.js +1 -1
  110. package/lib/isObjLike.js +1 -1
  111. package/lib/isOdd.js +1 -1
  112. package/lib/isPair.js +1 -1
  113. package/lib/isPlainObj.js +1 -1
  114. package/lib/isPositive.js +1 -1
  115. package/lib/isPrimitive.js +1 -1
  116. package/lib/isPromise.js +1 -1
  117. package/lib/isPrototypeOf.js +1 -1
  118. package/lib/isSafeInteger.js +1 -1
  119. package/lib/isSentinelValue.js +1 -1
  120. package/lib/isSparseArray.js +1 -1
  121. package/lib/isThenable.js +1 -1
  122. package/lib/isUinteger32.js +1 -1
  123. package/lib/isUndefined.js +1 -1
  124. package/lib/isValidDate.js +1 -1
  125. package/lib/isValidNumber.js +1 -1
  126. package/lib/lastP.js +6 -6
  127. package/lib/lengthEq.js +1 -1
  128. package/lib/lengthGt.js +1 -1
  129. package/lib/lengthGte.js +1 -1
  130. package/lib/lengthLt.js +1 -1
  131. package/lib/lengthLte.js +1 -1
  132. package/lib/lengthNotEq.js +1 -1
  133. package/lib/lensNotEq.js +1 -1
  134. package/lib/lensNotSatisfy.js +1 -1
  135. package/lib/lensSatisfies.js +1 -1
  136. package/lib/lensTraverse.js +1 -1
  137. package/lib/liftF.js +1 -1
  138. package/lib/liftFN.js +1 -1
  139. package/lib/mergePaths.js +1 -1
  140. package/lib/mergeProp.js +1 -1
  141. package/lib/noneP.js +1 -1
  142. package/lib/noop.js +1 -1
  143. package/lib/notAllUnique.js +1 -1
  144. package/lib/padCharsEnd.js +1 -1
  145. package/lib/padCharsStart.js +1 -1
  146. package/lib/padEnd.js +1 -1
  147. package/lib/padStart.js +1 -1
  148. package/lib/rangeStep.js +1 -1
  149. package/lib/reduceP.js +5 -5
  150. package/lib/reduceRightP.js +5 -5
  151. package/lib/renameKey.js +2 -2
  152. package/lib/renameKeyWith.js +1 -1
  153. package/lib/renameKeys.js +1 -1
  154. package/lib/repeatStr.js +1 -1
  155. package/lib/replaceAll.js +1 -1
  156. package/lib/sign.js +1 -1
  157. package/lib/sortByProp.js +1 -1
  158. package/lib/sortByProps.js +5 -5
  159. package/lib/spreadProp.js +1 -1
  160. package/lib/toArray.js +1 -1
  161. package/lib/toNumber.js +1 -1
  162. package/lib/trimCharsEnd.js +1 -1
  163. package/lib/trimCharsStart.js +1 -1
  164. package/lib/trimEnd.js +1 -1
  165. package/lib/trimStart.js +1 -1
  166. package/lib/trunc.js +1 -1
  167. package/lib/unzipObjWith.js +1 -1
  168. package/package.json +33 -30
  169. package/types/index.d.ts +0 -5
  170. package/babel.config.cjs +0 -56
  171. package/src/Y.js +0 -32
  172. package/src/allEqual.js +0 -28
  173. package/src/allEqualTo.js +0 -25
  174. package/src/allIdentical.js +0 -26
  175. package/src/allIdenticalTo.js +0 -25
  176. package/src/allP.js +0 -27
  177. package/src/allSettledP.js +0 -34
  178. package/src/allUnique.js +0 -25
  179. package/src/anyP.js +0 -33
  180. package/src/appendFlipped.js +0 -24
  181. package/src/argsPass.js +0 -40
  182. package/src/async.js +0 -60
  183. package/src/cata.js +0 -86
  184. package/src/catchP.js +0 -25
  185. package/src/ceil.js +0 -28
  186. package/src/compact.js +0 -23
  187. package/src/concatAll.js +0 -35
  188. package/src/concatRight.js +0 -30
  189. package/src/copyKeys.js +0 -31
  190. package/src/curryRight.js +0 -26
  191. package/src/curryRightN.js +0 -29
  192. package/src/defaultWhen.js +0 -26
  193. package/src/delayP.js +0 -45
  194. package/src/dispatch.js +0 -74
  195. package/src/divideNum.js +0 -20
  196. package/src/dropArgs.js +0 -23
  197. package/src/ensureArray.js +0 -24
  198. package/src/escapeRegExp.js +0 -22
  199. package/src/fantasy-land/Identity.js +0 -270
  200. package/src/fantasy-land/mapping.js +0 -20
  201. package/src/fantasy-land/traits.js +0 -57
  202. package/src/fantasy-land/util.js +0 -23
  203. package/src/filterIndexed.js +0 -28
  204. package/src/findOr.js +0 -30
  205. package/src/flattenDepth.js +0 -39
  206. package/src/flattenPath.js +0 -28
  207. package/src/flattenProp.js +0 -28
  208. package/src/floor.js +0 -27
  209. package/src/fnull.js +0 -38
  210. package/src/inRange.js +0 -34
  211. package/src/included.js +0 -28
  212. package/src/index.js +0 -241
  213. package/src/internal/ap.js +0 -30
  214. package/src/internal/compareLength.js +0 -7
  215. package/src/internal/isCoercible.js +0 -12
  216. package/src/internal/isOfTypeObject.js +0 -3
  217. package/src/internal/makeFlat.js +0 -42
  218. package/src/internal/ponyfills/Array.from.js +0 -34
  219. package/src/internal/ponyfills/Math.sign.js +0 -3
  220. package/src/internal/ponyfills/Math.trunc.js +0 -14
  221. package/src/internal/ponyfills/Number.MAX_SAFE_INTEGER.js +0 -3
  222. package/src/internal/ponyfills/Number.MIN_SAFE_INTEGER.js +0 -3
  223. package/src/internal/ponyfills/Number.isFinite.js +0 -8
  224. package/src/internal/ponyfills/Number.isInteger.js +0 -10
  225. package/src/internal/ponyfills/Number.isNaN.js +0 -8
  226. package/src/internal/ponyfills/Number.isSafeInteger.js +0 -11
  227. package/src/internal/ponyfills/Promise.allSettled.js +0 -18
  228. package/src/internal/ponyfills/Promise.any.js +0 -29
  229. package/src/internal/ponyfills/String.padEnd.js +0 -25
  230. package/src/internal/ponyfills/String.padStart.js +0 -27
  231. package/src/internal/ponyfills/String.repeat.js +0 -49
  232. package/src/internal/ponyfills/String.replaceAll.js +0 -44
  233. package/src/internal/ponyfills/String.trimEnd.js +0 -5
  234. package/src/internal/ponyfills/String.trimStart.js +0 -5
  235. package/src/invoke.js +0 -22
  236. package/src/invokeArgs.js +0 -36
  237. package/src/isArray.js +0 -27
  238. package/src/isArrayLike.js +0 -79
  239. package/src/isAsyncFunction.js +0 -23
  240. package/src/isBigInt.js +0 -24
  241. package/src/isBlank.js +0 -33
  242. package/src/isBoolean.js +0 -22
  243. package/src/isDate.js +0 -21
  244. package/src/isEmptyArray.js +0 -28
  245. package/src/isEmptyString.js +0 -28
  246. package/src/isError.js +0 -21
  247. package/src/isEven.js +0 -31
  248. package/src/isFalse.js +0 -31
  249. package/src/isFalsy.js +0 -28
  250. package/src/isFinite.js +0 -37
  251. package/src/isFloat.js +0 -36
  252. package/src/isFunction.js +0 -32
  253. package/src/isGeneratorFunction.js +0 -26
  254. package/src/isIndexed.js +0 -24
  255. package/src/isInteger.js +0 -40
  256. package/src/isInteger32.js +0 -28
  257. package/src/isIterable.js +0 -37
  258. package/src/isMap.js +0 -25
  259. package/src/isNaN.js +0 -45
  260. package/src/isNaturalNumber.js +0 -28
  261. package/src/isNegative.js +0 -27
  262. package/src/isNegativeZero.js +0 -23
  263. package/src/isNilOrEmpty.js +0 -26
  264. package/src/isNonEmptyArray.js +0 -28
  265. package/src/isNonEmptyString.js +0 -31
  266. package/src/isNonNegative.js +0 -30
  267. package/src/isNonPositive.js +0 -30
  268. package/src/isNotArray.js +0 -24
  269. package/src/isNotArrayLike.js +0 -26
  270. package/src/isNotAsyncFunction.js +0 -27
  271. package/src/isNotBoolean.js +0 -24
  272. package/src/isNotDate.js +0 -23
  273. package/src/isNotFinite.js +0 -31
  274. package/src/isNotFloat.js +0 -35
  275. package/src/isNotFunction.js +0 -29
  276. package/src/isNotGeneratorFunction.js +0 -27
  277. package/src/isNotInteger.js +0 -36
  278. package/src/isNotMap.js +0 -27
  279. package/src/isNotNaN.js +0 -37
  280. package/src/isNotNil.js +0 -23
  281. package/src/isNotNilOrEmpty.js +0 -28
  282. package/src/isNotNull.js +0 -24
  283. package/src/isNotNumber.js +0 -25
  284. package/src/isNotObj.js +0 -29
  285. package/src/isNotObjLike.js +0 -29
  286. package/src/isNotPair.js +0 -27
  287. package/src/isNotPlainObj.js +0 -35
  288. package/src/isNotPrimitive.js +0 -26
  289. package/src/isNotRegExp.js +0 -24
  290. package/src/isNotSet.js +0 -26
  291. package/src/isNotString.js +0 -23
  292. package/src/isNotUndefined.js +0 -24
  293. package/src/isNotValidDate.js +0 -24
  294. package/src/isNotValidNumber.js +0 -27
  295. package/src/isNull.js +0 -22
  296. package/src/isNumber.js +0 -24
  297. package/src/isObj.js +0 -31
  298. package/src/isObjLike.js +0 -30
  299. package/src/isOdd.js +0 -29
  300. package/src/isPair.js +0 -27
  301. package/src/isPlainObj.js +0 -65
  302. package/src/isPositive.js +0 -26
  303. package/src/isPositiveZero.js +0 -23
  304. package/src/isPrimitive.js +0 -46
  305. package/src/isPromise.js +0 -32
  306. package/src/isPrototypeOf.js +0 -36
  307. package/src/isRegExp.js +0 -22
  308. package/src/isSafeInteger.js +0 -40
  309. package/src/isSentinelValue.js +0 -26
  310. package/src/isSet.js +0 -24
  311. package/src/isSparseArray.js +0 -43
  312. package/src/isString.js +0 -21
  313. package/src/isSymbol.js +0 -29
  314. package/src/isThenable.js +0 -28
  315. package/src/isTrue.js +0 -27
  316. package/src/isTruthy.js +0 -28
  317. package/src/isUinteger32.js +0 -29
  318. package/src/isUndefined.js +0 -24
  319. package/src/isValidDate.js +0 -29
  320. package/src/isValidNumber.js +0 -28
  321. package/src/lastP.js +0 -54
  322. package/src/lengthEq.js +0 -24
  323. package/src/lengthGt.js +0 -24
  324. package/src/lengthGte.js +0 -26
  325. package/src/lengthLt.js +0 -24
  326. package/src/lengthLte.js +0 -25
  327. package/src/lengthNotEq.js +0 -24
  328. package/src/lensEq.js +0 -28
  329. package/src/lensIso.js +0 -51
  330. package/src/lensNotEq.js +0 -28
  331. package/src/lensNotSatisfy.js +0 -30
  332. package/src/lensSatisfies.js +0 -33
  333. package/src/lensTraverse.js +0 -56
  334. package/src/liftF.js +0 -37
  335. package/src/liftFN.js +0 -45
  336. package/src/list.js +0 -20
  337. package/src/mapIndexed.js +0 -27
  338. package/src/mergePath.js +0 -30
  339. package/src/mergePaths.js +0 -29
  340. package/src/mergeProp.js +0 -30
  341. package/src/mergeProps.js +0 -27
  342. package/src/move.js +0 -26
  343. package/src/nand.js +0 -27
  344. package/src/neither.js +0 -38
  345. package/src/noneP.js +0 -35
  346. package/src/nonePass.js +0 -32
  347. package/src/noop.js +0 -21
  348. package/src/nor.js +0 -28
  349. package/src/notAllPass.js +0 -32
  350. package/src/notAllUnique.js +0 -25
  351. package/src/notBoth.js +0 -38
  352. package/src/notEqual.js +0 -31
  353. package/src/omitBy.js +0 -25
  354. package/src/omitIndexes.js +0 -27
  355. package/src/overlaps.js +0 -30
  356. package/src/padCharsEnd.js +0 -37
  357. package/src/padCharsStart.js +0 -35
  358. package/src/padEnd.js +0 -25
  359. package/src/padStart.js +0 -23
  360. package/src/pathNotEq.js +0 -31
  361. package/src/pathOrLazy.js +0 -30
  362. package/src/paths.js +0 -26
  363. package/src/pickIndexes.js +0 -30
  364. package/src/propNotEq.js +0 -30
  365. package/src/rangeStep.js +0 -37
  366. package/src/reduceIndexed.js +0 -31
  367. package/src/reduceP.js +0 -96
  368. package/src/reduceRightP.js +0 -101
  369. package/src/rejectP.js +0 -24
  370. package/src/renameKey.js +0 -33
  371. package/src/renameKeyWith.js +0 -30
  372. package/src/renameKeys.js +0 -40
  373. package/src/renameKeysWith.js +0 -27
  374. package/src/repeatStr.js +0 -30
  375. package/src/replaceAll.js +0 -35
  376. package/src/resolveP.js +0 -28
  377. package/src/round.js +0 -26
  378. package/src/seq.js +0 -38
  379. package/src/sign.js +0 -33
  380. package/src/skipTake.js +0 -33
  381. package/src/sliceFrom.js +0 -23
  382. package/src/sliceTo.js +0 -23
  383. package/src/sortByPaths.js +0 -55
  384. package/src/sortByProp.js +0 -45
  385. package/src/sortByProps.js +0 -31
  386. package/src/spreadPath.js +0 -26
  387. package/src/spreadProp.js +0 -25
  388. package/src/stubArray.js +0 -18
  389. package/src/stubNull.js +0 -19
  390. package/src/stubObj.js +0 -19
  391. package/src/stubString.js +0 -19
  392. package/src/stubUndefined.js +0 -19
  393. package/src/subtractNum.js +0 -20
  394. package/src/thenCatchP.js +0 -27
  395. package/src/toArray.js +0 -32
  396. package/src/toInteger32.js +0 -22
  397. package/src/toNumber.js +0 -24
  398. package/src/toUinteger32.js +0 -26
  399. package/src/trimCharsEnd.js +0 -25
  400. package/src/trimCharsStart.js +0 -25
  401. package/src/trimEnd.js +0 -30
  402. package/src/trimStart.js +0 -29
  403. package/src/trunc.js +0 -33
  404. package/src/unzipObjWith.js +0 -40
  405. package/src/viewOr.js +0 -32
  406. package/src/weave.js +0 -35
  407. package/src/weaveLazy.js +0 -37
  408. package/src/zipObjWith.js +0 -27
package/src/invoke.js DELETED
@@ -1,22 +0,0 @@
1
- import { __ } from 'ramda';
2
-
3
- import invokeArgs from './invokeArgs.js';
4
-
5
- /**
6
- * Invokes the method at path of object.
7
- *
8
- * @func invoke
9
- * @memberOf RA
10
- * @since {@link https://char0n.github.io/ramda-adjunct/2.31.0|v2.31.0}
11
- * @category Object
12
- * @sig Array -> Object -> *
13
- * @param {Array.<string|number>} path The path of the method to invoke
14
- * @param {Object} obj The object to query
15
- * @return {*}
16
- * @example
17
- *
18
- * RA.invoke(['random'], Math); //=> 0.5113253820009047
19
- */
20
- const invoke = invokeArgs(__, [], __);
21
-
22
- export default invoke;
package/src/invokeArgs.js DELETED
@@ -1,36 +0,0 @@
1
- import { curryN, path, apply, init, bind } from 'ramda';
2
-
3
- import isNotFunction from './isNotFunction.js';
4
- import isEmptyArray from './isEmptyArray.js';
5
-
6
- /**
7
- * Invokes the method at path of object with given arguments.
8
- *
9
- * @func invokeArgs
10
- * @memberOf RA
11
- * @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0}
12
- * @category Object
13
- * @sig Array -> Array -> Object -> *
14
- * @param {Array.<string|number>} path The path of the method to invoke
15
- * @param {Array} args The arguments to invoke the method with
16
- * @param {Object} obj The object to query
17
- * @return {*}
18
- * @example
19
- *
20
- * RA.invokeArgs(['abs'], [-1], Math); //=> 1
21
- * RA.invokeArgs(['path', 'to', 'non-existent', 'method'], [-1], Math); //=> undefined
22
- */
23
-
24
- const invokeArgs = curryN(3, (mpath, args, obj) => {
25
- const method = path(mpath, obj);
26
- const context = path(init(mpath), obj);
27
-
28
- if (isNotFunction(method)) return undefined;
29
- if (isEmptyArray(mpath)) return undefined;
30
-
31
- const boundMethod = bind(method, context);
32
-
33
- return apply(boundMethod, args);
34
- });
35
-
36
- export default invokeArgs;
package/src/isArray.js DELETED
@@ -1,27 +0,0 @@
1
- import { curryN, pipe, type, identical } from 'ramda';
2
-
3
- import isFunction from './isFunction.js';
4
-
5
- /**
6
- * Checks if input value is `Array`.
7
- *
8
- * @func isArray
9
- * @memberOf RA
10
- * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0}
11
- * @category Type
12
- * @sig * -> Boolean
13
- * @param {*} val The value to test
14
- * @return {boolean}
15
- * @see {@link RA.isNotArray|isNotArray}
16
- * @example
17
- *
18
- * RA.isArray([]); //=> true
19
- * RA.isArray(null); //=> false
20
- * RA.isArray({}); //=> false
21
- */
22
- const isArray = curryN(
23
- 1,
24
- isFunction(Array.isArray) ? Array.isArray : pipe(type, identical('Array'))
25
- );
26
-
27
- export default isArray;
@@ -1,79 +0,0 @@
1
- import { has, curryN } from 'ramda';
2
-
3
- import isArray from './isArray.js';
4
- import isString from './isString.js';
5
-
6
- /* eslint-disable max-len */
7
- /**
8
- * Tests whether or not an object is similar to an array.
9
- *
10
- * @func isArrayLike
11
- * @memberOf RA
12
- * @since {@link https://char0n.github.io/ramda-adjunct/1.9.0|v1.9.0}
13
- * @licence https://github.com/ramda/ramda/blob/master/LICENSE.txt
14
- * @category List
15
- * @category Type
16
- * @sig * -> Boolean
17
- * @param {*} val The value to test
18
- * @returns {boolean} `true` if `val` has a numeric length property and extreme indices defined; `false` otherwise.
19
- * @see {@link RA.isNotArrayLike|isNotArrayLike}
20
-
21
- * @example
22
- *
23
- * RA.isArrayLike([]); //=> true
24
- * RA.isArrayLike(true); //=> false
25
- * RA.isArrayLike({}); //=> false
26
- * RA.isArrayLike({length: 10}); //=> false
27
- * RA.isArrayLike({0: 'zero', 9: 'nine', length: 10}); //=> true
28
- */
29
- /* eslint-enable max-len */
30
- const isArrayLike = curryN(1, (val) => {
31
- if (isArray(val)) {
32
- return true;
33
- }
34
- if (!val) {
35
- return false;
36
- }
37
- if (isString(val)) {
38
- return false;
39
- }
40
- if (typeof val !== 'object') {
41
- return false;
42
- }
43
- if (val.nodeType === 1) {
44
- return !!val.length;
45
- }
46
- if (val.length === 0) {
47
- return true;
48
- }
49
- if (val.length > 0) {
50
- return has(0, val) && has(val.length - 1, val);
51
- }
52
- return false;
53
- });
54
-
55
- export default isArrayLike;
56
-
57
- /**
58
- The MIT License (MIT)
59
-
60
- Copyright (c) 2013-2016 Scott Sauyet and Michael Hurley
61
-
62
- Permission is hereby granted, free of charge, to any person obtaining a copy
63
- of this software and associated documentation files (the "Software"), to deal
64
- in the Software without restriction, including without limitation the rights
65
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
66
- copies of the Software, and to permit persons to whom the Software is
67
- furnished to do so, subject to the following conditions:
68
-
69
- The above copyright notice and this permission notice shall be included in
70
- all copies or substantial portions of the Software.
71
-
72
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
73
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
74
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
75
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
76
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
77
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
78
- THE SOFTWARE.
79
- */
@@ -1,23 +0,0 @@
1
- import { pipe, type, identical, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if input value is `Async Function`.
5
- *
6
- * @func isAsyncFunction
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isFunction|isFunction}, {@link RA.isNotAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction}
14
- * @example
15
- *
16
- * RA.isAsyncFunction(async function test() { }); //=> true
17
- * RA.isAsyncFunction(null); //=> false
18
- * RA.isAsyncFunction(function test() { }); //=> false
19
- * RA.isAsyncFunction(() => {}); //=> false
20
- */
21
- const isAsyncFunction = curryN(1, pipe(type, identical('AsyncFunction')));
22
-
23
- export default isAsyncFunction;
package/src/isBigInt.js DELETED
@@ -1,24 +0,0 @@
1
- import { type, pipe, identical, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if value is a BigInt.
5
- *
6
- * @func isBigInt
7
- * @memberOf RA
8
- * @category Type
9
- * @since {@link https://char0n.github.io/ramda-adjunct/2.27.0|v2.27.0}
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @example
14
- *
15
- * RA.isBigInt(5); // => false
16
- * RA.isBigInt(Number.MAX_VALUE); // => false
17
- * RA.isBigInt(-Infinity); // => false
18
- * RA.isBigInt(10); // => false
19
- * RA.isBigInt(10n); // => true
20
- * RA.isBigInt(BitInt(9007199254740991)); // => true
21
- */
22
- const isBigInt = curryN(1, pipe(type, identical('BigInt')));
23
-
24
- export default isBigInt;
package/src/isBlank.js DELETED
@@ -1,33 +0,0 @@
1
- import { isEmpty, isNil, anyPass, test } from 'ramda';
2
-
3
- import isFalse from './isFalse.js';
4
- /**
5
- * Returns `true` if the given value is its type's empty value, `false`, `undefined`
6
- * as well as strings containing only whitespace characters; `false` otherwise.
7
- *
8
- * @func isBlank
9
- * @memberOf RA
10
- * @since {@link https://char0n.github.io/ramda-adjunct/3.1.0|v3.1.0}
11
- * @category Type
12
- * @sig * -> Boolean
13
- * @param {*} val The value to test
14
- * @return {boolean}
15
- * @see {@link https://blog.appsignal.com/2018/09/11/differences-between-nil-empty-blank-and-present.html|Differences Between #nil?, #empty?, #blank?, and #present?}
16
- * @example
17
- *
18
- * RA.isBlank(''); //=> true
19
- * RA.isBlank(' '); //=> true
20
- * RA.isBlank('\t\n'); //=> true
21
- * RA.isBlank({}); //=> true
22
- * RA.isBlank(null); //=> true
23
- * RA.isBlank(undefined); //=> true
24
- * RA.isBlank([]); //=> true
25
- * RA.isBlank(false); //=> true
26
- * RA.isBlank('value'); //=> false
27
- * RA.isBlank({ foo: 'foo' }); //=> false
28
- * RA.isBlank([1, 2, 3]); //=> false
29
- * RA.isBlank(true); //=> false
30
- */
31
- const isBlank = anyPass([isFalse, isNil, isEmpty, test(/^\s+$/gm)]);
32
-
33
- export default isBlank;
package/src/isBoolean.js DELETED
@@ -1,22 +0,0 @@
1
- import { type, identical, pipe, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if input value is `Boolean`.
5
- *
6
- * @func isBoolean
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/0.3.0|v0.3.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isNotBoolean|isNotBoolean}
14
- * @example
15
- *
16
- * RA.isBoolean(false); //=> true
17
- * RA.isBoolean(true); //=> true
18
- * RA.isBoolean(null); //=> false
19
- */
20
- const isBoolean = curryN(1, pipe(type, identical('Boolean')));
21
-
22
- export default isBoolean;
package/src/isDate.js DELETED
@@ -1,21 +0,0 @@
1
- import { type, identical, pipe, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if value is `Date` object.
5
- *
6
- * @func isDate
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/0.6.0|v0.6.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isNotDate|isNotDate}, {@link RA.isValidDate|isValidDate}, {@link RA.isNotValidDate|isNotValidDate}
14
- * @example
15
- *
16
- * RA.isDate(new Date()); //=> true
17
- * RA.isDate('1997-07-16T19:20+01:00'); //=> false
18
- */
19
- const isDate = curryN(1, pipe(type, identical('Date')));
20
-
21
- export default isDate;
@@ -1,28 +0,0 @@
1
- import { both, isEmpty } from 'ramda';
2
-
3
- import isArray from './isArray.js';
4
-
5
- /**
6
- * Checks if input value is an empty `Array`.
7
- *
8
- * @func isEmptyArray
9
- * @memberOf RA
10
- * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}
11
- * @category Type
12
- * @sig * -> Boolean
13
- * @param {*} val The value to test
14
- * @return {boolean}
15
- * @see {@link RA.isNotEmptyArray|isNotEmptyArray}
16
- * @example
17
- *
18
- * RA.isEmptyArray([]); // => true
19
- * RA.isEmptyArray([42]); // => false
20
- * RA.isEmptyArray({}); // => false
21
- * RA.isEmptyArray(null); // => false
22
- * RA.isEmptyArray(undefined); // => false
23
- * RA.isEmptyArray(42); // => false
24
- * RA.isEmptyArray('42'); // => false
25
- */
26
- const isEmptyArray = both(isArray, isEmpty);
27
-
28
- export default isEmptyArray;
@@ -1,28 +0,0 @@
1
- import { equals } from 'ramda';
2
-
3
- /**
4
- * Checks if input value is an empty `String`.
5
- *
6
- * @func isEmptyString
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/2.4.0|v2.4.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isNotEmptyString|isNotEmptyString}
14
- * @example
15
- *
16
- * RA.isEmptyString(''); // => true
17
- * RA.isEmptyString('42'); // => false
18
- * RA.isEmptyString(new String('42')); // => false
19
- * RA.isEmptyString(new String('')); // => false
20
- * RA.isEmptyString([42]); // => false
21
- * RA.isEmptyString({}); // => false
22
- * RA.isEmptyString(null); // => false
23
- * RA.isEmptyString(undefined); // => false
24
- * RA.isEmptyString(42); // => false
25
- */
26
- const isEmptyString = equals('');
27
-
28
- export default isEmptyString;
package/src/isError.js DELETED
@@ -1,21 +0,0 @@
1
- import { type, identical, pipe, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, `SyntaxError`, `TypeError` or `URIError` object.
5
- *
6
- * @func isError
7
- * @category Type
8
- * @memberOf RA
9
- * @since {@link https://char0n.github.io/ramda-adjunct/2.30.0|v2.30.0}
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean} Returns `true` if value is an error object, `false` otherwise
13
- * @example
14
- *
15
- * RA.isError(new Error()); //=> true
16
- * RA.isError(Error); //=> false
17
- * RA.isError(1); // => false
18
- */
19
- const isError = curryN(1, pipe(type, identical('Error')));
20
-
21
- export default isError;
package/src/isEven.js DELETED
@@ -1,31 +0,0 @@
1
- import { both, complement, curryN } from 'ramda';
2
-
3
- import isInteger from './isInteger.js';
4
- import isOdd from './isOdd.js';
5
-
6
- /**
7
- * Checks if value is even integer number.
8
- * An even number is an integer which is "evenly divisible" by two.
9
- * Zero is an even number because zero divided by two equals zero,
10
- * which despite not being a natural number, is an integer.
11
- * Even numbers are either positive or negative.
12
- *
13
- * @func isEven
14
- * @memberOf RA
15
- * @since {@link https://char0n.github.io/ramda-adjunct/1.18.0|v1.18.0}
16
- * @category Type
17
- * @sig * -> Boolean
18
- * @param {*} val The value to test
19
- * @return {boolean}
20
- * @see {@link RA.isOdd|isOdd}
21
- * @example
22
- *
23
- * RA.isEven(0); // => true
24
- * RA.isEven(1); // => false
25
- * RA.isEven(-Infinity); // => false
26
- * RA.isEven(4); // => true
27
- * RA.isEven(3); // => false
28
- */
29
- const isEven = curryN(1, both(isInteger, complement(isOdd)));
30
-
31
- export default isEven;
package/src/isFalse.js DELETED
@@ -1,31 +0,0 @@
1
- import { identical, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if input value is the Boolean primitive `false`. Will return false for all values created
5
- * using the `Boolean` function as a constructor.
6
- *
7
- * @func isFalse
8
- * @memberOf RA
9
- * @since {@link https://char0n.github.io/ramda-adjunct/2.6.0|v2.6.0}
10
- * @category Type
11
- * @sig * -> Boolean
12
- * @param {*} val The value to test
13
- * @return {boolean}
14
- * @see {@link RA.isTrue|isTrue}, {@link RA.isTruthy|isTruthy}, {@link RA.isFalsy|isFalsy}
15
- * @example
16
- *
17
- * RA.isFalse(false); // => true
18
- * RA.isFalse(Boolean(false)); // => true
19
- * RA.isFalse(true); // => false
20
- * RA.isFalse(0); // => false
21
- * RA.isFalse(''); // => false
22
- * RA.isFalse(null); // => false
23
- * RA.isFalse(undefined); // => false
24
- * RA.isFalse(NaN); // => false
25
- * RA.isFalse([]); // => false
26
- * RA.isFalse(new Boolean(false)); // => false
27
- */
28
-
29
- const isFalse = curryN(1, identical(false));
30
-
31
- export default isFalse;
package/src/isFalsy.js DELETED
@@ -1,28 +0,0 @@
1
- import { complement } from 'ramda';
2
-
3
- import isTruthy from './isTruthy.js';
4
-
5
- /**
6
- * A falsy value is a value that translates to false when evaluated in a Boolean context.
7
- * Falsy values are `false`, `0`, `""`, `null`, `undefined`, and `NaN`.
8
- *
9
- * @func isFalsy
10
- * @memberOf RA
11
- * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2..0}
12
- * @category Type
13
- * @sig * -> Boolean
14
- * @param {*} val The value to test
15
- * @return {boolean}
16
- * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Falsy|falsy}, {@link RA.isTruthy|isTruthy}
17
- * @example
18
- *
19
- * RA.isFalsy(false); // => true
20
- * RA.isFalsy(0); // => true
21
- * RA.isFalsy(''); // => true
22
- * RA.isFalsy(null); // => true
23
- * RA.isFalsy(undefined); // => true
24
- * RA.isFalsy(NaN); // => true
25
- */
26
- const isFalsy = complement(isTruthy);
27
-
28
- export default isFalsy;
package/src/isFinite.js DELETED
@@ -1,37 +0,0 @@
1
- import { bind, curryN } from 'ramda';
2
-
3
- import isFunction from './isFunction.js';
4
- import ponyfill from './internal/ponyfills/Number.isFinite.js';
5
-
6
- export const isFinitePonyfill = curryN(1, ponyfill);
7
-
8
- /**
9
- * Checks whether the passed value is a finite `Number`.
10
- *
11
- * @func isFinite
12
- * @memberOf RA
13
- * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0}
14
- * @category Type
15
- * @sig * -> Boolean
16
- * @param {*} val The value to test
17
- * @return {boolean}
18
- * @see {@link RA.isNotFinite|isNotFinite}
19
- * @example
20
- *
21
- * RA.isFinite(Infinity); //=> false
22
- * RA.isFinite(NaN); //=> false
23
- * RA.isFinite(-Infinity); //=> false
24
- *
25
- * RA.isFinite(0); // true
26
- * RA.isFinite(2e64); // true
27
- *
28
- * RA.isFinite('0'); // => false
29
- * // would've been true with global isFinite('0')
30
- * RA.isFinite(null); // => false
31
- * // would've been true with global isFinite(null)
32
- */
33
- const _isFinite = isFunction(Number.isFinite)
34
- ? curryN(1, bind(Number.isFinite, Number))
35
- : isFinitePonyfill;
36
-
37
- export default _isFinite;
package/src/isFloat.js DELETED
@@ -1,36 +0,0 @@
1
- import { complement, both } from 'ramda';
2
-
3
- import isInteger from './isInteger.js';
4
- import isFinite from './isFinite.js';
5
-
6
- /**
7
- * Checks whether the passed value is a `float`.
8
- *
9
- * @func isFloat
10
- * @memberOf RA
11
- * @since {@link https://char0n.github.io/ramda-adjunct/1.14.0|v1.14.0}
12
- * @category Type
13
- * @sig * -> Boolean
14
- * @param {*} val The value to test
15
- * @return {boolean}
16
- * @see {@link RA.isNotFloat|isNotFloat}
17
- * @example
18
- *
19
- * RA.isFloat(0); //=> false
20
- * RA.isFloat(1); //=> false
21
- * RA.isFloat(-100000); //=> false
22
- *
23
- * RA.isFloat(0.1); //=> true
24
- * RA.isFloat(Math.PI); //=> true
25
- *
26
- * RA.isFloat(NaN); //=> false
27
- * RA.isFloat(Infinity); //=> false
28
- * RA.isFloat(-Infinity); //=> false
29
- * RA.isFloat('10'); //=> false
30
- * RA.isFloat(true); //=> false
31
- * RA.isFloat(false); //=> false
32
- * RA.isFloat([1]); //=> false
33
- */
34
- const isFloat = both(isFinite, complement(isInteger));
35
-
36
- export default isFloat;
package/src/isFunction.js DELETED
@@ -1,32 +0,0 @@
1
- import { anyPass, type, pipe, identical } from 'ramda';
2
-
3
- import isGeneratorFunction from './isGeneratorFunction.js';
4
- import isAsyncFunction from './isAsyncFunction.js';
5
-
6
- /**
7
- * Checks if input value is `Function`.
8
- *
9
- * @func isFunction
10
- * @memberOf RA
11
- * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}
12
- * @category Type
13
- * @sig * -> Boolean
14
- * @param {*} val The value to test
15
- * @return {boolean}
16
- * @see {@link RA.isNotFunction|isNotFunction}, {@link RA.isAsyncFunction|isNotAsyncFunction}, {@link RA.isGeneratorFunction|isGeneratorFunction}
17
- * @example
18
- *
19
- * RA.isFunction(function test() { }); //=> true
20
- * RA.isFunction(function* test() { }); //=> true
21
- * RA.isFunction(async function test() { }); //=> true
22
- * RA.isFunction(() => {}); //=> true
23
- * RA.isFunction(null); //=> false
24
- * RA.isFunction('abc'); //=> false
25
- */
26
- const isFunction = anyPass([
27
- pipe(type, identical('Function')),
28
- isGeneratorFunction,
29
- isAsyncFunction,
30
- ]);
31
-
32
- export default isFunction;
@@ -1,26 +0,0 @@
1
- import { type, identical, pipe, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if input value is `Generator Function`.
5
- *
6
- * @func isGeneratorFunction
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isFunction|isFunction}, {@link RA.isAsyncFunction|isAsyncFunction}, {@link RA.isNotGeneratorFunction|isNotGeneratorFunction}
14
- * @example
15
- *
16
- * RA.isGeneratorFunction(function* test() { }); //=> true
17
- * RA.isGeneratorFunction(null); //=> false
18
- * RA.isGeneratorFunction(function test() { }); //=> false
19
- * RA.isGeneratorFunction(() => {}); //=> false
20
- */
21
- const isGeneratorFunction = curryN(
22
- 1,
23
- pipe(type, identical('GeneratorFunction'))
24
- );
25
-
26
- export default isGeneratorFunction;
package/src/isIndexed.js DELETED
@@ -1,24 +0,0 @@
1
- import { either, curryN } from 'ramda';
2
-
3
- import isArray from './isArray.js';
4
- import isString from './isString.js';
5
-
6
- /**
7
- * Determine if input value is an indexed data type.
8
- *
9
- * @func isIndexed
10
- * @memberOf RA
11
- * @since {@link https://char0n.github.io/ramda-adjunct/2.26.0|v2.26.0}
12
- * @category Type
13
- * @sig * -> Boolean
14
- * @param {*} val The value to test
15
- * @return {boolean}
16
- * @example
17
- *
18
- * RA.isIndexed([1]) //=> true
19
- * RA.isIndexed('test') //=> true
20
- */
21
-
22
- const isIndexed = curryN(1, either(isString, isArray));
23
-
24
- export default isIndexed;
package/src/isInteger.js DELETED
@@ -1,40 +0,0 @@
1
- import { bind, curryN } from 'ramda';
2
-
3
- import isFunction from './isFunction.js';
4
- import ponyfill from './internal/ponyfills/Number.isInteger.js';
5
-
6
- export const isIntegerPonyfill = curryN(1, ponyfill);
7
-
8
- /**
9
- * Checks whether the passed value is an `integer`.
10
- *
11
- * @func isInteger
12
- * @memberOf RA
13
- * @since {@link https://char0n.github.io/ramda-adjunct/0.7.0|v0.7.0}
14
- * @category Type
15
- * @sig * -> Boolean
16
- * @param {*} val The value to test
17
- * @return {boolean}
18
- * @see {@link RA.isNotInteger|isNotInteger}
19
- * @example
20
- *
21
- * RA.isInteger(0); //=> true
22
- * RA.isInteger(1); //=> true
23
- * RA.isInteger(-100000); //=> true
24
- *
25
- * RA.isInteger(0.1); //=> false
26
- * RA.isInteger(Math.PI); //=> false
27
- *
28
- * RA.isInteger(NaN); //=> false
29
- * RA.isInteger(Infinity); //=> false
30
- * RA.isInteger(-Infinity); //=> false
31
- * RA.isInteger('10'); //=> false
32
- * RA.isInteger(true); //=> false
33
- * RA.isInteger(false); //=> false
34
- * RA.isInteger([1]); //=> false
35
- */
36
- const isInteger = isFunction(Number.isInteger)
37
- ? curryN(1, bind(Number.isInteger, Number))
38
- : isIntegerPonyfill;
39
-
40
- export default isInteger;