rubico 2.8.6 → 2.10.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 (378) hide show
  1. package/README.md +1 -1
  2. package/_internal/FlatMappingAsyncIterator.js +41 -30
  3. package/_internal/LinkedList.js +54 -0
  4. package/_internal/LinkedList.test.js +34 -0
  5. package/_internal/MappingAsyncIterator.js +65 -15
  6. package/_internal/SerialMappingAsyncIterator.js +79 -0
  7. package/_internal/iteratorFind.js +0 -2
  8. package/_internal/iteratorForEachSeries.js +1 -1
  9. package/_internal/objectFlatten.js +4 -1
  10. package/all.js +7 -8
  11. package/and.js +1 -1
  12. package/assign.js +1 -1
  13. package/compose.js +1 -1
  14. package/curry.js +1 -1
  15. package/dist/Transducer.es.js +1 -1
  16. package/dist/Transducer.es.min.js +1 -1
  17. package/dist/Transducer.js +1 -1
  18. package/dist/Transducer.min.js +1 -1
  19. package/dist/Transducer.mjs +1 -1
  20. package/dist/__.es.js +1 -1
  21. package/dist/__.es.min.js +1 -1
  22. package/dist/__.js +1 -1
  23. package/dist/__.min.js +1 -1
  24. package/dist/__.mjs +1 -1
  25. package/dist/all.es.js +1 -1
  26. package/dist/all.es.min.js +1 -1
  27. package/dist/all.js +1 -1
  28. package/dist/all.min.js +1 -1
  29. package/dist/all.mjs +1 -1
  30. package/dist/always.es.js +1 -1
  31. package/dist/always.es.min.js +1 -1
  32. package/dist/always.js +1 -1
  33. package/dist/always.min.js +1 -1
  34. package/dist/always.mjs +1 -1
  35. package/dist/and.es.js +1 -1
  36. package/dist/and.es.min.js +1 -1
  37. package/dist/and.js +1 -1
  38. package/dist/and.min.js +1 -1
  39. package/dist/and.mjs +1 -1
  40. package/dist/assign.es.js +1 -1
  41. package/dist/assign.es.min.js +1 -1
  42. package/dist/assign.js +1 -1
  43. package/dist/assign.min.js +1 -1
  44. package/dist/assign.mjs +1 -1
  45. package/dist/compose.es.js +1 -1
  46. package/dist/compose.es.min.js +1 -1
  47. package/dist/compose.js +1 -1
  48. package/dist/compose.min.js +1 -1
  49. package/dist/compose.mjs +1 -1
  50. package/dist/curry.es.js +1 -1
  51. package/dist/curry.es.min.js +1 -1
  52. package/dist/curry.js +1 -1
  53. package/dist/curry.min.js +1 -1
  54. package/dist/curry.mjs +1 -1
  55. package/dist/eq.es.js +1 -1
  56. package/dist/eq.es.min.js +1 -1
  57. package/dist/eq.js +1 -1
  58. package/dist/eq.min.js +1 -1
  59. package/dist/eq.mjs +1 -1
  60. package/dist/every.es.js +1 -1
  61. package/dist/every.es.min.js +1 -1
  62. package/dist/every.js +1 -1
  63. package/dist/every.min.js +1 -1
  64. package/dist/every.mjs +1 -1
  65. package/dist/filter.es.js +4 -4
  66. package/dist/filter.es.min.js +2 -2
  67. package/dist/filter.js +4 -4
  68. package/dist/filter.min.js +2 -2
  69. package/dist/filter.mjs +4 -4
  70. package/dist/flatMap.es.js +44 -28
  71. package/dist/flatMap.es.min.js +2 -2
  72. package/dist/flatMap.js +44 -28
  73. package/dist/flatMap.min.js +2 -2
  74. package/dist/flatMap.mjs +44 -28
  75. package/dist/forEach.es.js +6 -6
  76. package/dist/forEach.es.min.js +2 -2
  77. package/dist/forEach.js +6 -6
  78. package/dist/forEach.min.js +2 -2
  79. package/dist/forEach.mjs +6 -6
  80. package/dist/get.es.js +1 -1
  81. package/dist/get.es.min.js +1 -1
  82. package/dist/get.js +1 -1
  83. package/dist/get.min.js +1 -1
  84. package/dist/get.mjs +1 -1
  85. package/dist/gt.es.js +1 -1
  86. package/dist/gt.es.min.js +1 -1
  87. package/dist/gt.js +1 -1
  88. package/dist/gt.min.js +1 -1
  89. package/dist/gt.mjs +1 -1
  90. package/dist/gte.es.js +1 -1
  91. package/dist/gte.es.min.js +1 -1
  92. package/dist/gte.js +1 -1
  93. package/dist/gte.min.js +1 -1
  94. package/dist/gte.mjs +1 -1
  95. package/dist/lt.es.js +1 -1
  96. package/dist/lt.es.min.js +1 -1
  97. package/dist/lt.js +1 -1
  98. package/dist/lt.min.js +1 -1
  99. package/dist/lt.mjs +1 -1
  100. package/dist/lte.es.js +1 -1
  101. package/dist/lte.es.min.js +1 -1
  102. package/dist/lte.js +1 -1
  103. package/dist/lte.min.js +1 -1
  104. package/dist/lte.mjs +1 -1
  105. package/dist/map.es.js +187 -39
  106. package/dist/map.es.min.js +2 -2
  107. package/dist/map.js +187 -39
  108. package/dist/map.min.js +2 -2
  109. package/dist/map.mjs +187 -39
  110. package/dist/not.es.js +1 -1
  111. package/dist/not.es.min.js +1 -1
  112. package/dist/not.js +1 -1
  113. package/dist/not.min.js +1 -1
  114. package/dist/not.mjs +1 -1
  115. package/dist/omit.es.js +1 -1
  116. package/dist/omit.es.min.js +1 -1
  117. package/dist/omit.js +1 -1
  118. package/dist/omit.min.js +1 -1
  119. package/dist/omit.mjs +1 -1
  120. package/dist/or.es.js +1 -1
  121. package/dist/or.es.min.js +1 -1
  122. package/dist/or.js +1 -1
  123. package/dist/or.min.js +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.mjs +1 -1
  130. package/dist/pipe.es.js +1 -1
  131. package/dist/pipe.es.min.js +1 -1
  132. package/dist/pipe.js +1 -1
  133. package/dist/pipe.min.js +1 -1
  134. package/dist/pipe.mjs +1 -1
  135. package/dist/reduce.es.js +1 -1
  136. package/dist/reduce.es.min.js +1 -1
  137. package/dist/reduce.js +1 -1
  138. package/dist/reduce.min.js +1 -1
  139. package/dist/reduce.mjs +1 -1
  140. package/dist/rubico.es.js +233 -78
  141. package/dist/rubico.es.min.js +2 -2
  142. package/dist/rubico.global.js +233 -78
  143. package/dist/rubico.global.min.js +2 -2
  144. package/dist/rubico.js +233 -78
  145. package/dist/rubico.min.js +2 -2
  146. package/dist/rubico.mjs +233 -78
  147. package/dist/set.es.js +1 -1
  148. package/dist/set.es.min.js +1 -1
  149. package/dist/set.js +1 -1
  150. package/dist/set.min.js +1 -1
  151. package/dist/set.mjs +1 -1
  152. package/dist/some.es.js +1 -1
  153. package/dist/some.es.min.js +1 -1
  154. package/dist/some.js +1 -1
  155. package/dist/some.min.js +1 -1
  156. package/dist/some.mjs +1 -1
  157. package/dist/switchCase.es.js +1 -1
  158. package/dist/switchCase.es.min.js +1 -1
  159. package/dist/switchCase.js +1 -1
  160. package/dist/switchCase.min.js +1 -1
  161. package/dist/switchCase.mjs +1 -1
  162. package/dist/tap.es.js +1 -1
  163. package/dist/tap.es.min.js +1 -1
  164. package/dist/tap.js +1 -1
  165. package/dist/tap.min.js +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.mjs +1 -1
  172. package/dist/transform.es.js +1 -1
  173. package/dist/transform.es.min.js +1 -1
  174. package/dist/transform.js +1 -1
  175. package/dist/transform.min.js +1 -1
  176. package/dist/transform.mjs +1 -1
  177. package/dist/tryCatch.es.js +1 -1
  178. package/dist/tryCatch.es.min.js +1 -1
  179. package/dist/tryCatch.js +1 -1
  180. package/dist/tryCatch.min.js +1 -1
  181. package/dist/tryCatch.mjs +1 -1
  182. package/dist/x/append.es.js +1 -1
  183. package/dist/x/append.es.min.js +1 -1
  184. package/dist/x/append.js +1 -1
  185. package/dist/x/append.min.js +1 -1
  186. package/dist/x/append.mjs +1 -1
  187. package/dist/x/callProp.es.js +1 -1
  188. package/dist/x/callProp.es.min.js +1 -1
  189. package/dist/x/callProp.js +1 -1
  190. package/dist/x/callProp.min.js +1 -1
  191. package/dist/x/callProp.mjs +1 -1
  192. package/dist/x/defaultsDeep.es.js +1 -1
  193. package/dist/x/defaultsDeep.es.min.js +1 -1
  194. package/dist/x/defaultsDeep.js +1 -1
  195. package/dist/x/defaultsDeep.min.js +1 -1
  196. package/dist/x/defaultsDeep.mjs +1 -1
  197. package/dist/x/differenceWith.es.js +1 -1
  198. package/dist/x/differenceWith.es.min.js +1 -1
  199. package/dist/x/differenceWith.js +1 -1
  200. package/dist/x/differenceWith.min.js +1 -1
  201. package/dist/x/differenceWith.mjs +1 -1
  202. package/dist/x/filterOut.es.js +4 -4
  203. package/dist/x/filterOut.es.min.js +2 -2
  204. package/dist/x/filterOut.js +4 -4
  205. package/dist/x/filterOut.min.js +2 -2
  206. package/dist/x/filterOut.mjs +4 -4
  207. package/dist/x/find.es.js +1 -3
  208. package/dist/x/find.es.min.js +1 -1
  209. package/dist/x/find.js +1 -3
  210. package/dist/x/find.min.js +1 -1
  211. package/dist/x/find.mjs +1 -3
  212. package/dist/x/findIndex.es.js +1 -1
  213. package/dist/x/findIndex.es.min.js +1 -1
  214. package/dist/x/findIndex.js +1 -1
  215. package/dist/x/findIndex.min.js +1 -1
  216. package/dist/x/findIndex.mjs +1 -1
  217. package/dist/x/first.es.js +1 -1
  218. package/dist/x/first.es.min.js +1 -1
  219. package/dist/x/first.js +1 -1
  220. package/dist/x/first.min.js +1 -1
  221. package/dist/x/first.mjs +1 -1
  222. package/dist/x/flatten.es.js +44 -28
  223. package/dist/x/flatten.es.min.js +2 -2
  224. package/dist/x/flatten.js +44 -28
  225. package/dist/x/flatten.min.js +2 -2
  226. package/dist/x/flatten.mjs +44 -28
  227. package/dist/x/groupBy.es.js +1 -1
  228. package/dist/x/groupBy.es.min.js +1 -1
  229. package/dist/x/groupBy.js +1 -1
  230. package/dist/x/groupBy.min.js +1 -1
  231. package/dist/x/groupBy.mjs +1 -1
  232. package/dist/x/has.es.js +1 -1
  233. package/dist/x/has.es.min.js +1 -1
  234. package/dist/x/has.js +1 -1
  235. package/dist/x/has.min.js +1 -1
  236. package/dist/x/has.mjs +1 -1
  237. package/dist/x/identity.es.js +1 -1
  238. package/dist/x/identity.es.min.js +1 -1
  239. package/dist/x/identity.js +1 -1
  240. package/dist/x/identity.min.js +1 -1
  241. package/dist/x/identity.mjs +1 -1
  242. package/dist/x/includes.es.js +1 -1
  243. package/dist/x/includes.es.min.js +1 -1
  244. package/dist/x/includes.js +1 -1
  245. package/dist/x/includes.min.js +1 -1
  246. package/dist/x/includes.mjs +1 -1
  247. package/dist/x/isDeepEqual.es.js +1 -1
  248. package/dist/x/isDeepEqual.es.min.js +1 -1
  249. package/dist/x/isDeepEqual.js +1 -1
  250. package/dist/x/isDeepEqual.min.js +1 -1
  251. package/dist/x/isDeepEqual.mjs +1 -1
  252. package/dist/x/isEmpty.es.js +1 -1
  253. package/dist/x/isEmpty.es.min.js +1 -1
  254. package/dist/x/isEmpty.js +1 -1
  255. package/dist/x/isEmpty.min.js +1 -1
  256. package/dist/x/isEmpty.mjs +1 -1
  257. package/dist/x/isEqual.es.js +1 -1
  258. package/dist/x/isEqual.es.min.js +1 -1
  259. package/dist/x/isEqual.js +1 -1
  260. package/dist/x/isEqual.min.js +1 -1
  261. package/dist/x/isEqual.mjs +1 -1
  262. package/dist/x/isFunction.es.js +1 -1
  263. package/dist/x/isFunction.es.min.js +1 -1
  264. package/dist/x/isFunction.js +1 -1
  265. package/dist/x/isFunction.min.js +1 -1
  266. package/dist/x/isFunction.mjs +1 -1
  267. package/dist/x/isIn.es.js +1 -1
  268. package/dist/x/isIn.es.min.js +1 -1
  269. package/dist/x/isIn.js +1 -1
  270. package/dist/x/isIn.min.js +1 -1
  271. package/dist/x/isIn.mjs +1 -1
  272. package/dist/x/isObject.es.js +1 -1
  273. package/dist/x/isObject.es.min.js +1 -1
  274. package/dist/x/isObject.js +1 -1
  275. package/dist/x/isObject.min.js +1 -1
  276. package/dist/x/isObject.mjs +1 -1
  277. package/dist/x/isString.es.js +1 -1
  278. package/dist/x/isString.es.min.js +1 -1
  279. package/dist/x/isString.js +1 -1
  280. package/dist/x/isString.min.js +1 -1
  281. package/dist/x/isString.mjs +1 -1
  282. package/dist/x/keys.es.js +1 -1
  283. package/dist/x/keys.es.min.js +1 -1
  284. package/dist/x/keys.js +1 -1
  285. package/dist/x/keys.min.js +1 -1
  286. package/dist/x/keys.mjs +1 -1
  287. package/dist/x/last.es.js +1 -1
  288. package/dist/x/last.es.min.js +1 -1
  289. package/dist/x/last.js +1 -1
  290. package/dist/x/last.min.js +1 -1
  291. package/dist/x/last.mjs +1 -1
  292. package/dist/x/maxBy.es.js +1 -1
  293. package/dist/x/maxBy.es.min.js +1 -1
  294. package/dist/x/maxBy.js +1 -1
  295. package/dist/x/maxBy.min.js +1 -1
  296. package/dist/x/maxBy.mjs +1 -1
  297. package/dist/x/noop.es.js +1 -1
  298. package/dist/x/noop.es.min.js +1 -1
  299. package/dist/x/noop.js +1 -1
  300. package/dist/x/noop.min.js +1 -1
  301. package/dist/x/noop.mjs +1 -1
  302. package/dist/x/pluck.es.js +187 -39
  303. package/dist/x/pluck.es.min.js +2 -2
  304. package/dist/x/pluck.js +187 -39
  305. package/dist/x/pluck.min.js +2 -2
  306. package/dist/x/pluck.mjs +187 -39
  307. package/dist/x/prepend.es.js +1 -1
  308. package/dist/x/prepend.es.min.js +1 -1
  309. package/dist/x/prepend.js +1 -1
  310. package/dist/x/prepend.min.js +1 -1
  311. package/dist/x/prepend.mjs +1 -1
  312. package/dist/x/size.es.js +1 -1
  313. package/dist/x/size.es.min.js +1 -1
  314. package/dist/x/size.js +1 -1
  315. package/dist/x/size.min.js +1 -1
  316. package/dist/x/size.mjs +1 -1
  317. package/dist/x/trace.es.js +1 -1
  318. package/dist/x/trace.es.min.js +1 -1
  319. package/dist/x/trace.js +1 -1
  320. package/dist/x/trace.min.js +1 -1
  321. package/dist/x/trace.mjs +1 -1
  322. package/dist/x/unionWith.es.js +1 -1
  323. package/dist/x/unionWith.es.min.js +1 -1
  324. package/dist/x/unionWith.js +1 -1
  325. package/dist/x/unionWith.min.js +1 -1
  326. package/dist/x/unionWith.mjs +1 -1
  327. package/dist/x/uniq.es.js +1 -1
  328. package/dist/x/uniq.es.min.js +1 -1
  329. package/dist/x/uniq.js +1 -1
  330. package/dist/x/uniq.min.js +1 -1
  331. package/dist/x/uniq.mjs +1 -1
  332. package/dist/x/unless.es.js +1 -1
  333. package/dist/x/unless.es.min.js +1 -1
  334. package/dist/x/unless.js +1 -1
  335. package/dist/x/unless.min.js +1 -1
  336. package/dist/x/unless.mjs +1 -1
  337. package/dist/x/values.es.js +1 -1
  338. package/dist/x/values.es.min.js +1 -1
  339. package/dist/x/values.js +1 -1
  340. package/dist/x/values.min.js +1 -1
  341. package/dist/x/values.mjs +1 -1
  342. package/dist/x/when.es.js +1 -1
  343. package/dist/x/when.es.min.js +1 -1
  344. package/dist/x/when.js +1 -1
  345. package/dist/x/when.min.js +1 -1
  346. package/dist/x/when.mjs +1 -1
  347. package/eq.js +2 -2
  348. package/es.js +233 -78
  349. package/every.js +2 -2
  350. package/filter.js +4 -4
  351. package/flatMap.js +61 -54
  352. package/forEach.js +33 -56
  353. package/get.js +5 -3
  354. package/gt.js +2 -2
  355. package/gte.js +2 -2
  356. package/index.js +233 -78
  357. package/lt.js +2 -2
  358. package/lte.js +2 -2
  359. package/map.js +115 -151
  360. package/monad/README.md +1 -1
  361. package/not.js +1 -1
  362. package/omit.js +22 -19
  363. package/or.js +1 -1
  364. package/package.json +1 -1
  365. package/pick.js +14 -11
  366. package/pipe.js +1 -1
  367. package/reduce.js +1 -1
  368. package/set.js +17 -18
  369. package/some.js +2 -2
  370. package/switchCase.js +12 -4
  371. package/tap.js +6 -4
  372. package/transform.js +1 -1
  373. package/tryCatch.js +1 -1
  374. package/x/defaultsDeep.js +1 -1
  375. package/x/defaultsDeep.test.js +1 -1
  376. package/_internal/NextIteration.js +0 -12
  377. package/_internal/generatorFunctionFilter.js +0 -28
  378. package/_internal/iterationMap.js +0 -27
package/dist/map.min.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
6
6
  * Rubico may be freely distributed under the CFOSS license.
7
7
  */
8
8
 
9
- !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.map=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Symbol.iterator,e=(n,e)=>({toString:()=>"[object MappingIterator]",[t](){return this},next(){const t=n.next();return t.done?t:{value:e(t.value),done:!1}}}),r=n=>({value:n,done:!1}),o=Symbol.asyncIterator,u=(t,e)=>({[o](){return this},async next(){const o=await t.next();if(o.done)return o;const u=e(o.value);return n(u)?u.then(r):{value:u,done:!1}}}),c=Symbol.for("placeholder"),i=function(n,t,e){return t==c?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},s=function(n,t,e,r){return t==c?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==c?((n,t,e)=>function(r){return n(t,r,e)})(n,t,r):((n,t,e)=>function(r){return n(t,e,r)})(n,t,e)},f=Array.isArray,l=Promise.all.bind(Promise),a=function(t,e){const r=t.length,o=Array(r);let u=-1,c=!1;for(;++u<r;){const r=e(t[u],u,t);n(r)&&(c=!0),o[u]=r}return c?l(o):o},h=(n,t,e)=>n[t](e),d=n=>function(){return n},p=function(n,t,e,r,o){return t==c?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,o):e==c?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,o):r==c?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,e,o):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,e,r)},y=(n,t,e,r)=>n[t](e,r),w=t=>new Promise((t=>function(e){const r={};let o=0;for(const u in t){const c=t[u];n(c)?(o+=1,c.then((n=>function(t){r[n]=t,o-=1,0==o&&e(r)})(u))):r[u]=c}0==o&&e(r)})(t)),g=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},v=function(n,t,e){return n[t]=e,n},x=async function(t,e,r,o){const u=t.length;for(;++o<u;){const u=e(t[o],o);r[o]=n(u)?await u:u}return r},S=function(t,e){const r=t.length,o=Array(r);let u=-1;for(;++u<r;){const r=e(t[u],u);if(n(r))return r.then(g(s(v,o,u,c),p(x,t,e,c,u)));o[u]=r}return o},b=(n,t,e,r,o)=>function(){return n(t,e,r,o)},j=async function(t,e,r,o){for(const u in t){if(u in o)continue;let c=e(t[u]);n(c)&&(c=await c),r[u]=c}return r},m=(n,t,e,r)=>function(){return n(t,e,r)},M=function(n,t){return n.add(t),n},T=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value);n(u)&&(u=await u),r.add(u),o=t.next()}return r},z=function(n,t,e){return n.set(t,e)},E=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value[1]);n(u)&&(u=await u),r.set(o.value[0],u),o=t.next()}return r},O=n=>function(...t){return n(...t),t[0]},A=Promise.race.bind(Promise),P=async function(t,e,r,o,u,c){const i=t.length;for(;++u<i;){c.size>=r&&await A(c);const i=e(t[u]);if(n(i)){const n=i.then(O((()=>c.delete(n))));c.add(n),o[u]=n}else o[u]=i}return l(o)},$=function(t,e,r){const o=t.length,u=Array(o);let c=-1;for(;++c<o;){const o=r(t[c]);if(n(o)){const n=new Set,i=o.then(O((()=>n.delete(i))));return n.add(i),u[c]=i,P(t,r,e,u,c,n)}u[c]=o}return u},I=async function(t,e,r,o,u,c){let i=e.next();for(;!i.done;){c.size>=r&&await A(c);const s=o(i.value,i.value,t);if(n(s)){const n=s.then((t=>{c.delete(n),u.add(t)}));c.add(n)}else u.add(s);i=e.next()}return c.size>0&&await l(c),u},k=async function(t,e,r,o,u,c){let i=e.next();for(;!i.done;){c.size>=r&&await A(c);const s=i.value[0],f=o(i.value[1],s,t);if(n(f)){u.set(s,f);const n=f.then((t=>{c.delete(n),u.set(s,t)}));c.add(n)}else u.set(s,f);i=e.next()}return c.size>0&&await l(c),u},q=async function(t,e,r,o,u,c){for(const i in t){if(i in u)continue;c.size>=e&&await A(c);const s=r(t[i],i,t);if(n(s)){o[i]=s;const n=s.then((t=>{c.delete(n),o[i]=t}));c.add(n)}else o[i]=s}return c.size>0&&await l(c),o},B=function(t){if(f(t)){const e=t.length;let r=-1;for(;++r<e;){const e=t[r];if(n(e))return!0}return!1}for(const e in t){const r=t[e];if(n(r))return!0}return!1},C=(n,t,e)=>n.apply(t,e),D=(n,t,e,r)=>function(...o){const u=r.length,i=o.length,f=[];let a=-1,h=-1,d=0;for(;(a+=1)<u;){const u=r[a];if(u==c&&(h+=1)<i){const n=o[h];n==c&&(d+=1),f.push(n)}else f.push(u);if(f.length==n)return B(f)?0==d?l(f).then(s(C,t,e,c)):l(f).then(p(F,n,t,e,c)):0==d?t.apply(e,f):F(n,t,e,f)}for(;(h+=1)<i;){const r=o[h];if(r==c&&(d+=1),f.push(r),f.length==n)return B(f)?0==d?l(f).then(s(C,t,e,c)):l(f).then(p(F,n,t,e,c)):0==d?t.apply(e,f):F(n,t,e,f)}return B(f)?l(f).then(p(F,n,t,e,c)):F(n,t,e,f)},F=function(n,t,e,r){const o=r.length;if(o<n)return D(n,t,e,r);let u=-1;for(;(u+=1)<o;){if(r[u]==c)return D(n,t,e,r)}return t.apply(e,r)},G=n=>function([t,e]){return n(t,e)},H=(t,e,r)=>function(o,u){const c=t([u,o]);n(c)?r.push(c.then(G(F(3,z,this,[e])))):e.set(c[0],c[1])},J=function(r,i){return f(r)?a(r,i):null==r?r:"function"==typeof r.then?r.then(i):"function"==typeof r.map?r.map(i):"string"==typeof r||r.constructor==String?function(t,e){const r=a(t,e);return n(r)?r.then(s(h,c,"join","")):r.join("")}(r,i):r.constructor==Set?function(t,e){const r=new Set,o=[];for(const u of t){const i=e(u,u,t);n(i)?o.push(i.then(s(h,r,"add",c))):r.add(i)}return 0==o.length?r:l(o).then(d(r))}(r,i):r.constructor==Map?function(t,e){const r=new Map,o=[];for(const[u,i]of t){const s=e(i,u,t);n(s)?o.push(s.then(p(y,r,"set",u,c))):r.set(u,s)}return 0==o.length?r:l(o).then(d(r))}(r,i):"function"==typeof r[t]?e(r[t](),i):"function"==typeof r[o]?u(r[o](),i):r.constructor==Object?function(t,e){const r={};let o=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(o=!0),r[u]=c}return o?w(r):r}(r,i):i(r)},K=function(t,e){return null==e?i(J,c,t):n(t)?t.then(i(J,c,e)):J(t,e)},L=(t,e)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,e){const r={},o=[];for(const u in t){const c=e([u,t[u]]);n(c)?o.push(c.then(G(F(3,v,this,[r])))):r[c[0]]=c[1]}return 0==o.length?r:l(o).then(d(r))}(t,e);if(t.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(H(t,e,r)),0==r.length?e:l(r).then(d(e))}(t,e);throw new TypeError("value is not an Object or Map")};K.entries=function(t,e){return null==e?i(L,c,t):n(t)?t.then(i(L,c,e)):L(t,e)};const N=function(e,r){if(f(e))return S(e,r);if(null==e)throw new TypeError(`invalid collection ${e}`);if("string"==typeof e||e.constructor==String)return function(t,e){const r=S(t,e);return n(r)?r.then(s(h,c,"join","")):r.join("")}(e,r);if(e.constructor==Set)return function(e,r){const o=new Set,u=e[t]();let s=u.next();for(;!s.done;){const t=r(s.value);if(n(t))return t.then(g(i(M,o,c),m(T,u,r,o)));o.add(t),s=u.next()}return o}(e,r);if(e.constructor==Map)return function(e,r){const o=new Map,u=e[t]();let i=u.next();for(;!i.done;){const t=i.value[0],e=r(i.value[1]);if(n(e))return e.then(g(s(z,o,t,c),m(E,u,r,o)));o.set(t,e),i=u.next()}return o}(e,r);if(e.constructor==Object)return function(t,e){const r={},o={};for(const u in t){o[u]=!0;const i=e(t[u],u,t);if(n(i))return i.then(g(s(v,r,u,c),b(j,t,e,r,o)));r[u]=i}return r}(e,r);throw new TypeError(`invalid collection ${e}`)};K.series=function(t,e){return null==e?i(N,c,t):n(t)?t.then(i(N,c,e)):N(t,e)};const Q=function(e,r,o){if(f(e))return $(e,r,o);if(null==e)throw new TypeError(`invalid functor ${e}`);if("string"==typeof e||e.constructor==String)return function(t,e,r){const o=$(t,e,r);return n(o)?o.then(s(h,c,"join","")):o.join("")}(e,r,o);if(e.constructor==Set)return function(e,r,o){const u=new Set,c=e[t]();let i=c.next();for(;!i.done;){const t=o(i.value,i.value,e);if(n(t)){const n=new Set,i=t.then((t=>{n.delete(i),u.add(t)}));return n.add(i),I(e,c,r,o,u,n)}u.add(t),i=c.next()}return u}(e,r,o);if(e.constructor==Map)return function(e,r,o){const u=new Map,c=e[t]();let i=c.next();for(;!i.done;){const t=i.value[0],s=o(i.value[1],t,e);if(n(s)){const n=new Set;u.set(t,s);const i=s.then((e=>{n.delete(i),u.set(t,e)}));return n.add(i),k(e,c,r,o,u,n)}u.set(t,s),i=c.next()}return u}(e,r,o);if(e.constructor==Object)return function(t,e,r){const o={},u={};for(const c in t){u[c]=!0;const i=r(t[c],c,t);if(n(i)){const n=new Set;o[c]=i;const s=i.then((t=>{n.delete(s),o[c]=t}));return n.add(s),q(t,e,r,o,u,n)}o[c]=i}return o}(e,r,o);throw new TypeError(`invalid functor ${e}`)};return K.pool=function(t,e,r){return null==r?s(Q,c,t,e):n(t)?t.then(s(Q,c,e,r)):Q(t,e,r)},K}());
9
+ !function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.map=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Symbol.iterator,e=(n,e)=>({toString:()=>"[object MappingIterator]",[t](){return this},next(){const t=n.next();return t.done?t:{value:e(t.value),done:!1}}}),r=Promise.race.bind(Promise),o=Symbol.for("placeholder"),u=function(n,t,e){return t==o?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)};class i{constructor(){this.first=null,this.last=null,this.length=0}popFirst(){const n=this.first;if(null!=n)return n.next?this.first=n.next:this.first=null,this.length-=1,n.value}append(n){const t={value:n};null==this.first&&(this.first=t),null==this.last||(this.last.next=t),this.last=t,this.length+=1}}const c=Symbol.asyncIterator,s=n=>new Promise((t=>{setTimeout(t,n)})),f=(t,e)=>{const r=new i;let o=-1,u=!1,f=!1;return{[c](){return this},async _consumeAsyncIterator(){for await(const n of t){o+=1;const t=e(n);r.append(t)}f=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!f;){if(r.length>0){let t=r.popFirst();return n(t)&&(t=await t),{value:t,done:!1}}await s(10)}if(r.length>0){let t=r.popFirst();return n(t)&&(t=await t),{value:t,done:!1}}return{value:void 0,done:!0}}}},a=(t,e)=>{const r=new i;let o=-1,u=!1,f=!1;return{[c](){return this},async _consumeAsyncIterator(){for await(const u of t){o+=1;let t=e(u);n(t)&&(t=await t),r.append(t)}f=!0},async next(){for(u||(this._consumeAsyncIterator(),u=!0);!f;){if(r.length>0)return{value:r.popFirst(),done:!1};await s(10)}return r.length>0?{value:r.popFirst(),done:!1}:{value:void 0,done:!0}}}},l=function(n,t,e,r){return t==o?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==o?((n,t,e)=>function(r){return n(t,r,e)})(n,t,r):((n,t,e)=>function(r){return n(t,e,r)})(n,t,e)},h=Array.isArray,d=Promise.all.bind(Promise),p=function(t,e){const r=t.length,o=Array(r);let u=-1,i=!1;for(;++u<r;){const r=e(t[u],u,t);n(r)&&(i=!0),o[u]=r}return i?d(o):o},y=(n,t,e)=>n[t](e),w=n=>function(){return n},g=function(n,t,e,r,u){return t==o?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,u):e==o?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,u):r==o?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,e,u):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,e,r)},v=(n,t,e,r)=>n[t](e,r),x=t=>new Promise((t=>function(e){const r={};let o=0;for(const u in t){const i=t[u];n(i)?(o+=1,i.then((n=>function(t){r[n]=t,o-=1,0==o&&e(r)})(u))):r[u]=i}0==o&&e(r)})(t)),m=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},S=function(n,t,e){return n[t]=e,n},b=async function(t,e,r,o){const u=t.length;for(;++o<u;){const u=e(t[o],o);r[o]=n(u)?await u:u}return r},j=function(t,e){const r=t.length,u=Array(r);let i=-1;for(;++i<r;){const r=e(t[i],i);if(n(r))return r.then(m(l(S,u,i,o),g(b,t,e,o,i)));u[i]=r}return u},M=(n,t,e,r,o)=>function(){return n(t,e,r,o)},A=async function(t,e,r,o){for(const u in t){if(u in o)continue;let i=e(t[u]);n(i)&&(i=await i),r[u]=i}return r},T=(n,t,e,r)=>function(){return n(t,e,r)},z=function(n,t){return n.add(t),n},E=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value);n(u)&&(u=await u),r.add(u),o=t.next()}return r},I=function(n,t,e){return n.set(t,e)},O=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value[1]);n(u)&&(u=await u),r.set(o.value[0],u),o=t.next()}return r},P=n=>function(...t){return n(...t),t[0]},F=async function(t,e,o,u,i,c){const s=t.length;for(;++i<s;){c.size>=o&&await r(c);const s=e(t[i]);if(n(s)){const n=s.then(P((()=>c.delete(n))));c.add(n),u[i]=n}else u[i]=s}return d(u)},$=function(t,e,r){const o=t.length,u=Array(o);let i=-1;for(;++i<o;){const o=r(t[i]);if(n(o)){const n=new Set,c=o.then(P((()=>n.delete(c))));return n.add(c),u[i]=c,F(t,r,e,u,i,n)}u[i]=o}return u},_=async function(t,e,o,u,i,c){let s=e.next();for(;!s.done;){c.size>=o&&await r(c);const f=u(s.value,s.value,t);if(n(f)){const n=f.then((t=>{c.delete(n),i.add(t)}));c.add(n)}else i.add(f);s=e.next()}return c.size>0&&await d(c),i},k=async function(t,e,o,u,i,c){let s=e.next();for(;!s.done;){c.size>=o&&await r(c);const f=s.value[0],a=u(s.value[1],f,t);if(n(a)){i.set(f,a);const n=a.then((t=>{c.delete(n),i.set(f,t)}));c.add(n)}else i.set(f,a);s=e.next()}return c.size>0&&await d(c),i},q=async function(t,e,o,u,i,c){for(const s in t){if(s in i)continue;c.size>=e&&await r(c);const f=o(t[s],s,t);if(n(f)){u[s]=f;const n=f.then((t=>{c.delete(n),u[s]=t}));c.add(n)}else u[s]=f}return c.size>0&&await d(c),u},B=function(t){if(h(t)){const e=t.length;let r=-1;for(;++r<e;){const e=t[r];if(n(e))return!0}return!1}for(const e in t){const r=t[e];if(n(r))return!0}return!1},C=(n,t,e)=>n.apply(t,e),D=(n,t,e,r)=>function(...u){const i=r.length,c=u.length,s=[];let f=-1,a=-1,h=0;for(;(f+=1)<i;){const i=r[f];if(i==o&&(a+=1)<c){const n=u[a];n==o&&(h+=1),s.push(n)}else s.push(i);if(s.length==n)return B(s)?0==h?d(s).then(l(C,t,e,o)):d(s).then(g(G,n,t,e,o)):0==h?t.apply(e,s):G(n,t,e,s)}for(;(a+=1)<c;){const r=u[a];if(r==o&&(h+=1),s.push(r),s.length==n)return B(s)?0==h?d(s).then(l(C,t,e,o)):d(s).then(g(G,n,t,e,o)):0==h?t.apply(e,s):G(n,t,e,s)}return B(s)?d(s).then(g(G,n,t,e,o)):G(n,t,e,s)},G=function(n,t,e,r){const u=r.length;if(u<n)return D(n,t,e,r);let i=-1;for(;(i+=1)<u;){if(r[i]==o)return D(n,t,e,r)}return t.apply(e,r)},H=n=>function([t,e]){return n(t,e)},J=(t,e,r)=>function(o,u){const i=t([u,o]);n(i)?r.push(i.then(H(G(3,I,this,[e])))):e.set(i[0],i[1])},K=function(r,u){return h(r)?p(r,u):null==r?r:"function"==typeof r.then?r.then(u):"string"==typeof r||r.constructor==String?function(t,e){const r=p(t,e);return n(r)?r.then(l(y,o,"join","")):r.join("")}(r,u):r.constructor==Set?function(t,e){const r=new Set,u=[];for(const i of t){const c=e(i,i,t);n(c)?u.push(c.then(l(y,r,"add",o))):r.add(c)}return 0==u.length?r:d(u).then(w(r))}(r,u):r.constructor==Map?function(t,e){const r=new Map,u=[];for(const[i,c]of t){const s=e(c,i,t);n(s)?u.push(s.then(g(v,r,"set",i,o))):r.set(i,s)}return 0==u.length?r:d(u).then(w(r))}(r,u):"function"==typeof r[t]?e(r[t](),u):"function"==typeof r[c]?f(r[c](),u):"function"==typeof r.map?r.map(u):r.constructor==Object?function(t,e){const r={};let o=!1;for(const u in t){const i=e(t[u],u,t);n(i)&&(o=!0),r[u]=i}return o?x(r):r}(r,u):u(r)},L=function(t,e){return null==e?u(K,o,t):n(t)?t.then(u(K,o,e)):K(t,e)},N=(t,e)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,e){const r={},o=[];for(const u in t){const i=e([u,t[u]]);n(i)?o.push(i.then(H(G(3,S,this,[r])))):r[i[0]]=i[1]}return 0==o.length?r:d(o).then(w(r))}(t,e);if(t.constructor==Map)return function(n,t){const e=new Map,r=[];return n.forEach(J(t,e,r)),0==r.length?e:d(r).then(w(e))}(t,e);throw new TypeError("value is not an Object or Map")};L.entries=function(t,e){return null==e?u(N,o,t):n(t)?t.then(u(N,o,e)):N(t,e)};const Q=function(r,i){if(h(r))return j(r,i);if(null==r)throw new TypeError(`invalid functor ${r}`);if("string"==typeof r||r.constructor==String)return function(t,e){const r=j(t,e);return n(r)?r.then(l(y,o,"join","")):r.join("")}(r,i);if(r.constructor==Set)return function(e,r){const i=new Set,c=e[t]();let s=c.next();for(;!s.done;){const t=r(s.value);if(n(t))return t.then(m(u(z,i,o),T(E,c,r,i)));i.add(t),s=c.next()}return i}(r,i);if(r.constructor==Map)return function(e,r){const u=new Map,i=e[t]();let c=i.next();for(;!c.done;){const t=c.value[0],e=r(c.value[1]);if(n(e))return e.then(m(l(I,u,t,o),T(O,i,r,u)));u.set(t,e),c=i.next()}return u}(r,i);if("function"==typeof r[t])return e(r[t](),i);if("function"==typeof r[c])return a(r[c](),i);if("function"==typeof r.map)return r.map(i);if(r.constructor==Object)return function(t,e){const r={},u={};for(const i in t){u[i]=!0;const c=e(t[i],i,t);if(n(c))return c.then(m(l(S,r,i,o),M(A,t,e,r,u)));r[i]=c}return r}(r,i);throw new TypeError(`invalid functor ${r}`)};L.series=function(t,e){return null==e?u(Q,o,t):n(t)?t.then(u(Q,o,e)):Q(t,e)};const R=function(e,r,u){if(h(e))return $(e,r,u);if(null==e)throw new TypeError(`invalid functor ${e}`);if("string"==typeof e||e.constructor==String)return function(t,e,r){const u=$(t,e,r);return n(u)?u.then(l(y,o,"join","")):u.join("")}(e,r,u);if(e.constructor==Set)return function(e,r,o){const u=new Set,i=e[t]();let c=i.next();for(;!c.done;){const t=o(c.value,c.value,e);if(n(t)){const n=new Set,c=t.then((t=>{n.delete(c),u.add(t)}));return n.add(c),_(e,i,r,o,u,n)}u.add(t),c=i.next()}return u}(e,r,u);if(e.constructor==Map)return function(e,r,o){const u=new Map,i=e[t]();let c=i.next();for(;!c.done;){const t=c.value[0],s=o(c.value[1],t,e);if(n(s)){const n=new Set;u.set(t,s);const c=s.then((e=>{n.delete(c),u.set(t,e)}));return n.add(c),k(e,i,r,o,u,n)}u.set(t,s),c=i.next()}return u}(e,r,u);if(e.constructor==Object)return function(t,e,r){const o={},u={};for(const i in t){u[i]=!0;const c=r(t[i],i,t);if(n(c)){const n=new Set;o[i]=c;const s=c.then((t=>{n.delete(s),o[i]=t}));return n.add(s),q(t,e,r,o,u,n)}o[i]=c}return o}(e,r,u);throw new TypeError(`invalid functor ${e}`)};return L.pool=function(t,e,r){return null==r?l(R,o,t,e):n(t)?t.then(l(R,o,e,r)):R(t,e,r)},L}());
package/dist/map.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -24,25 +24,7 @@ const MappingIterator = (iterator, mapper) => ({
24
24
  },
25
25
  })
26
26
 
27
- const NextIteration = value => ({ value, done: false })
28
-
29
- const symbolAsyncIterator = Symbol.asyncIterator
30
-
31
- const MappingAsyncIterator = (asyncIterator, mapper) => ({
32
- [symbolAsyncIterator]() {
33
- return this
34
- },
35
- async next() {
36
- const iteration = await asyncIterator.next()
37
- if (iteration.done) {
38
- return iteration
39
- }
40
- const mapped = mapper(iteration.value)
41
- return isPromise(mapped)
42
- ? mapped.then(NextIteration)
43
- : { value: mapped, done: false }
44
- }
45
- })
27
+ const promiseRace = Promise.race.bind(Promise)
46
28
 
47
29
  const __ = Symbol.for('placeholder')
48
30
 
@@ -66,6 +48,165 @@ const curry2 = function (baseFunc, arg0, arg1) {
66
48
  : curry2ResolveArg1(baseFunc, arg0)
67
49
  }
68
50
 
51
+ class LinkedList {
52
+ constructor() {
53
+ this.first = null
54
+ this.last = null
55
+ this.length = 0
56
+ }
57
+
58
+ // popFirst() -> firstValue any
59
+ popFirst() {
60
+ const first = this.first
61
+
62
+ if (first == null) {
63
+ return undefined
64
+ }
65
+
66
+ if (first.next) {
67
+ this.first = first.next
68
+ } else {
69
+ this.first = null
70
+ }
71
+
72
+ this.length -= 1
73
+
74
+ return first.value
75
+ }
76
+
77
+ // append(value any) -> undefined
78
+ append(value) {
79
+ const node = { value }
80
+ if (this.first == null) {
81
+ this.first = node
82
+ }
83
+
84
+ if (this.last == null) {
85
+ this.last = node
86
+ } else {
87
+ this.last.next = node
88
+ this.last = node
89
+ }
90
+
91
+ this.length += 1
92
+ }
93
+
94
+ }
95
+
96
+ const symbolAsyncIterator = Symbol.asyncIterator
97
+
98
+ const arrayPush = function (array, value) {
99
+ array.push(value)
100
+ return array
101
+ }
102
+
103
+ const sleep = time => new Promise(resolve => {
104
+ setTimeout(resolve, time)
105
+ })
106
+
107
+ const MappingAsyncIterator = (asyncIterator, mapper) => {
108
+ const buffer = new LinkedList()
109
+
110
+ let index = -1
111
+ let consumingAsyncIterator = false
112
+ let isAsyncIteratorDone = false
113
+
114
+ return {
115
+ [symbolAsyncIterator]() {
116
+ return this
117
+ },
118
+
119
+ // _consumeAsyncIterator() -> Promise<>
120
+ async _consumeAsyncIterator() {
121
+ for await (const item of asyncIterator) {
122
+ index += 1
123
+ const mappedItem = mapper(item)
124
+ buffer.append(mappedItem)
125
+ }
126
+ isAsyncIteratorDone = true
127
+ },
128
+
129
+
130
+ async next() {
131
+ if (!consumingAsyncIterator) {
132
+ this._consumeAsyncIterator()
133
+ consumingAsyncIterator = true
134
+ }
135
+
136
+ while (!isAsyncIteratorDone) {
137
+ if (buffer.length > 0) {
138
+ let value = buffer.popFirst()
139
+ if (isPromise(value)) {
140
+ value = await value
141
+ }
142
+ return { value, done: false }
143
+ }
144
+ await sleep(10)
145
+ }
146
+
147
+ if (buffer.length > 0) {
148
+ let value = buffer.popFirst()
149
+ if (isPromise(value)) {
150
+ value = await value
151
+ }
152
+ return { value, done: false }
153
+ }
154
+
155
+ return { value: undefined, done: true }
156
+ },
157
+
158
+ }
159
+ }
160
+
161
+ const SerialMappingAsyncIterator = (asyncIterator, mapper) => {
162
+ const buffer = new LinkedList()
163
+
164
+ let index = -1
165
+ let consumingAsyncIterator = false
166
+ let isAsyncIteratorDone = false
167
+
168
+ return {
169
+ [symbolAsyncIterator]() {
170
+ return this
171
+ },
172
+
173
+ // _consumeAsyncIterator() -> Promise<>
174
+ async _consumeAsyncIterator() {
175
+ for await (const item of asyncIterator) {
176
+ index += 1
177
+ let mappedItem = mapper(item)
178
+ if (isPromise(mappedItem)) {
179
+ mappedItem = await mappedItem
180
+ }
181
+ buffer.append(mappedItem)
182
+ }
183
+ isAsyncIteratorDone = true
184
+ },
185
+
186
+
187
+ async next() {
188
+ if (!consumingAsyncIterator) {
189
+ this._consumeAsyncIterator()
190
+ consumingAsyncIterator = true
191
+ }
192
+
193
+ while (!isAsyncIteratorDone) {
194
+ if (buffer.length > 0) {
195
+ return { value: buffer.popFirst(), done: false }
196
+ }
197
+ await sleep(10)
198
+ }
199
+
200
+ if (buffer.length > 0) {
201
+ return { value: buffer.popFirst(), done: false }
202
+ }
203
+
204
+ return { value: undefined, done: true }
205
+ },
206
+
207
+ }
208
+ }
209
+
69
210
  // argument resolver for curry3
70
211
  const curry3ResolveArg0 = (
71
212
  baseFunc, arg1, arg2,
@@ -432,8 +573,6 @@ const tapSync = func => function tapping(...args) {
432
573
  return args[0]
433
574
  }
434
575
 
435
- const promiseRace = Promise.race.bind(Promise)
436
-
437
576
  const arrayMapPoolAsync = async function (
438
577
  array, f, concurrencyLimit, result, index, promises,
439
578
  ) {
@@ -778,9 +917,6 @@ const _map = function (value, f) {
778
917
  if (typeof value.then == 'function') {
779
918
  return value.then(f)
780
919
  }
781
- if (typeof value.map == 'function') {
782
- return value.map(f)
783
- }
784
920
  if (typeof value == 'string' || value.constructor == String) {
785
921
  return stringMap(value, f)
786
922
  }
@@ -796,6 +932,9 @@ const _map = function (value, f) {
796
932
  if (typeof value[symbolAsyncIterator] == 'function') {
797
933
  return MappingAsyncIterator(value[symbolAsyncIterator](), f)
798
934
  }
935
+ if (typeof value.map == 'function') {
936
+ return value.map(f)
937
+ }
799
938
  if (value.constructor == Object) {
800
939
  return objectMap(value, f)
801
940
  }
@@ -834,27 +973,36 @@ map.entries = function mapEntries(arg0, arg1) {
834
973
  : _mapEntries(arg0, arg1)
835
974
  }
836
975
 
837
- const _mapSeries = function (collection, f) {
838
- if (isArray(collection)) {
839
- return arrayMapSeries(collection, f)
976
+ const _mapSeries = function (functor, f) {
977
+ if (isArray(functor)) {
978
+ return arrayMapSeries(functor, f)
840
979
  }
841
- if (collection == null) {
842
- throw new TypeError(`invalid collection ${collection}`)
980
+ if (functor == null) {
981
+ throw new TypeError(`invalid functor ${functor}`)
843
982
  }
844
983
 
845
- if (typeof collection == 'string' || collection.constructor == String) {
846
- return stringMapSeries(collection, f)
984
+ if (typeof functor == 'string' || functor.constructor == String) {
985
+ return stringMapSeries(functor, f)
986
+ }
987
+ if (functor.constructor == Set) {
988
+ return setMapSeries(functor, f)
989
+ }
990
+ if (functor.constructor == Map) {
991
+ return mapMapSeries(functor, f)
992
+ }
993
+ if (typeof functor[symbolIterator] == 'function') {
994
+ return MappingIterator(functor[symbolIterator](), f)
847
995
  }
848
- if (collection.constructor == Set) {
849
- return setMapSeries(collection, f)
996
+ if (typeof functor[symbolAsyncIterator] == 'function') {
997
+ return SerialMappingAsyncIterator(functor[symbolAsyncIterator](), f)
850
998
  }
851
- if (collection.constructor == Map) {
852
- return mapMapSeries(collection, f)
999
+ if (typeof functor.map == 'function') {
1000
+ return functor.map(f)
853
1001
  }
854
- if (collection.constructor == Object) {
855
- return objectMapSeries(collection, f)
1002
+ if (functor.constructor == Object) {
1003
+ return objectMapSeries(functor, f)
856
1004
  }
857
- throw new TypeError(`invalid collection ${collection}`)
1005
+ throw new TypeError(`invalid functor ${functor}`)
858
1006
  }
859
1007
 
860
1008
  map.series = function mapSeries(arg0, arg1) {
package/dist/not.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/not.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/not.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/not.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/omit.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/omit.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/omit.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/omit.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/or.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/or.es.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/or.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/or.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/or.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/pick.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/pick.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/pick.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/pick.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/pipe.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/pipe.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/pipe.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/pipe.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/reduce.es.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/reduce.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software
package/dist/reduce.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Rubico v2.8.6
2
+ * Rubico v2.10.0
3
3
  * https://rubico.land/
4
4
  *
5
5
  * © Richard Yufei Tong, King of Software