rubico 1.8.15 → 1.9.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 (383) hide show
  1. package/CHANGELOG.md +4 -1
  2. package/_internal/areFuncsOrValuesAllValues.js +20 -0
  3. package/_internal/arrayConditional.js +41 -0
  4. package/_internal/funcsOrValuesConditional.js +67 -0
  5. package/dist/__.es.js +1 -1
  6. package/dist/__.es.min.js +1 -1
  7. package/dist/__.js +1 -1
  8. package/dist/__.min.js +1 -1
  9. package/dist/__.min.mjs +1 -1
  10. package/dist/__.mjs +1 -1
  11. package/dist/all.es.js +1 -1
  12. package/dist/all.es.min.js +1 -1
  13. package/dist/all.js +1 -1
  14. package/dist/all.min.js +1 -1
  15. package/dist/all.min.mjs +1 -1
  16. package/dist/all.mjs +1 -1
  17. package/dist/always.es.js +1 -1
  18. package/dist/always.es.min.js +1 -1
  19. package/dist/always.js +1 -1
  20. package/dist/always.min.js +1 -1
  21. package/dist/always.min.mjs +1 -1
  22. package/dist/always.mjs +1 -1
  23. package/dist/and.es.js +1 -1
  24. package/dist/and.es.min.js +1 -1
  25. package/dist/and.js +1 -1
  26. package/dist/and.min.js +1 -1
  27. package/dist/and.min.mjs +1 -1
  28. package/dist/and.mjs +1 -1
  29. package/dist/any.es.js +1 -1
  30. package/dist/any.es.min.js +1 -1
  31. package/dist/any.js +1 -1
  32. package/dist/any.min.js +1 -1
  33. package/dist/any.min.mjs +1 -1
  34. package/dist/any.mjs +1 -1
  35. package/dist/assign.es.js +1 -1
  36. package/dist/assign.es.min.js +1 -1
  37. package/dist/assign.js +1 -1
  38. package/dist/assign.min.js +1 -1
  39. package/dist/assign.min.mjs +1 -1
  40. package/dist/assign.mjs +1 -1
  41. package/dist/curry.es.js +1 -1
  42. package/dist/curry.es.min.js +1 -1
  43. package/dist/curry.js +1 -1
  44. package/dist/curry.min.js +1 -1
  45. package/dist/curry.min.mjs +1 -1
  46. package/dist/curry.mjs +1 -1
  47. package/dist/eq.es.js +1 -1
  48. package/dist/eq.es.min.js +1 -1
  49. package/dist/eq.js +1 -1
  50. package/dist/eq.min.js +1 -1
  51. package/dist/eq.min.mjs +1 -1
  52. package/dist/eq.mjs +1 -1
  53. package/dist/filter.es.js +1 -1
  54. package/dist/filter.es.min.js +1 -1
  55. package/dist/filter.js +1 -1
  56. package/dist/filter.min.js +1 -1
  57. package/dist/filter.min.mjs +1 -1
  58. package/dist/filter.mjs +1 -1
  59. package/dist/flatMap.es.js +1 -1
  60. package/dist/flatMap.es.min.js +1 -1
  61. package/dist/flatMap.js +1 -1
  62. package/dist/flatMap.min.js +1 -1
  63. package/dist/flatMap.min.mjs +1 -1
  64. package/dist/flatMap.mjs +1 -1
  65. package/dist/fork.es.js +1 -1
  66. package/dist/fork.es.min.js +1 -1
  67. package/dist/fork.js +1 -1
  68. package/dist/fork.min.js +1 -1
  69. package/dist/fork.min.mjs +1 -1
  70. package/dist/fork.mjs +1 -1
  71. package/dist/get.es.js +1 -1
  72. package/dist/get.es.min.js +1 -1
  73. package/dist/get.js +1 -1
  74. package/dist/get.min.js +1 -1
  75. package/dist/get.min.mjs +1 -1
  76. package/dist/get.mjs +1 -1
  77. package/dist/gt.es.js +1 -1
  78. package/dist/gt.es.min.js +1 -1
  79. package/dist/gt.js +1 -1
  80. package/dist/gt.min.js +1 -1
  81. package/dist/gt.min.mjs +1 -1
  82. package/dist/gt.mjs +1 -1
  83. package/dist/gte.es.js +1 -1
  84. package/dist/gte.es.min.js +1 -1
  85. package/dist/gte.js +1 -1
  86. package/dist/gte.min.js +1 -1
  87. package/dist/gte.min.mjs +1 -1
  88. package/dist/gte.mjs +1 -1
  89. package/dist/lt.es.js +1 -1
  90. package/dist/lt.es.min.js +1 -1
  91. package/dist/lt.js +1 -1
  92. package/dist/lt.min.js +1 -1
  93. package/dist/lt.min.mjs +1 -1
  94. package/dist/lt.mjs +1 -1
  95. package/dist/lte.es.js +1 -1
  96. package/dist/lte.es.min.js +1 -1
  97. package/dist/lte.js +1 -1
  98. package/dist/lte.min.js +1 -1
  99. package/dist/lte.min.mjs +1 -1
  100. package/dist/lte.mjs +1 -1
  101. package/dist/map.es.js +1 -1
  102. package/dist/map.es.min.js +1 -1
  103. package/dist/map.js +1 -1
  104. package/dist/map.min.js +1 -1
  105. package/dist/map.min.mjs +1 -1
  106. package/dist/map.mjs +1 -1
  107. package/dist/not.es.js +1 -1
  108. package/dist/not.es.min.js +1 -1
  109. package/dist/not.js +1 -1
  110. package/dist/not.min.js +1 -1
  111. package/dist/not.min.mjs +1 -1
  112. package/dist/not.mjs +1 -1
  113. package/dist/omit.es.js +1 -1
  114. package/dist/omit.es.min.js +1 -1
  115. package/dist/omit.js +1 -1
  116. package/dist/omit.min.js +1 -1
  117. package/dist/omit.min.mjs +1 -1
  118. package/dist/omit.mjs +1 -1
  119. package/dist/or.es.js +1 -1
  120. package/dist/or.es.min.js +1 -1
  121. package/dist/or.js +1 -1
  122. package/dist/or.min.js +1 -1
  123. package/dist/or.min.mjs +1 -1
  124. package/dist/or.mjs +1 -1
  125. package/dist/pick.es.js +1 -1
  126. package/dist/pick.es.min.js +1 -1
  127. package/dist/pick.js +1 -1
  128. package/dist/pick.min.js +1 -1
  129. package/dist/pick.min.mjs +1 -1
  130. package/dist/pick.mjs +1 -1
  131. package/dist/pipe.es.js +1 -1
  132. package/dist/pipe.es.min.js +1 -1
  133. package/dist/pipe.js +1 -1
  134. package/dist/pipe.min.js +1 -1
  135. package/dist/pipe.min.mjs +1 -1
  136. package/dist/pipe.mjs +1 -1
  137. package/dist/reduce.es.js +1 -1
  138. package/dist/reduce.es.min.js +1 -1
  139. package/dist/reduce.js +1 -1
  140. package/dist/reduce.min.js +1 -1
  141. package/dist/reduce.min.mjs +1 -1
  142. package/dist/reduce.mjs +1 -1
  143. package/dist/rubico.es.js +76 -16
  144. package/dist/rubico.es.min.js +2 -2
  145. package/dist/rubico.js +76 -16
  146. package/dist/rubico.min.js +2 -2
  147. package/dist/rubico.min.mjs +2 -2
  148. package/dist/rubico.mjs +76 -16
  149. package/dist/set.es.js +1 -1
  150. package/dist/set.es.min.js +1 -1
  151. package/dist/set.js +1 -1
  152. package/dist/set.min.js +1 -1
  153. package/dist/set.min.mjs +1 -1
  154. package/dist/set.mjs +1 -1
  155. package/dist/switchCase.es.js +78 -12
  156. package/dist/switchCase.es.min.js +2 -2
  157. package/dist/switchCase.js +78 -12
  158. package/dist/switchCase.min.js +2 -2
  159. package/dist/switchCase.min.mjs +2 -2
  160. package/dist/switchCase.mjs +78 -12
  161. package/dist/tap.es.js +1 -1
  162. package/dist/tap.es.min.js +1 -1
  163. package/dist/tap.js +1 -1
  164. package/dist/tap.min.js +1 -1
  165. package/dist/tap.min.mjs +1 -1
  166. package/dist/tap.mjs +1 -1
  167. package/dist/thunkify.es.js +1 -1
  168. package/dist/thunkify.es.min.js +1 -1
  169. package/dist/thunkify.js +1 -1
  170. package/dist/thunkify.min.js +1 -1
  171. package/dist/thunkify.min.mjs +1 -1
  172. package/dist/thunkify.mjs +1 -1
  173. package/dist/transform.es.js +1 -1
  174. package/dist/transform.es.min.js +1 -1
  175. package/dist/transform.js +1 -1
  176. package/dist/transform.min.js +1 -1
  177. package/dist/transform.min.mjs +1 -1
  178. package/dist/transform.mjs +1 -1
  179. package/dist/tryCatch.es.js +1 -1
  180. package/dist/tryCatch.es.min.js +1 -1
  181. package/dist/tryCatch.js +1 -1
  182. package/dist/tryCatch.min.js +1 -1
  183. package/dist/tryCatch.min.mjs +1 -1
  184. package/dist/tryCatch.mjs +1 -1
  185. package/dist/x/append.es.js +1 -1
  186. package/dist/x/append.es.min.js +1 -1
  187. package/dist/x/append.js +1 -1
  188. package/dist/x/append.min.js +1 -1
  189. package/dist/x/append.min.mjs +1 -1
  190. package/dist/x/append.mjs +1 -1
  191. package/dist/x/callProp.es.js +1 -1
  192. package/dist/x/callProp.es.min.js +1 -1
  193. package/dist/x/callProp.js +1 -1
  194. package/dist/x/callProp.min.js +1 -1
  195. package/dist/x/callProp.min.mjs +1 -1
  196. package/dist/x/callProp.mjs +1 -1
  197. package/dist/x/defaultsDeep.es.js +1 -1
  198. package/dist/x/defaultsDeep.es.min.js +1 -1
  199. package/dist/x/defaultsDeep.js +1 -1
  200. package/dist/x/defaultsDeep.min.js +1 -1
  201. package/dist/x/defaultsDeep.min.mjs +1 -1
  202. package/dist/x/defaultsDeep.mjs +1 -1
  203. package/dist/x/differenceWith.es.js +1 -1
  204. package/dist/x/differenceWith.es.min.js +1 -1
  205. package/dist/x/differenceWith.js +1 -1
  206. package/dist/x/differenceWith.min.js +1 -1
  207. package/dist/x/differenceWith.min.mjs +1 -1
  208. package/dist/x/differenceWith.mjs +1 -1
  209. package/dist/x/filterOut.es.js +1 -1
  210. package/dist/x/filterOut.es.min.js +1 -1
  211. package/dist/x/filterOut.js +1 -1
  212. package/dist/x/filterOut.min.js +1 -1
  213. package/dist/x/filterOut.min.mjs +1 -1
  214. package/dist/x/filterOut.mjs +1 -1
  215. package/dist/x/find.es.js +1 -1
  216. package/dist/x/find.es.min.js +1 -1
  217. package/dist/x/find.js +1 -1
  218. package/dist/x/find.min.js +1 -1
  219. package/dist/x/find.min.mjs +1 -1
  220. package/dist/x/find.mjs +1 -1
  221. package/dist/x/findIndex.es.js +1 -1
  222. package/dist/x/findIndex.es.min.js +1 -1
  223. package/dist/x/findIndex.js +1 -1
  224. package/dist/x/findIndex.min.js +1 -1
  225. package/dist/x/findIndex.min.mjs +1 -1
  226. package/dist/x/findIndex.mjs +1 -1
  227. package/dist/x/first.es.js +1 -1
  228. package/dist/x/first.es.min.js +1 -1
  229. package/dist/x/first.js +1 -1
  230. package/dist/x/first.min.js +1 -1
  231. package/dist/x/first.min.mjs +1 -1
  232. package/dist/x/first.mjs +1 -1
  233. package/dist/x/flatten.es.js +1 -1
  234. package/dist/x/flatten.es.min.js +1 -1
  235. package/dist/x/flatten.js +1 -1
  236. package/dist/x/flatten.min.js +1 -1
  237. package/dist/x/flatten.min.mjs +1 -1
  238. package/dist/x/flatten.mjs +1 -1
  239. package/dist/x/forEach.es.js +1 -1
  240. package/dist/x/forEach.es.min.js +1 -1
  241. package/dist/x/forEach.js +1 -1
  242. package/dist/x/forEach.min.js +1 -1
  243. package/dist/x/forEach.min.mjs +1 -1
  244. package/dist/x/forEach.mjs +1 -1
  245. package/dist/x/groupBy.es.js +1 -1
  246. package/dist/x/groupBy.es.min.js +1 -1
  247. package/dist/x/groupBy.js +1 -1
  248. package/dist/x/groupBy.min.js +1 -1
  249. package/dist/x/groupBy.min.mjs +1 -1
  250. package/dist/x/groupBy.mjs +1 -1
  251. package/dist/x/has.es.js +1 -1
  252. package/dist/x/has.es.min.js +1 -1
  253. package/dist/x/has.js +1 -1
  254. package/dist/x/has.min.js +1 -1
  255. package/dist/x/has.min.mjs +1 -1
  256. package/dist/x/has.mjs +1 -1
  257. package/dist/x/identity.es.js +1 -1
  258. package/dist/x/identity.es.min.js +1 -1
  259. package/dist/x/identity.js +1 -1
  260. package/dist/x/identity.min.js +1 -1
  261. package/dist/x/identity.min.mjs +1 -1
  262. package/dist/x/identity.mjs +1 -1
  263. package/dist/x/includes.es.js +1 -1
  264. package/dist/x/includes.es.min.js +1 -1
  265. package/dist/x/includes.js +1 -1
  266. package/dist/x/includes.min.js +1 -1
  267. package/dist/x/includes.min.mjs +1 -1
  268. package/dist/x/includes.mjs +1 -1
  269. package/dist/x/isDeepEqual.es.js +1 -1
  270. package/dist/x/isDeepEqual.es.min.js +1 -1
  271. package/dist/x/isDeepEqual.js +1 -1
  272. package/dist/x/isDeepEqual.min.js +1 -1
  273. package/dist/x/isDeepEqual.min.mjs +1 -1
  274. package/dist/x/isDeepEqual.mjs +1 -1
  275. package/dist/x/isEmpty.es.js +1 -1
  276. package/dist/x/isEmpty.es.min.js +1 -1
  277. package/dist/x/isEmpty.js +1 -1
  278. package/dist/x/isEmpty.min.js +1 -1
  279. package/dist/x/isEmpty.min.mjs +1 -1
  280. package/dist/x/isEmpty.mjs +1 -1
  281. package/dist/x/isEqual.es.js +1 -1
  282. package/dist/x/isEqual.es.min.js +1 -1
  283. package/dist/x/isEqual.js +1 -1
  284. package/dist/x/isEqual.min.js +1 -1
  285. package/dist/x/isEqual.min.mjs +1 -1
  286. package/dist/x/isEqual.mjs +1 -1
  287. package/dist/x/isFunction.es.js +1 -1
  288. package/dist/x/isFunction.es.min.js +1 -1
  289. package/dist/x/isFunction.js +1 -1
  290. package/dist/x/isFunction.min.js +1 -1
  291. package/dist/x/isFunction.min.mjs +1 -1
  292. package/dist/x/isFunction.mjs +1 -1
  293. package/dist/x/isObject.es.js +1 -1
  294. package/dist/x/isObject.es.min.js +1 -1
  295. package/dist/x/isObject.js +1 -1
  296. package/dist/x/isObject.min.js +1 -1
  297. package/dist/x/isObject.min.mjs +1 -1
  298. package/dist/x/isObject.mjs +1 -1
  299. package/dist/x/isString.es.js +1 -1
  300. package/dist/x/isString.es.min.js +1 -1
  301. package/dist/x/isString.js +1 -1
  302. package/dist/x/isString.min.js +1 -1
  303. package/dist/x/isString.min.mjs +1 -1
  304. package/dist/x/isString.mjs +1 -1
  305. package/dist/x/keys.es.js +1 -1
  306. package/dist/x/keys.es.min.js +1 -1
  307. package/dist/x/keys.js +1 -1
  308. package/dist/x/keys.min.js +1 -1
  309. package/dist/x/keys.min.mjs +1 -1
  310. package/dist/x/keys.mjs +1 -1
  311. package/dist/x/last.es.js +1 -1
  312. package/dist/x/last.es.min.js +1 -1
  313. package/dist/x/last.js +1 -1
  314. package/dist/x/last.min.js +1 -1
  315. package/dist/x/last.min.mjs +1 -1
  316. package/dist/x/last.mjs +1 -1
  317. package/dist/x/noop.es.js +1 -1
  318. package/dist/x/noop.es.min.js +1 -1
  319. package/dist/x/noop.js +1 -1
  320. package/dist/x/noop.min.js +1 -1
  321. package/dist/x/noop.min.mjs +1 -1
  322. package/dist/x/noop.mjs +1 -1
  323. package/dist/x/pluck.es.js +1 -1
  324. package/dist/x/pluck.es.min.js +1 -1
  325. package/dist/x/pluck.js +1 -1
  326. package/dist/x/pluck.min.js +1 -1
  327. package/dist/x/pluck.min.mjs +1 -1
  328. package/dist/x/pluck.mjs +1 -1
  329. package/dist/x/prepend.es.js +1 -1
  330. package/dist/x/prepend.es.min.js +1 -1
  331. package/dist/x/prepend.js +1 -1
  332. package/dist/x/prepend.min.js +1 -1
  333. package/dist/x/prepend.min.mjs +1 -1
  334. package/dist/x/prepend.mjs +1 -1
  335. package/dist/x/size.es.js +1 -1
  336. package/dist/x/size.es.min.js +1 -1
  337. package/dist/x/size.js +1 -1
  338. package/dist/x/size.min.js +1 -1
  339. package/dist/x/size.min.mjs +1 -1
  340. package/dist/x/size.mjs +1 -1
  341. package/dist/x/trace.es.js +1 -1
  342. package/dist/x/trace.es.min.js +1 -1
  343. package/dist/x/trace.js +1 -1
  344. package/dist/x/trace.min.js +1 -1
  345. package/dist/x/trace.min.mjs +1 -1
  346. package/dist/x/trace.mjs +1 -1
  347. package/dist/x/unionWith.es.js +1 -1
  348. package/dist/x/unionWith.es.min.js +1 -1
  349. package/dist/x/unionWith.js +1 -1
  350. package/dist/x/unionWith.min.js +1 -1
  351. package/dist/x/unionWith.min.mjs +1 -1
  352. package/dist/x/unionWith.mjs +1 -1
  353. package/dist/x/uniq.es.js +1 -1
  354. package/dist/x/uniq.es.min.js +1 -1
  355. package/dist/x/uniq.js +1 -1
  356. package/dist/x/uniq.min.js +1 -1
  357. package/dist/x/uniq.min.mjs +1 -1
  358. package/dist/x/uniq.mjs +1 -1
  359. package/dist/x/unless.es.js +1 -1
  360. package/dist/x/unless.es.min.js +1 -1
  361. package/dist/x/unless.js +1 -1
  362. package/dist/x/unless.min.js +1 -1
  363. package/dist/x/unless.min.mjs +1 -1
  364. package/dist/x/unless.mjs +1 -1
  365. package/dist/x/values.es.js +1 -1
  366. package/dist/x/values.es.min.js +1 -1
  367. package/dist/x/values.js +1 -1
  368. package/dist/x/values.min.js +1 -1
  369. package/dist/x/values.min.mjs +1 -1
  370. package/dist/x/values.mjs +1 -1
  371. package/dist/x/when.es.js +1 -1
  372. package/dist/x/when.es.min.js +1 -1
  373. package/dist/x/when.js +1 -1
  374. package/dist/x/when.min.js +1 -1
  375. package/dist/x/when.min.mjs +1 -1
  376. package/dist/x/when.mjs +1 -1
  377. package/dist-test.js +22 -1
  378. package/es.js +76 -16
  379. package/index.js +76 -16
  380. package/package.json +1 -1
  381. package/switchCase.js +12 -3
  382. package/test.js +47 -35
  383. package/_internal/funcConditional.js +0 -47
package/CHANGELOG.md CHANGED
@@ -1,4 +1,7 @@
1
- ## v1.8.15 - latest
1
+ ## v1.9.0 - latest
2
+ * switchCase handles non-function values - [#220](https://github.com/a-synchronous/rubico/pull/220)
3
+
4
+ ## v1.8.15
2
5
  * eager pipe - [#219](https://github.com/a-synchronous/rubico/pull/219)
3
6
 
4
7
  ## v1.8.12
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @name areFuncsOrValuesAllValues
3
+ *
4
+ * @synopsis
5
+ * ```coffeescript [specscript]
6
+ * areFuncsOrValuesAllValues(funcsOrValues Array<function|value>) -> boolean
7
+ * ```
8
+ */
9
+ const areFuncsOrValuesAllValues = function (funcsOrValues) {
10
+ const length = funcsOrValues.length
11
+ let index = -1
12
+ while (++index < length) {
13
+ if (typeof funcsOrValues[index] == 'function') {
14
+ return false
15
+ }
16
+ }
17
+ return true
18
+ }
19
+
20
+ module.exports = areFuncsOrValuesAllValues
@@ -0,0 +1,41 @@
1
+ const isPromise = require('./isPromise')
2
+ const curry3 = require('./curry3')
3
+ const always = require('./always')
4
+ const thunkify2 = require('./thunkify2')
5
+ const thunkConditional = require('./thunkConditional')
6
+ const __ = require('./placeholder')
7
+
8
+ /**
9
+ * @name arrayConditional
10
+ *
11
+ * @synopsis
12
+ * ```coffeescript [specscript]
13
+ * arrayConditional(array Array<value>, index number) -> boolean
14
+ * ```
15
+ */
16
+ const arrayConditional = function (array, index) {
17
+ const length = array.length,
18
+ lastIndex = length - 1
19
+ while ((index += 2) < lastIndex) {
20
+ const predication = array[index],
21
+ value = array[index + 1]
22
+ if (isPromise(predication)) {
23
+ return predication.then(curry3(
24
+ thunkConditional,
25
+ __,
26
+ always(value),
27
+ thunkify2(arrayConditional, array, index),
28
+ ))
29
+ }
30
+ if (predication) {
31
+ return value
32
+ }
33
+ }
34
+ // even number of array values
35
+ if (index == length) {
36
+ return undefined
37
+ }
38
+ return array[index]
39
+ }
40
+
41
+ module.exports = arrayConditional
@@ -0,0 +1,67 @@
1
+ const isPromise = require('./isPromise')
2
+ const thunkConditional = require('./thunkConditional')
3
+ const thunkifyArgs = require('./thunkifyArgs')
4
+ const thunkify3 = require('./thunkify3')
5
+ const __ = require('./placeholder')
6
+ const curry3 = require('./curry3')
7
+ const always = require('./always')
8
+
9
+ /**
10
+ * @name funcsOrValuesConditional
11
+ *
12
+ * @synopsis
13
+ * ```coffeescript [specscript]
14
+ * funcsOrValuesConditional(
15
+ * funcsOrValues Array<function|value>,
16
+ * args Array,
17
+ * funcsIndex number,
18
+ * ) -> Promise|any
19
+ * ```
20
+ *
21
+ * @description
22
+ * Conditional operator `a ? b : c ? d : e ? ...` for functions.
23
+ *
24
+ * @TODO isPromise conditional await
25
+ * @TODO benchmark vs regular promise handling
26
+ */
27
+ const funcsOrValuesConditional = function (funcsOrValues, args, funcsIndex) {
28
+ const lastIndex = funcsOrValues.length - 1
29
+
30
+ while ((funcsIndex += 2) < lastIndex) {
31
+ const predicate = funcsOrValues[funcsIndex],
32
+ resolverOrValue = funcsOrValues[funcsIndex + 1]
33
+
34
+ const predication = typeof predicate == 'function'
35
+ ? predicate(...args)
36
+ : predicate
37
+
38
+ if (isPromise(predication)) {
39
+ return predication.then(curry3(
40
+ thunkConditional,
41
+ __,
42
+ typeof resolverOrValue == 'function'
43
+ ? thunkifyArgs(resolverOrValue, args)
44
+ : always(resolverOrValue),
45
+ thunkify3(funcsOrValuesConditional, funcsOrValues, args, funcsIndex),
46
+ ))
47
+ }
48
+
49
+ if (predication) {
50
+ return typeof resolverOrValue == 'function'
51
+ ? resolverOrValue(...args)
52
+ : resolverOrValue
53
+ }
54
+ }
55
+
56
+ // even number of funcsOrValues
57
+ if (funcsIndex == funcsOrValues.length) {
58
+ return undefined
59
+ }
60
+
61
+ const defaultResolverOrValue = funcsOrValues[lastIndex]
62
+ return typeof defaultResolverOrValue == 'function'
63
+ ? defaultResolverOrValue(...args)
64
+ : defaultResolverOrValue
65
+ }
66
+
67
+ module.exports = funcsOrValuesConditional
package/dist/__.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/__.es.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/__.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/__.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/__.min.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/__.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/all.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/all.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/all.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/all.min.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/all.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/always.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/always.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/always.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/and.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/and.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/and.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/and.min.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/and.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/any.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/any.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/any.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/any.min.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/any.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/assign.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/assign.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/assign.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/curry.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/curry.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/curry.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/curry.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/eq.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/eq.es.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/eq.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/eq.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/eq.min.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/eq.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/filter.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/filter.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/filter.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/flatMap.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/flatMap.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.
package/dist/fork.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * rubico v1.8.12
2
+ * rubico v1.9.0
3
3
  * https://github.com/a-synchronous/rubico
4
4
  * (c) 2019-2021 Richard Tong
5
5
  * rubico may be freely distributed under the MIT license.