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/isPlainObj.js DELETED
@@ -1,65 +0,0 @@
1
- import {
2
- pipe,
3
- type,
4
- identical,
5
- both,
6
- equals,
7
- toString,
8
- pathSatisfies,
9
- curryN,
10
- } from 'ramda';
11
-
12
- import isNull from './isNull.js';
13
- import isObjLike from './isObjLike.js';
14
- import isFunction from './isFunction.js';
15
-
16
- const isObject = pipe(type, identical('Object'));
17
- const isObjectConstructor = pipe(toString, equals(toString(Object)));
18
- const hasObjectConstructor = pathSatisfies(
19
- both(isFunction, isObjectConstructor),
20
- ['constructor']
21
- );
22
-
23
- /* eslint-disable max-len */
24
- /**
25
- * Check to see if an object is a plain object (created using `{}`, `new Object()` or `Object.create(null)`).
26
- *
27
- * @func isPlainObj
28
- * @aliases isPlainObject
29
- * @memberOf RA
30
- * @since {@link https://char0n.github.io/ramda-adjunct/0.5.0|v0.5.0}
31
- * @category Type
32
- * @sig * -> Boolean
33
- * @param {*} val The value to test
34
- * @return {boolean}
35
- * @see {@link RA.isNotPlainObj|isNotPlainObj}, {@link RA.isObjLike|isObjLike}, {@link RA.isObj|isObj}
36
- * @example
37
- *
38
- * class Bar {
39
- * constructor() {
40
- * this.prop = 'value';
41
- * }
42
- * }
43
- *
44
- * RA.isPlainObj(new Bar()); //=> false
45
- * RA.isPlainObj({ prop: 'value' }); //=> true
46
- * RA.isPlainObj(['a', 'b', 'c']); //=> false
47
- * RA.isPlainObj(Object.create(null); //=> true
48
- * RA.isPlainObj(new Object()); //=> true
49
- */
50
- /* eslint-enable max-len */
51
- const isPlainObj = curryN(1, (val) => {
52
- if (!isObjLike(val) || !isObject(val)) {
53
- return false;
54
- }
55
-
56
- const proto = Object.getPrototypeOf(val);
57
-
58
- if (isNull(proto)) {
59
- return true;
60
- }
61
-
62
- return hasObjectConstructor(proto);
63
- });
64
-
65
- export default isPlainObj;
package/src/isPositive.js DELETED
@@ -1,26 +0,0 @@
1
- import { both, lt } from 'ramda';
2
-
3
- import isNumber from './isNumber.js';
4
-
5
- /**
6
- * Checks if value is a positive `Number` primitive or object. Zero is not considered positive.
7
- *
8
- * @func isPositive
9
- * @memberOf RA
10
- * @since {@link https://char0n.github.io/ramda-adjunct/1.15.0|v1.15.0}
11
- * @category Type
12
- * @sig * -> Boolean
13
- * @param {*} val The value to test
14
- * @return {boolean}
15
- * @see {@link RA.isNegative|isNegative}
16
- * @example
17
- *
18
- * RA.isPositive(1); // => true
19
- * RA.isPositive(Number.MAX_VALUE); // => true
20
- * RA.isPositive(-Infinity); // => false
21
- * RA.isPositive(NaN); // => false
22
- * RA.isPositive('5'); // => false
23
- */
24
- const isPositive = both(isNumber, lt(0));
25
-
26
- export default isPositive;
@@ -1,23 +0,0 @@
1
- import { identical, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if value is a positive zero (+0).
5
- *
6
- * @func isPositiveZero
7
- * @memberof RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isNegativeZero|isNegativeZero}
14
- * @example
15
- *
16
- * RA.isPositiveZero(+0); //=> true
17
- * RA.isPositiveZero(0); //=> true
18
- * RA.isPositiveZero(-0); //=> false
19
- * RA.isPositiveZero(null); //=> false
20
- */
21
- const isPositiveZero = curryN(1, identical(+0));
22
-
23
- export default isPositiveZero;
@@ -1,46 +0,0 @@
1
- import { both, anyPass } from 'ramda';
2
-
3
- import isNotObj from './isNotObj.js';
4
- import isString from './isString.js';
5
- import isNumber from './isNumber.js';
6
- import isBigInt from './isBigInt.js';
7
- import isBoolean from './isBoolean.js';
8
- import isUndefined from './isUndefined.js';
9
- import isNull from './isNull.js';
10
- import isSymbol from './isSymbol.js';
11
-
12
- /**
13
- * Checks if value is a primitive data type. There are 6 primitive data types: `string`, `number`, `bigint`, `boolean`, `undefined`, `symbol` and a special case of `null`.
14
- * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Primitive_values
15
- * for definition of what sub-types comprise a primitive.
16
- *
17
- * @func isPrimitive
18
- * @memberOf RA
19
- * @category Type
20
- * @sig * -> Boolean
21
- * @since {@link https://char0n.github.io/ramda-adjunct/2.32.0|v2.32.0}
22
- * @param {*} val The value to test
23
- * @return {boolean}
24
- * @see {@link RA.isNotPrimitive|isNotPrimitive}, {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#primitive_values|MDN Primitive values}, {@link https://developer.mozilla.org/en-US/docs/Glossary/Primitive|MDN Primitive}
25
- * @example
26
- *
27
- * RA.isPrimitive("string"); //=> true
28
- * RA.isPrimitive(1); //=> true
29
- * RA.isPrimitive(new String("string")); //=> false
30
- * RA.isPrimitive(new Number(1)); //=> false
31
- */
32
-
33
- const isPrimitive = both(
34
- isNotObj,
35
- anyPass([
36
- isString,
37
- isNumber,
38
- isBigInt,
39
- isBoolean,
40
- isUndefined,
41
- isNull,
42
- isSymbol,
43
- ])
44
- );
45
-
46
- export default isPrimitive;
package/src/isPromise.js DELETED
@@ -1,32 +0,0 @@
1
- import { both, pipe, toString, equals, curryN } from 'ramda';
2
-
3
- import isObj from './isObj.js';
4
-
5
- /**
6
- * Checks if input value is a native `Promise`.
7
- * The Promise object represents the eventual completion (or failure)
8
- * of an asynchronous operation, and its resulting value.
9
- *
10
- * @func isPromise
11
- * @memberOf RA
12
- * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}
13
- * @category Type
14
- * @sig * -> Boolean
15
- * @param {*} val The value to test
16
- * @return {boolean}
17
- * @see {@link https://promisesaplus.com/|Promises/A+}, {@link RA.isThenable|isThenable}
18
- * @example
19
- *
20
- * RA.isPromise(null); // => false
21
- * RA.isPromise(undefined); // => false
22
- * RA.isPromise([]); // => false
23
- * RA.isPromise(Promise.resolve()); // => true
24
- * RA.isPromise(Promise.reject()); // => true
25
- * RA.isPromise({ then: () => 1 }); // => false
26
- */
27
- const isPromise = curryN(
28
- 1,
29
- both(isObj, pipe(toString, equals('[object Promise]')))
30
- );
31
-
32
- export default isPromise;
@@ -1,36 +0,0 @@
1
- import { curry } from 'ramda';
2
-
3
- import invokeArgs from './invokeArgs.js';
4
-
5
- /**
6
- * Checks if an object exists in another object's prototype chain.
7
- *
8
- * @func isPrototypeOf
9
- * @category Object
10
- * @memberOf RA
11
- * @since {@link https://char0n.github.io/ramda-adjunct/2.31.0|v2.31.0}
12
- * @sig * -> Boolean
13
- * @param {Object} type The prototype that we're searching for
14
- * @param {Object} object The object whose prototype chain will be searched
15
- * @return {boolean}
16
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isPrototypeOf|Object.prorotype.isPrototypeOf}
17
- * @example
18
- * function Foo() {}
19
- * function Bar() {}
20
- * function Baz() {}
21
- *
22
- * Bar.prototype = Object.create(Foo.prototype);
23
- * Baz.prototype = Object.create(Bar.prototype);
24
- *
25
- * const baz = new Baz();
26
- *
27
- * RA.isPrototypeOf(Baz, baz); // => true
28
- * RA.isPrototypeOf(Bar, baz); // => true
29
- * RA.isPrototypeOf(Foo, baz); // => true
30
- * RA.isPrototypeOf(Object, baz); // => true
31
- */
32
- const isPrototypeOf = curry((type, object) =>
33
- Boolean(invokeArgs(['prototype', 'isPrototypeOf'], [object], type))
34
- );
35
-
36
- export default isPrototypeOf;
package/src/isRegExp.js DELETED
@@ -1,22 +0,0 @@
1
- import { type, identical, pipe, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if value is `RegExp` object.
5
- *
6
- * @func isRegExp
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/2.5.0|v2.5.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isNotRegExp|isNotRegExp}
14
- * @example
15
- *
16
- * RA.isRegExp(new RegExp()); //=> true
17
- * RA.isRegExp(/(?:)/); //=> true
18
- * RA.isRegExp(1); //=> false
19
- */
20
- const isRegExp = curryN(1, pipe(type, identical('RegExp')));
21
-
22
- export default isRegExp;
@@ -1,40 +0,0 @@
1
- import { bind, curryN } from 'ramda';
2
-
3
- import isFunction from './isFunction.js';
4
- import ponyfill from './internal/ponyfills/Number.isSafeInteger.js';
5
-
6
- export const isSafeIntegerPonyfill = curryN(1, ponyfill);
7
-
8
- /**
9
- * Checks whether the passed value is a safe `integer`.
10
- *
11
- * @func isSafeInteger
12
- * @memberOf RA
13
- * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
14
- * @category Type
15
- * @sig * -> Boolean
16
- * @param {*} val The value to test
17
- * @return {boolean}
18
- * @example
19
- *
20
- * RA.isSafeInteger(3); //=> true
21
- * RA.isSafeInteger(Math.pow(2, 53)) //=> false
22
- * RA.isSafeInteger(Math.pow(2, 53) - 1); //=> true
23
- * RA.isSafeInteger(NaN); //=> false
24
- * RA.isSafeInteger(Infinity); //=> false
25
- * RA.isSafeInteger('3') //=> false
26
- * RA.isSafeInteger(3.1); //=> false
27
- * RA.isSafeInteger(3.0); //=> true
28
- * RA.isSafeInteger('string'); //=> false
29
- * RA.isSafeInteger(null); //=> false
30
- * RA.isSafeInteger(undefined); //=> false
31
- * RA.isSafeInteger({}); //=> false
32
- * RA.isSafeInteger(() => { }); //=> false
33
- * RA.isSafeInteger(true); //=> false
34
- */
35
-
36
- const isSafeInteger = isFunction(Number.isSafeInteger)
37
- ? curryN(1, bind(Number.isSafeInteger, Number))
38
- : isSafeIntegerPonyfill;
39
-
40
- export default isSafeInteger;
@@ -1,26 +0,0 @@
1
- import { curryN } from 'ramda';
2
-
3
- import isInteger32 from './isInteger32.js';
4
-
5
- /**
6
- * Checks whether the passed value is {@link https://github.com/getify/You-Dont-Know-JS/blob/9959fc904d584bbf0b02cf41c192f74ff4238581/types-grammar/ch4.md#the-curious-case-of-the-|a sentinel value}.
7
- *
8
- * @func isSentinelValue
9
- * @memberOf RA
10
- * @since {@link https://char0n.github.io/ramda-adjunct/2.33.0|v2.33.0}
11
- * @category Type
12
- * @sig * -> Boolean
13
- * @param {*} val The value to test
14
- * @return {boolean}
15
- * @example
16
- *
17
- * RA.isSentinelValue(-1); //=> true
18
- *
19
- * RA.isSentinelValue('-1'); //=> false
20
- * RA.isSentinelValue(1); //=> false
21
- * RA.isSentinelValue([-1]); //=> false
22
- */
23
- // eslint-disable-next-line no-bitwise
24
- const isSentinelValue = curryN(1, (val) => isInteger32(val) && ~val === 0);
25
-
26
- export default isSentinelValue;
package/src/isSet.js DELETED
@@ -1,24 +0,0 @@
1
- import { type, identical, pipe, curryN } from 'ramda';
2
-
3
- /**
4
- * Predicate for determining if a provided value is an instance of a Set.
5
- *
6
- * @func isSet
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isMap|isMap}}
14
- * @example
15
- *
16
- * RA.isSet(new Map()); //=> false
17
- * RA.isSet(new Set()); //=> true
18
- * RA.isSet(new Set([1,2]); //=> true
19
- * RA.isSet(new Object()); //=> false
20
- */
21
-
22
- const isSet = curryN(1, pipe(type, identical('Set')));
23
-
24
- export default isSet;
@@ -1,43 +0,0 @@
1
- import {
2
- values,
3
- both,
4
- complement,
5
- pipe,
6
- converge,
7
- identical,
8
- length,
9
- } from 'ramda';
10
-
11
- import isArray from './isArray.js';
12
-
13
- /**
14
- * Checks if input value is a sparse Array.
15
- * An array with at least one "empty slot" in it is often called a "sparse array."
16
- * Empty slot doesn't mean that the slot contains `null` or `undefined` values,
17
- * but rather that the slots don't exist.
18
- *
19
- * @func isSparseArray
20
- * @memberOf RA
21
- * @since {@link https://char0n.github.io/ramda-adjunct/2.20.0|v2.20.0}
22
- * @category Type
23
- * @sig * -> Boolean
24
- * @param {*} list The list to test
25
- * @return {boolean}
26
- * @see {@link https://github.com/getify/You-Dont-Know-JS/blob/f0d591b6502c080b92e18fc470432af8144db610/types%20%26%20grammar/ch3.md#array|Sparse Arrays}, {@link RA.isArray|isArray}
27
- * @example
28
- *
29
- * RA.isSparseArray(new Array(3)); // => true
30
- * RA.isSparseArray([1,,3]); // => true
31
- *
32
- * const list = [1, 2, 3];
33
- * delete list[1];
34
- * RA.isSparseArray(list); // => true
35
- *
36
- * RA.isSparseArray([1, 2, 3]); // => false
37
- */
38
- const isSparseArray = both(
39
- isArray,
40
- converge(complement(identical), [pipe(values, length), length])
41
- );
42
-
43
- export default isSparseArray;
package/src/isString.js DELETED
@@ -1,21 +0,0 @@
1
- import { curryN, pipe, type, identical } from 'ramda';
2
-
3
- /**
4
- * Checks if input value is `String`.
5
- *
6
- * @func isString
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/0.4.0|v0.4.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link RA.isNotString|isNotString}
14
- * @example
15
- *
16
- * RA.isString('abc'); //=> true
17
- * RA.isString(1); //=> false
18
- */
19
- const isString = curryN(1, pipe(type, identical('String')));
20
-
21
- export default isString;
package/src/isSymbol.js DELETED
@@ -1,29 +0,0 @@
1
- import { type, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if input value is a Symbol.
5
- *
6
- * @func isSymbol
7
- * @memberOf RA
8
- * @since {@link https://char0n.github.io/ramda-adjunct/2.22.0|v2.22.0}
9
- * @category Type
10
- * @sig * -> Boolean
11
- * @param {*} val The value to test
12
- * @return {boolean}
13
- * @see {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol|MDN Symbol}
14
- * @example
15
- *
16
- * RA.isSymbol(Symbol('1')); //=> true
17
- * RA.isSymbol(Symbol(1)); //=> true
18
- * RA.isSymbol('string'); //=> false
19
- * RA.isSymbol(undefined); //=> false
20
- * RA.isSymbol(null); //=> false
21
- */
22
- const isSymbol = curryN(
23
- 1,
24
- (val) =>
25
- typeof val === 'symbol' ||
26
- (typeof val === 'object' && type(val) === 'Symbol')
27
- );
28
-
29
- export default isSymbol;
package/src/isThenable.js DELETED
@@ -1,28 +0,0 @@
1
- import { pathSatisfies } from 'ramda';
2
-
3
- import isFunction from './isFunction.js';
4
-
5
- /**
6
- * Checks if input value is a `thenable`.
7
- * `thenable` is an object or function that defines a `then` method.
8
- *
9
- * @func isThenable
10
- * @memberOf RA
11
- * @since {@link https://char0n.github.io/ramda-adjunct/2.1.0|v2.1.0}
12
- * @category Type
13
- * @sig * -> Boolean
14
- * @param {*} val The value to test
15
- * @return {boolean}
16
- * @see {@link RA.isPromise|isPromise}
17
- * @example
18
- *
19
- * RA.isThenable(null); // => false
20
- * RA.isThenable(undefined); // => false
21
- * RA.isThenable([]); // => false
22
- * RA.isThenable(Promise.resolve()); // => true
23
- * RA.isThenable(Promise.reject()); // => true
24
- * RA.isThenable({ then: () => 1 }); // => true
25
- */
26
- const isThenable = pathSatisfies(isFunction, ['then']);
27
-
28
- export default isThenable;
package/src/isTrue.js DELETED
@@ -1,27 +0,0 @@
1
- import { identical, curryN } from 'ramda';
2
-
3
- /**
4
- * Checks if input value is the Boolean primitive `true`. Will return false for Boolean objects
5
- * created using the `Boolean` function as a constructor.
6
- *
7
- * @func isTrue
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.isFalse|isFalse}, {@link RA.isTruthy|isTruthy}, {@link RA.isFalsy|isFalsy}
15
- * @example
16
- *
17
- * RA.isTrue(true); // => true
18
- * RA.isTrue(Boolean(true)); // => true
19
- * RA.isTrue(false); // => false
20
- * RA.isTrue(1); // => false
21
- * RA.isTrue('true'); // => false
22
- * RA.isTrue(new Boolean(true)); // => false
23
- */
24
-
25
- const isTrue = curryN(1, identical(true));
26
-
27
- export default isTrue;
package/src/isTruthy.js DELETED
@@ -1,28 +0,0 @@
1
- import { curryN } from 'ramda';
2
-
3
- /**
4
- * In JavaScript, a `truthy` value is a value that is considered true
5
- * when evaluated in a Boolean context. All values are truthy unless
6
- * they are defined as falsy (i.e., except for `false`, `0`, `""`, `null`, `undefined`, and `NaN`).
7
- *
8
- * @func isTruthy
9
- * @memberOf RA
10
- * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2.0}
11
- * @category Type
12
- * @sig * -> Boolean
13
- * @param {*} val The value to test
14
- * @return {boolean}
15
- * @see {@link https://developer.mozilla.org/en-US/docs/Glossary/Truthy|truthy}, {@link RA.isFalsy|isFalsy}
16
- * @example
17
- *
18
- * RA.isTruthy({}); // => true
19
- * RA.isTruthy([]); // => true
20
- * RA.isTruthy(42); // => true
21
- * RA.isTruthy(3.14); // => true
22
- * RA.isTruthy('foo'); // => true
23
- * RA.isTruthy(new Date()); // => true
24
- * RA.isTruthy(Infinity); // => true
25
- */
26
- const isTruthy = curryN(1, Boolean);
27
-
28
- export default isTruthy;
@@ -1,29 +0,0 @@
1
- import { curryN } from 'ramda';
2
-
3
- import toUinteger32 from './toUinteger32.js';
4
-
5
- /**
6
- * Checks whether the passed value is an unsigned 32 bit integer.
7
- *
8
- * @func isUinteger32
9
- * @aliases isUint32
10
- * @memberOf RA
11
- * @since {@link https://char0n.github.io/ramda-adjunct/3.2.0|v3.2.0}
12
- * @category Type
13
- * @sig * -> Boolean
14
- * @param {*} val The value to test
15
- * @return {boolean}
16
- * @see {@link RA.toUinteger32|toUinteger32}
17
- * @example
18
- *
19
- * RA.isUinteger32(0); //=> true
20
- * RA.isUinteger32(2 ** 32 - 1); //=> true
21
- *
22
- * RA.isUinteger32(Infinity); //=> false
23
- * RA.isUinteger32(NaN); //=> false
24
- * RA.isUinteger32(-1); //=> false
25
- * RA.isUinteger32(2 ** 32); //=> false
26
- */
27
- const isUinteger32 = curryN(1, (val) => toUinteger32(val) === val);
28
-
29
- export default isUinteger32;
@@ -1,24 +0,0 @@
1
- import { equals } from 'ramda';
2
-
3
- import stubUndefined from './stubUndefined.js';
4
-
5
- /**
6
- * Checks if input value is `undefined`.
7
- *
8
- * @func isUndefined
9
- * @memberOf RA
10
- * @since {@link https://char0n.github.io/ramda-adjunct/0.0.1|v0.0.1}
11
- * @category Type
12
- * @sig * -> Boolean
13
- * @param {*} val The value to test
14
- * @return {boolean}
15
- * @see {@link RA.isNotUndefined|isNotUndefined}
16
- * @example
17
- *
18
- * RA.isUndefined(1); //=> false
19
- * RA.isUndefined(undefined); //=> true
20
- * RA.isUndefined(null); //=> false
21
- */
22
- const isUndefined = equals(stubUndefined());
23
-
24
- export default isUndefined;
@@ -1,29 +0,0 @@
1
- import { invoker, both, pipe, curryN } from 'ramda';
2
-
3
- import isDate from './isDate.js';
4
- import isNotNaN from './isNotNaN.js';
5
-
6
- /* eslint-disable max-len */
7
- /**
8
- * Checks if value is valid `Date` object.
9
- *
10
- * @func isValidDate
11
- * @memberOf RA
12
- * @since {@link https://char0n.github.io/ramda-adjunct/1.8.0|v1.8.0}
13
- * @category Type
14
- * @sig * -> Boolean
15
- * @param {*} val The value to test
16
- * @return {boolean}
17
- * @see {@link RA.isDate|isDate}, {@link RA.isNotDate|isNotDate}, {@link RA.isNotValidDate|isNotValidDate}
18
- * @example
19
- *
20
- * RA.isValidDate(new Date()); //=> true
21
- * RA.isValidDate(new Date('a')); //=> false
22
- */
23
- /* eslint-enable max-len */
24
- const isValidDate = curryN(
25
- 1,
26
- both(isDate, pipe(invoker(0, 'getTime'), isNotNaN))
27
- );
28
-
29
- export default isValidDate;
@@ -1,28 +0,0 @@
1
- import { either, curryN } from 'ramda';
2
-
3
- import isFloat from './isFloat.js';
4
- import isInteger from './isInteger.js';
5
-
6
- /**
7
- * Checks if value is a valid `Number`. A valid `Number` is a number that is not `NaN`, `Infinity`
8
- * or `-Infinity`.
9
- *
10
- * @func isValidNumber
11
- * @memberOf RA
12
- * @since {@link https://char0n.github.io/ramda-adjunct/2.2.0|v2.2.0}
13
- * @category Type
14
- * @sig * -> Boolean
15
- * @param {*} val The value to test
16
- * @return {boolean}
17
- * @see {@link RA.isNotValidNumber|isNotValidNumber}
18
- * @example
19
- *
20
- * RA.isValidNumber(1); //=> true
21
- * RA.isValidNumber(''); //=> false
22
- * RA.isValidNumber(NaN); //=> false
23
- * RA.isValidNumber(Infinity); //=> false
24
- * RA.isValidNumber(-Infinity); //=> false
25
- */
26
- const isValidNumber = curryN(1, either(isInteger, isFloat));
27
-
28
- export default isValidNumber;