@duplojs/utils 0.3.1 → 1.0.1

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 (720) hide show
  1. package/dist/array/at/default.cjs +12 -0
  2. package/dist/array/at/default.d.ts +5 -0
  3. package/dist/array/at/default.mjs +10 -0
  4. package/dist/array/at/first.cjs +7 -0
  5. package/dist/array/at/first.d.ts +2 -0
  6. package/dist/array/at/first.mjs +5 -0
  7. package/dist/array/at/index.d.ts +3 -0
  8. package/dist/array/at/last.cjs +7 -0
  9. package/dist/array/at/last.d.ts +1 -0
  10. package/dist/array/at/last.mjs +5 -0
  11. package/dist/array/concat.cjs +12 -0
  12. package/dist/array/concat.d.ts +2 -0
  13. package/dist/array/concat.mjs +10 -0
  14. package/dist/array/copyWithin.cjs +12 -0
  15. package/dist/array/copyWithin.d.ts +2 -0
  16. package/dist/array/copyWithin.mjs +10 -0
  17. package/dist/array/every.cjs +12 -0
  18. package/dist/array/every.d.ts +6 -0
  19. package/dist/array/every.mjs +10 -0
  20. package/dist/array/fill/all.cjs +12 -0
  21. package/dist/array/fill/all.d.ts +2 -0
  22. package/dist/array/fill/all.mjs +10 -0
  23. package/dist/array/fill/default.cjs +12 -0
  24. package/dist/array/fill/default.d.ts +2 -0
  25. package/dist/array/fill/default.mjs +10 -0
  26. package/dist/array/fill/index.d.ts +2 -0
  27. package/dist/array/filter.cjs +12 -0
  28. package/dist/array/filter.d.ts +8 -0
  29. package/dist/array/filter.mjs +10 -0
  30. package/dist/array/find.cjs +12 -0
  31. package/dist/array/find.d.ts +8 -0
  32. package/dist/array/find.mjs +10 -0
  33. package/dist/array/findAndReplace.cjs +19 -0
  34. package/dist/array/findAndReplace.d.ts +7 -0
  35. package/dist/array/findAndReplace.mjs +17 -0
  36. package/dist/array/findAndSplice/delete.cjs +19 -0
  37. package/dist/array/findAndSplice/delete.d.ts +6 -0
  38. package/dist/array/findAndSplice/delete.mjs +17 -0
  39. package/dist/array/findAndSplice/index.d.ts +3 -0
  40. package/dist/array/findAndSplice/insert.cjs +19 -0
  41. package/dist/array/findAndSplice/insert.d.ts +6 -0
  42. package/dist/array/findAndSplice/insert.mjs +17 -0
  43. package/dist/array/findAndSplice/replace.cjs +19 -0
  44. package/dist/array/findAndSplice/replace.d.ts +6 -0
  45. package/dist/array/findAndSplice/replace.mjs +17 -0
  46. package/dist/array/findIndex.cjs +17 -0
  47. package/dist/array/findIndex.d.ts +6 -0
  48. package/dist/array/findIndex.mjs +15 -0
  49. package/dist/array/findLast.cjs +18 -0
  50. package/dist/array/findLast.d.ts +8 -0
  51. package/dist/array/findLast.mjs +16 -0
  52. package/dist/array/findLastIndex.cjs +18 -0
  53. package/dist/array/findLastIndex.d.ts +6 -0
  54. package/dist/array/findLastIndex.mjs +16 -0
  55. package/dist/array/flat.cjs +19 -0
  56. package/dist/array/flat.d.ts +4 -0
  57. package/dist/array/flat.mjs +17 -0
  58. package/dist/array/flatMap.cjs +12 -0
  59. package/dist/array/flatMap.d.ts +6 -0
  60. package/dist/array/flatMap.mjs +10 -0
  61. package/dist/array/from.cjs +16 -0
  62. package/dist/array/from.d.ts +1 -0
  63. package/dist/array/from.mjs +14 -0
  64. package/dist/array/group.cjs +37 -0
  65. package/dist/array/group.d.ts +16 -0
  66. package/dist/array/group.mjs +34 -0
  67. package/dist/array/includes.cjs +12 -0
  68. package/dist/array/includes.d.ts +2 -0
  69. package/dist/array/includes.mjs +10 -0
  70. package/dist/array/index.cjs +102 -0
  71. package/dist/array/index.d.ts +40 -0
  72. package/dist/array/index.mjs +48 -0
  73. package/dist/array/indexOf.cjs +23 -0
  74. package/dist/array/indexOf.d.ts +2 -0
  75. package/dist/array/indexOf.mjs +21 -0
  76. package/dist/array/is.cjs +7 -0
  77. package/dist/array/is.d.ts +1 -0
  78. package/dist/array/is.mjs +5 -0
  79. package/dist/array/join.cjs +12 -0
  80. package/dist/array/join.d.ts +8 -0
  81. package/dist/array/join.mjs +10 -0
  82. package/dist/array/lastIndexOf.cjs +23 -0
  83. package/dist/array/lastIndexOf.d.ts +2 -0
  84. package/dist/array/lastIndexOf.mjs +21 -0
  85. package/dist/array/map.cjs +12 -0
  86. package/dist/array/map.d.ts +6 -0
  87. package/dist/array/map.mjs +10 -0
  88. package/dist/array/maxElements.cjs +12 -0
  89. package/dist/array/maxElements.d.ts +2 -0
  90. package/dist/array/maxElements.mjs +10 -0
  91. package/dist/array/maxOf.cjs +17 -0
  92. package/dist/array/maxOf.d.ts +1 -0
  93. package/dist/array/maxOf.mjs +15 -0
  94. package/dist/array/minElements.cjs +12 -0
  95. package/dist/array/minElements.d.ts +9 -0
  96. package/dist/array/minElements.mjs +10 -0
  97. package/dist/array/minOf.cjs +17 -0
  98. package/dist/array/minOf.d.ts +1 -0
  99. package/dist/array/minOf.mjs +15 -0
  100. package/dist/array/pop.cjs +7 -0
  101. package/dist/array/pop.d.ts +3 -0
  102. package/dist/array/pop.mjs +5 -0
  103. package/dist/array/push.cjs +12 -0
  104. package/dist/array/push.d.ts +2 -0
  105. package/dist/array/push.mjs +10 -0
  106. package/dist/array/reduce.cjs +41 -0
  107. package/dist/array/reduce.d.ts +30 -0
  108. package/dist/array/reduce.mjs +39 -0
  109. package/dist/array/reduceRight.cjs +41 -0
  110. package/dist/array/reduceRight.d.ts +30 -0
  111. package/dist/array/reduceRight.mjs +39 -0
  112. package/dist/array/reverse.cjs +7 -0
  113. package/dist/array/reverse.d.ts +3 -0
  114. package/dist/array/reverse.mjs +5 -0
  115. package/dist/array/set.cjs +14 -0
  116. package/dist/array/set.d.ts +2 -0
  117. package/dist/array/set.mjs +12 -0
  118. package/dist/array/shift.cjs +7 -0
  119. package/dist/array/shift.d.ts +3 -0
  120. package/dist/array/shift.mjs +5 -0
  121. package/dist/array/slice.cjs +12 -0
  122. package/dist/array/slice.d.ts +2 -0
  123. package/dist/array/slice.mjs +10 -0
  124. package/dist/array/some.cjs +12 -0
  125. package/dist/array/some.d.ts +6 -0
  126. package/dist/array/some.mjs +10 -0
  127. package/dist/array/sort/default.cjs +12 -0
  128. package/dist/array/sort/default.d.ts +2 -0
  129. package/dist/array/sort/default.mjs +10 -0
  130. package/dist/array/sort/index.d.ts +3 -0
  131. package/dist/array/sort/number.cjs +14 -0
  132. package/dist/array/sort/number.d.ts +4 -0
  133. package/dist/array/sort/number.mjs +12 -0
  134. package/dist/array/sort/string.cjs +24 -0
  135. package/dist/array/sort/string.d.ts +4 -0
  136. package/dist/array/sort/string.mjs +22 -0
  137. package/dist/array/splice/delete.cjs +14 -0
  138. package/dist/array/splice/delete.d.ts +2 -0
  139. package/dist/array/splice/delete.mjs +12 -0
  140. package/dist/array/splice/index.d.ts +3 -0
  141. package/dist/array/splice/insert.cjs +14 -0
  142. package/dist/array/splice/insert.d.ts +2 -0
  143. package/dist/array/splice/insert.mjs +12 -0
  144. package/dist/array/splice/replace.cjs +14 -0
  145. package/dist/array/splice/replace.d.ts +2 -0
  146. package/dist/array/splice/replace.mjs +12 -0
  147. package/dist/array/sum.cjs +11 -0
  148. package/dist/array/sum.d.ts +1 -0
  149. package/dist/array/sum.mjs +9 -0
  150. package/dist/array/types/atTuple.d.ts +1 -0
  151. package/dist/array/types/createTuple.d.ts +2 -0
  152. package/dist/array/types/excludeTuple.d.ts +29 -0
  153. package/dist/array/types/extractTuple.d.ts +38 -0
  154. package/dist/array/types/index.d.ts +8 -0
  155. package/dist/array/types/mergeUnionTuple.d.ts +7 -0
  156. package/dist/array/types/popTuple.d.ts +2 -0
  157. package/dist/array/types/reverseTuple.d.ts +2 -0
  158. package/dist/array/types/shiftTuple.d.ts +2 -0
  159. package/dist/array/types/tupleHasSpread.d.ts +2 -0
  160. package/dist/array/unshift.cjs +12 -0
  161. package/dist/array/unshift.d.ts +2 -0
  162. package/dist/array/unshift.mjs +10 -0
  163. package/dist/common/addWrappedProperties.cjs +13 -0
  164. package/dist/common/addWrappedProperties.d.ts +4 -0
  165. package/dist/common/addWrappedProperties.mjs +11 -0
  166. package/dist/common/asyncInnerPipe.cjs +14 -0
  167. package/dist/common/asyncInnerPipe.d.ts +15 -0
  168. package/dist/common/asyncInnerPipe.mjs +12 -0
  169. package/dist/common/asyncLoop.cjs +19 -0
  170. package/dist/common/asyncLoop.d.ts +10 -0
  171. package/dist/common/asyncLoop.mjs +17 -0
  172. package/dist/common/asyncPipe.cjs +11 -0
  173. package/dist/common/asyncPipe.d.ts +16 -0
  174. package/dist/common/asyncPipe.mjs +9 -0
  175. package/dist/common/asyncRetry.cjs +25 -0
  176. package/dist/common/asyncRetry.d.ts +8 -0
  177. package/dist/common/asyncRetry.mjs +22 -0
  178. package/dist/common/clone.cjs +24 -0
  179. package/dist/{clone.d.ts → common/clone.d.ts} +1 -1
  180. package/dist/common/clone.mjs +22 -0
  181. package/dist/common/enum.cjs +11 -0
  182. package/dist/common/enum.d.ts +9 -0
  183. package/dist/common/enum.mjs +9 -0
  184. package/dist/common/escapeRegExp.cjs +7 -0
  185. package/dist/common/escapeRegExp.mjs +5 -0
  186. package/dist/common/externalPromise.cjs +17 -0
  187. package/dist/common/externalPromise.d.ts +5 -0
  188. package/dist/common/externalPromise.mjs +15 -0
  189. package/dist/common/forward.cjs +7 -0
  190. package/dist/common/forward.d.ts +1 -0
  191. package/dist/common/forward.mjs +5 -0
  192. package/dist/common/index.d.ts +29 -0
  193. package/dist/common/innerPipe.cjs +13 -0
  194. package/dist/common/innerPipe.d.ts +12 -0
  195. package/dist/common/innerPipe.mjs +11 -0
  196. package/dist/common/interpolation.cjs +9 -0
  197. package/dist/{interpolation.d.ts → common/interpolation.d.ts} +3 -3
  198. package/dist/common/interpolation.mjs +7 -0
  199. package/dist/common/kind.cjs +29 -0
  200. package/dist/common/kind.d.ts +26 -0
  201. package/dist/common/kind.mjs +26 -0
  202. package/dist/common/loop.cjs +19 -0
  203. package/dist/common/loop.d.ts +15 -0
  204. package/dist/common/loop.mjs +17 -0
  205. package/dist/common/pipe.cjs +11 -0
  206. package/dist/common/pipe.d.ts +12 -0
  207. package/dist/common/pipe.mjs +9 -0
  208. package/dist/common/promiseObject.cjs +12 -0
  209. package/dist/common/promiseObject.d.ts +7 -0
  210. package/dist/common/promiseObject.mjs +10 -0
  211. package/dist/common/simpleClone.cjs +25 -0
  212. package/dist/common/simpleClone.d.ts +1 -0
  213. package/dist/common/simpleClone.mjs +23 -0
  214. package/dist/common/sleep.cjs +7 -0
  215. package/dist/common/sleep.d.ts +1 -0
  216. package/dist/common/sleep.mjs +5 -0
  217. package/dist/common/stringToBytes.cjs +43 -0
  218. package/dist/{stringToBytes.d.ts → common/stringToBytes.d.ts} +3 -0
  219. package/dist/common/stringToBytes.mjs +40 -0
  220. package/dist/common/stringToMillisecond.cjs +48 -0
  221. package/dist/common/stringToMillisecond.d.ts +18 -0
  222. package/dist/common/stringToMillisecond.mjs +45 -0
  223. package/dist/common/toJson.cjs +34 -0
  224. package/dist/common/toJson.d.ts +11 -0
  225. package/dist/common/toJson.mjs +32 -0
  226. package/dist/common/toString.cjs +7 -0
  227. package/dist/common/toString.d.ts +1 -0
  228. package/dist/common/toString.mjs +5 -0
  229. package/dist/common/toTransform.cjs +34 -0
  230. package/dist/common/toTransform.d.ts +11 -0
  231. package/dist/common/toTransform.mjs +32 -0
  232. package/dist/common/toWrappedValue.cjs +11 -0
  233. package/dist/common/toWrappedValue.d.ts +4 -0
  234. package/dist/common/toWrappedValue.mjs +9 -0
  235. package/dist/common/types/IsExtends.d.ts +1 -0
  236. package/dist/common/types/adaptor.d.ts +1 -0
  237. package/dist/common/types/addOne.d.ts +23 -0
  238. package/dist/common/types/and.d.ts +2 -0
  239. package/dist/common/types/anyFunction.d.ts +1 -0
  240. package/dist/common/types/anyObject.d.ts +4 -0
  241. package/dist/common/types/anyTuple.d.ts +1 -0
  242. package/dist/common/types/anyValue.d.ts +2 -0
  243. package/dist/common/types/breakGenericLink.d.ts +1 -0
  244. package/dist/common/types/deepPartial.d.ts +3 -0
  245. package/dist/common/types/deepRemoveReadonly.d.ts +3 -0
  246. package/dist/common/types/escapeAny.d.ts +1 -0
  247. package/dist/common/types/escapeVoid.d.ts +1 -0
  248. package/dist/common/types/expectType.d.ts +6 -0
  249. package/dist/common/types/fixDeepFunctionInfer.d.ts +2 -0
  250. package/dist/common/types/forcePredicate.d.ts +5 -0
  251. package/dist/common/types/index.d.ts +37 -0
  252. package/dist/common/types/isStringLIteral.d.ts +2 -0
  253. package/dist/common/types/isUnion.d.ts +2 -0
  254. package/dist/common/types/lastUnionElement.d.ts +2 -0
  255. package/dist/common/types/maybeArray.d.ts +1 -0
  256. package/dist/common/types/maybePromise.d.ts +1 -0
  257. package/dist/common/types/maybeWrapped.d.ts +2 -0
  258. package/dist/common/types/neverCoalescing.d.ts +2 -0
  259. package/dist/common/types/not.d.ts +1 -0
  260. package/dist/common/types/objectEntry.d.ts +2 -0
  261. package/dist/common/types/objectKey.d.ts +1 -0
  262. package/dist/common/types/or.d.ts +2 -0
  263. package/dist/common/types/removeDuplicateInUnion.d.ts +4 -0
  264. package/dist/common/types/removeReadonly.d.ts +3 -0
  265. package/dist/common/types/simplifyTopLevel.d.ts +3 -0
  266. package/dist/common/types/simplifyType.d.ts +3 -0
  267. package/dist/common/types/simplifyTypeForce.d.ts +3 -0
  268. package/dist/common/types/toLargeEnsemble.d.ts +6 -0
  269. package/dist/common/types/unionContain.d.ts +2 -0
  270. package/dist/common/types/unionToIntersection.d.ts +1 -0
  271. package/dist/common/types/unionToTuple.d.ts +5 -0
  272. package/dist/common/unwrap.cjs +11 -0
  273. package/dist/common/unwrap.d.ts +4 -0
  274. package/dist/common/unwrap.mjs +9 -0
  275. package/dist/common/when.cjs +15 -0
  276. package/dist/common/when.d.ts +5 -0
  277. package/dist/common/when.mjs +13 -0
  278. package/dist/common/whenNot.cjs +15 -0
  279. package/dist/common/whenNot.d.ts +5 -0
  280. package/dist/common/whenNot.mjs +13 -0
  281. package/dist/common/wrapValue.cjs +15 -0
  282. package/dist/common/wrapValue.d.ts +9 -0
  283. package/dist/common/wrapValue.mjs +11 -0
  284. package/dist/either/base.cjs +7 -0
  285. package/dist/either/base.d.ts +1 -0
  286. package/dist/either/base.mjs +5 -0
  287. package/dist/either/bool/base.cjs +7 -0
  288. package/dist/either/bool/base.d.ts +1 -0
  289. package/dist/either/bool/base.mjs +5 -0
  290. package/dist/either/bool/create.cjs +16 -0
  291. package/dist/either/bool/create.d.ts +4 -0
  292. package/dist/either/bool/create.mjs +14 -0
  293. package/dist/either/bool/falsy.cjs +44 -0
  294. package/dist/either/bool/falsy.d.ts +18 -0
  295. package/dist/either/bool/falsy.mjs +39 -0
  296. package/dist/either/bool/index.d.ts +4 -0
  297. package/dist/either/bool/truthy.cjs +44 -0
  298. package/dist/either/bool/truthy.d.ts +17 -0
  299. package/dist/either/bool/truthy.mjs +39 -0
  300. package/dist/either/future/base.cjs +7 -0
  301. package/dist/either/future/base.d.ts +1 -0
  302. package/dist/either/future/base.mjs +5 -0
  303. package/dist/either/future/create.cjs +49 -0
  304. package/dist/either/future/create.d.ts +25 -0
  305. package/dist/either/future/create.mjs +46 -0
  306. package/dist/either/future/error.cjs +13 -0
  307. package/dist/either/future/error.d.ts +9 -0
  308. package/dist/either/future/error.mjs +10 -0
  309. package/dist/either/future/index.d.ts +5 -0
  310. package/dist/either/future/maybeFutureEither.d.ts +2 -0
  311. package/dist/either/future/success.cjs +13 -0
  312. package/dist/either/future/success.d.ts +9 -0
  313. package/dist/either/future/success.mjs +10 -0
  314. package/dist/either/hasInformation.cjs +10 -0
  315. package/dist/either/hasInformation.d.ts +7 -0
  316. package/dist/either/hasInformation.mjs +8 -0
  317. package/dist/either/index.cjs +108 -0
  318. package/dist/either/index.d.ts +10 -0
  319. package/dist/either/index.mjs +35 -0
  320. package/dist/either/left/create.cjs +13 -0
  321. package/dist/either/left/create.d.ts +9 -0
  322. package/dist/either/left/create.mjs +10 -0
  323. package/dist/either/left/error.cjs +12 -0
  324. package/dist/either/left/error.d.ts +8 -0
  325. package/dist/either/left/error.mjs +9 -0
  326. package/dist/either/left/fail.cjs +12 -0
  327. package/dist/either/left/fail.d.ts +8 -0
  328. package/dist/either/left/fail.mjs +9 -0
  329. package/dist/either/left/index.d.ts +5 -0
  330. package/dist/either/left/is.cjs +13 -0
  331. package/dist/either/left/is.d.ts +2 -0
  332. package/dist/either/left/is.mjs +11 -0
  333. package/dist/either/left/when.cjs +18 -0
  334. package/dist/either/left/when.d.ts +4 -0
  335. package/dist/either/left/when.mjs +16 -0
  336. package/dist/either/nullable/base.cjs +7 -0
  337. package/dist/either/nullable/base.d.ts +1 -0
  338. package/dist/either/nullable/base.mjs +5 -0
  339. package/dist/either/nullable/create.cjs +12 -0
  340. package/dist/either/nullable/create.d.ts +3 -0
  341. package/dist/either/nullable/create.mjs +10 -0
  342. package/dist/either/nullable/empty.cjs +44 -0
  343. package/dist/either/nullable/empty.d.ts +17 -0
  344. package/dist/either/nullable/empty.mjs +39 -0
  345. package/dist/either/nullable/filled.cjs +44 -0
  346. package/dist/either/nullable/filled.d.ts +17 -0
  347. package/dist/either/nullable/filled.mjs +39 -0
  348. package/dist/either/nullable/index.d.ts +4 -0
  349. package/dist/either/nullish/base.cjs +7 -0
  350. package/dist/either/nullish/base.d.ts +1 -0
  351. package/dist/either/nullish/base.mjs +5 -0
  352. package/dist/either/nullish/create.cjs +12 -0
  353. package/dist/either/nullish/create.d.ts +3 -0
  354. package/dist/either/nullish/create.mjs +10 -0
  355. package/dist/either/nullish/empty.cjs +44 -0
  356. package/dist/either/nullish/empty.d.ts +18 -0
  357. package/dist/either/nullish/empty.mjs +39 -0
  358. package/dist/either/nullish/filled.cjs +44 -0
  359. package/dist/either/nullish/filled.d.ts +17 -0
  360. package/dist/either/nullish/filled.mjs +39 -0
  361. package/dist/either/nullish/index.d.ts +4 -0
  362. package/dist/either/optional/base.cjs +7 -0
  363. package/dist/either/optional/base.d.ts +1 -0
  364. package/dist/either/optional/base.mjs +5 -0
  365. package/dist/either/optional/create.cjs +12 -0
  366. package/dist/either/optional/create.d.ts +3 -0
  367. package/dist/either/optional/create.mjs +10 -0
  368. package/dist/either/optional/empty.cjs +43 -0
  369. package/dist/either/optional/empty.d.ts +17 -0
  370. package/dist/either/optional/empty.mjs +38 -0
  371. package/dist/either/optional/filled.cjs +44 -0
  372. package/dist/either/optional/filled.d.ts +17 -0
  373. package/dist/either/optional/filled.mjs +39 -0
  374. package/dist/either/optional/index.d.ts +4 -0
  375. package/dist/either/right/asyncPipe.cjs +28 -0
  376. package/dist/either/right/asyncPipe.d.ts +22 -0
  377. package/dist/either/right/asyncPipe.mjs +26 -0
  378. package/dist/either/right/create.cjs +13 -0
  379. package/dist/either/right/create.d.ts +9 -0
  380. package/dist/either/right/create.mjs +10 -0
  381. package/dist/either/right/index.d.ts +7 -0
  382. package/dist/either/right/is.cjs +13 -0
  383. package/dist/either/right/is.d.ts +2 -0
  384. package/dist/either/right/is.mjs +11 -0
  385. package/dist/either/right/ok.cjs +12 -0
  386. package/dist/either/right/ok.d.ts +8 -0
  387. package/dist/either/right/ok.mjs +9 -0
  388. package/dist/either/right/pipe.cjs +22 -0
  389. package/dist/either/right/pipe.d.ts +19 -0
  390. package/dist/either/right/pipe.mjs +20 -0
  391. package/dist/either/right/success.cjs +12 -0
  392. package/dist/either/right/success.d.ts +8 -0
  393. package/dist/either/right/success.mjs +9 -0
  394. package/dist/either/right/when.cjs +18 -0
  395. package/dist/either/right/when.d.ts +4 -0
  396. package/dist/either/right/when.mjs +16 -0
  397. package/dist/either/whenHasInformation.cjs +24 -0
  398. package/dist/either/whenHasInformation.d.ts +8 -0
  399. package/dist/either/whenHasInformation.mjs +22 -0
  400. package/dist/generator/asyncFilter.cjs +20 -0
  401. package/dist/generator/asyncFilter.d.ts +8 -0
  402. package/dist/generator/asyncFilter.mjs +18 -0
  403. package/dist/generator/asyncLoop.cjs +26 -0
  404. package/dist/generator/asyncLoop.d.ts +10 -0
  405. package/dist/generator/asyncLoop.mjs +24 -0
  406. package/dist/generator/asyncMap.cjs +18 -0
  407. package/dist/generator/asyncMap.d.ts +6 -0
  408. package/dist/generator/asyncMap.mjs +16 -0
  409. package/dist/generator/asyncReduce.cjs +44 -0
  410. package/dist/generator/asyncReduce.d.ts +30 -0
  411. package/dist/generator/asyncReduce.mjs +42 -0
  412. package/dist/generator/execute.cjs +17 -0
  413. package/dist/generator/execute.d.ts +2 -0
  414. package/dist/generator/execute.mjs +15 -0
  415. package/dist/generator/filter.cjs +20 -0
  416. package/dist/generator/filter.d.ts +8 -0
  417. package/dist/generator/filter.mjs +18 -0
  418. package/dist/generator/index.cjs +23 -0
  419. package/dist/generator/index.d.ts +9 -0
  420. package/dist/generator/index.mjs +9 -0
  421. package/dist/generator/loop.cjs +26 -0
  422. package/dist/generator/loop.d.ts +15 -0
  423. package/dist/generator/loop.mjs +24 -0
  424. package/dist/generator/map.cjs +18 -0
  425. package/dist/generator/map.d.ts +6 -0
  426. package/dist/generator/map.mjs +16 -0
  427. package/dist/generator/reduce.cjs +42 -0
  428. package/dist/generator/reduce.d.ts +30 -0
  429. package/dist/generator/reduce.mjs +40 -0
  430. package/dist/index.cjs +83 -133
  431. package/dist/index.d.ts +15 -26
  432. package/dist/index.mjs +49 -124
  433. package/dist/number/abs.cjs +7 -0
  434. package/dist/number/abs.d.ts +1 -0
  435. package/dist/number/abs.mjs +5 -0
  436. package/dist/number/acos.cjs +7 -0
  437. package/dist/number/acos.d.ts +1 -0
  438. package/dist/number/acos.mjs +5 -0
  439. package/dist/number/add.cjs +12 -0
  440. package/dist/number/add.d.ts +2 -0
  441. package/dist/number/add.mjs +10 -0
  442. package/dist/number/asin.cjs +7 -0
  443. package/dist/number/asin.d.ts +1 -0
  444. package/dist/number/asin.mjs +5 -0
  445. package/dist/number/atan.cjs +7 -0
  446. package/dist/number/atan.d.ts +1 -0
  447. package/dist/number/atan.mjs +5 -0
  448. package/dist/number/atan2.cjs +12 -0
  449. package/dist/number/atan2.d.ts +2 -0
  450. package/dist/number/atan2.mjs +10 -0
  451. package/dist/number/ceil.cjs +7 -0
  452. package/dist/number/ceil.d.ts +1 -0
  453. package/dist/number/ceil.mjs +5 -0
  454. package/dist/number/clamp.cjs +14 -0
  455. package/dist/number/clamp.d.ts +2 -0
  456. package/dist/number/clamp.mjs +12 -0
  457. package/dist/number/cos.cjs +7 -0
  458. package/dist/number/cos.d.ts +1 -0
  459. package/dist/number/cos.mjs +5 -0
  460. package/dist/number/divide.cjs +12 -0
  461. package/dist/number/divide.d.ts +2 -0
  462. package/dist/number/divide.mjs +10 -0
  463. package/dist/number/floor.cjs +7 -0
  464. package/dist/number/floor.d.ts +1 -0
  465. package/dist/number/floor.mjs +5 -0
  466. package/dist/number/index.cjs +49 -0
  467. package/dist/number/index.d.ts +22 -0
  468. package/dist/number/index.mjs +22 -0
  469. package/dist/number/max.cjs +12 -0
  470. package/dist/number/max.d.ts +2 -0
  471. package/dist/number/max.mjs +10 -0
  472. package/dist/number/min.cjs +12 -0
  473. package/dist/number/min.d.ts +2 -0
  474. package/dist/number/min.mjs +10 -0
  475. package/dist/number/modulo.cjs +12 -0
  476. package/dist/number/modulo.d.ts +2 -0
  477. package/dist/number/modulo.mjs +10 -0
  478. package/dist/number/multiply.cjs +12 -0
  479. package/dist/number/multiply.d.ts +2 -0
  480. package/dist/number/multiply.mjs +10 -0
  481. package/dist/number/negate.cjs +7 -0
  482. package/dist/number/negate.d.ts +1 -0
  483. package/dist/number/negate.mjs +5 -0
  484. package/dist/number/power.cjs +12 -0
  485. package/dist/number/power.d.ts +2 -0
  486. package/dist/number/power.mjs +10 -0
  487. package/dist/number/round.cjs +7 -0
  488. package/dist/number/round.d.ts +1 -0
  489. package/dist/number/round.mjs +5 -0
  490. package/dist/number/sin.cjs +7 -0
  491. package/dist/number/sin.d.ts +1 -0
  492. package/dist/number/sin.mjs +5 -0
  493. package/dist/number/subtract.cjs +12 -0
  494. package/dist/number/subtract.d.ts +2 -0
  495. package/dist/number/subtract.mjs +10 -0
  496. package/dist/number/tan.cjs +7 -0
  497. package/dist/number/tan.d.ts +1 -0
  498. package/dist/number/tan.mjs +5 -0
  499. package/dist/number/trunc.cjs +7 -0
  500. package/dist/number/trunc.d.ts +1 -0
  501. package/dist/number/trunc.mjs +5 -0
  502. package/dist/object/assign.cjs +15 -0
  503. package/dist/object/assign.d.ts +4 -0
  504. package/dist/object/assign.mjs +13 -0
  505. package/dist/object/entries.cjs +10 -0
  506. package/dist/object/entries.d.ts +7 -0
  507. package/dist/object/entries.mjs +8 -0
  508. package/dist/object/fromEntries.cjs +7 -0
  509. package/dist/object/fromEntries.d.ts +6 -0
  510. package/dist/object/fromEntries.mjs +5 -0
  511. package/dist/object/getProperty.cjs +12 -0
  512. package/dist/object/getProperty.d.ts +8 -0
  513. package/dist/object/getProperty.mjs +10 -0
  514. package/dist/object/hasKeys.cjs +18 -0
  515. package/dist/object/hasKeys.d.ts +3 -0
  516. package/dist/object/hasKeys.mjs +16 -0
  517. package/dist/object/index.cjs +31 -0
  518. package/dist/object/index.d.ts +14 -0
  519. package/dist/object/index.mjs +13 -0
  520. package/dist/object/keys.cjs +7 -0
  521. package/dist/object/keys.d.ts +1 -0
  522. package/dist/object/keys.mjs +5 -0
  523. package/dist/object/omit.cjs +24 -0
  524. package/dist/object/omit.d.ts +8 -0
  525. package/dist/object/omit.mjs +22 -0
  526. package/dist/object/override.cjs +18 -0
  527. package/dist/object/override.d.ts +2 -0
  528. package/dist/object/override.mjs +16 -0
  529. package/dist/object/pick.cjs +24 -0
  530. package/dist/object/pick.d.ts +7 -0
  531. package/dist/object/pick.mjs +22 -0
  532. package/dist/object/to.cjs +16 -0
  533. package/dist/object/to.d.ts +10 -0
  534. package/dist/object/to.mjs +14 -0
  535. package/dist/object/transformProperties.cjs +18 -0
  536. package/dist/object/transformProperties.d.ts +10 -0
  537. package/dist/object/transformProperties.mjs +16 -0
  538. package/dist/object/transformProperty.cjs +15 -0
  539. package/dist/object/transformProperty.d.ts +7 -0
  540. package/dist/object/transformProperty.mjs +13 -0
  541. package/dist/object/types/UnionObjectToIntersection.d.ts +2 -0
  542. package/dist/object/types/assignObjects.d.ts +2 -0
  543. package/dist/object/types/flatObject.d.ts +25 -0
  544. package/dist/object/types/getPropsWithValue.d.ts +4 -0
  545. package/dist/object/types/index.d.ts +6 -0
  546. package/dist/object/types/partialKeys.d.ts +2 -0
  547. package/dist/object/types/requiredKeys.d.ts +2 -0
  548. package/dist/object/values.cjs +7 -0
  549. package/dist/object/values.d.ts +4 -0
  550. package/dist/object/values.mjs +5 -0
  551. package/dist/pattern/exhaustive.cjs +9 -0
  552. package/dist/pattern/exhaustive.d.ts +3 -0
  553. package/dist/pattern/exhaustive.mjs +7 -0
  554. package/dist/pattern/index.cjs +22 -0
  555. package/dist/pattern/index.d.ts +8 -0
  556. package/dist/pattern/index.mjs +8 -0
  557. package/dist/pattern/isMatch.cjs +44 -0
  558. package/dist/pattern/isMatch.d.ts +2 -0
  559. package/dist/pattern/isMatch.mjs +42 -0
  560. package/dist/pattern/match.cjs +18 -0
  561. package/dist/pattern/match.d.ts +6 -0
  562. package/dist/pattern/match.mjs +16 -0
  563. package/dist/pattern/matchPrimitive.cjs +17 -0
  564. package/dist/pattern/matchPrimitive.d.ts +3 -0
  565. package/dist/pattern/matchPrimitive.mjs +15 -0
  566. package/dist/pattern/otherwise.cjs +17 -0
  567. package/dist/pattern/otherwise.d.ts +4 -0
  568. package/dist/pattern/otherwise.mjs +15 -0
  569. package/dist/pattern/result.cjs +13 -0
  570. package/dist/pattern/result.d.ts +7 -0
  571. package/dist/pattern/result.mjs +10 -0
  572. package/dist/pattern/types/complexMatchedValue/array.d.ts +40 -0
  573. package/dist/pattern/types/complexMatchedValue/index.d.ts +6 -0
  574. package/dist/pattern/types/complexMatchedValue/maybeAll.d.ts +3 -0
  575. package/dist/pattern/types/complexMatchedValue/object.d.ts +11 -0
  576. package/dist/pattern/types/complexMatchedValue/primitive.d.ts +9 -0
  577. package/dist/pattern/types/complexUnMatchedValue/array.d.ts +27 -0
  578. package/dist/pattern/types/complexUnMatchedValue/getIncompleteUnion.d.ts +66 -0
  579. package/dist/pattern/types/complexUnMatchedValue/index.d.ts +9 -0
  580. package/dist/pattern/types/complexUnMatchedValue/maybeAll.d.ts +3 -0
  581. package/dist/pattern/types/complexUnMatchedValue/object.d.ts +17 -0
  582. package/dist/pattern/types/complexUnMatchedValue/primitive.d.ts +8 -0
  583. package/dist/pattern/types/complexUnMatchedValue/unionObject.d.ts +3 -0
  584. package/dist/pattern/types/index.d.ts +3 -0
  585. package/dist/pattern/types/pattern.cjs +5 -0
  586. package/dist/pattern/types/pattern.d.ts +37 -0
  587. package/dist/pattern/types/pattern.mjs +3 -0
  588. package/dist/pattern/union.cjs +20 -0
  589. package/dist/pattern/union.d.ts +6 -0
  590. package/dist/pattern/union.mjs +18 -0
  591. package/dist/string/at/default.cjs +12 -0
  592. package/dist/string/at/default.d.ts +2 -0
  593. package/dist/string/at/default.mjs +10 -0
  594. package/dist/string/at/first.cjs +7 -0
  595. package/dist/string/at/first.d.ts +2 -0
  596. package/dist/string/at/first.mjs +5 -0
  597. package/dist/string/at/index.d.ts +3 -0
  598. package/dist/string/at/last.cjs +9 -0
  599. package/dist/string/at/last.d.ts +2 -0
  600. package/dist/string/at/last.mjs +7 -0
  601. package/dist/string/capitalize.cjs +7 -0
  602. package/dist/string/capitalize.d.ts +1 -0
  603. package/dist/string/capitalize.mjs +5 -0
  604. package/dist/string/charAt.cjs +12 -0
  605. package/dist/string/charAt.d.ts +2 -0
  606. package/dist/string/charAt.mjs +10 -0
  607. package/dist/string/concat.cjs +12 -0
  608. package/dist/string/concat.d.ts +2 -0
  609. package/dist/string/concat.mjs +10 -0
  610. package/dist/string/endsWith.cjs +12 -0
  611. package/dist/string/endsWith.d.ts +2 -0
  612. package/dist/string/endsWith.mjs +10 -0
  613. package/dist/string/includes.cjs +12 -0
  614. package/dist/string/includes.d.ts +2 -0
  615. package/dist/string/includes.mjs +10 -0
  616. package/dist/string/index.cjs +67 -0
  617. package/dist/string/index.d.ts +28 -0
  618. package/dist/string/index.mjs +31 -0
  619. package/dist/string/indexOf.cjs +13 -0
  620. package/dist/string/indexOf.d.ts +2 -0
  621. package/dist/string/indexOf.mjs +11 -0
  622. package/dist/string/isKeyof.cjs +12 -0
  623. package/dist/string/isKeyof.d.ts +3 -0
  624. package/dist/string/isKeyof.mjs +10 -0
  625. package/dist/string/lastIndexOf.cjs +13 -0
  626. package/dist/string/lastIndexOf.d.ts +2 -0
  627. package/dist/string/lastIndexOf.mjs +11 -0
  628. package/dist/string/match.cjs +13 -0
  629. package/dist/string/match.d.ts +2 -0
  630. package/dist/string/match.mjs +11 -0
  631. package/dist/string/matchAll.cjs +12 -0
  632. package/dist/string/matchAll.d.ts +2 -0
  633. package/dist/string/matchAll.mjs +10 -0
  634. package/dist/string/normalize.cjs +12 -0
  635. package/dist/string/normalize.d.ts +3 -0
  636. package/dist/string/normalize.mjs +10 -0
  637. package/dist/string/padEnd.cjs +12 -0
  638. package/dist/string/padEnd.d.ts +2 -0
  639. package/dist/string/padEnd.mjs +10 -0
  640. package/dist/string/padStart.cjs +12 -0
  641. package/dist/string/padStart.d.ts +2 -0
  642. package/dist/string/padStart.mjs +10 -0
  643. package/dist/string/repeat.cjs +15 -0
  644. package/dist/string/repeat.d.ts +2 -0
  645. package/dist/string/repeat.mjs +13 -0
  646. package/dist/string/replace.cjs +12 -0
  647. package/dist/string/replace.d.ts +2 -0
  648. package/dist/string/replace.mjs +10 -0
  649. package/dist/string/replaceAll.cjs +12 -0
  650. package/dist/string/replaceAll.d.ts +2 -0
  651. package/dist/string/replaceAll.mjs +10 -0
  652. package/dist/string/search.cjs +13 -0
  653. package/dist/string/search.d.ts +2 -0
  654. package/dist/string/search.mjs +11 -0
  655. package/dist/string/slice.cjs +12 -0
  656. package/dist/string/slice.d.ts +2 -0
  657. package/dist/string/slice.mjs +10 -0
  658. package/dist/string/split.cjs +12 -0
  659. package/dist/string/split.d.ts +7 -0
  660. package/dist/string/split.mjs +10 -0
  661. package/dist/string/startsWith.cjs +12 -0
  662. package/dist/string/startsWith.d.ts +2 -0
  663. package/dist/string/startsWith.mjs +10 -0
  664. package/dist/string/substring.cjs +12 -0
  665. package/dist/string/substring.d.ts +2 -0
  666. package/dist/string/substring.mjs +10 -0
  667. package/dist/string/test.cjs +12 -0
  668. package/dist/string/test.d.ts +2 -0
  669. package/dist/string/test.mjs +10 -0
  670. package/dist/string/toLowerCase.cjs +7 -0
  671. package/dist/string/toLowerCase.d.ts +1 -0
  672. package/dist/string/toLowerCase.mjs +5 -0
  673. package/dist/string/toUpperCase.cjs +7 -0
  674. package/dist/string/toUpperCase.d.ts +1 -0
  675. package/dist/string/toUpperCase.mjs +5 -0
  676. package/dist/string/trim/default.cjs +7 -0
  677. package/dist/string/trim/default.d.ts +1 -0
  678. package/dist/string/trim/default.mjs +5 -0
  679. package/dist/string/trim/end.cjs +7 -0
  680. package/dist/string/trim/end.d.ts +1 -0
  681. package/dist/string/trim/end.mjs +5 -0
  682. package/dist/string/trim/index.d.ts +3 -0
  683. package/dist/string/trim/start.cjs +7 -0
  684. package/dist/string/trim/start.d.ts +1 -0
  685. package/dist/string/trim/start.mjs +5 -0
  686. package/dist/string/types/endsWith.d.ts +1 -0
  687. package/dist/string/types/first.d.ts +2 -0
  688. package/dist/string/types/includes.d.ts +1 -0
  689. package/dist/string/types/index.d.ts +7 -0
  690. package/dist/string/types/last.d.ts +2 -0
  691. package/dist/string/types/normalizeForm.d.ts +1 -0
  692. package/dist/string/types/split.d.ts +6 -0
  693. package/dist/string/types/startsWith.d.ts +1 -0
  694. package/dist/string/uncapitalize.cjs +7 -0
  695. package/dist/string/uncapitalize.d.ts +1 -0
  696. package/dist/string/uncapitalize.mjs +5 -0
  697. package/package.json +21 -27
  698. package/dist/addThis.d.ts +0 -2
  699. package/dist/entryUseMapper.d.ts +0 -6
  700. package/dist/expectType.d.ts +0 -6
  701. package/dist/getLastOfUnion.d.ts +0 -2
  702. package/dist/getPropsWithTrueValue.d.ts +0 -3
  703. package/dist/getTypedEntries.d.ts +0 -6
  704. package/dist/getTypedKeys.d.ts +0 -1
  705. package/dist/hasKey.d.ts +0 -2
  706. package/dist/incremente.d.ts +0 -33
  707. package/dist/mergeObjects.d.ts +0 -4
  708. package/dist/overrideInterface.d.ts +0 -1
  709. package/dist/partialKeys.d.ts +0 -2
  710. package/dist/requiredKeys.d.ts +0 -2
  711. package/dist/simpleClone.d.ts +0 -1
  712. package/dist/simplifyType.d.ts +0 -9
  713. package/dist/sleep.d.ts +0 -1
  714. package/dist/types.d.ts +0 -4
  715. package/dist/unPartial.d.ts +0 -10
  716. package/dist/unionToIntersection.d.ts +0 -1
  717. package/dist/unionToTuple.d.ts +0 -4
  718. package/dist/uniqueGeneric.d.ts +0 -5
  719. /package/dist/{escapeRegExp.d.ts → common/escapeRegExp.d.ts} +0 -0
  720. /package/dist/{isEqual.d.ts → common/types/isEqual.d.ts} +0 -0
@@ -0,0 +1,3 @@
1
+ import { type EitherNullishEmpty, type NullishValue } from "./empty";
2
+ import { type EitherNullishFilled } from "./filled";
3
+ export declare function nullish<const GenericValue extends unknown = undefined>(value: GenericValue): GenericValue extends NullishValue ? EitherNullishEmpty<GenericValue> : EitherNullishFilled<GenericValue>;
@@ -0,0 +1,10 @@
1
+ import { nullishEmpty } from './empty.mjs';
2
+ import { nullishFilled } from './filled.mjs';
3
+
4
+ function nullish(value) {
5
+ return value === null || value === undefined
6
+ ? nullishEmpty(value)
7
+ : nullishFilled(value);
8
+ }
9
+
10
+ export { nullish };
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+ var unwrap = require('../../common/unwrap.cjs');
5
+ var create = require('../left/create.cjs');
6
+ var is = require('../left/is.cjs');
7
+ var is$1 = require('../right/is.cjs');
8
+ var create$1 = require('./create.cjs');
9
+ var base = require('./base.cjs');
10
+
11
+ const eitherNullishEmptyKind = kind.createKind("either-nullish-empty");
12
+ function nullishEmpty(value = undefined) {
13
+ return base.eitherNullishKind.addTo(eitherNullishEmptyKind.addTo(create.left("nullish", value)));
14
+ }
15
+ function isNullishEmpty(input) {
16
+ return is.isLeft(input)
17
+ && base.eitherNullishKind.has(input)
18
+ && eitherNullishEmptyKind.has(input);
19
+ }
20
+ function whenIsNullishEmpty(...args) {
21
+ if (args.length === 1) {
22
+ const [theFunction] = args;
23
+ return (input) => whenIsNullishEmpty(input, theFunction);
24
+ }
25
+ const [input, theFunction] = args;
26
+ if (is$1.isRight(input)) {
27
+ return input;
28
+ }
29
+ else if (!isNullishEmpty(input) && is.isLeft(input)) {
30
+ return input;
31
+ }
32
+ const either = is$1.isRight(input) || is.isLeft(input)
33
+ ? input
34
+ : create$1.nullish(input);
35
+ if (isNullishEmpty(either)) {
36
+ return theFunction(unwrap.unwrap(either));
37
+ }
38
+ return either;
39
+ }
40
+
41
+ exports.eitherNullishEmptyKind = eitherNullishEmptyKind;
42
+ exports.isNullishEmpty = isNullishEmpty;
43
+ exports.nullishEmpty = nullishEmpty;
44
+ exports.whenIsNullishEmpty = whenIsNullishEmpty;
@@ -0,0 +1,18 @@
1
+ import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
2
+ import { type EitherLeft } from "../left";
3
+ import { type EitherRight } from "../right";
4
+ import { nullish } from "./create";
5
+ import { type Kind } from "../../common/kind";
6
+ import { eitherNullishKind } from "./base";
7
+ export type NullishValue = null | undefined;
8
+ export declare const eitherNullishEmptyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-nullish-empty", unknown>>;
9
+ type _EitherNullishEmpty<GenericValue extends NullishValue = NullishValue> = (EitherLeft<"nullish", GenericValue> & Kind<typeof eitherNullishKind.definition> & Kind<typeof eitherNullishEmptyKind.definition>);
10
+ export interface EitherNullishEmpty<GenericValue extends NullishValue = NullishValue> extends _EitherNullishEmpty<GenericValue> {
11
+ }
12
+ export declare function nullishEmpty<const GenericValue extends NullishValue = undefined>(value?: GenericValue): EitherNullishEmpty<GenericValue>;
13
+ type Either = EitherRight | EitherLeft;
14
+ export declare function isNullishEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullishEmpty>;
15
+ type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof nullish<GenericValue>>;
16
+ export declare function whenIsNullishEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishEmpty>;
17
+ export declare function whenIsNullishEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishEmpty>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishEmpty>;
18
+ export {};
@@ -0,0 +1,39 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+ import { unwrap } from '../../common/unwrap.mjs';
3
+ import { left } from '../left/create.mjs';
4
+ import { isLeft } from '../left/is.mjs';
5
+ import { isRight } from '../right/is.mjs';
6
+ import { nullish } from './create.mjs';
7
+ import { eitherNullishKind } from './base.mjs';
8
+
9
+ const eitherNullishEmptyKind = createKind("either-nullish-empty");
10
+ function nullishEmpty(value = undefined) {
11
+ return eitherNullishKind.addTo(eitherNullishEmptyKind.addTo(left("nullish", value)));
12
+ }
13
+ function isNullishEmpty(input) {
14
+ return isLeft(input)
15
+ && eitherNullishKind.has(input)
16
+ && eitherNullishEmptyKind.has(input);
17
+ }
18
+ function whenIsNullishEmpty(...args) {
19
+ if (args.length === 1) {
20
+ const [theFunction] = args;
21
+ return (input) => whenIsNullishEmpty(input, theFunction);
22
+ }
23
+ const [input, theFunction] = args;
24
+ if (isRight(input)) {
25
+ return input;
26
+ }
27
+ else if (!isNullishEmpty(input) && isLeft(input)) {
28
+ return input;
29
+ }
30
+ const either = isRight(input) || isLeft(input)
31
+ ? input
32
+ : nullish(input);
33
+ if (isNullishEmpty(either)) {
34
+ return theFunction(unwrap(either));
35
+ }
36
+ return either;
37
+ }
38
+
39
+ export { eitherNullishEmptyKind, isNullishEmpty, nullishEmpty, whenIsNullishEmpty };
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+ var unwrap = require('../../common/unwrap.cjs');
5
+ var is$1 = require('../left/is.cjs');
6
+ var create = require('../right/create.cjs');
7
+ var is = require('../right/is.cjs');
8
+ var create$1 = require('./create.cjs');
9
+ var base = require('./base.cjs');
10
+
11
+ const eitherNullishFilledKind = kind.createKind("either-nullish-filled");
12
+ function nullishFilled(value) {
13
+ return base.eitherNullishKind.addTo(eitherNullishFilledKind.addTo(create.right("nullish", value)));
14
+ }
15
+ function isNullishFilled(input) {
16
+ return is.isRight(input)
17
+ && base.eitherNullishKind.has(input)
18
+ && base.eitherNullishKind.has(input);
19
+ }
20
+ function whenIsNullishFilled(...args) {
21
+ if (args.length === 1) {
22
+ const [theFunction] = args;
23
+ return (input) => whenIsNullishFilled(input, theFunction);
24
+ }
25
+ const [input, theFunction] = args;
26
+ if (is$1.isLeft(input)) {
27
+ return input;
28
+ }
29
+ else if (!isNullishFilled(input) && is.isRight(input)) {
30
+ return input;
31
+ }
32
+ const either = is.isRight(input) || is$1.isLeft(input)
33
+ ? input
34
+ : create$1.nullish(input);
35
+ if (isNullishFilled(either)) {
36
+ return theFunction(unwrap.unwrap(either));
37
+ }
38
+ return either;
39
+ }
40
+
41
+ exports.eitherNullishFilledKind = eitherNullishFilledKind;
42
+ exports.isNullishFilled = isNullishFilled;
43
+ exports.nullishFilled = nullishFilled;
44
+ exports.whenIsNullishFilled = whenIsNullishFilled;
@@ -0,0 +1,17 @@
1
+ import { type EitherRight } from "../right";
2
+ import { type EitherLeft } from "../left";
3
+ import { nullish } from "./create";
4
+ import { type Kind } from "../../common/kind";
5
+ import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
6
+ import { eitherNullishKind } from "./base";
7
+ export declare const eitherNullishFilledKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-nullish-filled", unknown>>;
8
+ type _EitherNullishFilled<GenericValue extends unknown = unknown> = (EitherRight<"nullish", GenericValue> & Kind<typeof eitherNullishKind.definition> & Kind<typeof eitherNullishFilledKind.definition>);
9
+ export interface EitherNullishFilled<GenericValue extends unknown = unknown> extends _EitherNullishFilled<GenericValue> {
10
+ }
11
+ export declare function nullishFilled<const GenericValue extends unknown>(value: GenericValue): EitherNullishFilled<GenericValue>;
12
+ type Either = EitherRight | EitherLeft;
13
+ export declare function isNullishFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullishFilled>;
14
+ type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof nullish<GenericValue>>;
15
+ export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishFilled>;
16
+ export declare function whenIsNullishFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherNullishFilled>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherNullishFilled>;
17
+ export {};
@@ -0,0 +1,39 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+ import { unwrap } from '../../common/unwrap.mjs';
3
+ import { isLeft } from '../left/is.mjs';
4
+ import { right } from '../right/create.mjs';
5
+ import { isRight } from '../right/is.mjs';
6
+ import { nullish } from './create.mjs';
7
+ import { eitherNullishKind } from './base.mjs';
8
+
9
+ const eitherNullishFilledKind = createKind("either-nullish-filled");
10
+ function nullishFilled(value) {
11
+ return eitherNullishKind.addTo(eitherNullishFilledKind.addTo(right("nullish", value)));
12
+ }
13
+ function isNullishFilled(input) {
14
+ return isRight(input)
15
+ && eitherNullishKind.has(input)
16
+ && eitherNullishKind.has(input);
17
+ }
18
+ function whenIsNullishFilled(...args) {
19
+ if (args.length === 1) {
20
+ const [theFunction] = args;
21
+ return (input) => whenIsNullishFilled(input, theFunction);
22
+ }
23
+ const [input, theFunction] = args;
24
+ if (isLeft(input)) {
25
+ return input;
26
+ }
27
+ else if (!isNullishFilled(input) && isRight(input)) {
28
+ return input;
29
+ }
30
+ const either = isRight(input) || isLeft(input)
31
+ ? input
32
+ : nullish(input);
33
+ if (isNullishFilled(either)) {
34
+ return theFunction(unwrap(either));
35
+ }
36
+ return either;
37
+ }
38
+
39
+ export { eitherNullishFilledKind, isNullishFilled, nullishFilled, whenIsNullishFilled };
@@ -0,0 +1,4 @@
1
+ export * from "./create";
2
+ export * from "./empty";
3
+ export * from "./filled";
4
+ export * from "./base";
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+
5
+ const eitherOptionalKind = kind.createKind("either-optional");
6
+
7
+ exports.eitherOptionalKind = eitherOptionalKind;
@@ -0,0 +1 @@
1
+ export declare const eitherOptionalKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-optional", unknown>>;
@@ -0,0 +1,5 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+
3
+ const eitherOptionalKind = createKind("either-optional");
4
+
5
+ export { eitherOptionalKind };
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var empty = require('./empty.cjs');
4
+ var filled = require('./filled.cjs');
5
+
6
+ function optional(value) {
7
+ return value === undefined
8
+ ? empty.optionalEmpty()
9
+ : filled.optionalFilled(value);
10
+ }
11
+
12
+ exports.optional = optional;
@@ -0,0 +1,3 @@
1
+ import { type EitherOptionalEmpty } from "./empty";
2
+ import { type EitherOptionalFilled } from "./filled";
3
+ export declare function optional<const GenericValue extends unknown = undefined>(value: GenericValue): GenericValue extends undefined ? EitherOptionalEmpty : EitherOptionalFilled<GenericValue>;
@@ -0,0 +1,10 @@
1
+ import { optionalEmpty } from './empty.mjs';
2
+ import { optionalFilled } from './filled.mjs';
3
+
4
+ function optional(value) {
5
+ return value === undefined
6
+ ? optionalEmpty()
7
+ : optionalFilled(value);
8
+ }
9
+
10
+ export { optional };
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+ var create = require('../left/create.cjs');
5
+ var is = require('../left/is.cjs');
6
+ var is$1 = require('../right/is.cjs');
7
+ var create$1 = require('./create.cjs');
8
+ var base = require('./base.cjs');
9
+
10
+ const eitherOptionalEmptyKind = kind.createKind("either-optional-empty");
11
+ function optionalEmpty() {
12
+ return base.eitherOptionalKind.addTo(eitherOptionalEmptyKind.addTo(create.left("optional", undefined)));
13
+ }
14
+ function isOptionalEmpty(input) {
15
+ return is.isLeft(input)
16
+ && base.eitherOptionalKind.has(input)
17
+ && eitherOptionalEmptyKind.has(input);
18
+ }
19
+ function whenIsOptionalEmpty(...args) {
20
+ if (args.length === 1) {
21
+ const [theFunction] = args;
22
+ return (input) => whenIsOptionalEmpty(input, theFunction);
23
+ }
24
+ const [input, theFunction] = args;
25
+ if (is$1.isRight(input)) {
26
+ return input;
27
+ }
28
+ else if (!isOptionalEmpty(input) && is.isLeft(input)) {
29
+ return input;
30
+ }
31
+ const either = is$1.isRight(input) || is.isLeft(input)
32
+ ? input
33
+ : create$1.optional(input);
34
+ if (isOptionalEmpty(either)) {
35
+ return theFunction(undefined);
36
+ }
37
+ return either;
38
+ }
39
+
40
+ exports.eitherOptionalEmptyKind = eitherOptionalEmptyKind;
41
+ exports.isOptionalEmpty = isOptionalEmpty;
42
+ exports.optionalEmpty = optionalEmpty;
43
+ exports.whenIsOptionalEmpty = whenIsOptionalEmpty;
@@ -0,0 +1,17 @@
1
+ import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
2
+ import { type Kind } from "../../common/kind";
3
+ import { type EitherLeft } from "../left";
4
+ import { type EitherRight } from "../right";
5
+ import { optional } from "./create";
6
+ import { eitherOptionalKind } from "./base";
7
+ export declare const eitherOptionalEmptyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-optional-empty", unknown>>;
8
+ type _EitherOptionalEmpty = (EitherLeft<"optional", undefined> & Kind<typeof eitherOptionalKind.definition> & Kind<typeof eitherOptionalEmptyKind.definition>);
9
+ export interface EitherOptionalEmpty extends _EitherOptionalEmpty {
10
+ }
11
+ type Either = EitherRight | EitherLeft;
12
+ export declare function optionalEmpty(): EitherOptionalEmpty;
13
+ export declare function isOptionalEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalEmpty>;
14
+ type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
15
+ export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalEmpty>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalEmpty>;
16
+ export declare function whenIsOptionalEmpty<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalEmpty>>) => GenericOutput): GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalEmpty>;
17
+ export {};
@@ -0,0 +1,38 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+ import { left } from '../left/create.mjs';
3
+ import { isLeft } from '../left/is.mjs';
4
+ import { isRight } from '../right/is.mjs';
5
+ import { optional } from './create.mjs';
6
+ import { eitherOptionalKind } from './base.mjs';
7
+
8
+ const eitherOptionalEmptyKind = createKind("either-optional-empty");
9
+ function optionalEmpty() {
10
+ return eitherOptionalKind.addTo(eitherOptionalEmptyKind.addTo(left("optional", undefined)));
11
+ }
12
+ function isOptionalEmpty(input) {
13
+ return isLeft(input)
14
+ && eitherOptionalKind.has(input)
15
+ && eitherOptionalEmptyKind.has(input);
16
+ }
17
+ function whenIsOptionalEmpty(...args) {
18
+ if (args.length === 1) {
19
+ const [theFunction] = args;
20
+ return (input) => whenIsOptionalEmpty(input, theFunction);
21
+ }
22
+ const [input, theFunction] = args;
23
+ if (isRight(input)) {
24
+ return input;
25
+ }
26
+ else if (!isOptionalEmpty(input) && isLeft(input)) {
27
+ return input;
28
+ }
29
+ const either = isRight(input) || isLeft(input)
30
+ ? input
31
+ : optional(input);
32
+ if (isOptionalEmpty(either)) {
33
+ return theFunction(undefined);
34
+ }
35
+ return either;
36
+ }
37
+
38
+ export { eitherOptionalEmptyKind, isOptionalEmpty, optionalEmpty, whenIsOptionalEmpty };
@@ -0,0 +1,44 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+ var unwrap = require('../../common/unwrap.cjs');
5
+ var is$1 = require('../left/is.cjs');
6
+ var create = require('../right/create.cjs');
7
+ var is = require('../right/is.cjs');
8
+ var create$1 = require('./create.cjs');
9
+ var base = require('./base.cjs');
10
+
11
+ const eitherOptionalFilledKind = kind.createKind("either-optional-filled");
12
+ function optionalFilled(value) {
13
+ return base.eitherOptionalKind.addTo(eitherOptionalFilledKind.addTo(create.right("optional", value)));
14
+ }
15
+ function isOptionalFilled(input) {
16
+ return is.isRight(input)
17
+ && base.eitherOptionalKind.has(input)
18
+ && eitherOptionalFilledKind.has(input);
19
+ }
20
+ function whenIsOptionalFilled(...args) {
21
+ if (args.length === 1) {
22
+ const [theFunction] = args;
23
+ return (input) => whenIsOptionalFilled(input, theFunction);
24
+ }
25
+ const [input, theFunction] = args;
26
+ if (is$1.isLeft(input)) {
27
+ return input;
28
+ }
29
+ else if (!isOptionalFilled(input) && is.isRight(input)) {
30
+ return input;
31
+ }
32
+ const either = is.isRight(input) || is$1.isLeft(input)
33
+ ? input
34
+ : create$1.optional(input);
35
+ if (isOptionalFilled(either)) {
36
+ return theFunction(unwrap.unwrap(either));
37
+ }
38
+ return either;
39
+ }
40
+
41
+ exports.eitherOptionalFilledKind = eitherOptionalFilledKind;
42
+ exports.isOptionalFilled = isOptionalFilled;
43
+ exports.optionalFilled = optionalFilled;
44
+ exports.whenIsOptionalFilled = whenIsOptionalFilled;
@@ -0,0 +1,17 @@
1
+ import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
2
+ import { type Kind } from "../../common/kind";
3
+ import { type EitherLeft } from "../left";
4
+ import { type EitherRight } from "../right";
5
+ import { optional } from "./create";
6
+ import { eitherOptionalKind } from "./base";
7
+ export declare const eitherOptionalFilledKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-optional-filled", unknown>>;
8
+ type _EitherOptionalFilled<GenericValue extends unknown = unknown> = (EitherRight<"optional", GenericValue> & Kind<typeof eitherOptionalKind.definition> & Kind<typeof eitherOptionalFilledKind.definition>);
9
+ export interface EitherOptionalFilled<GenericValue extends unknown = unknown> extends _EitherOptionalFilled<GenericValue> {
10
+ }
11
+ type Either = EitherRight | EitherLeft;
12
+ export declare function optionalFilled<const GenericValue extends unknown>(value: GenericValue): EitherOptionalFilled<GenericValue>;
13
+ export declare function isOptionalFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalFilled>;
14
+ type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
15
+ export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalFilled>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalFilled>;
16
+ export declare function whenIsOptionalFilled<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToOptionalEither<GenericInput>, EitherOptionalFilled>>) => GenericOutput): GenericOutput | Exclude<ToOptionalEither<GenericInput>, EitherOptionalFilled>;
17
+ export {};
@@ -0,0 +1,39 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+ import { unwrap } from '../../common/unwrap.mjs';
3
+ import { isLeft } from '../left/is.mjs';
4
+ import { right } from '../right/create.mjs';
5
+ import { isRight } from '../right/is.mjs';
6
+ import { optional } from './create.mjs';
7
+ import { eitherOptionalKind } from './base.mjs';
8
+
9
+ const eitherOptionalFilledKind = createKind("either-optional-filled");
10
+ function optionalFilled(value) {
11
+ return eitherOptionalKind.addTo(eitherOptionalFilledKind.addTo(right("optional", value)));
12
+ }
13
+ function isOptionalFilled(input) {
14
+ return isRight(input)
15
+ && eitherOptionalKind.has(input)
16
+ && eitherOptionalFilledKind.has(input);
17
+ }
18
+ function whenIsOptionalFilled(...args) {
19
+ if (args.length === 1) {
20
+ const [theFunction] = args;
21
+ return (input) => whenIsOptionalFilled(input, theFunction);
22
+ }
23
+ const [input, theFunction] = args;
24
+ if (isLeft(input)) {
25
+ return input;
26
+ }
27
+ else if (!isOptionalFilled(input) && isRight(input)) {
28
+ return input;
29
+ }
30
+ const either = isRight(input) || isLeft(input)
31
+ ? input
32
+ : optional(input);
33
+ if (isOptionalFilled(either)) {
34
+ return theFunction(unwrap(either));
35
+ }
36
+ return either;
37
+ }
38
+
39
+ export { eitherOptionalFilledKind, isOptionalFilled, optionalFilled, whenIsOptionalFilled };
@@ -0,0 +1,4 @@
1
+ export * from "./create";
2
+ export * from "./empty";
3
+ export * from "./filled";
4
+ export * from "./base";
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var unwrap = require('../../common/unwrap.cjs');
4
+ var is = require('../left/is.cjs');
5
+ var create = require('../future/create.cjs');
6
+ var success = require('./success.cjs');
7
+ var is$1 = require('./is.cjs');
8
+
9
+ function rightAsyncPipe(input, ...pipes) {
10
+ return create.future((async () => {
11
+ const awaitedInput = await input;
12
+ if (is.isLeft(awaitedInput)) {
13
+ return awaitedInput;
14
+ }
15
+ let acc = is$1.isRight(awaitedInput)
16
+ ? awaitedInput
17
+ : success.success(awaitedInput);
18
+ for (const pipe of pipes) {
19
+ acc = await pipe(unwrap.unwrap(acc));
20
+ if (is.isLeft(acc)) {
21
+ return acc;
22
+ }
23
+ }
24
+ return acc;
25
+ })());
26
+ }
27
+
28
+ exports.rightAsyncPipe = rightAsyncPipe;
@@ -0,0 +1,22 @@
1
+ import { type EitherRight } from "./create";
2
+ import { type EitherLeft } from "../left";
3
+ import { type MaybeFutureEither } from "../future/maybeFutureEither";
4
+ import { type Future } from "../future";
5
+ import { type EitherSuccess } from "./success";
6
+ import { type Unwrap, type AnyValue } from "../../common";
7
+ type Either = EitherRight | EitherLeft;
8
+ type EitherOrFutureEither = Either | Future<any>;
9
+ export type EitherRightAsyncPipeFunction<GenericInput extends Either = Either, GenericOutput extends EitherOrFutureEither = EitherOrFutureEither> = (input: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput;
10
+ export type EitherRightAsyncPipeResult<GenericInput extends EitherOrFutureEither, GenericOutputPipes extends EitherOrFutureEither, GenericLastPipe extends EitherOrFutureEither> = Extract<GenericInput | GenericOutputPipes, EitherLeft> | Extract<GenericLastPipe, EitherRight>;
11
+ type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : EitherSuccess<GenericValue>;
12
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1, GenericOutputPipe1>, any>>;
13
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2, GenericOutputPipe2>, any>>;
14
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3, GenericOutputPipe3>, any>>;
15
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4, GenericOutputPipe4>, any>>;
16
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither, GenericOutputPipe5 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe4>, GenericOutputPipe5>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5, GenericOutputPipe5>, any>>;
17
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither, GenericOutputPipe5 extends EitherOrFutureEither, GenericOutputPipe6 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe4>, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe5>, GenericOutputPipe6>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6, GenericOutputPipe6>, any>>;
18
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither, GenericOutputPipe5 extends EitherOrFutureEither, GenericOutputPipe6 extends EitherOrFutureEither, GenericOutputPipe7 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe4>, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe5>, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe6>, GenericOutputPipe7>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7, GenericOutputPipe7>, any>>;
19
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither, GenericOutputPipe5 extends EitherOrFutureEither, GenericOutputPipe6 extends EitherOrFutureEither, GenericOutputPipe7 extends EitherOrFutureEither, GenericOutputPipe8 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe4>, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe5>, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe6>, GenericOutputPipe7>, pipe8: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe7>, GenericOutputPipe8>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8, GenericOutputPipe8>, any>>;
20
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither, GenericOutputPipe5 extends EitherOrFutureEither, GenericOutputPipe6 extends EitherOrFutureEither, GenericOutputPipe7 extends EitherOrFutureEither, GenericOutputPipe8 extends EitherOrFutureEither, GenericOutputPipe9 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe4>, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe5>, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe6>, GenericOutputPipe7>, pipe8: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe7>, GenericOutputPipe8>, pipe9: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe8>, GenericOutputPipe9>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9, GenericOutputPipe9>, any>>;
21
+ export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends EitherOrFutureEither, GenericOutputPipe2 extends EitherOrFutureEither, GenericOutputPipe3 extends EitherOrFutureEither, GenericOutputPipe4 extends EitherOrFutureEither, GenericOutputPipe5 extends EitherOrFutureEither, GenericOutputPipe6 extends EitherOrFutureEither, GenericOutputPipe7 extends EitherOrFutureEither, GenericOutputPipe8 extends EitherOrFutureEither, GenericOutputPipe9 extends EitherOrFutureEither, GenericOutputPipe10 extends EitherOrFutureEither>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<ToEither<Awaited<GenericInput>>, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe1>, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe2>, GenericOutputPipe3>, pipe4: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe3>, GenericOutputPipe4>, pipe5: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe4>, GenericOutputPipe5>, pipe6: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe5>, GenericOutputPipe6>, pipe7: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe6>, GenericOutputPipe7>, pipe8: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe7>, GenericOutputPipe8>, pipe9: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe8>, GenericOutputPipe9>, pipe10: EitherRightAsyncPipeFunction<Awaited<GenericOutputPipe9>, GenericOutputPipe10>): Future<Extract<EitherRightAsyncPipeResult<ToEither<Awaited<GenericInput>>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9 | GenericOutputPipe10, GenericOutputPipe10>, any>>;
22
+ export {};
@@ -0,0 +1,26 @@
1
+ import { unwrap } from '../../common/unwrap.mjs';
2
+ import { isLeft } from '../left/is.mjs';
3
+ import { future } from '../future/create.mjs';
4
+ import { success } from './success.mjs';
5
+ import { isRight } from './is.mjs';
6
+
7
+ function rightAsyncPipe(input, ...pipes) {
8
+ return future((async () => {
9
+ const awaitedInput = await input;
10
+ if (isLeft(awaitedInput)) {
11
+ return awaitedInput;
12
+ }
13
+ let acc = isRight(awaitedInput)
14
+ ? awaitedInput
15
+ : success(awaitedInput);
16
+ for (const pipe of pipes) {
17
+ acc = await pipe(unwrap(acc));
18
+ if (isLeft(acc)) {
19
+ return acc;
20
+ }
21
+ }
22
+ return acc;
23
+ })());
24
+ }
25
+
26
+ export { rightAsyncPipe };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+ var wrapValue = require('../../common/wrapValue.cjs');
5
+ var base = require('../base.cjs');
6
+
7
+ const eitherRightKind = kind.createKind("either-right");
8
+ function right(information, value = undefined) {
9
+ return eitherRightKind.addTo(base.eitherInformationKind.addTo(wrapValue.wrapValue(value), information));
10
+ }
11
+
12
+ exports.eitherRightKind = eitherRightKind;
13
+ exports.right = right;
@@ -0,0 +1,9 @@
1
+ import { type Kind } from "../../common/kind";
2
+ import { type WrappedValue } from "../../common/wrapValue";
3
+ import { eitherInformationKind } from "../base";
4
+ export declare const eitherRightKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-right", unknown>>;
5
+ type _EitherRight<GenericInformation extends string = string, GenericValue extends unknown = unknown> = (Kind<typeof eitherRightKind.definition> & Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue<GenericValue>);
6
+ export interface EitherRight<GenericInformation extends string = string, GenericValue extends unknown = unknown> extends _EitherRight<GenericInformation, GenericValue> {
7
+ }
8
+ export declare function right<GenericInformation extends string, const GenericValue extends unknown = undefined>(information: GenericInformation, value?: GenericValue): EitherRight<GenericInformation, GenericValue>;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+ import { wrapValue } from '../../common/wrapValue.mjs';
3
+ import { eitherInformationKind } from '../base.mjs';
4
+
5
+ const eitherRightKind = createKind("either-right");
6
+ function right(information, value = undefined) {
7
+ return eitherRightKind.addTo(eitherInformationKind.addTo(wrapValue(value), information));
8
+ }
9
+
10
+ export { eitherRightKind, right };
@@ -0,0 +1,7 @@
1
+ export * from "./asyncPipe";
2
+ export * from "./create";
3
+ export * from "./is";
4
+ export * from "./ok";
5
+ export * from "./pipe";
6
+ export * from "./success";
7
+ export * from "./when";