@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,15 @@
1
+ 'use strict';
2
+
3
+ function whenNot(...args) {
4
+ if (args.length === 2) {
5
+ const [ifFunction, theFunction] = args;
6
+ return (input) => whenNot(input, ifFunction, theFunction);
7
+ }
8
+ const [input, ifFunction, theFunction] = args;
9
+ if (!ifFunction(input)) {
10
+ return theFunction(input);
11
+ }
12
+ return input;
13
+ }
14
+
15
+ exports.whenNot = whenNot;
@@ -0,0 +1,5 @@
1
+ import { type EscapeVoid, type AnyValue } from "./types";
2
+ export declare function whenNot<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: Exclude<GenericInput, GenericPredicatedInput>) => GenericOutput): (input: GenericInput) => GenericOutput | GenericPredicatedInput;
3
+ export declare function whenNot<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: Exclude<GenericInput, GenericPredicatedInput>) => GenericOutput): GenericOutput | GenericPredicatedInput;
4
+ export declare function whenNot<GenericInput extends AnyValue, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput): (input: GenericInput) => GenericOutput | GenericInput;
5
+ export declare function whenNot<GenericInput extends AnyValue, GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, ifFunction: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput): GenericOutput | GenericInput;
@@ -0,0 +1,13 @@
1
+ function whenNot(...args) {
2
+ if (args.length === 2) {
3
+ const [ifFunction, theFunction] = args;
4
+ return (input) => whenNot(input, ifFunction, theFunction);
5
+ }
6
+ const [input, ifFunction, theFunction] = args;
7
+ if (!ifFunction(input)) {
8
+ return theFunction(input);
9
+ }
10
+ return input;
11
+ }
12
+
13
+ export { whenNot };
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ const keyWrappedValue = "@duplojs/utils/value";
4
+ function wrapValue(value) {
5
+ return {
6
+ [keyWrappedValue]: value,
7
+ };
8
+ }
9
+ function isWrappedValue(input) {
10
+ return !!input && typeof input === "object" && keyWrappedValue in input;
11
+ }
12
+
13
+ exports.isWrappedValue = isWrappedValue;
14
+ exports.keyWrappedValue = keyWrappedValue;
15
+ exports.wrapValue = wrapValue;
@@ -0,0 +1,9 @@
1
+ declare const SymbolWrappedValue: unique symbol;
2
+ export type SymbolWrappedValue = typeof SymbolWrappedValue;
3
+ export declare const keyWrappedValue = "@duplojs/utils/value";
4
+ export interface WrappedValue<GenericValue extends unknown = unknown> {
5
+ [SymbolWrappedValue]: GenericValue;
6
+ }
7
+ export declare function wrapValue<const GenericValue extends unknown>(value: GenericValue): WrappedValue<GenericValue>;
8
+ export declare function isWrappedValue<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, WrappedValue<any>>;
9
+ export {};
@@ -0,0 +1,11 @@
1
+ const keyWrappedValue = "@duplojs/utils/value";
2
+ function wrapValue(value) {
3
+ return {
4
+ [keyWrappedValue]: value,
5
+ };
6
+ }
7
+ function isWrappedValue(input) {
8
+ return !!input && typeof input === "object" && keyWrappedValue in input;
9
+ }
10
+
11
+ export { isWrappedValue, keyWrappedValue, wrapValue };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../common/kind.cjs');
4
+
5
+ const eitherInformationKind = kind.createKind("either-information");
6
+
7
+ exports.eitherInformationKind = eitherInformationKind;
@@ -0,0 +1 @@
1
+ export declare const eitherInformationKind: import("../common").KindHandler<import("../common").KindDefinition<"either-information", string>>;
@@ -0,0 +1,5 @@
1
+ import { createKind } from '../common/kind.mjs';
2
+
3
+ const eitherInformationKind = createKind("either-information");
4
+
5
+ export { eitherInformationKind };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+
5
+ const eitherBoolKind = kind.createKind("either-bool");
6
+
7
+ exports.eitherBoolKind = eitherBoolKind;
@@ -0,0 +1 @@
1
+ export declare const eitherBoolKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-bool", unknown>>;
@@ -0,0 +1,5 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+
3
+ const eitherBoolKind = createKind("either-bool");
4
+
5
+ export { eitherBoolKind };
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var falsy = require('./falsy.cjs');
4
+ var truthy = require('./truthy.cjs');
5
+
6
+ function bool(value) {
7
+ return value === undefined
8
+ || value === null
9
+ || value === 0
10
+ || value === ""
11
+ || value === false
12
+ ? falsy.boolFalsy(value)
13
+ : truthy.boolTruthy(value);
14
+ }
15
+
16
+ exports.bool = bool;
@@ -0,0 +1,4 @@
1
+ import { type IsEqual } from "../../common";
2
+ import { type BoolFalsyValue, type EitherBoolFalsy } from "./falsy";
3
+ import { type EitherBoolTruthy } from "./truthy";
4
+ export declare function bool<const GenericValue extends unknown = undefined>(value: GenericValue): GenericValue extends BoolFalsyValue ? EitherBoolFalsy<GenericValue> : IsEqual<GenericValue, number> extends true ? EitherBoolTruthy<GenericValue> | EitherBoolFalsy<0> : IsEqual<GenericValue, string> extends true ? EitherBoolTruthy<GenericValue> | EitherBoolFalsy<""> : EitherBoolTruthy<GenericValue>;
@@ -0,0 +1,14 @@
1
+ import { boolFalsy } from './falsy.mjs';
2
+ import { boolTruthy } from './truthy.mjs';
3
+
4
+ function bool(value) {
5
+ return value === undefined
6
+ || value === null
7
+ || value === 0
8
+ || value === ""
9
+ || value === false
10
+ ? boolFalsy(value)
11
+ : boolTruthy(value);
12
+ }
13
+
14
+ export { bool };
@@ -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 eitherBoolFalsyKind = kind.createKind("either-bool-falsy");
12
+ function boolFalsy(value = undefined) {
13
+ return base.eitherBoolKind.addTo(eitherBoolFalsyKind.addTo(create.left("bool", value)));
14
+ }
15
+ function isBoolFalsy(input) {
16
+ return is.isLeft(input)
17
+ && base.eitherBoolKind.has(input)
18
+ && eitherBoolFalsyKind.has(input);
19
+ }
20
+ function whenIsBoolFalsy(...args) {
21
+ if (args.length === 1) {
22
+ const [theFunction] = args;
23
+ return (input) => whenIsBoolFalsy(input, theFunction);
24
+ }
25
+ const [input, theFunction] = args;
26
+ if (is$1.isRight(input)) {
27
+ return input;
28
+ }
29
+ else if (!isBoolFalsy(input) && is.isLeft(input)) {
30
+ return input;
31
+ }
32
+ const either = is$1.isRight(input) || is.isLeft(input)
33
+ ? input
34
+ : create$1.bool(input);
35
+ if (isBoolFalsy(either)) {
36
+ return theFunction(unwrap.unwrap(either));
37
+ }
38
+ return either;
39
+ }
40
+
41
+ exports.boolFalsy = boolFalsy;
42
+ exports.eitherBoolFalsyKind = eitherBoolFalsyKind;
43
+ exports.isBoolFalsy = isBoolFalsy;
44
+ exports.whenIsBoolFalsy = whenIsBoolFalsy;
@@ -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 { bool } from "./create";
5
+ import { type Kind } from "../../common/kind";
6
+ import { eitherBoolKind } from "./base";
7
+ export type BoolFalsyValue = 0 | "" | undefined | null | false;
8
+ export declare const eitherBoolFalsyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-bool-falsy", unknown>>;
9
+ type _EitherBoolFalsy<GenericValue extends BoolFalsyValue = BoolFalsyValue> = (EitherLeft<"bool", GenericValue> & Kind<typeof eitherBoolKind.definition> & Kind<typeof eitherBoolFalsyKind.definition>);
10
+ export interface EitherBoolFalsy<GenericValue extends BoolFalsyValue = BoolFalsyValue> extends _EitherBoolFalsy<GenericValue> {
11
+ }
12
+ export declare function boolFalsy<const GenericValue extends BoolFalsyValue = undefined>(value?: GenericValue): EitherBoolFalsy<GenericValue>;
13
+ type Either = EitherRight | EitherLeft;
14
+ export declare function isBoolFalsy<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherBoolFalsy>;
15
+ type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof bool<GenericValue>>;
16
+ export declare function whenIsBoolFalsy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherBoolFalsy>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<GenericInput>, EitherBoolFalsy>;
17
+ export declare function whenIsBoolFalsy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherBoolFalsy>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherBoolFalsy>;
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 { bool } from './create.mjs';
7
+ import { eitherBoolKind } from './base.mjs';
8
+
9
+ const eitherBoolFalsyKind = createKind("either-bool-falsy");
10
+ function boolFalsy(value = undefined) {
11
+ return eitherBoolKind.addTo(eitherBoolFalsyKind.addTo(left("bool", value)));
12
+ }
13
+ function isBoolFalsy(input) {
14
+ return isLeft(input)
15
+ && eitherBoolKind.has(input)
16
+ && eitherBoolFalsyKind.has(input);
17
+ }
18
+ function whenIsBoolFalsy(...args) {
19
+ if (args.length === 1) {
20
+ const [theFunction] = args;
21
+ return (input) => whenIsBoolFalsy(input, theFunction);
22
+ }
23
+ const [input, theFunction] = args;
24
+ if (isRight(input)) {
25
+ return input;
26
+ }
27
+ else if (!isBoolFalsy(input) && isLeft(input)) {
28
+ return input;
29
+ }
30
+ const either = isRight(input) || isLeft(input)
31
+ ? input
32
+ : bool(input);
33
+ if (isBoolFalsy(either)) {
34
+ return theFunction(unwrap(either));
35
+ }
36
+ return either;
37
+ }
38
+
39
+ export { boolFalsy, eitherBoolFalsyKind, isBoolFalsy, whenIsBoolFalsy };
@@ -0,0 +1,4 @@
1
+ export * from "./create";
2
+ export * from "./falsy";
3
+ export * from "./truthy";
4
+ export * from "./base";
@@ -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 eitherBoolTruthyKind = kind.createKind("either-bool-truthy");
12
+ function boolTruthy(value) {
13
+ return base.eitherBoolKind.addTo(eitherBoolTruthyKind.addTo(create.right("bool", value)));
14
+ }
15
+ function isBoolTruthy(input) {
16
+ return is.isRight(input)
17
+ && base.eitherBoolKind.has(input)
18
+ && eitherBoolTruthyKind.has(input);
19
+ }
20
+ function whenIsBoolTruthy(...args) {
21
+ if (args.length === 1) {
22
+ const [theFunction] = args;
23
+ return (input) => whenIsBoolTruthy(input, theFunction);
24
+ }
25
+ const [input, theFunction] = args;
26
+ if (is$1.isLeft(input)) {
27
+ return input;
28
+ }
29
+ else if (!isBoolTruthy(input) && is.isRight(input)) {
30
+ return input;
31
+ }
32
+ const either = is.isRight(input) || is$1.isLeft(input)
33
+ ? input
34
+ : create$1.bool(input);
35
+ if (isBoolTruthy(either)) {
36
+ return theFunction(unwrap.unwrap(either));
37
+ }
38
+ return either;
39
+ }
40
+
41
+ exports.boolTruthy = boolTruthy;
42
+ exports.eitherBoolTruthyKind = eitherBoolTruthyKind;
43
+ exports.isBoolTruthy = isBoolTruthy;
44
+ exports.whenIsBoolTruthy = whenIsBoolTruthy;
@@ -0,0 +1,17 @@
1
+ import { type EitherRight } from "../right";
2
+ import { bool } from "./create";
3
+ import { type EitherLeft } from "../left";
4
+ import { type Kind } from "../../common/kind";
5
+ import { type EscapeVoid, type AnyValue, type Unwrap } from "../../common";
6
+ import { eitherBoolKind } from "./base";
7
+ export declare const eitherBoolTruthyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-bool-truthy", unknown>>;
8
+ type _EitherBoolTruthy<GenericValue extends unknown = unknown> = (EitherRight<"bool", GenericValue> & Kind<typeof eitherBoolKind.definition> & Kind<typeof eitherBoolTruthyKind.definition>);
9
+ export interface EitherBoolTruthy<GenericValue extends unknown = unknown> extends _EitherBoolTruthy<GenericValue> {
10
+ }
11
+ export declare function boolTruthy<const GenericValue extends unknown>(value: GenericValue): EitherBoolTruthy<GenericValue>;
12
+ type Either = EitherRight | EitherLeft;
13
+ export declare function isBoolTruthy<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherBoolTruthy>;
14
+ type ToEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof bool<GenericValue>>;
15
+ export declare function whenIsBoolTruthy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherBoolTruthy>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<ToEither<GenericInput>, EitherBoolTruthy>;
16
+ export declare function whenIsBoolTruthy<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<ToEither<GenericInput>, EitherBoolTruthy>>) => GenericOutput): GenericOutput | Exclude<ToEither<GenericInput>, EitherBoolTruthy>;
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 { bool } from './create.mjs';
7
+ import { eitherBoolKind } from './base.mjs';
8
+
9
+ const eitherBoolTruthyKind = createKind("either-bool-truthy");
10
+ function boolTruthy(value) {
11
+ return eitherBoolKind.addTo(eitherBoolTruthyKind.addTo(right("bool", value)));
12
+ }
13
+ function isBoolTruthy(input) {
14
+ return isRight(input)
15
+ && eitherBoolKind.has(input)
16
+ && eitherBoolTruthyKind.has(input);
17
+ }
18
+ function whenIsBoolTruthy(...args) {
19
+ if (args.length === 1) {
20
+ const [theFunction] = args;
21
+ return (input) => whenIsBoolTruthy(input, theFunction);
22
+ }
23
+ const [input, theFunction] = args;
24
+ if (isLeft(input)) {
25
+ return input;
26
+ }
27
+ else if (!isBoolTruthy(input) && isRight(input)) {
28
+ return input;
29
+ }
30
+ const either = isRight(input) || isLeft(input)
31
+ ? input
32
+ : bool(input);
33
+ if (isBoolTruthy(either)) {
34
+ return theFunction(unwrap(either));
35
+ }
36
+ return either;
37
+ }
38
+
39
+ export { boolTruthy, eitherBoolTruthyKind, isBoolTruthy, whenIsBoolTruthy };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+
5
+ const eitherFutureKind = kind.createKind("either-future");
6
+
7
+ exports.eitherFutureKind = eitherFutureKind;
@@ -0,0 +1 @@
1
+ export declare const eitherFutureKind: import("../../common").KindHandler<import("../../common").KindDefinition<"either-future", unknown>>;
@@ -0,0 +1,5 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+
3
+ const eitherFutureKind = createKind("either-future");
4
+
5
+ export { eitherFutureKind };
@@ -0,0 +1,49 @@
1
+ 'use strict';
2
+
3
+ var is$1 = require('../left/is.cjs');
4
+ var success = require('./success.cjs');
5
+ var error = require('./error.cjs');
6
+ var is = require('../right/is.cjs');
7
+
8
+ const kind = "kind-future-either";
9
+ class Future extends Promise {
10
+ constructor(value) {
11
+ super((resolve) => void resolve((value instanceof Promise
12
+ ? value
13
+ : Promise.resolve(value))
14
+ .then((value) => {
15
+ if (is.isRight(value)) {
16
+ return value;
17
+ }
18
+ else if (is$1.isLeft(value)) {
19
+ return value;
20
+ }
21
+ else {
22
+ return success.futureSuccess(value);
23
+ }
24
+ })
25
+ .catch((error$1) => error.futureError(error$1))));
26
+ }
27
+ [kind] = null;
28
+ // @ts-expect-error override signature error
29
+ then(theFunction) {
30
+ return new Future(super.then(theFunction));
31
+ }
32
+ static get [Symbol.species]() {
33
+ return Promise;
34
+ }
35
+ static instanceof(value) {
36
+ return typeof value === "object"
37
+ && value?.constructor?.name === "Future"
38
+ && kind in value;
39
+ }
40
+ static all(values) {
41
+ return new Future(Promise.all(values.map((value) => new Future(value))));
42
+ }
43
+ }
44
+ function future(value) {
45
+ return new Future(value);
46
+ }
47
+
48
+ exports.Future = Future;
49
+ exports.future = future;
@@ -0,0 +1,25 @@
1
+ import { type EitherLeft } from "../left";
2
+ import { type EitherRight } from "../right";
3
+ import { type EitherFutureSuccess } from "./success";
4
+ import { type EitherFutureError } from "./error";
5
+ import { type IsEqual } from "../../common/types/isEqual";
6
+ import { type MaybePromise } from "../../common/types/maybePromise";
7
+ import { type AnyValue } from "../../common";
8
+ type Either = EitherRight | EitherLeft;
9
+ type ComputeEitherFutureSuccessResult<GenericValue extends unknown> = IsEqual<never, Exclude<GenericValue, Either>> extends false ? EitherFutureSuccess<Exclude<GenericValue, Either>> : never;
10
+ type ComputeEitherFutureErrorResult<GenericValue extends unknown> = GenericValue extends Promise<unknown> ? EitherFutureError : never;
11
+ type ComputeFutureEitherResult<GenericValue extends unknown = unknown> = Extract<Awaited<GenericValue>, Either> | ComputeEitherFutureSuccessResult<Awaited<GenericValue>> | ComputeEitherFutureErrorResult<GenericValue>;
12
+ export type FutureEitherAllResult<GenericArray extends readonly unknown[] | []> = Future<{
13
+ -readonly [Prop in keyof GenericArray]: Awaited<Future<GenericArray[Prop]>>;
14
+ }>;
15
+ declare const kind = "kind-future-either";
16
+ export declare class Future<const GenericValue extends unknown = unknown> extends Promise<ComputeFutureEitherResult<GenericValue>> {
17
+ constructor(value: GenericValue);
18
+ [kind]: unknown;
19
+ then<const GenericOutput extends AnyValue>(theFunction: (result: Extract<ComputeFutureEitherResult<GenericValue>, any>) => MaybePromise<GenericOutput>): Future<GenericOutput>;
20
+ static get [Symbol.species](): PromiseConstructor;
21
+ static instanceof<GenericValue extends unknown>(value: GenericValue): value is Extract<GenericValue, Future<any>>;
22
+ static all<const GenericValue extends unknown, GenericArray extends readonly GenericValue[] | []>(values: GenericArray): FutureEitherAllResult<GenericArray>;
23
+ }
24
+ export declare function future<const GenericEither extends unknown>(value: GenericEither): Future<GenericEither>;
25
+ export {};
@@ -0,0 +1,46 @@
1
+ import { isLeft } from '../left/is.mjs';
2
+ import { futureSuccess } from './success.mjs';
3
+ import { futureError } from './error.mjs';
4
+ import { isRight } from '../right/is.mjs';
5
+
6
+ const kind = "kind-future-either";
7
+ class Future extends Promise {
8
+ constructor(value) {
9
+ super((resolve) => void resolve((value instanceof Promise
10
+ ? value
11
+ : Promise.resolve(value))
12
+ .then((value) => {
13
+ if (isRight(value)) {
14
+ return value;
15
+ }
16
+ else if (isLeft(value)) {
17
+ return value;
18
+ }
19
+ else {
20
+ return futureSuccess(value);
21
+ }
22
+ })
23
+ .catch((error) => futureError(error))));
24
+ }
25
+ [kind] = null;
26
+ // @ts-expect-error override signature error
27
+ then(theFunction) {
28
+ return new Future(super.then(theFunction));
29
+ }
30
+ static get [Symbol.species]() {
31
+ return Promise;
32
+ }
33
+ static instanceof(value) {
34
+ return typeof value === "object"
35
+ && value?.constructor?.name === "Future"
36
+ && kind in value;
37
+ }
38
+ static all(values) {
39
+ return new Future(Promise.all(values.map((value) => new Future(value))));
40
+ }
41
+ }
42
+ function future(value) {
43
+ return new Future(value);
44
+ }
45
+
46
+ export { Future, future };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+ var create = require('../left/create.cjs');
5
+ var base = require('./base.cjs');
6
+
7
+ const eitherFutureErrorKind = kind.createKind("either-future-error");
8
+ function futureError(value) {
9
+ return base.eitherFutureKind.addTo(eitherFutureErrorKind.addTo(create.left("future", value)));
10
+ }
11
+
12
+ exports.eitherFutureErrorKind = eitherFutureErrorKind;
13
+ exports.futureError = futureError;
@@ -0,0 +1,9 @@
1
+ import { type Kind } from "../../common/kind";
2
+ import { type EitherLeft } from "../left";
3
+ import { eitherFutureKind } from "./base";
4
+ export declare const eitherFutureErrorKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-future-error", unknown>>;
5
+ type _EitherFutureError = (EitherLeft<"future", unknown> & Kind<typeof eitherFutureKind.definition> & Kind<typeof eitherFutureErrorKind.definition>);
6
+ export interface EitherFutureError extends _EitherFutureError {
7
+ }
8
+ export declare function futureError(value: unknown): EitherFutureError;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+ import { left } from '../left/create.mjs';
3
+ import { eitherFutureKind } from './base.mjs';
4
+
5
+ const eitherFutureErrorKind = createKind("either-future-error");
6
+ function futureError(value) {
7
+ return eitherFutureKind.addTo(eitherFutureErrorKind.addTo(left("future", value)));
8
+ }
9
+
10
+ export { eitherFutureErrorKind, futureError };
@@ -0,0 +1,5 @@
1
+ export * from "./create";
2
+ export * from "./error";
3
+ export * from "./success";
4
+ export * from "./base";
5
+ export * from "./maybeFutureEither";
@@ -0,0 +1,2 @@
1
+ import { type Future } from "./create";
2
+ export type MaybeFutureEither<GenericValue extends unknown> = Future<GenericValue> | GenericValue;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var kind = require('../../common/kind.cjs');
4
+ var base = require('./base.cjs');
5
+ var create = require('../right/create.cjs');
6
+
7
+ const eitherFutureSuccessKind = kind.createKind("either-future-success");
8
+ function futureSuccess(value) {
9
+ return base.eitherFutureKind.addTo(eitherFutureSuccessKind.addTo(create.right("future", value)));
10
+ }
11
+
12
+ exports.eitherFutureSuccessKind = eitherFutureSuccessKind;
13
+ exports.futureSuccess = futureSuccess;
@@ -0,0 +1,9 @@
1
+ import { type EitherRight } from "../right";
2
+ import { type Kind } from "../../common/kind";
3
+ import { eitherFutureKind } from "./base";
4
+ export declare const eitherFutureSuccessKind: import("../../common/kind").KindHandler<import("../../common/kind").KindDefinition<"either-future-success", unknown>>;
5
+ type _EitherFutureSuccess<GenericValue extends unknown = unknown> = (EitherRight<"future", GenericValue> & Kind<typeof eitherFutureKind.definition> & Kind<typeof eitherFutureSuccessKind.definition>);
6
+ export interface EitherFutureSuccess<GenericValue extends unknown = unknown> extends _EitherFutureSuccess<GenericValue> {
7
+ }
8
+ export declare function futureSuccess<const GenericValue extends unknown>(value: GenericValue): EitherFutureSuccess<GenericValue>;
9
+ export {};
@@ -0,0 +1,10 @@
1
+ import { createKind } from '../../common/kind.mjs';
2
+ import { eitherFutureKind } from './base.mjs';
3
+ import { right } from '../right/create.mjs';
4
+
5
+ const eitherFutureSuccessKind = createKind("either-future-success");
6
+ function futureSuccess(value) {
7
+ return eitherFutureKind.addTo(eitherFutureSuccessKind.addTo(right("future", value)));
8
+ }
9
+
10
+ export { eitherFutureSuccessKind, futureSuccess };
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var base = require('./base.cjs');
4
+
5
+ function hasInformation(input, information) {
6
+ return base.eitherInformationKind.has(input)
7
+ && base.eitherInformationKind.getValue(input) === information;
8
+ }
9
+
10
+ exports.hasInformation = hasInformation;
@@ -0,0 +1,7 @@
1
+ import { type Kind } from "../common";
2
+ import { type EitherLeft } from "./left";
3
+ import { type EitherRight } from "./right";
4
+ import { eitherInformationKind } from "./base";
5
+ type Either = EitherRight | EitherLeft;
6
+ export declare function hasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never)>(input: GenericInput, information: GenericInformation): input is Extract<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
7
+ export {};
@@ -0,0 +1,8 @@
1
+ import { eitherInformationKind } from './base.mjs';
2
+
3
+ function hasInformation(input, information) {
4
+ return eitherInformationKind.has(input)
5
+ && eitherInformationKind.getValue(input) === information;
6
+ }
7
+
8
+ export { hasInformation };