@duplojs/utils 0.3.0 → 1.0.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 (716) 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 +3 -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/excludeTuple.d.ts +29 -0
  152. package/dist/array/types/extractTuple.d.ts +38 -0
  153. package/dist/array/types/index.d.ts +7 -0
  154. package/dist/array/types/mergeUnionTuple.d.ts +7 -0
  155. package/dist/array/types/popTuple.d.ts +2 -0
  156. package/dist/array/types/reverseTuple.d.ts +2 -0
  157. package/dist/array/types/shiftTuple.d.ts +2 -0
  158. package/dist/array/types/tupleHasSpread.d.ts +2 -0
  159. package/dist/array/unshift.cjs +12 -0
  160. package/dist/array/unshift.d.ts +2 -0
  161. package/dist/array/unshift.mjs +10 -0
  162. package/dist/common/addWrappedProperties.cjs +13 -0
  163. package/dist/common/addWrappedProperties.d.ts +4 -0
  164. package/dist/common/addWrappedProperties.mjs +11 -0
  165. package/dist/common/asyncInnerPipe.cjs +14 -0
  166. package/dist/common/asyncInnerPipe.d.ts +15 -0
  167. package/dist/common/asyncInnerPipe.mjs +12 -0
  168. package/dist/common/asyncLoop.cjs +19 -0
  169. package/dist/common/asyncLoop.d.ts +10 -0
  170. package/dist/common/asyncLoop.mjs +17 -0
  171. package/dist/common/asyncPipe.cjs +11 -0
  172. package/dist/common/asyncPipe.d.ts +16 -0
  173. package/dist/common/asyncPipe.mjs +9 -0
  174. package/dist/common/asyncRetry.cjs +25 -0
  175. package/dist/common/asyncRetry.d.ts +8 -0
  176. package/dist/common/asyncRetry.mjs +22 -0
  177. package/dist/common/clone.cjs +24 -0
  178. package/dist/{clone.d.ts → common/clone.d.ts} +1 -1
  179. package/dist/common/clone.mjs +22 -0
  180. package/dist/common/enum.cjs +11 -0
  181. package/dist/common/enum.d.ts +9 -0
  182. package/dist/common/enum.mjs +9 -0
  183. package/dist/common/escapeRegExp.cjs +7 -0
  184. package/dist/common/escapeRegExp.mjs +5 -0
  185. package/dist/common/externalPromise.cjs +17 -0
  186. package/dist/common/externalPromise.d.ts +5 -0
  187. package/dist/common/externalPromise.mjs +15 -0
  188. package/dist/common/forward.cjs +7 -0
  189. package/dist/common/forward.d.ts +1 -0
  190. package/dist/common/forward.mjs +5 -0
  191. package/dist/common/index.d.ts +27 -0
  192. package/dist/common/innerPipe.cjs +13 -0
  193. package/dist/common/innerPipe.d.ts +12 -0
  194. package/dist/common/innerPipe.mjs +11 -0
  195. package/dist/common/interpolation.cjs +9 -0
  196. package/dist/{interpolation.d.ts → common/interpolation.d.ts} +3 -3
  197. package/dist/common/interpolation.mjs +7 -0
  198. package/dist/common/kind.cjs +29 -0
  199. package/dist/common/kind.d.ts +26 -0
  200. package/dist/common/kind.mjs +26 -0
  201. package/dist/common/loop.cjs +19 -0
  202. package/dist/common/loop.d.ts +15 -0
  203. package/dist/common/loop.mjs +17 -0
  204. package/dist/common/pipe.cjs +11 -0
  205. package/dist/common/pipe.d.ts +12 -0
  206. package/dist/common/pipe.mjs +9 -0
  207. package/dist/common/promiseObject.cjs +12 -0
  208. package/dist/common/promiseObject.d.ts +7 -0
  209. package/dist/common/promiseObject.mjs +10 -0
  210. package/dist/common/simpleClone.cjs +25 -0
  211. package/dist/common/simpleClone.d.ts +1 -0
  212. package/dist/common/simpleClone.mjs +23 -0
  213. package/dist/common/sleep.cjs +7 -0
  214. package/dist/common/sleep.d.ts +1 -0
  215. package/dist/common/sleep.mjs +5 -0
  216. package/dist/common/stringToBytes.cjs +43 -0
  217. package/dist/{stringToBytes.d.ts → common/stringToBytes.d.ts} +3 -0
  218. package/dist/common/stringToBytes.mjs +40 -0
  219. package/dist/common/stringToMillisecond.cjs +48 -0
  220. package/dist/common/stringToMillisecond.d.ts +18 -0
  221. package/dist/common/stringToMillisecond.mjs +45 -0
  222. package/dist/common/toJson.cjs +34 -0
  223. package/dist/common/toJson.d.ts +11 -0
  224. package/dist/common/toJson.mjs +32 -0
  225. package/dist/common/toString.cjs +7 -0
  226. package/dist/common/toString.d.ts +1 -0
  227. package/dist/common/toString.mjs +5 -0
  228. package/dist/common/toTransform.cjs +34 -0
  229. package/dist/common/toTransform.d.ts +11 -0
  230. package/dist/common/toTransform.mjs +32 -0
  231. package/dist/common/toWrappedValue.cjs +11 -0
  232. package/dist/common/toWrappedValue.d.ts +4 -0
  233. package/dist/common/toWrappedValue.mjs +9 -0
  234. package/dist/common/types/IsExtends.d.ts +1 -0
  235. package/dist/common/types/adaptor.d.ts +1 -0
  236. package/dist/common/types/addOne.d.ts +23 -0
  237. package/dist/common/types/and.d.ts +2 -0
  238. package/dist/common/types/anyFunction.d.ts +1 -0
  239. package/dist/common/types/anyObject.d.ts +4 -0
  240. package/dist/common/types/anyTuple.d.ts +1 -0
  241. package/dist/common/types/anyValue.d.ts +2 -0
  242. package/dist/common/types/breakGenericLink.d.ts +1 -0
  243. package/dist/common/types/createTupleFromLength.d.ts +6 -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 +3 -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.d.ts +5 -0
  276. package/dist/common/whenNot.d.ts +5 -0
  277. package/dist/common/wrapValue.cjs +15 -0
  278. package/dist/common/wrapValue.d.ts +9 -0
  279. package/dist/common/wrapValue.mjs +11 -0
  280. package/dist/either/base.cjs +7 -0
  281. package/dist/either/base.d.ts +1 -0
  282. package/dist/either/base.mjs +5 -0
  283. package/dist/either/bool/base.cjs +7 -0
  284. package/dist/either/bool/base.d.ts +1 -0
  285. package/dist/either/bool/base.mjs +5 -0
  286. package/dist/either/bool/create.cjs +16 -0
  287. package/dist/either/bool/create.d.ts +4 -0
  288. package/dist/either/bool/create.mjs +14 -0
  289. package/dist/either/bool/falsy.cjs +44 -0
  290. package/dist/either/bool/falsy.d.ts +16 -0
  291. package/dist/either/bool/falsy.mjs +39 -0
  292. package/dist/either/bool/index.d.ts +4 -0
  293. package/dist/either/bool/truthy.cjs +44 -0
  294. package/dist/either/bool/truthy.d.ts +15 -0
  295. package/dist/either/bool/truthy.mjs +39 -0
  296. package/dist/either/future/MaybeFutureEither.d.ts +2 -0
  297. package/dist/either/future/base.cjs +7 -0
  298. package/dist/either/future/base.d.ts +1 -0
  299. package/dist/either/future/base.mjs +5 -0
  300. package/dist/either/future/create.cjs +49 -0
  301. package/dist/either/future/create.d.ts +25 -0
  302. package/dist/either/future/create.mjs +46 -0
  303. package/dist/either/future/error.cjs +13 -0
  304. package/dist/either/future/error.d.ts +6 -0
  305. package/dist/either/future/error.mjs +10 -0
  306. package/dist/either/future/index.d.ts +4 -0
  307. package/dist/either/future/success.cjs +13 -0
  308. package/dist/either/future/success.d.ts +6 -0
  309. package/dist/either/future/success.mjs +10 -0
  310. package/dist/either/hasInformation.cjs +10 -0
  311. package/dist/either/hasInformation.d.ts +7 -0
  312. package/dist/either/hasInformation.mjs +8 -0
  313. package/dist/either/index.cjs +108 -0
  314. package/dist/either/index.d.ts +10 -0
  315. package/dist/either/index.mjs +35 -0
  316. package/dist/either/left/create.cjs +13 -0
  317. package/dist/either/left/create.d.ts +6 -0
  318. package/dist/either/left/create.mjs +10 -0
  319. package/dist/either/left/error.cjs +12 -0
  320. package/dist/either/left/error.d.ts +5 -0
  321. package/dist/either/left/error.mjs +9 -0
  322. package/dist/either/left/fail.cjs +12 -0
  323. package/dist/either/left/fail.d.ts +5 -0
  324. package/dist/either/left/fail.mjs +9 -0
  325. package/dist/either/left/index.d.ts +5 -0
  326. package/dist/either/left/is.cjs +13 -0
  327. package/dist/either/left/is.d.ts +2 -0
  328. package/dist/either/left/is.mjs +11 -0
  329. package/dist/either/left/when.cjs +18 -0
  330. package/dist/either/left/when.d.ts +4 -0
  331. package/dist/either/left/when.mjs +16 -0
  332. package/dist/either/nullable/base.cjs +7 -0
  333. package/dist/either/nullable/base.d.ts +1 -0
  334. package/dist/either/nullable/base.mjs +5 -0
  335. package/dist/either/nullable/create.cjs +12 -0
  336. package/dist/either/nullable/create.d.ts +3 -0
  337. package/dist/either/nullable/create.mjs +10 -0
  338. package/dist/either/nullable/empty.cjs +44 -0
  339. package/dist/either/nullable/empty.d.ts +15 -0
  340. package/dist/either/nullable/empty.mjs +39 -0
  341. package/dist/either/nullable/filled.cjs +44 -0
  342. package/dist/either/nullable/filled.d.ts +15 -0
  343. package/dist/either/nullable/filled.mjs +39 -0
  344. package/dist/either/nullable/index.d.ts +4 -0
  345. package/dist/either/nullish/base.cjs +7 -0
  346. package/dist/either/nullish/base.d.ts +1 -0
  347. package/dist/either/nullish/base.mjs +5 -0
  348. package/dist/either/nullish/create.cjs +12 -0
  349. package/dist/either/nullish/create.d.ts +3 -0
  350. package/dist/either/nullish/create.mjs +10 -0
  351. package/dist/either/nullish/empty.cjs +44 -0
  352. package/dist/either/nullish/empty.d.ts +16 -0
  353. package/dist/either/nullish/empty.mjs +39 -0
  354. package/dist/either/nullish/filled.cjs +44 -0
  355. package/dist/either/nullish/filled.d.ts +15 -0
  356. package/dist/either/nullish/filled.mjs +39 -0
  357. package/dist/either/nullish/index.d.ts +4 -0
  358. package/dist/either/optional/base.cjs +7 -0
  359. package/dist/either/optional/base.d.ts +1 -0
  360. package/dist/either/optional/base.mjs +5 -0
  361. package/dist/either/optional/create.cjs +12 -0
  362. package/dist/either/optional/create.d.ts +3 -0
  363. package/dist/either/optional/create.mjs +10 -0
  364. package/dist/either/optional/empty.cjs +43 -0
  365. package/dist/either/optional/empty.d.ts +15 -0
  366. package/dist/either/optional/empty.mjs +38 -0
  367. package/dist/either/optional/filled.cjs +44 -0
  368. package/dist/either/optional/filled.d.ts +15 -0
  369. package/dist/either/optional/filled.mjs +39 -0
  370. package/dist/either/optional/index.d.ts +4 -0
  371. package/dist/either/right/asyncPipe.cjs +28 -0
  372. package/dist/either/right/asyncPipe.d.ts +22 -0
  373. package/dist/either/right/asyncPipe.mjs +26 -0
  374. package/dist/either/right/create.cjs +13 -0
  375. package/dist/either/right/create.d.ts +6 -0
  376. package/dist/either/right/create.mjs +10 -0
  377. package/dist/either/right/index.d.ts +7 -0
  378. package/dist/either/right/is.cjs +13 -0
  379. package/dist/either/right/is.d.ts +2 -0
  380. package/dist/either/right/is.mjs +11 -0
  381. package/dist/either/right/ok.cjs +12 -0
  382. package/dist/either/right/ok.d.ts +5 -0
  383. package/dist/either/right/ok.mjs +9 -0
  384. package/dist/either/right/pipe.cjs +22 -0
  385. package/dist/either/right/pipe.d.ts +19 -0
  386. package/dist/either/right/pipe.mjs +20 -0
  387. package/dist/either/right/success.cjs +12 -0
  388. package/dist/either/right/success.d.ts +5 -0
  389. package/dist/either/right/success.mjs +9 -0
  390. package/dist/either/right/when.cjs +18 -0
  391. package/dist/either/right/when.d.ts +4 -0
  392. package/dist/either/right/when.mjs +16 -0
  393. package/dist/either/whenHasInformation.cjs +24 -0
  394. package/dist/either/whenHasInformation.d.ts +8 -0
  395. package/dist/either/whenHasInformation.mjs +22 -0
  396. package/dist/generator/asyncFilter.cjs +20 -0
  397. package/dist/generator/asyncFilter.d.ts +8 -0
  398. package/dist/generator/asyncFilter.mjs +18 -0
  399. package/dist/generator/asyncLoop.cjs +26 -0
  400. package/dist/generator/asyncLoop.d.ts +10 -0
  401. package/dist/generator/asyncLoop.mjs +24 -0
  402. package/dist/generator/asyncMap.cjs +18 -0
  403. package/dist/generator/asyncMap.d.ts +6 -0
  404. package/dist/generator/asyncMap.mjs +16 -0
  405. package/dist/generator/asyncReduce.cjs +44 -0
  406. package/dist/generator/asyncReduce.d.ts +30 -0
  407. package/dist/generator/asyncReduce.mjs +42 -0
  408. package/dist/generator/execute.cjs +17 -0
  409. package/dist/generator/execute.d.ts +2 -0
  410. package/dist/generator/execute.mjs +15 -0
  411. package/dist/generator/filter.cjs +20 -0
  412. package/dist/generator/filter.d.ts +8 -0
  413. package/dist/generator/filter.mjs +18 -0
  414. package/dist/generator/index.cjs +23 -0
  415. package/dist/generator/index.d.ts +9 -0
  416. package/dist/generator/index.mjs +9 -0
  417. package/dist/generator/loop.cjs +26 -0
  418. package/dist/generator/loop.d.ts +15 -0
  419. package/dist/generator/loop.mjs +24 -0
  420. package/dist/generator/map.cjs +18 -0
  421. package/dist/generator/map.d.ts +6 -0
  422. package/dist/generator/map.mjs +16 -0
  423. package/dist/generator/reduce.cjs +42 -0
  424. package/dist/generator/reduce.d.ts +30 -0
  425. package/dist/generator/reduce.mjs +40 -0
  426. package/dist/index.cjs +79 -133
  427. package/dist/index.d.ts +15 -25
  428. package/dist/index.mjs +47 -124
  429. package/dist/number/abs.cjs +7 -0
  430. package/dist/number/abs.d.ts +1 -0
  431. package/dist/number/abs.mjs +5 -0
  432. package/dist/number/acos.cjs +7 -0
  433. package/dist/number/acos.d.ts +1 -0
  434. package/dist/number/acos.mjs +5 -0
  435. package/dist/number/add.cjs +12 -0
  436. package/dist/number/add.d.ts +2 -0
  437. package/dist/number/add.mjs +10 -0
  438. package/dist/number/asin.cjs +7 -0
  439. package/dist/number/asin.d.ts +1 -0
  440. package/dist/number/asin.mjs +5 -0
  441. package/dist/number/atan.cjs +7 -0
  442. package/dist/number/atan.d.ts +1 -0
  443. package/dist/number/atan.mjs +5 -0
  444. package/dist/number/atan2.cjs +12 -0
  445. package/dist/number/atan2.d.ts +2 -0
  446. package/dist/number/atan2.mjs +10 -0
  447. package/dist/number/ceil.cjs +7 -0
  448. package/dist/number/ceil.d.ts +1 -0
  449. package/dist/number/ceil.mjs +5 -0
  450. package/dist/number/clamp.cjs +14 -0
  451. package/dist/number/clamp.d.ts +2 -0
  452. package/dist/number/clamp.mjs +12 -0
  453. package/dist/number/cos.cjs +7 -0
  454. package/dist/number/cos.d.ts +1 -0
  455. package/dist/number/cos.mjs +5 -0
  456. package/dist/number/divide.cjs +12 -0
  457. package/dist/number/divide.d.ts +2 -0
  458. package/dist/number/divide.mjs +10 -0
  459. package/dist/number/floor.cjs +7 -0
  460. package/dist/number/floor.d.ts +1 -0
  461. package/dist/number/floor.mjs +5 -0
  462. package/dist/number/index.cjs +49 -0
  463. package/dist/number/index.d.ts +22 -0
  464. package/dist/number/index.mjs +22 -0
  465. package/dist/number/max.cjs +12 -0
  466. package/dist/number/max.d.ts +2 -0
  467. package/dist/number/max.mjs +10 -0
  468. package/dist/number/min.cjs +12 -0
  469. package/dist/number/min.d.ts +2 -0
  470. package/dist/number/min.mjs +10 -0
  471. package/dist/number/modulo.cjs +12 -0
  472. package/dist/number/modulo.d.ts +2 -0
  473. package/dist/number/modulo.mjs +10 -0
  474. package/dist/number/multiply.cjs +12 -0
  475. package/dist/number/multiply.d.ts +2 -0
  476. package/dist/number/multiply.mjs +10 -0
  477. package/dist/number/negate.cjs +7 -0
  478. package/dist/number/negate.d.ts +1 -0
  479. package/dist/number/negate.mjs +5 -0
  480. package/dist/number/power.cjs +12 -0
  481. package/dist/number/power.d.ts +2 -0
  482. package/dist/number/power.mjs +10 -0
  483. package/dist/number/round.cjs +7 -0
  484. package/dist/number/round.d.ts +1 -0
  485. package/dist/number/round.mjs +5 -0
  486. package/dist/number/sin.cjs +7 -0
  487. package/dist/number/sin.d.ts +1 -0
  488. package/dist/number/sin.mjs +5 -0
  489. package/dist/number/subtract.cjs +12 -0
  490. package/dist/number/subtract.d.ts +2 -0
  491. package/dist/number/subtract.mjs +10 -0
  492. package/dist/number/tan.cjs +7 -0
  493. package/dist/number/tan.d.ts +1 -0
  494. package/dist/number/tan.mjs +5 -0
  495. package/dist/number/trunc.cjs +7 -0
  496. package/dist/number/trunc.d.ts +1 -0
  497. package/dist/number/trunc.mjs +5 -0
  498. package/dist/object/assign.cjs +15 -0
  499. package/dist/object/assign.d.ts +4 -0
  500. package/dist/object/assign.mjs +13 -0
  501. package/dist/object/entries.cjs +10 -0
  502. package/dist/object/entries.d.ts +7 -0
  503. package/dist/object/entries.mjs +8 -0
  504. package/dist/object/fromEntries.cjs +7 -0
  505. package/dist/object/fromEntries.d.ts +6 -0
  506. package/dist/object/fromEntries.mjs +5 -0
  507. package/dist/object/getProperty.cjs +12 -0
  508. package/dist/object/getProperty.d.ts +8 -0
  509. package/dist/object/getProperty.mjs +10 -0
  510. package/dist/object/hasKeys.cjs +18 -0
  511. package/dist/object/hasKeys.d.ts +3 -0
  512. package/dist/object/hasKeys.mjs +16 -0
  513. package/dist/object/index.cjs +31 -0
  514. package/dist/object/index.d.ts +14 -0
  515. package/dist/object/index.mjs +13 -0
  516. package/dist/object/keys.cjs +7 -0
  517. package/dist/object/keys.d.ts +1 -0
  518. package/dist/object/keys.mjs +5 -0
  519. package/dist/object/omit.cjs +24 -0
  520. package/dist/object/omit.d.ts +8 -0
  521. package/dist/object/omit.mjs +22 -0
  522. package/dist/object/override.cjs +18 -0
  523. package/dist/object/override.d.ts +2 -0
  524. package/dist/object/override.mjs +16 -0
  525. package/dist/object/pick.cjs +24 -0
  526. package/dist/object/pick.d.ts +7 -0
  527. package/dist/object/pick.mjs +22 -0
  528. package/dist/object/to.cjs +16 -0
  529. package/dist/object/to.d.ts +10 -0
  530. package/dist/object/to.mjs +14 -0
  531. package/dist/object/transformProperties.cjs +18 -0
  532. package/dist/object/transformProperties.d.ts +10 -0
  533. package/dist/object/transformProperties.mjs +16 -0
  534. package/dist/object/transformProperty.cjs +15 -0
  535. package/dist/object/transformProperty.d.ts +7 -0
  536. package/dist/object/transformProperty.mjs +13 -0
  537. package/dist/object/types/UnionObjectToIntersection.d.ts +2 -0
  538. package/dist/object/types/assignObjects.d.ts +2 -0
  539. package/dist/object/types/flatObject.d.ts +25 -0
  540. package/dist/object/types/getPropsWithValue.d.ts +4 -0
  541. package/dist/object/types/index.d.ts +6 -0
  542. package/dist/object/types/partialKeys.d.ts +2 -0
  543. package/dist/object/types/requiredKeys.d.ts +2 -0
  544. package/dist/object/values.cjs +7 -0
  545. package/dist/object/values.d.ts +4 -0
  546. package/dist/object/values.mjs +5 -0
  547. package/dist/pattern/exhaustive.cjs +9 -0
  548. package/dist/pattern/exhaustive.d.ts +3 -0
  549. package/dist/pattern/exhaustive.mjs +7 -0
  550. package/dist/pattern/index.cjs +22 -0
  551. package/dist/pattern/index.d.ts +8 -0
  552. package/dist/pattern/index.mjs +8 -0
  553. package/dist/pattern/isMatch.cjs +44 -0
  554. package/dist/pattern/isMatch.d.ts +2 -0
  555. package/dist/pattern/isMatch.mjs +42 -0
  556. package/dist/pattern/match.cjs +18 -0
  557. package/dist/pattern/match.d.ts +6 -0
  558. package/dist/pattern/match.mjs +16 -0
  559. package/dist/pattern/matchPrimitive.cjs +17 -0
  560. package/dist/pattern/matchPrimitive.d.ts +3 -0
  561. package/dist/pattern/matchPrimitive.mjs +15 -0
  562. package/dist/pattern/otherwise.cjs +17 -0
  563. package/dist/pattern/otherwise.d.ts +4 -0
  564. package/dist/pattern/otherwise.mjs +15 -0
  565. package/dist/pattern/result.cjs +13 -0
  566. package/dist/pattern/result.d.ts +7 -0
  567. package/dist/pattern/result.mjs +10 -0
  568. package/dist/pattern/types/complexMatchedValue/array.d.ts +40 -0
  569. package/dist/pattern/types/complexMatchedValue/index.d.ts +6 -0
  570. package/dist/pattern/types/complexMatchedValue/maybeAll.d.ts +3 -0
  571. package/dist/pattern/types/complexMatchedValue/object.d.ts +11 -0
  572. package/dist/pattern/types/complexMatchedValue/primitive.d.ts +9 -0
  573. package/dist/pattern/types/complexUnMatchedValue/array.d.ts +27 -0
  574. package/dist/pattern/types/complexUnMatchedValue/getIncompleteUnion.d.ts +66 -0
  575. package/dist/pattern/types/complexUnMatchedValue/index.d.ts +9 -0
  576. package/dist/pattern/types/complexUnMatchedValue/maybeAll.d.ts +3 -0
  577. package/dist/pattern/types/complexUnMatchedValue/object.d.ts +17 -0
  578. package/dist/pattern/types/complexUnMatchedValue/primitive.d.ts +8 -0
  579. package/dist/pattern/types/complexUnMatchedValue/unionObject.d.ts +3 -0
  580. package/dist/pattern/types/index.d.ts +3 -0
  581. package/dist/pattern/types/pattern.cjs +5 -0
  582. package/dist/pattern/types/pattern.d.ts +37 -0
  583. package/dist/pattern/types/pattern.mjs +3 -0
  584. package/dist/pattern/union.cjs +20 -0
  585. package/dist/pattern/union.d.ts +6 -0
  586. package/dist/pattern/union.mjs +18 -0
  587. package/dist/string/at/default.cjs +12 -0
  588. package/dist/string/at/default.d.ts +2 -0
  589. package/dist/string/at/default.mjs +10 -0
  590. package/dist/string/at/first.cjs +7 -0
  591. package/dist/string/at/first.d.ts +2 -0
  592. package/dist/string/at/first.mjs +5 -0
  593. package/dist/string/at/index.d.ts +3 -0
  594. package/dist/string/at/last.cjs +9 -0
  595. package/dist/string/at/last.d.ts +2 -0
  596. package/dist/string/at/last.mjs +7 -0
  597. package/dist/string/capitalize.cjs +7 -0
  598. package/dist/string/capitalize.d.ts +1 -0
  599. package/dist/string/capitalize.mjs +5 -0
  600. package/dist/string/charAt.cjs +12 -0
  601. package/dist/string/charAt.d.ts +2 -0
  602. package/dist/string/charAt.mjs +10 -0
  603. package/dist/string/concat.cjs +12 -0
  604. package/dist/string/concat.d.ts +2 -0
  605. package/dist/string/concat.mjs +10 -0
  606. package/dist/string/endsWith.cjs +12 -0
  607. package/dist/string/endsWith.d.ts +2 -0
  608. package/dist/string/endsWith.mjs +10 -0
  609. package/dist/string/includes.cjs +12 -0
  610. package/dist/string/includes.d.ts +2 -0
  611. package/dist/string/includes.mjs +10 -0
  612. package/dist/string/index.cjs +67 -0
  613. package/dist/string/index.d.ts +28 -0
  614. package/dist/string/index.mjs +31 -0
  615. package/dist/string/indexOf.cjs +13 -0
  616. package/dist/string/indexOf.d.ts +2 -0
  617. package/dist/string/indexOf.mjs +11 -0
  618. package/dist/string/isKeyof.cjs +12 -0
  619. package/dist/string/isKeyof.d.ts +3 -0
  620. package/dist/string/isKeyof.mjs +10 -0
  621. package/dist/string/lastIndexOf.cjs +13 -0
  622. package/dist/string/lastIndexOf.d.ts +2 -0
  623. package/dist/string/lastIndexOf.mjs +11 -0
  624. package/dist/string/match.cjs +13 -0
  625. package/dist/string/match.d.ts +2 -0
  626. package/dist/string/match.mjs +11 -0
  627. package/dist/string/matchAll.cjs +12 -0
  628. package/dist/string/matchAll.d.ts +2 -0
  629. package/dist/string/matchAll.mjs +10 -0
  630. package/dist/string/normalize.cjs +12 -0
  631. package/dist/string/normalize.d.ts +3 -0
  632. package/dist/string/normalize.mjs +10 -0
  633. package/dist/string/padEnd.cjs +12 -0
  634. package/dist/string/padEnd.d.ts +2 -0
  635. package/dist/string/padEnd.mjs +10 -0
  636. package/dist/string/padStart.cjs +12 -0
  637. package/dist/string/padStart.d.ts +2 -0
  638. package/dist/string/padStart.mjs +10 -0
  639. package/dist/string/repeat.cjs +15 -0
  640. package/dist/string/repeat.d.ts +2 -0
  641. package/dist/string/repeat.mjs +13 -0
  642. package/dist/string/replace.cjs +12 -0
  643. package/dist/string/replace.d.ts +2 -0
  644. package/dist/string/replace.mjs +10 -0
  645. package/dist/string/replaceAll.cjs +12 -0
  646. package/dist/string/replaceAll.d.ts +2 -0
  647. package/dist/string/replaceAll.mjs +10 -0
  648. package/dist/string/search.cjs +13 -0
  649. package/dist/string/search.d.ts +2 -0
  650. package/dist/string/search.mjs +11 -0
  651. package/dist/string/slice.cjs +12 -0
  652. package/dist/string/slice.d.ts +2 -0
  653. package/dist/string/slice.mjs +10 -0
  654. package/dist/string/split.cjs +16 -0
  655. package/dist/string/split.d.ts +9 -0
  656. package/dist/string/split.mjs +14 -0
  657. package/dist/string/startsWith.cjs +12 -0
  658. package/dist/string/startsWith.d.ts +2 -0
  659. package/dist/string/startsWith.mjs +10 -0
  660. package/dist/string/substring.cjs +12 -0
  661. package/dist/string/substring.d.ts +2 -0
  662. package/dist/string/substring.mjs +10 -0
  663. package/dist/string/test.cjs +12 -0
  664. package/dist/string/test.d.ts +2 -0
  665. package/dist/string/test.mjs +10 -0
  666. package/dist/string/toLowerCase.cjs +7 -0
  667. package/dist/string/toLowerCase.d.ts +1 -0
  668. package/dist/string/toLowerCase.mjs +5 -0
  669. package/dist/string/toUpperCase.cjs +7 -0
  670. package/dist/string/toUpperCase.d.ts +1 -0
  671. package/dist/string/toUpperCase.mjs +5 -0
  672. package/dist/string/trim/default.cjs +7 -0
  673. package/dist/string/trim/default.d.ts +1 -0
  674. package/dist/string/trim/default.mjs +5 -0
  675. package/dist/string/trim/end.cjs +7 -0
  676. package/dist/string/trim/end.d.ts +1 -0
  677. package/dist/string/trim/end.mjs +5 -0
  678. package/dist/string/trim/index.d.ts +3 -0
  679. package/dist/string/trim/start.cjs +7 -0
  680. package/dist/string/trim/start.d.ts +1 -0
  681. package/dist/string/trim/start.mjs +5 -0
  682. package/dist/string/types/NormalizeForm.d.ts +1 -0
  683. package/dist/string/types/endsWith.d.ts +1 -0
  684. package/dist/string/types/first.d.ts +2 -0
  685. package/dist/string/types/includes.d.ts +1 -0
  686. package/dist/string/types/index.d.ts +5 -0
  687. package/dist/string/types/last.d.ts +2 -0
  688. package/dist/string/types/split.d.ts +9 -0
  689. package/dist/string/types/startsWith.d.ts +1 -0
  690. package/dist/string/uncapitalize.cjs +7 -0
  691. package/dist/string/uncapitalize.d.ts +1 -0
  692. package/dist/string/uncapitalize.mjs +5 -0
  693. package/package.json +20 -27
  694. package/dist/addThis.d.ts +0 -2
  695. package/dist/entryUseMapper.d.ts +0 -6
  696. package/dist/expectType.d.ts +0 -6
  697. package/dist/getLastOfUnion.d.ts +0 -2
  698. package/dist/getPropsWithTrueValue.d.ts +0 -3
  699. package/dist/getTypedEntries.d.ts +0 -6
  700. package/dist/getTypedKeys.d.ts +0 -1
  701. package/dist/hasKey.d.ts +0 -2
  702. package/dist/incremente.d.ts +0 -33
  703. package/dist/mergeObjects.d.ts +0 -4
  704. package/dist/overrideInterface.d.ts +0 -1
  705. package/dist/partialKeys.d.ts +0 -2
  706. package/dist/requiredKeys.d.ts +0 -2
  707. package/dist/simpleClone.d.ts +0 -1
  708. package/dist/simplifyType.d.ts +0 -9
  709. package/dist/sleep.d.ts +0 -1
  710. package/dist/types.d.ts +0 -4
  711. package/dist/unPartial.d.ts +0 -10
  712. package/dist/unionToIntersection.d.ts +0 -1
  713. package/dist/unionToTuple.d.ts +0 -4
  714. package/dist/uniqueGeneric.d.ts +0 -5
  715. /package/dist/{escapeRegExp.d.ts → common/escapeRegExp.d.ts} +0 -0
  716. /package/dist/{isEqual.d.ts → common/types/isEqual.d.ts} +0 -0
@@ -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,15 @@
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
+ export type EitherNullishFilled<GenericValue extends unknown = unknown> = (EitherRight<"nullish", GenericValue> & Kind<typeof eitherNullishKind.definition> & Kind<typeof eitherNullishFilledKind.definition>);
9
+ export declare function nullishFilled<const GenericValue extends unknown>(value: GenericValue): EitherNullishFilled<GenericValue>;
10
+ type Either = EitherRight | EitherLeft;
11
+ export declare function isNullishFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherNullishFilled>;
12
+ type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof nullish<GenericValue>>;
13
+ 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>;
14
+ 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>;
15
+ 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,15 @@
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
+ export type EitherOptionalEmpty = (EitherLeft<"optional", undefined> & Kind<typeof eitherOptionalKind.definition> & Kind<typeof eitherOptionalEmptyKind.definition>);
9
+ type Either = EitherRight | EitherLeft;
10
+ export declare function optionalEmpty(): EitherOptionalEmpty;
11
+ export declare function isOptionalEmpty<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalEmpty>;
12
+ type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
13
+ 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>;
14
+ 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>;
15
+ 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,15 @@
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
+ export type EitherOptionalFilled<GenericValue extends unknown = unknown> = (EitherRight<"optional", GenericValue> & Kind<typeof eitherOptionalKind.definition> & Kind<typeof eitherOptionalFilledKind.definition>);
9
+ type Either = EitherRight | EitherLeft;
10
+ export declare function optionalFilled<const GenericValue extends unknown>(value: GenericValue): EitherOptionalFilled<GenericValue>;
11
+ export declare function isOptionalFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalFilled>;
12
+ type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
13
+ 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>;
14
+ 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>;
15
+ 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,6 @@
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
+ export type EitherRight<GenericInformation extends string = string, GenericValue extends unknown = unknown> = (Kind<typeof eitherRightKind.definition> & Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue<GenericValue>);
6
+ export declare function right<GenericInformation extends string, const GenericValue extends unknown = undefined>(information: GenericInformation, value?: GenericValue): EitherRight<GenericInformation, GenericValue>;
@@ -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";
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var base = require('../base.cjs');
4
+ var create = require('./create.cjs');
5
+ var wrapValue = require('../../common/wrapValue.cjs');
6
+
7
+ function isRight(input) {
8
+ return create.eitherRightKind.has(input)
9
+ && base.eitherInformationKind.has(input)
10
+ && wrapValue.isWrappedValue(input);
11
+ }
12
+
13
+ exports.isRight = isRight;
@@ -0,0 +1,2 @@
1
+ import { type EitherRight } from "./create";
2
+ export declare function isRight<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherRight>;
@@ -0,0 +1,11 @@
1
+ import { eitherInformationKind } from '../base.mjs';
2
+ import { eitherRightKind } from './create.mjs';
3
+ import { isWrappedValue } from '../../common/wrapValue.mjs';
4
+
5
+ function isRight(input) {
6
+ return eitherRightKind.has(input)
7
+ && eitherInformationKind.has(input)
8
+ && isWrappedValue(input);
9
+ }
10
+
11
+ export { isRight };
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+ var create = require('./create.cjs');
5
+
6
+ const eitherOkKind = kind.createKind("either-ok");
7
+ function ok() {
8
+ return eitherOkKind.addTo(create.right("ok", undefined));
9
+ }
10
+
11
+ exports.eitherOkKind = eitherOkKind;
12
+ exports.ok = ok;
@@ -0,0 +1,5 @@
1
+ import { type Kind } from "../../common/kind";
2
+ import { type EitherRight } from "./create";
3
+ export declare const eitherOkKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-ok", unknown>>;
4
+ export type EitherOk = (EitherRight<"ok", never> & Kind<typeof eitherOkKind.definition>);
5
+ export declare function ok(): EitherOk;
@@ -0,0 +1,9 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+ import { right } from './create.mjs';
3
+
4
+ const eitherOkKind = createKind("either-ok");
5
+ function ok() {
6
+ return eitherOkKind.addTo(right("ok", undefined));
7
+ }
8
+
9
+ export { eitherOkKind, ok };
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ var unwrap = require('../../common/unwrap.cjs');
4
+ var is$1 = require('../left/is.cjs');
5
+ var success = require('./success.cjs');
6
+ var is = require('./is.cjs');
7
+
8
+ /* eslint-disable @typescript-eslint/max-params */
9
+ function rightPipe(input, ...pipes) {
10
+ let acc = is.isRight(input) || is$1.isLeft(input)
11
+ ? input
12
+ : success.success(input);
13
+ for (const pipe of pipes) {
14
+ acc = pipe(unwrap.unwrap(acc));
15
+ if (is$1.isLeft(acc)) {
16
+ return acc;
17
+ }
18
+ }
19
+ return acc;
20
+ }
21
+
22
+ exports.rightPipe = rightPipe;
@@ -0,0 +1,19 @@
1
+ import { type EitherRight } from "./create";
2
+ import { type EitherLeft } from "../left";
3
+ import { type EitherSuccess } from "./success";
4
+ import { type Unwrap } from "../../common";
5
+ type Either = EitherRight | EitherLeft;
6
+ export type EitherRightPipeFunction<GenericInput extends Either = Either, GenericOutput extends Either = Either> = (input: Unwrap<Extract<GenericInput, EitherRight>>) => GenericOutput;
7
+ export type EitherRightPipeResult<GenericInput extends Either, GenericPipes extends Either, GenericLastPipe extends Either> = Extract<GenericInput | GenericPipes, EitherLeft> | Extract<GenericLastPipe, EitherRight>;
8
+ type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : EitherSuccess<GenericValue>;
9
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1, GenericOutputPipe1>, any>;
10
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2, GenericOutputPipe2>, any>;
11
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3, GenericOutputPipe3>, any>;
12
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either, GenericOutputPipe4 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4, GenericOutputPipe4>, any>;
13
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either, GenericOutputPipe4 extends Either, GenericOutputPipe5 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5, GenericOutputPipe5>, any>;
14
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either, GenericOutputPipe4 extends Either, GenericOutputPipe5 extends Either, GenericOutputPipe6 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6, GenericOutputPipe6>, any>;
15
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either, GenericOutputPipe4 extends Either, GenericOutputPipe5 extends Either, GenericOutputPipe6 extends Either, GenericOutputPipe7 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7, GenericOutputPipe7>, any>;
16
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either, GenericOutputPipe4 extends Either, GenericOutputPipe5 extends Either, GenericOutputPipe6 extends Either, GenericOutputPipe7 extends Either, GenericOutputPipe8 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightPipeFunction<GenericOutputPipe7, GenericOutputPipe8>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8, GenericOutputPipe8>, any>;
17
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either, GenericOutputPipe4 extends Either, GenericOutputPipe5 extends Either, GenericOutputPipe6 extends Either, GenericOutputPipe7 extends Either, GenericOutputPipe8 extends Either, GenericOutputPipe9 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightPipeFunction<GenericOutputPipe7, GenericOutputPipe8>, pipe9: EitherRightPipeFunction<GenericOutputPipe8, GenericOutputPipe9>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9, GenericOutputPipe9>, any>;
18
+ export declare function rightPipe<const GenericInput extends unknown, GenericOutputPipe1 extends Either, GenericOutputPipe2 extends Either, GenericOutputPipe3 extends Either, GenericOutputPipe4 extends Either, GenericOutputPipe5 extends Either, GenericOutputPipe6 extends Either, GenericOutputPipe7 extends Either, GenericOutputPipe8 extends Either, GenericOutputPipe9 extends Either, GenericOutputPipe10 extends Either>(input: GenericInput, pipe1: EitherRightPipeFunction<ToEither<GenericInput>, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>, pipe4: EitherRightPipeFunction<GenericOutputPipe3, GenericOutputPipe4>, pipe5: EitherRightPipeFunction<GenericOutputPipe4, GenericOutputPipe5>, pipe6: EitherRightPipeFunction<GenericOutputPipe5, GenericOutputPipe6>, pipe7: EitherRightPipeFunction<GenericOutputPipe6, GenericOutputPipe7>, pipe8: EitherRightPipeFunction<GenericOutputPipe7, GenericOutputPipe8>, pipe9: EitherRightPipeFunction<GenericOutputPipe8, GenericOutputPipe9>, pipe10: EitherRightPipeFunction<GenericOutputPipe9, GenericOutputPipe10>): Extract<EitherRightPipeResult<ToEither<GenericInput>, GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3 | GenericOutputPipe4 | GenericOutputPipe5 | GenericOutputPipe6 | GenericOutputPipe7 | GenericOutputPipe8 | GenericOutputPipe9 | GenericOutputPipe10, GenericOutputPipe10>, any>;
19
+ export {};