@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,18 @@
1
+ declare const kind = "kind-invalid-millisecond-in-string-error";
2
+ export declare class InvalidMillisecondInStringError extends Error {
3
+ input: string;
4
+ constructor(input: string);
5
+ [kind]: unknown;
6
+ static instanceof(value: unknown): value is InvalidMillisecondInStringError;
7
+ }
8
+ declare const unitMapper: {
9
+ ms: number;
10
+ s: number;
11
+ m: number;
12
+ h: number;
13
+ d: number;
14
+ w: number;
15
+ };
16
+ export type MillisecondInString = `${number}${keyof typeof unitMapper}` | `${number}.${number}${keyof typeof unitMapper}`;
17
+ export declare function stringToMillisecond(millisecondInString: MillisecondInString | number, ...millisecondInStrings: (MillisecondInString | number)[]): number;
18
+ export {};
@@ -0,0 +1,45 @@
1
+ import { isKeyof } from '../string/isKeyof.mjs';
2
+
3
+ /* eslint-disable id-length */
4
+ const kind = "kind-invalid-millisecond-in-string-error";
5
+ class InvalidMillisecondInStringError extends Error {
6
+ input;
7
+ constructor(input) {
8
+ super(`Invalid Input: ${input}`);
9
+ this.input = input;
10
+ }
11
+ [kind] = null;
12
+ static instanceof(value) {
13
+ return typeof value === "object"
14
+ && value?.constructor?.name === "InvalidMillisecondInStringError"
15
+ && kind in value;
16
+ }
17
+ }
18
+ const unitMapper = {
19
+ ms: 1,
20
+ s: 1000,
21
+ m: 60_000,
22
+ h: 3_600_000,
23
+ d: 86_400_000,
24
+ w: 604_800_000,
25
+ };
26
+ const parseRegExp = /(?<rawValue>[0-9.]+)(?<unit>ms|s|m|h|d|w)/;
27
+ function stringToMillisecond(millisecondInString, ...millisecondInStrings) {
28
+ if (typeof millisecondInString === "number") {
29
+ return millisecondInString;
30
+ }
31
+ const result = parseRegExp.exec(millisecondInString);
32
+ const { rawValue, unit } = result?.groups ?? {};
33
+ const value = parseFloat(rawValue ?? "");
34
+ if (isNaN(value) || !unit || !isKeyof(unit, unitMapper)) {
35
+ throw new InvalidMillisecondInStringError(millisecondInString);
36
+ }
37
+ const millisecond = Math.floor(value * unitMapper[unit]);
38
+ const [otherMillisecondInString, ...restMillisecondInStrings] = millisecondInStrings;
39
+ if (otherMillisecondInString) {
40
+ return millisecond + stringToMillisecond(otherMillisecondInString, ...restMillisecondInStrings);
41
+ }
42
+ return millisecond;
43
+ }
44
+
45
+ export { InvalidMillisecondInStringError, stringToMillisecond };
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ function toJSON(value) {
4
+ if (typeof value === "string"
5
+ || typeof value === "number"
6
+ || value === null
7
+ || value === undefined) {
8
+ return value;
9
+ }
10
+ else if (typeof value === "object"
11
+ && "toJSON" in value
12
+ && typeof value.toJSON === "function") {
13
+ return value.toJSON();
14
+ }
15
+ else if (typeof value === "object"
16
+ && (!value.constructor
17
+ || value.constructor.name === "Object")) {
18
+ return Object
19
+ .entries(value)
20
+ .reduce((pv, [key, value]) => ({
21
+ ...pv,
22
+ [key]: toJSON(value),
23
+ }), {});
24
+ }
25
+ else if (value instanceof Array
26
+ && value.constructor.name === "Array") {
27
+ return value.map(toJSON);
28
+ }
29
+ else {
30
+ return undefined;
31
+ }
32
+ }
33
+
34
+ exports.toJSON = toJSON;
@@ -0,0 +1,11 @@
1
+ import { type AnyFunction } from "./types/anyFunction";
2
+ import { type IsEqual } from "./types/isEqual";
3
+ export type ToJSON<GenericValue extends unknown> = GenericValue extends number | string | null | undefined ? GenericValue : GenericValue extends ({
4
+ toJSON: AnyFunction;
5
+ }) ? ReturnType<GenericValue["toJSON"]> : GenericValue extends [infer InferredFirst, ...infer InferredRest] ? [
6
+ ToJSON<InferredFirst>,
7
+ ...(ToJSON<InferredRest> extends infer InferredSubRest extends any[] ? IsEqual<InferredSubRest, never[]> extends false ? InferredSubRest : [] : [])
8
+ ] : GenericValue extends any[] ? ToJSON<GenericValue[number]>[] : GenericValue extends Record<number, unknown> ? {
9
+ [Prop in keyof GenericValue as GenericValue[Prop] extends AnyFunction ? never : Prop]: ToJSON<GenericValue[Prop]>;
10
+ } : undefined;
11
+ export declare function toJSON<GenericValue extends unknown>(value: GenericValue): ToJSON<GenericValue>;
@@ -0,0 +1,32 @@
1
+ function toJSON(value) {
2
+ if (typeof value === "string"
3
+ || typeof value === "number"
4
+ || value === null
5
+ || value === undefined) {
6
+ return value;
7
+ }
8
+ else if (typeof value === "object"
9
+ && "toJSON" in value
10
+ && typeof value.toJSON === "function") {
11
+ return value.toJSON();
12
+ }
13
+ else if (typeof value === "object"
14
+ && (!value.constructor
15
+ || value.constructor.name === "Object")) {
16
+ return Object
17
+ .entries(value)
18
+ .reduce((pv, [key, value]) => ({
19
+ ...pv,
20
+ [key]: toJSON(value),
21
+ }), {});
22
+ }
23
+ else if (value instanceof Array
24
+ && value.constructor.name === "Array") {
25
+ return value.map(toJSON);
26
+ }
27
+ else {
28
+ return undefined;
29
+ }
30
+ }
31
+
32
+ export { toJSON };
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ function toString(value) {
4
+ return `${value}`;
5
+ }
6
+
7
+ exports.toString = toString;
@@ -0,0 +1 @@
1
+ export declare function toString<GenericValue extends number | string | bigint | boolean | null | undefined>(value: GenericValue): `${GenericValue}`;
@@ -0,0 +1,5 @@
1
+ function toString(value) {
2
+ return `${value}`;
3
+ }
4
+
5
+ export { toString };
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ function toTransform(value) {
4
+ if (typeof value === "string"
5
+ || typeof value === "number"
6
+ || value === null
7
+ || value === undefined) {
8
+ return value;
9
+ }
10
+ else if (value
11
+ && typeof value === "object"
12
+ && "toTransform" in value
13
+ && typeof value.toTransform === "function") {
14
+ return (value.toTransform());
15
+ }
16
+ else if (typeof value === "object"
17
+ && (!value.constructor
18
+ || value.constructor.name === "Object")) {
19
+ return Object.entries(value)
20
+ .reduce((pv, [key, value]) => ({
21
+ ...pv,
22
+ [key]: toTransform(value),
23
+ }), {});
24
+ }
25
+ else if (value instanceof Array
26
+ && value.constructor.name === "Array") {
27
+ return value.map((subValue) => toTransform(subValue));
28
+ }
29
+ else {
30
+ return value;
31
+ }
32
+ }
33
+
34
+ exports.toTransform = toTransform;
@@ -0,0 +1,11 @@
1
+ import { type AnyFunction } from "./types/anyFunction";
2
+ import { type IsEqual } from "./types/isEqual";
3
+ export type ToTransform<GenericValue extends unknown> = GenericValue extends number | string | null | undefined ? GenericValue : GenericValue extends ({
4
+ toTransform: AnyFunction;
5
+ }) ? ReturnType<GenericValue["toTransform"]> : GenericValue extends [infer InferredFirst, ...infer InferredRest] ? [
6
+ ToTransform<InferredFirst>,
7
+ ...(ToTransform<InferredRest> extends infer InferredSubRest extends any[] ? IsEqual<InferredSubRest, never[]> extends false ? InferredSubRest : [] : [])
8
+ ] : GenericValue extends any[] ? ToTransform<GenericValue[number]>[] : GenericValue extends Record<number, unknown> ? {
9
+ [Prop in keyof GenericValue]: ToTransform<GenericValue[Prop]>;
10
+ } : GenericValue;
11
+ export declare function toTransform<GenericValue extends unknown>(value: GenericValue): ToTransform<GenericValue>;
@@ -0,0 +1,32 @@
1
+ function toTransform(value) {
2
+ if (typeof value === "string"
3
+ || typeof value === "number"
4
+ || value === null
5
+ || value === undefined) {
6
+ return value;
7
+ }
8
+ else if (value
9
+ && typeof value === "object"
10
+ && "toTransform" in value
11
+ && typeof value.toTransform === "function") {
12
+ return (value.toTransform());
13
+ }
14
+ else if (typeof value === "object"
15
+ && (!value.constructor
16
+ || value.constructor.name === "Object")) {
17
+ return Object.entries(value)
18
+ .reduce((pv, [key, value]) => ({
19
+ ...pv,
20
+ [key]: toTransform(value),
21
+ }), {});
22
+ }
23
+ else if (value instanceof Array
24
+ && value.constructor.name === "Array") {
25
+ return value.map((subValue) => toTransform(subValue));
26
+ }
27
+ else {
28
+ return value;
29
+ }
30
+ }
31
+
32
+ export { toTransform };
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var wrapValue = require('./wrapValue.cjs');
4
+
5
+ function toWrappedValue(value) {
6
+ return wrapValue.isWrappedValue(value)
7
+ ? value
8
+ : wrapValue.wrapValue(value);
9
+ }
10
+
11
+ exports.toWrappedValue = toWrappedValue;
@@ -0,0 +1,4 @@
1
+ import { type WrappedValue } from "../common/wrapValue";
2
+ import { type MaybeWrapped } from "./types/maybeWrapped";
3
+ import { type AnyValue } from "./types";
4
+ export declare function toWrappedValue<GenericInnerValue extends AnyValue, GenericValue extends MaybeWrapped<GenericInnerValue>>(value: GenericValue): GenericValue extends WrappedValue ? GenericValue : WrappedValue<GenericValue>;
@@ -0,0 +1,9 @@
1
+ import { wrapValue, isWrappedValue } from './wrapValue.mjs';
2
+
3
+ function toWrappedValue(value) {
4
+ return isWrappedValue(value)
5
+ ? value
6
+ : wrapValue(value);
7
+ }
8
+
9
+ export { toWrappedValue };
@@ -0,0 +1 @@
1
+ export type IsExtends<GenericValueA extends unknown, GenericValueB extends unknown> = GenericValueA extends GenericValueB ? true : false;
@@ -0,0 +1 @@
1
+ export type Adaptor<GenericValue extends unknown, GenericExpectedType extends unknown, GenericElse extends unknown = never> = GenericValue extends GenericExpectedType ? GenericValue : GenericElse;
@@ -0,0 +1,23 @@
1
+ export interface NumberTailer {
2
+ "0": "1";
3
+ "1": "2";
4
+ "2": "3";
5
+ "3": "4";
6
+ "4": "5";
7
+ "5": "6";
8
+ "6": "7";
9
+ "7": "8";
10
+ "8": "9";
11
+ "9": "0";
12
+ }
13
+ type MakeArrayFromString<GenericValue extends string> = GenericValue extends `${infer InferredFirst}${infer InferredRest}` ? [InferredFirst, ...MakeArrayFromString<InferredRest>] : [];
14
+ type MakeStringFromArray<GenericValue extends string[]> = GenericValue extends [infer InferredFirst extends string, ...infer InferredRest extends string[]] ? `${InferredFirst}${MakeStringFromArray<InferredRest>}` : "";
15
+ type MakeNumberFromArray<GenericValue extends string[]> = MakeStringFromArray<GenericValue> extends `${infer InferredValue extends number}` ? InferredValue : never;
16
+ export type AddOne<GenericValue extends number> = MakeArrayFromString<`${GenericValue}`> extends [
17
+ ...infer InferredRest extends string[],
18
+ infer InferredLast extends keyof NumberTailer
19
+ ] ? NumberTailer[InferredLast] extends "0" ? MakeNumberFromArray<[
20
+ InferredRest extends [] ? "1" : `${AddOne<MakeNumberFromArray<InferredRest>>}`,
21
+ NumberTailer[InferredLast]
22
+ ]> : MakeNumberFromArray<[...InferredRest, NumberTailer[InferredLast]]> : never;
23
+ export {};
@@ -0,0 +1,2 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ export type And<GenericBooleans extends [boolean, ...boolean[]]> = IsEqual<GenericBooleans[number], true>;
@@ -0,0 +1 @@
1
+ export type AnyFunction<GenericArgs extends any[] = any[], GenericReturn extends any = any> = (...args: GenericArgs) => GenericReturn;
@@ -0,0 +1,4 @@
1
+ import { type ObjectKey } from "./objectKey";
2
+ export interface AnyObject {
3
+ [key: ObjectKey]: any;
4
+ }
@@ -0,0 +1 @@
1
+ export type AnyTuple<GenericValue extends unknown = any> = readonly [GenericValue, ...GenericValue[]];
@@ -0,0 +1,2 @@
1
+ import { type AnyFunction } from "./anyFunction";
2
+ export type AnyValue = string | number | boolean | object | null | bigint | AnyFunction | undefined | symbol;
@@ -0,0 +1 @@
1
+ export type BreakGenericLink<GenericValue extends unknown> = [GenericValue][GenericValue extends never ? 0 : never];
@@ -0,0 +1,6 @@
1
+ import { type AddOne } from "./addOne";
2
+ import { type IsEqual } from "./isEqual";
3
+ export type CreateTupleFromLength<GenericInnerValue extends unknown, GenericLength extends number, GenericIncrement extends number = 1> = IsEqual<GenericLength, number> extends false ? GenericLength extends GenericIncrement ? [GenericInnerValue, ...GenericInnerValue[]] : [
4
+ GenericInnerValue,
5
+ ...(GenericIncrement extends 48 ? GenericInnerValue[] : CreateTupleFromLength<GenericInnerValue, GenericLength, AddOne<GenericIncrement>>)
6
+ ] : GenericInnerValue[];
@@ -0,0 +1,3 @@
1
+ export type DeepPartial<GenericPattern extends object> = {
2
+ [Prop in keyof GenericPattern]?: GenericPattern[Prop] extends object ? DeepPartial<GenericPattern[Prop]> : GenericPattern[Prop];
3
+ };
@@ -0,0 +1,3 @@
1
+ export type DeepRemoveReadonly<GenericValue extends unknown> = GenericValue extends object ? {
2
+ -readonly [Prop in keyof GenericValue]: DeepRemoveReadonly<GenericValue[Prop]>;
3
+ } : GenericValue;
@@ -0,0 +1 @@
1
+ export type EscapeAny = any;
@@ -0,0 +1 @@
1
+ export type EscapeVoid = void;
@@ -0,0 +1,6 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ export interface ExpectType<GenericOne extends unknown, GenericTwo extends GenericOne, GenericRule extends (IsEqual<GenericOne, GenericTwo> extends true ? "strict" : (GenericOne extends GenericTwo ? true : 1) extends (GenericTwo extends GenericOne ? true : 2) ? "flexible" : GenericOne extends GenericTwo ? "one-extends-two" : GenericTwo extends GenericOne ? "two-extends-one" : "none")> {
3
+ one: GenericOne;
4
+ two: GenericTwo;
5
+ rule: GenericRule;
6
+ }
@@ -0,0 +1,2 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ export type FixDeepFunctionInfer<GenericValue extends unknown, GenericValueInfer extends unknown> = IsEqual<GenericValueInfer, never> extends true ? NoInfer<GenericValue> : GenericValueInfer;
@@ -0,0 +1,3 @@
1
+ export type ForcePredicate<GenericArgValue extends unknown, GenericWantValue extends unknown> = ({
2
+ [Prop in GenericWantValue as "prop"]: Prop;
3
+ } & Record<string, GenericArgValue>)["prop"];
@@ -0,0 +1,37 @@
1
+ export * from "./addOne";
2
+ export * from "./anyFunction";
3
+ export * from "./anyValue";
4
+ export * from "./createTupleFromLength";
5
+ export * from "./escapeAny";
6
+ export * from "./escapeVoid";
7
+ export * from "./expectType";
8
+ export * from "./isEqual";
9
+ export * from "./maybeArray";
10
+ export * from "./maybePromise";
11
+ export * from "./simplifyTopLevel";
12
+ export * from "./simplifyType";
13
+ export * from "./simplifyTypeForce";
14
+ export * from "./unionToIntersection";
15
+ export * from "./unionToTuple";
16
+ export * from "./isUnion";
17
+ export * from "./anyTuple";
18
+ export * from "./anyObject";
19
+ export * from "./objectEntry";
20
+ export * from "./objectKey";
21
+ export * from "./toLargeEnsemble";
22
+ export * from "./deepPartial";
23
+ export * from "./fixDeepFunctionInfer";
24
+ export * from "./adaptor";
25
+ export * from "./neverCoalescing";
26
+ export * from "./unionContain";
27
+ export * from "./forcePredicate";
28
+ export * from "./IsExtends";
29
+ export * from "./removeReadonly";
30
+ export * from "./deepRemoveReadonly";
31
+ export * from "./and";
32
+ export * from "./or";
33
+ export * from "./breakGenericLink";
34
+ export * from "./not";
35
+ export * from "./lastUnionElement";
36
+ export * from "./removeDuplicateInUnion";
37
+ export * from "./isStringLIteral";
@@ -0,0 +1,2 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ export type IsStringLiteral<GenericString extends string> = IsEqual<GenericString, string> extends true ? false : true;
@@ -0,0 +1,2 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ export type IsUnion<GenericValue extends unknown, GenericCloneValue extends unknown = GenericValue> = IsEqual<GenericValue, never> extends true ? false : GenericValue extends unknown ? IsEqual<GenericValue, GenericCloneValue> extends true ? false : true : never;
@@ -0,0 +1,2 @@
1
+ import { type UnionToIntersection } from "./unionToIntersection";
2
+ export type LastUnionElement<T> = UnionToIntersection<T extends any ? () => T : never> extends () => (infer R) ? R : never;
@@ -0,0 +1 @@
1
+ export type MaybeArray<GenericValue extends unknown> = GenericValue | GenericValue[];
@@ -0,0 +1 @@
1
+ export type MaybePromise<GenericValue extends unknown> = GenericValue | Promise<GenericValue>;
@@ -0,0 +1,2 @@
1
+ import { type WrappedValue } from "../../common/wrapValue";
2
+ export type MaybeWrapped<GenericInnerValue extends unknown> = GenericInnerValue | WrappedValue<GenericInnerValue>;
@@ -0,0 +1,2 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ export type NeverCoalescing<GenericValue extends unknown, GenericCoalescingValue extends unknown> = IsEqual<GenericValue, never> extends true ? GenericCoalescingValue : GenericValue;
@@ -0,0 +1 @@
1
+ export type Not<GenericBoolean extends boolean> = GenericBoolean extends false ? true : false;
@@ -0,0 +1,2 @@
1
+ import { type ObjectKey } from "./objectKey";
2
+ export type ObjectEntry = [ObjectKey, any];
@@ -0,0 +1 @@
1
+ export type ObjectKey = keyof any;
@@ -0,0 +1,2 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ export type Or<GenericBooleans extends [boolean, ...boolean[]]> = IsEqual<GenericBooleans[number] | false, boolean>;
@@ -0,0 +1,4 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ import { type IsUnion } from "./isUnion";
3
+ import { type LastUnionElement } from "./lastUnionElement";
4
+ export type RemoveDuplicateInUnion<GenericValue extends unknown> = IsUnion<GenericValue> extends true ? LastUnionElement<GenericValue> extends infer InferredValue ? (InferredValue | RemoveDuplicateInUnion<GenericValue extends any ? IsEqual<GenericValue, InferredValue> extends true ? never : GenericValue : never>) : never : GenericValue;
@@ -0,0 +1,3 @@
1
+ export type RemoveReadonly<GenericValue extends unknown> = GenericValue extends object ? {
2
+ -readonly [Prop in keyof GenericValue]: GenericValue[Prop];
3
+ } : GenericValue;
@@ -0,0 +1,3 @@
1
+ export type SimplifyTopLevel<GenericObject extends unknown> = GenericObject extends object ? {
2
+ [Prop in keyof GenericObject]: GenericObject[Prop];
3
+ } : GenericObject;
@@ -0,0 +1,3 @@
1
+ export type SimplifyType<GenericValue extends unknown> = GenericValue extends Record<number, unknown> ? {
2
+ [Prop in keyof GenericValue]: SimplifyType<GenericValue[Prop]>;
3
+ } : GenericValue;
@@ -0,0 +1,3 @@
1
+ export type SimplifyTypeForce<GenericValue extends unknown> = GenericValue extends object ? {
2
+ [Prop in keyof GenericValue]: SimplifyTypeForce<GenericValue[Prop]>;
3
+ } : GenericValue;
@@ -0,0 +1,6 @@
1
+ export type ToLargeEnsemble<GenericValue extends unknown> = GenericValue extends string ? string : GenericValue extends number ? number : GenericValue extends bigint ? bigint : GenericValue extends boolean ? boolean : GenericValue extends null ? null : GenericValue extends undefined ? undefined : GenericValue extends symbol ? symbol : GenericValue extends [infer InferredValue, ...infer InferredRest] ? [
2
+ ToLargeEnsemble<InferredValue>,
3
+ ...ToLargeEnsemble<InferredRest>
4
+ ] : GenericValue extends never[] ? [] : GenericValue extends (infer InferredValue)[] ? ToLargeEnsemble<InferredValue>[] : GenericValue extends object ? {
5
+ [Prop in keyof GenericValue]: ToLargeEnsemble<GenericValue[Prop]>;
6
+ } : GenericValue extends (...args: infer InferredArgs) => infer InferredReturn ? (...args: ToLargeEnsemble<InferredArgs>) => ToLargeEnsemble<InferredReturn> : GenericValue extends Promise<infer InferredValue> ? InferredValue : never;
@@ -0,0 +1,2 @@
1
+ import { type IsEqual } from "./isEqual";
2
+ export type UnionContain<GenericUnion extends unknown, GenericValue extends unknown> = IsEqual<GenericUnion extends any ? IsEqual<GenericUnion, GenericValue> : never, boolean>;
@@ -0,0 +1 @@
1
+ export type UnionToIntersection<GenericUnion extends unknown> = (GenericUnion extends any ? (_x: GenericUnion) => any : never) extends (_x: infer InferredArg) => any ? InferredArg : never;
@@ -0,0 +1,5 @@
1
+ import { type LastUnionElement } from "./lastUnionElement";
2
+ type PushElementToTuple<T extends any[], V> = [...T, V];
3
+ export type UnionToTuple<T, L = LastUnionElement<T>, N = [T] extends [never] ? true : false> = true extends N ? [
4
+ ] : PushElementToTuple<UnionToTuple<Exclude<T, L>>, L>;
5
+ export {};
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ var wrapValue = require('./wrapValue.cjs');
4
+
5
+ function unwrap(anyValue) {
6
+ return anyValue && typeof anyValue === "object" && wrapValue.keyWrappedValue in anyValue
7
+ ? anyValue[wrapValue.keyWrappedValue]
8
+ : anyValue;
9
+ }
10
+
11
+ exports.unwrap = unwrap;
@@ -0,0 +1,4 @@
1
+ import { type WrappedValue } from "./wrapValue";
2
+ import { type AnyValue } from "./types/anyValue";
3
+ export type Unwrap<GenericAnyValue extends unknown> = GenericAnyValue extends WrappedValue<infer inferredValue> ? inferredValue : GenericAnyValue;
4
+ export declare function unwrap<GenericValue extends AnyValue, GenericAnyValue extends AnyValue | WrappedValue<GenericValue>>(anyValue: GenericAnyValue): Unwrap<GenericAnyValue>;
@@ -0,0 +1,9 @@
1
+ import { keyWrappedValue } from './wrapValue.mjs';
2
+
3
+ function unwrap(anyValue) {
4
+ return anyValue && typeof anyValue === "object" && keyWrappedValue in anyValue
5
+ ? anyValue[keyWrappedValue]
6
+ : anyValue;
7
+ }
8
+
9
+ export { unwrap };
@@ -0,0 +1,5 @@
1
+ import { type EscapeVoid, type AnyValue } from "./types";
2
+ export declare function when<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: GenericPredicatedInput) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<GenericInput, GenericPredicatedInput>;
3
+ export declare function when<GenericInput extends AnyValue, GenericPredicatedInput extends GenericInput, GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, ifFunction: (input: GenericInput) => input is GenericPredicatedInput, theFunction: (predicatedInput: GenericPredicatedInput) => GenericOutput): GenericOutput | Exclude<GenericInput, GenericPredicatedInput>;
4
+ export declare function when<GenericInput extends AnyValue, GenericOutput extends AnyValue | EscapeVoid>(ifFunction: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput): (input: GenericInput) => GenericOutput | GenericInput;
5
+ export declare function when<GenericInput extends AnyValue, GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, ifFunction: (input: GenericInput) => boolean, theFunction: (predicatedInput: GenericInput) => GenericOutput): GenericOutput | GenericInput;
@@ -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,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;