@duplojs/utils 1.4.32 → 1.4.34

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 (842) hide show
  1. package/dist/array/at/default.d.ts +32 -0
  2. package/dist/array/at/first.cjs +3 -0
  3. package/dist/array/at/first.d.ts +25 -0
  4. package/dist/array/at/first.mjs +3 -0
  5. package/dist/array/at/last.cjs +3 -0
  6. package/dist/array/at/last.d.ts +25 -0
  7. package/dist/array/at/last.mjs +3 -0
  8. package/dist/array/chunk.d.ts +27 -0
  9. package/dist/array/coalescing.cjs +3 -0
  10. package/dist/array/coalescing.d.ts +22 -0
  11. package/dist/array/coalescing.mjs +3 -0
  12. package/dist/array/concat.d.ts +28 -0
  13. package/dist/array/copyWithin.d.ts +31 -0
  14. package/dist/array/every.d.ts +37 -0
  15. package/dist/array/fill/all.d.ts +36 -0
  16. package/dist/array/fill/default.d.ts +36 -0
  17. package/dist/array/filter.d.ts +33 -0
  18. package/dist/array/find.d.ts +34 -0
  19. package/dist/array/findAndReplace.d.ts +40 -0
  20. package/dist/array/findAndSplice/delete.d.ts +40 -0
  21. package/dist/array/findAndSplice/insert.d.ts +40 -0
  22. package/dist/array/findAndSplice/replace.d.ts +40 -0
  23. package/dist/array/findIndex.d.ts +37 -0
  24. package/dist/array/findLast.d.ts +39 -0
  25. package/dist/array/findLastIndex.d.ts +37 -0
  26. package/dist/array/flat.d.ts +32 -0
  27. package/dist/array/flatMap.d.ts +37 -0
  28. package/dist/array/from.cjs +3 -0
  29. package/dist/array/from.d.ts +33 -0
  30. package/dist/array/from.mjs +3 -0
  31. package/dist/array/group.d.ts +67 -0
  32. package/dist/array/includes.d.ts +40 -0
  33. package/dist/array/index.cjs +3 -1
  34. package/dist/array/index.d.ts +27 -0
  35. package/dist/array/index.mjs +4 -0
  36. package/dist/array/indexOf.d.ts +38 -0
  37. package/dist/array/insert.d.ts +34 -0
  38. package/dist/array/is.cjs +3 -0
  39. package/dist/array/is.d.ts +25 -0
  40. package/dist/array/is.mjs +3 -0
  41. package/dist/array/isLastIndex.d.ts +28 -0
  42. package/dist/array/join.d.ts +35 -0
  43. package/dist/array/lastIndexOf.d.ts +37 -0
  44. package/dist/array/length.cjs +3 -0
  45. package/dist/array/length.d.ts +24 -0
  46. package/dist/array/length.mjs +3 -0
  47. package/dist/array/lengthEqual.d.ts +44 -0
  48. package/dist/array/map.d.ts +33 -0
  49. package/dist/array/maxElements.d.ts +33 -0
  50. package/dist/array/maxOf.cjs +3 -0
  51. package/dist/array/maxOf.d.ts +28 -0
  52. package/dist/array/maxOf.mjs +3 -0
  53. package/dist/array/minElements.d.ts +47 -0
  54. package/dist/array/minOf.cjs +3 -0
  55. package/dist/array/minOf.d.ts +28 -0
  56. package/dist/array/minOf.mjs +3 -0
  57. package/dist/array/notIncludes.d.ts +41 -0
  58. package/dist/array/pop.cjs +3 -0
  59. package/dist/array/pop.d.ts +31 -0
  60. package/dist/array/pop.mjs +3 -0
  61. package/dist/array/push.d.ts +38 -0
  62. package/dist/array/reduce.cjs +3 -0
  63. package/dist/array/reduce.d.ts +74 -0
  64. package/dist/array/reduce.mjs +3 -0
  65. package/dist/array/reduceRight.d.ts +39 -0
  66. package/dist/array/reverse.cjs +3 -0
  67. package/dist/array/reverse.d.ts +31 -0
  68. package/dist/array/reverse.mjs +3 -0
  69. package/dist/array/select.d.ts +39 -0
  70. package/dist/array/set.d.ts +39 -0
  71. package/dist/array/shift.cjs +3 -0
  72. package/dist/array/shift.d.ts +31 -0
  73. package/dist/array/shift.mjs +3 -0
  74. package/dist/array/slice.d.ts +36 -0
  75. package/dist/array/some.d.ts +44 -0
  76. package/dist/array/sort.d.ts +29 -0
  77. package/dist/array/splice/delete.d.ts +32 -0
  78. package/dist/array/splice/insert.d.ts +39 -0
  79. package/dist/array/splice/replace.d.ts +39 -0
  80. package/dist/array/sum.cjs +3 -0
  81. package/dist/array/sum.d.ts +22 -0
  82. package/dist/array/sum.mjs +3 -0
  83. package/dist/array/toTuple.d.ts +33 -0
  84. package/dist/array/unshift.d.ts +38 -0
  85. package/dist/clean/constraint/base.cjs +3 -0
  86. package/dist/clean/constraint/base.d.ts +106 -0
  87. package/dist/clean/constraint/base.mjs +3 -0
  88. package/dist/clean/constraint/defaultConstraint/number.cjs +9 -0
  89. package/dist/clean/constraint/defaultConstraint/number.d.ts +81 -0
  90. package/dist/clean/constraint/defaultConstraint/number.mjs +9 -0
  91. package/dist/clean/constraint/defaultConstraint/string.cjs +6 -0
  92. package/dist/clean/constraint/defaultConstraint/string.d.ts +54 -0
  93. package/dist/clean/constraint/defaultConstraint/string.mjs +6 -0
  94. package/dist/clean/entity.cjs +3 -0
  95. package/dist/clean/entity.d.ts +141 -0
  96. package/dist/clean/entity.mjs +3 -0
  97. package/dist/clean/flag.cjs +3 -0
  98. package/dist/clean/flag.d.ts +96 -0
  99. package/dist/clean/flag.mjs +3 -0
  100. package/dist/clean/index.cjs +3 -1
  101. package/dist/clean/index.d.ts +25 -0
  102. package/dist/clean/index.mjs +4 -0
  103. package/dist/clean/kind.cjs +3 -0
  104. package/dist/clean/kind.d.ts +33 -0
  105. package/dist/clean/kind.mjs +3 -0
  106. package/dist/clean/newType.cjs +3 -0
  107. package/dist/clean/newType.d.ts +106 -0
  108. package/dist/clean/newType.mjs +3 -0
  109. package/dist/clean/primitive/base.cjs +18 -0
  110. package/dist/clean/primitive/base.d.ts +242 -0
  111. package/dist/clean/primitive/base.mjs +18 -0
  112. package/dist/clean/primitive/operations/date/dateAddTime.d.ts +35 -0
  113. package/dist/clean/primitive/operations/date/dateGreaterThan.d.ts +24 -0
  114. package/dist/clean/primitive/operations/date/dateLessThan.d.ts +24 -0
  115. package/dist/clean/primitive/operations/date/dateMax.cjs +3 -0
  116. package/dist/clean/primitive/operations/date/dateMax.d.ts +36 -0
  117. package/dist/clean/primitive/operations/date/dateMax.mjs +3 -0
  118. package/dist/clean/primitive/operations/date/dateMin.cjs +3 -0
  119. package/dist/clean/primitive/operations/date/dateMin.d.ts +36 -0
  120. package/dist/clean/primitive/operations/date/dateMin.mjs +3 -0
  121. package/dist/clean/primitive/operations/date/dateSubtractTime.d.ts +35 -0
  122. package/dist/clean/primitive/operations/equal.d.ts +34 -0
  123. package/dist/clean/primitive/operations/number/add.d.ts +34 -0
  124. package/dist/clean/primitive/operations/number/divide.d.ts +34 -0
  125. package/dist/clean/primitive/operations/number/greaterThan.d.ts +25 -0
  126. package/dist/clean/primitive/operations/number/lessThan.d.ts +25 -0
  127. package/dist/clean/primitive/operations/number/max.cjs +3 -0
  128. package/dist/clean/primitive/operations/number/max.d.ts +33 -0
  129. package/dist/clean/primitive/operations/number/max.mjs +3 -0
  130. package/dist/clean/primitive/operations/number/min.cjs +3 -0
  131. package/dist/clean/primitive/operations/number/min.d.ts +33 -0
  132. package/dist/clean/primitive/operations/number/min.mjs +3 -0
  133. package/dist/clean/primitive/operations/number/multiply.d.ts +34 -0
  134. package/dist/clean/primitive/operations/number/subtract.d.ts +34 -0
  135. package/dist/clean/primitive/operations/sort.d.ts +38 -0
  136. package/dist/clean/primitive/operations/string/concat.d.ts +35 -0
  137. package/dist/clean/primitive/operations/string/length.cjs +3 -0
  138. package/dist/clean/primitive/operations/string/length.d.ts +27 -0
  139. package/dist/clean/primitive/operations/string/length.mjs +3 -0
  140. package/dist/clean/primitive/operations/string/lengthEqual.d.ts +25 -0
  141. package/dist/clean/primitive/operations/string/lengthGreaterThan.d.ts +25 -0
  142. package/dist/clean/primitive/operations/string/lengthLessThan.d.ts +25 -0
  143. package/dist/clean/primitive/operations/time/timeGreaterThan.d.ts +24 -0
  144. package/dist/clean/primitive/operations/time/timeLessThan.d.ts +24 -0
  145. package/dist/clean/primitive/operations/time/timeMax.cjs +3 -0
  146. package/dist/clean/primitive/operations/time/timeMax.d.ts +36 -0
  147. package/dist/clean/primitive/operations/time/timeMax.mjs +3 -0
  148. package/dist/clean/primitive/operations/time/timeMin.cjs +3 -0
  149. package/dist/clean/primitive/operations/time/timeMin.d.ts +36 -0
  150. package/dist/clean/primitive/operations/time/timeMin.mjs +3 -0
  151. package/dist/clean/repository.cjs +3 -0
  152. package/dist/clean/repository.d.ts +87 -0
  153. package/dist/clean/repository.mjs +3 -0
  154. package/dist/clean/useCase.cjs +6 -0
  155. package/dist/clean/useCase.d.ts +140 -0
  156. package/dist/clean/useCase.mjs +6 -0
  157. package/dist/common/addWrappedProperties.cjs +3 -0
  158. package/dist/common/addWrappedProperties.d.ts +12 -0
  159. package/dist/common/addWrappedProperties.mjs +3 -0
  160. package/dist/common/and.d.ts +53 -0
  161. package/dist/common/asyncInnerPipe.d.ts +49 -0
  162. package/dist/common/asyncLoop.cjs +3 -0
  163. package/dist/common/asyncLoop.d.ts +29 -0
  164. package/dist/common/asyncLoop.mjs +3 -0
  165. package/dist/common/asyncPipe.cjs +3 -0
  166. package/dist/common/asyncPipe.d.ts +35 -0
  167. package/dist/common/asyncPipe.mjs +3 -0
  168. package/dist/common/asyncRetry.cjs +6 -0
  169. package/dist/common/asyncRetry.d.ts +64 -0
  170. package/dist/common/asyncRetry.mjs +6 -0
  171. package/dist/common/builder.cjs +3 -0
  172. package/dist/common/builder.d.ts +88 -0
  173. package/dist/common/builder.mjs +3 -0
  174. package/dist/common/clone.cjs +3 -0
  175. package/dist/common/clone.d.ts +12 -0
  176. package/dist/common/clone.mjs +3 -0
  177. package/dist/common/createKindIdentifier.d.ts +2 -2
  178. package/dist/common/enum.cjs +3 -0
  179. package/dist/common/enum.d.ts +34 -0
  180. package/dist/common/enum.mjs +3 -0
  181. package/dist/common/equal.d.ts +38 -0
  182. package/dist/common/escapeRegExp.cjs +3 -0
  183. package/dist/common/escapeRegExp.d.ts +20 -0
  184. package/dist/common/escapeRegExp.mjs +3 -0
  185. package/dist/common/externalPromise.cjs +3 -0
  186. package/dist/common/externalPromise.d.ts +20 -0
  187. package/dist/common/externalPromise.mjs +3 -0
  188. package/dist/common/falsy.cjs +3 -0
  189. package/dist/common/falsy.d.ts +27 -0
  190. package/dist/common/falsy.mjs +3 -0
  191. package/dist/common/forward.cjs +3 -0
  192. package/dist/common/forward.d.ts +23 -0
  193. package/dist/common/forward.mjs +3 -0
  194. package/dist/common/forwardLog.cjs +3 -0
  195. package/dist/common/forwardLog.d.ts +28 -0
  196. package/dist/common/forwardLog.mjs +3 -0
  197. package/dist/common/globalStore.cjs +3 -0
  198. package/dist/common/globalStore.d.ts +12 -0
  199. package/dist/common/globalStore.mjs +3 -0
  200. package/dist/common/hasKinds.d.ts +39 -0
  201. package/dist/common/hasSomeKinds.d.ts +39 -0
  202. package/dist/common/index.d.ts +27 -0
  203. package/dist/common/innerPipe.d.ts +35 -0
  204. package/dist/common/instanceOf.d.ts +33 -0
  205. package/dist/common/isType.d.ts +35 -0
  206. package/dist/common/justReturn.d.ts +43 -0
  207. package/dist/common/kind.cjs +6 -0
  208. package/dist/common/kind.d.ts +94 -0
  209. package/dist/common/kind.mjs +6 -0
  210. package/dist/common/loop.cjs +3 -0
  211. package/dist/common/loop.d.ts +26 -0
  212. package/dist/common/loop.mjs +3 -0
  213. package/dist/common/memo.cjs +3 -0
  214. package/dist/common/memo.d.ts +25 -0
  215. package/dist/common/memo.mjs +3 -0
  216. package/dist/common/or.d.ts +41 -0
  217. package/dist/common/override.cjs +3 -0
  218. package/dist/common/override.d.ts +45 -0
  219. package/dist/common/override.mjs +3 -0
  220. package/dist/common/pipe.d.ts +29 -0
  221. package/dist/common/promiseObject.cjs +3 -0
  222. package/dist/common/promiseObject.d.ts +26 -0
  223. package/dist/common/promiseObject.mjs +3 -0
  224. package/dist/common/simpleClone.cjs +3 -0
  225. package/dist/common/simpleClone.d.ts +23 -0
  226. package/dist/common/simpleClone.mjs +3 -0
  227. package/dist/common/sleep.cjs +3 -0
  228. package/dist/common/sleep.d.ts +21 -0
  229. package/dist/common/sleep.mjs +3 -0
  230. package/dist/common/stringToBytes.cjs +3 -0
  231. package/dist/common/stringToBytes.d.ts +17 -0
  232. package/dist/common/stringToBytes.mjs +3 -0
  233. package/dist/common/stringToMillisecond.cjs +3 -0
  234. package/dist/common/stringToMillisecond.d.ts +17 -0
  235. package/dist/common/stringToMillisecond.mjs +3 -0
  236. package/dist/common/toJSON.cjs +3 -0
  237. package/dist/common/toJSON.d.ts +35 -0
  238. package/dist/common/toJSON.mjs +3 -0
  239. package/dist/common/toString.cjs +3 -0
  240. package/dist/common/toString.d.ts +18 -0
  241. package/dist/common/toString.mjs +3 -0
  242. package/dist/common/toTransform.cjs +3 -0
  243. package/dist/common/toTransform.d.ts +41 -0
  244. package/dist/common/toTransform.mjs +3 -0
  245. package/dist/common/toWrappedValue.cjs +3 -0
  246. package/dist/common/toWrappedValue.d.ts +22 -0
  247. package/dist/common/toWrappedValue.mjs +3 -0
  248. package/dist/common/truthy.cjs +3 -0
  249. package/dist/common/truthy.d.ts +27 -0
  250. package/dist/common/truthy.mjs +3 -0
  251. package/dist/common/unwrap.d.ts +22 -0
  252. package/dist/common/when.d.ts +40 -0
  253. package/dist/common/whenElse.d.ts +42 -0
  254. package/dist/common/whenNot.d.ts +40 -0
  255. package/dist/common/wrapValue.cjs +9 -0
  256. package/dist/common/wrapValue.d.ts +55 -0
  257. package/dist/common/wrapValue.mjs +9 -0
  258. package/dist/dataParser/base.cjs +0 -1
  259. package/dist/dataParser/base.d.ts +103 -3
  260. package/dist/dataParser/base.mjs +0 -1
  261. package/dist/dataParser/baseExtended.cjs +0 -3
  262. package/dist/dataParser/baseExtended.d.ts +333 -4
  263. package/dist/dataParser/baseExtended.mjs +0 -3
  264. package/dist/dataParser/extended/array.cjs +3 -0
  265. package/dist/dataParser/extended/array.d.ts +85 -11
  266. package/dist/dataParser/extended/array.mjs +3 -0
  267. package/dist/dataParser/extended/bigint.cjs +3 -0
  268. package/dist/dataParser/extended/bigint.d.ts +85 -11
  269. package/dist/dataParser/extended/bigint.mjs +3 -0
  270. package/dist/dataParser/extended/boolean.cjs +3 -0
  271. package/dist/dataParser/extended/boolean.d.ts +29 -7
  272. package/dist/dataParser/extended/boolean.mjs +3 -0
  273. package/dist/dataParser/extended/date.cjs +3 -0
  274. package/dist/dataParser/extended/date.d.ts +29 -7
  275. package/dist/dataParser/extended/date.mjs +3 -0
  276. package/dist/dataParser/extended/empty.cjs +3 -0
  277. package/dist/dataParser/extended/empty.d.ts +28 -7
  278. package/dist/dataParser/extended/empty.mjs +3 -0
  279. package/dist/dataParser/extended/lazy.cjs +3 -0
  280. package/dist/dataParser/extended/lazy.d.ts +39 -7
  281. package/dist/dataParser/extended/lazy.mjs +3 -0
  282. package/dist/dataParser/extended/literal.cjs +3 -0
  283. package/dist/dataParser/extended/literal.d.ts +29 -7
  284. package/dist/dataParser/extended/literal.mjs +3 -0
  285. package/dist/dataParser/extended/nil.cjs +3 -0
  286. package/dist/dataParser/extended/nil.d.ts +29 -7
  287. package/dist/dataParser/extended/nil.mjs +3 -0
  288. package/dist/dataParser/extended/nullable.cjs +3 -0
  289. package/dist/dataParser/extended/nullable.d.ts +29 -7
  290. package/dist/dataParser/extended/nullable.mjs +3 -0
  291. package/dist/dataParser/extended/number.cjs +6 -0
  292. package/dist/dataParser/extended/number.d.ts +145 -14
  293. package/dist/dataParser/extended/number.mjs +6 -0
  294. package/dist/dataParser/extended/object.cjs +3 -0
  295. package/dist/dataParser/extended/object.d.ts +242 -5
  296. package/dist/dataParser/extended/object.mjs +3 -0
  297. package/dist/dataParser/extended/optional.cjs +3 -0
  298. package/dist/dataParser/extended/optional.d.ts +29 -7
  299. package/dist/dataParser/extended/optional.mjs +3 -0
  300. package/dist/dataParser/extended/pipe.cjs +3 -0
  301. package/dist/dataParser/extended/pipe.d.ts +29 -7
  302. package/dist/dataParser/extended/pipe.mjs +3 -0
  303. package/dist/dataParser/extended/record.cjs +3 -0
  304. package/dist/dataParser/extended/record.d.ts +39 -7
  305. package/dist/dataParser/extended/record.mjs +3 -0
  306. package/dist/dataParser/extended/recover.cjs +3 -0
  307. package/dist/dataParser/extended/recover.d.ts +28 -7
  308. package/dist/dataParser/extended/recover.mjs +3 -0
  309. package/dist/dataParser/extended/string.cjs +9 -0
  310. package/dist/dataParser/extended/string.d.ts +164 -14
  311. package/dist/dataParser/extended/string.mjs +9 -0
  312. package/dist/dataParser/extended/templateLiteral.cjs +3 -0
  313. package/dist/dataParser/extended/templateLiteral.d.ts +29 -7
  314. package/dist/dataParser/extended/templateLiteral.mjs +3 -0
  315. package/dist/dataParser/extended/time.cjs +3 -0
  316. package/dist/dataParser/extended/time.d.ts +85 -11
  317. package/dist/dataParser/extended/time.mjs +3 -0
  318. package/dist/dataParser/extended/transform.cjs +3 -0
  319. package/dist/dataParser/extended/transform.d.ts +29 -7
  320. package/dist/dataParser/extended/transform.mjs +3 -0
  321. package/dist/dataParser/extended/tuple.cjs +3 -0
  322. package/dist/dataParser/extended/tuple.d.ts +31 -13
  323. package/dist/dataParser/extended/tuple.mjs +3 -0
  324. package/dist/dataParser/extended/union.cjs +3 -0
  325. package/dist/dataParser/extended/union.d.ts +29 -7
  326. package/dist/dataParser/extended/union.mjs +3 -0
  327. package/dist/dataParser/extended/unknown.cjs +3 -0
  328. package/dist/dataParser/extended/unknown.d.ts +27 -7
  329. package/dist/dataParser/extended/unknown.mjs +3 -0
  330. package/dist/dataParser/identifier.d.ts +2 -2
  331. package/dist/dataParser/parsers/array/index.cjs +3 -0
  332. package/dist/dataParser/parsers/array/index.d.ts +30 -4
  333. package/dist/dataParser/parsers/array/index.mjs +3 -0
  334. package/dist/dataParser/parsers/bigint/index.cjs +3 -0
  335. package/dist/dataParser/parsers/bigint/index.d.ts +30 -4
  336. package/dist/dataParser/parsers/bigint/index.mjs +3 -0
  337. package/dist/dataParser/parsers/boolean.cjs +3 -0
  338. package/dist/dataParser/parsers/boolean.d.ts +30 -4
  339. package/dist/dataParser/parsers/boolean.mjs +3 -0
  340. package/dist/dataParser/parsers/date.cjs +3 -0
  341. package/dist/dataParser/parsers/date.d.ts +30 -4
  342. package/dist/dataParser/parsers/date.mjs +3 -0
  343. package/dist/dataParser/parsers/empty.cjs +3 -0
  344. package/dist/dataParser/parsers/empty.d.ts +29 -4
  345. package/dist/dataParser/parsers/empty.mjs +3 -0
  346. package/dist/dataParser/parsers/lazy.cjs +3 -0
  347. package/dist/dataParser/parsers/lazy.d.ts +39 -4
  348. package/dist/dataParser/parsers/lazy.mjs +3 -0
  349. package/dist/dataParser/parsers/literal.cjs +3 -0
  350. package/dist/dataParser/parsers/literal.d.ts +29 -4
  351. package/dist/dataParser/parsers/literal.mjs +3 -0
  352. package/dist/dataParser/parsers/nil.cjs +3 -0
  353. package/dist/dataParser/parsers/nil.d.ts +30 -4
  354. package/dist/dataParser/parsers/nil.mjs +3 -0
  355. package/dist/dataParser/parsers/nullable.cjs +3 -0
  356. package/dist/dataParser/parsers/nullable.d.ts +30 -4
  357. package/dist/dataParser/parsers/nullable.mjs +3 -0
  358. package/dist/dataParser/parsers/number/index.cjs +3 -0
  359. package/dist/dataParser/parsers/number/index.d.ts +30 -4
  360. package/dist/dataParser/parsers/number/index.mjs +3 -0
  361. package/dist/dataParser/parsers/object/extends.cjs +3 -0
  362. package/dist/dataParser/parsers/object/extends.d.ts +50 -0
  363. package/dist/dataParser/parsers/object/extends.mjs +3 -0
  364. package/dist/dataParser/parsers/object/index.cjs +3 -0
  365. package/dist/dataParser/parsers/object/index.d.ts +39 -4
  366. package/dist/dataParser/parsers/object/index.mjs +3 -0
  367. package/dist/dataParser/parsers/object/omit.cjs +3 -0
  368. package/dist/dataParser/parsers/object/omit.d.ts +38 -0
  369. package/dist/dataParser/parsers/object/omit.mjs +3 -0
  370. package/dist/dataParser/parsers/object/partial.cjs +3 -0
  371. package/dist/dataParser/parsers/object/partial.d.ts +28 -0
  372. package/dist/dataParser/parsers/object/partial.mjs +3 -0
  373. package/dist/dataParser/parsers/object/pick.cjs +3 -0
  374. package/dist/dataParser/parsers/object/pick.d.ts +35 -0
  375. package/dist/dataParser/parsers/object/pick.mjs +3 -0
  376. package/dist/dataParser/parsers/object/required.cjs +3 -0
  377. package/dist/dataParser/parsers/object/required.d.ts +37 -0
  378. package/dist/dataParser/parsers/object/required.mjs +3 -0
  379. package/dist/dataParser/parsers/optional.cjs +3 -0
  380. package/dist/dataParser/parsers/optional.d.ts +30 -4
  381. package/dist/dataParser/parsers/optional.mjs +3 -0
  382. package/dist/dataParser/parsers/pipe.cjs +3 -0
  383. package/dist/dataParser/parsers/pipe.d.ts +31 -4
  384. package/dist/dataParser/parsers/pipe.mjs +3 -0
  385. package/dist/dataParser/parsers/record/index.cjs +3 -0
  386. package/dist/dataParser/parsers/record/index.d.ts +37 -4
  387. package/dist/dataParser/parsers/record/index.mjs +3 -0
  388. package/dist/dataParser/parsers/recover.cjs +3 -0
  389. package/dist/dataParser/parsers/recover.d.ts +30 -4
  390. package/dist/dataParser/parsers/recover.mjs +3 -0
  391. package/dist/dataParser/parsers/string/index.cjs +3 -0
  392. package/dist/dataParser/parsers/string/index.d.ts +30 -4
  393. package/dist/dataParser/parsers/string/index.mjs +3 -0
  394. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.cjs +2 -2
  395. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.mjs +2 -2
  396. package/dist/dataParser/parsers/templateLiteral/index.cjs +3 -0
  397. package/dist/dataParser/parsers/templateLiteral/index.d.ts +41 -15
  398. package/dist/dataParser/parsers/templateLiteral/index.mjs +3 -0
  399. package/dist/dataParser/parsers/time/index.cjs +3 -0
  400. package/dist/dataParser/parsers/time/index.d.ts +30 -4
  401. package/dist/dataParser/parsers/time/index.mjs +3 -0
  402. package/dist/dataParser/parsers/transform.cjs +3 -0
  403. package/dist/dataParser/parsers/transform.d.ts +29 -4
  404. package/dist/dataParser/parsers/transform.mjs +3 -0
  405. package/dist/dataParser/parsers/tuple.cjs +3 -0
  406. package/dist/dataParser/parsers/tuple.d.ts +26 -4
  407. package/dist/dataParser/parsers/tuple.mjs +3 -0
  408. package/dist/dataParser/parsers/union.cjs +3 -0
  409. package/dist/dataParser/parsers/union.d.ts +31 -4
  410. package/dist/dataParser/parsers/union.mjs +3 -0
  411. package/dist/dataParser/parsers/unknown.cjs +3 -0
  412. package/dist/dataParser/parsers/unknown.d.ts +30 -4
  413. package/dist/dataParser/parsers/unknown.mjs +3 -0
  414. package/dist/dataParser/types/addCheckersToDefinition.d.ts +2 -2
  415. package/dist/date/applyTimezone.d.ts +29 -0
  416. package/dist/date/closestTo.d.ts +35 -0
  417. package/dist/date/create.d.ts +52 -0
  418. package/dist/date/createOrThrow.d.ts +35 -0
  419. package/dist/date/createTheDate.cjs +3 -0
  420. package/dist/date/createTheDate.d.ts +26 -0
  421. package/dist/date/createTheDate.mjs +3 -0
  422. package/dist/date/createTheTime.cjs +3 -0
  423. package/dist/date/createTheTime.d.ts +23 -0
  424. package/dist/date/createTheTime.mjs +3 -0
  425. package/dist/date/createTime.d.ts +37 -0
  426. package/dist/date/createTimeOrThrow.cjs +3 -0
  427. package/dist/date/createTimeOrThrow.d.ts +35 -0
  428. package/dist/date/createTimeOrThrow.mjs +3 -0
  429. package/dist/date/each.cjs +3 -0
  430. package/dist/date/each.d.ts +32 -0
  431. package/dist/date/each.mjs +3 -0
  432. package/dist/date/format.cjs +2 -1
  433. package/dist/date/format.d.ts +29 -0
  434. package/dist/date/format.mjs +2 -1
  435. package/dist/date/formatTime.cjs +38 -0
  436. package/dist/date/formatTime.d.ts +35 -0
  437. package/dist/date/formatTime.mjs +36 -0
  438. package/dist/date/getTimezoneOffset.d.ts +29 -0
  439. package/dist/date/getters/getDayOfMonth.cjs +3 -0
  440. package/dist/date/getters/getDayOfMonth.d.ts +29 -0
  441. package/dist/date/getters/getDayOfMonth.mjs +3 -0
  442. package/dist/date/getters/getDayOfWeek.cjs +3 -0
  443. package/dist/date/getters/getDayOfWeek.d.ts +29 -0
  444. package/dist/date/getters/getDayOfWeek.mjs +3 -0
  445. package/dist/date/getters/getDayOfYear.cjs +3 -0
  446. package/dist/date/getters/getDayOfYear.d.ts +26 -0
  447. package/dist/date/getters/getDayOfYear.mjs +3 -0
  448. package/dist/date/getters/getFirstDayOfMonth.cjs +3 -0
  449. package/dist/date/getters/getFirstDayOfMonth.d.ts +24 -0
  450. package/dist/date/getters/getFirstDayOfMonth.mjs +3 -0
  451. package/dist/date/getters/getFirstDayOfWeek.cjs +3 -0
  452. package/dist/date/getters/getFirstDayOfWeek.d.ts +24 -0
  453. package/dist/date/getters/getFirstDayOfWeek.mjs +3 -0
  454. package/dist/date/getters/getHour.cjs +3 -0
  455. package/dist/date/getters/getHour.d.ts +29 -0
  456. package/dist/date/getters/getHour.mjs +3 -0
  457. package/dist/date/getters/getLastDayOfMonth.cjs +3 -0
  458. package/dist/date/getters/getLastDayOfMonth.d.ts +24 -0
  459. package/dist/date/getters/getLastDayOfMonth.mjs +3 -0
  460. package/dist/date/getters/getLastDayOfWeek.cjs +3 -0
  461. package/dist/date/getters/getLastDayOfWeek.d.ts +24 -0
  462. package/dist/date/getters/getLastDayOfWeek.mjs +3 -0
  463. package/dist/date/getters/getMilliseconds.cjs +3 -0
  464. package/dist/date/getters/getMilliseconds.d.ts +29 -0
  465. package/dist/date/getters/getMilliseconds.mjs +3 -0
  466. package/dist/date/getters/getMinute.cjs +3 -0
  467. package/dist/date/getters/getMinute.d.ts +29 -0
  468. package/dist/date/getters/getMinute.mjs +3 -0
  469. package/dist/date/getters/getMonth.cjs +3 -0
  470. package/dist/date/getters/getMonth.d.ts +29 -0
  471. package/dist/date/getters/getMonth.mjs +3 -0
  472. package/dist/date/getters/getSecond.cjs +3 -0
  473. package/dist/date/getters/getSecond.d.ts +29 -0
  474. package/dist/date/getters/getSecond.mjs +3 -0
  475. package/dist/date/getters/getWeekOfYear.cjs +3 -0
  476. package/dist/date/getters/getWeekOfYear.d.ts +26 -0
  477. package/dist/date/getters/getWeekOfYear.mjs +3 -0
  478. package/dist/date/getters/getYear.cjs +3 -0
  479. package/dist/date/getters/getYear.d.ts +29 -0
  480. package/dist/date/getters/getYear.mjs +3 -0
  481. package/dist/date/index.cjs +7 -1
  482. package/dist/date/index.d.ts +34 -0
  483. package/dist/date/index.mjs +6 -0
  484. package/dist/date/is.cjs +3 -0
  485. package/dist/date/is.d.ts +30 -0
  486. package/dist/date/is.mjs +3 -0
  487. package/dist/date/isSafeTimeValue.cjs +3 -0
  488. package/dist/date/isSafeTimeValue.d.ts +26 -0
  489. package/dist/date/isSafeTimeValue.mjs +3 -0
  490. package/dist/date/isSafeTimestamp.cjs +3 -0
  491. package/dist/date/isSafeTimestamp.d.ts +31 -0
  492. package/dist/date/isSafeTimestamp.mjs +3 -0
  493. package/dist/date/isTime.cjs +3 -0
  494. package/dist/date/isTime.d.ts +29 -0
  495. package/dist/date/isTime.mjs +3 -0
  496. package/dist/date/makeSafeTimeValue.cjs +3 -0
  497. package/dist/date/makeSafeTimeValue.d.ts +26 -0
  498. package/dist/date/makeSafeTimeValue.mjs +3 -0
  499. package/dist/date/makeSafeTimestamp.cjs +3 -0
  500. package/dist/date/makeSafeTimestamp.d.ts +26 -0
  501. package/dist/date/makeSafeTimestamp.mjs +3 -0
  502. package/dist/date/max.cjs +3 -0
  503. package/dist/date/max.d.ts +24 -0
  504. package/dist/date/max.mjs +3 -0
  505. package/dist/date/maxTime.cjs +3 -0
  506. package/dist/date/maxTime.d.ts +33 -0
  507. package/dist/date/maxTime.mjs +3 -0
  508. package/dist/date/min.cjs +3 -0
  509. package/dist/date/min.d.ts +24 -0
  510. package/dist/date/min.mjs +3 -0
  511. package/dist/date/minTime.cjs +3 -0
  512. package/dist/date/minTime.d.ts +33 -0
  513. package/dist/date/minTime.mjs +3 -0
  514. package/dist/date/now.cjs +3 -0
  515. package/dist/date/now.d.ts +18 -0
  516. package/dist/date/now.mjs +3 -0
  517. package/dist/date/operators/addDays.d.ts +26 -0
  518. package/dist/date/operators/addHours.d.ts +26 -0
  519. package/dist/date/operators/addMilliseconds.d.ts +26 -0
  520. package/dist/date/operators/addMinutes.d.ts +26 -0
  521. package/dist/date/operators/addMonths.d.ts +30 -0
  522. package/dist/date/operators/addSeconds.d.ts +26 -0
  523. package/dist/date/operators/addTime.d.ts +31 -0
  524. package/dist/date/operators/addWeeks.d.ts +26 -0
  525. package/dist/date/operators/addYears.d.ts +30 -0
  526. package/dist/date/operators/between.d.ts +32 -0
  527. package/dist/date/operators/betweenThan.d.ts +32 -0
  528. package/dist/date/operators/betweenThanTime.d.ts +36 -0
  529. package/dist/date/operators/betweenTime.d.ts +36 -0
  530. package/dist/date/operators/greater.d.ts +28 -0
  531. package/dist/date/operators/greaterThan.d.ts +28 -0
  532. package/dist/date/operators/greaterThanTime.d.ts +35 -0
  533. package/dist/date/operators/greaterTime.d.ts +35 -0
  534. package/dist/date/operators/less.d.ts +28 -0
  535. package/dist/date/operators/lessThan.d.ts +28 -0
  536. package/dist/date/operators/lessThanTime.d.ts +35 -0
  537. package/dist/date/operators/lessTime.d.ts +35 -0
  538. package/dist/date/operators/subtractDays.d.ts +26 -0
  539. package/dist/date/operators/subtractHours.d.ts +26 -0
  540. package/dist/date/operators/subtractMilliseconds.d.ts +26 -0
  541. package/dist/date/operators/subtractMinutes.d.ts +26 -0
  542. package/dist/date/operators/subtractMonths.d.ts +26 -0
  543. package/dist/date/operators/subtractSeconds.d.ts +26 -0
  544. package/dist/date/operators/subtractTime.d.ts +31 -0
  545. package/dist/date/operators/subtractWeeks.d.ts +26 -0
  546. package/dist/date/operators/subtractYears.d.ts +26 -0
  547. package/dist/date/round.cjs +3 -0
  548. package/dist/date/round.d.ts +35 -0
  549. package/dist/date/round.mjs +3 -0
  550. package/dist/date/sort.d.ts +29 -0
  551. package/dist/date/sortTimes.d.ts +36 -0
  552. package/dist/date/toISOString.cjs +3 -0
  553. package/dist/date/toISOString.d.ts +24 -0
  554. package/dist/date/toISOString.mjs +3 -0
  555. package/dist/date/toNative.cjs +3 -0
  556. package/dist/date/toNative.d.ts +24 -0
  557. package/dist/date/toNative.mjs +3 -0
  558. package/dist/date/toTimeValue.cjs +3 -0
  559. package/dist/date/toTimeValue.d.ts +24 -0
  560. package/dist/date/toTimeValue.mjs +3 -0
  561. package/dist/date/toTimestamp.cjs +3 -0
  562. package/dist/date/toTimestamp.d.ts +24 -0
  563. package/dist/date/toTimestamp.mjs +3 -0
  564. package/dist/date/today.cjs +3 -0
  565. package/dist/date/today.d.ts +18 -0
  566. package/dist/date/today.mjs +3 -0
  567. package/dist/date/tomorrow.cjs +3 -0
  568. package/dist/date/tomorrow.d.ts +18 -0
  569. package/dist/date/tomorrow.mjs +3 -0
  570. package/dist/date/types/isLeapYear.d.ts +8 -0
  571. package/dist/date/types/isSafeYear.d.ts +8 -0
  572. package/dist/date/types/theDate.d.ts +10 -0
  573. package/dist/date/types/theTime.d.ts +9 -0
  574. package/dist/date/yesterday.cjs +3 -0
  575. package/dist/date/yesterday.d.ts +18 -0
  576. package/dist/date/yesterday.mjs +3 -0
  577. package/dist/either/bool/create.d.ts +22 -0
  578. package/dist/either/bool/falsy.cjs +9 -0
  579. package/dist/either/bool/falsy.d.ts +69 -0
  580. package/dist/either/bool/falsy.mjs +9 -0
  581. package/dist/either/bool/truthy.cjs +9 -0
  582. package/dist/either/bool/truthy.d.ts +69 -0
  583. package/dist/either/bool/truthy.mjs +9 -0
  584. package/dist/either/future/create.cjs +3 -0
  585. package/dist/either/future/create.d.ts +25 -2
  586. package/dist/either/future/create.mjs +3 -0
  587. package/dist/either/future/error.cjs +3 -0
  588. package/dist/either/future/error.d.ts +18 -0
  589. package/dist/either/future/error.mjs +3 -0
  590. package/dist/either/future/success.cjs +3 -0
  591. package/dist/either/future/success.d.ts +18 -0
  592. package/dist/either/future/success.mjs +3 -0
  593. package/dist/either/hasInformation.d.ts +30 -0
  594. package/dist/either/index.cjs +3 -1
  595. package/dist/either/index.d.ts +24 -0
  596. package/dist/either/index.mjs +4 -0
  597. package/dist/either/left/create.cjs +3 -0
  598. package/dist/either/left/create.d.ts +29 -0
  599. package/dist/either/left/create.mjs +3 -0
  600. package/dist/either/left/error.cjs +3 -0
  601. package/dist/either/left/error.d.ts +28 -0
  602. package/dist/either/left/error.mjs +3 -0
  603. package/dist/either/left/fail.cjs +3 -0
  604. package/dist/either/left/fail.d.ts +29 -0
  605. package/dist/either/left/fail.mjs +3 -0
  606. package/dist/either/left/is.cjs +3 -0
  607. package/dist/either/left/is.d.ts +22 -0
  608. package/dist/either/left/is.mjs +3 -0
  609. package/dist/either/left/when.d.ts +26 -0
  610. package/dist/either/nullable/create.d.ts +18 -0
  611. package/dist/either/nullable/empty.cjs +9 -0
  612. package/dist/either/nullable/empty.d.ts +59 -0
  613. package/dist/either/nullable/empty.mjs +9 -0
  614. package/dist/either/nullable/filled.cjs +9 -0
  615. package/dist/either/nullable/filled.d.ts +61 -0
  616. package/dist/either/nullable/filled.mjs +9 -0
  617. package/dist/either/nullish/create.d.ts +20 -0
  618. package/dist/either/nullish/empty.cjs +9 -0
  619. package/dist/either/nullish/empty.d.ts +61 -0
  620. package/dist/either/nullish/empty.mjs +9 -0
  621. package/dist/either/nullish/filled.cjs +9 -0
  622. package/dist/either/nullish/filled.d.ts +61 -0
  623. package/dist/either/nullish/filled.mjs +9 -0
  624. package/dist/either/optional/create.d.ts +18 -0
  625. package/dist/either/optional/empty.cjs +9 -0
  626. package/dist/either/optional/empty.d.ts +59 -0
  627. package/dist/either/optional/empty.mjs +9 -0
  628. package/dist/either/optional/filled.cjs +9 -0
  629. package/dist/either/optional/filled.d.ts +61 -0
  630. package/dist/either/optional/filled.mjs +9 -0
  631. package/dist/either/right/asyncGroup.cjs +3 -0
  632. package/dist/either/right/asyncGroup.d.ts +29 -0
  633. package/dist/either/right/asyncGroup.mjs +3 -0
  634. package/dist/either/right/asyncPipe.d.ts +33 -0
  635. package/dist/either/right/create.cjs +3 -0
  636. package/dist/either/right/create.d.ts +36 -0
  637. package/dist/either/right/create.mjs +3 -0
  638. package/dist/either/right/group.cjs +3 -0
  639. package/dist/either/right/group.d.ts +26 -0
  640. package/dist/either/right/group.mjs +3 -0
  641. package/dist/either/right/is.cjs +3 -0
  642. package/dist/either/right/is.d.ts +22 -0
  643. package/dist/either/right/is.mjs +3 -0
  644. package/dist/either/right/ok.cjs +3 -0
  645. package/dist/either/right/ok.d.ts +25 -0
  646. package/dist/either/right/ok.mjs +3 -0
  647. package/dist/either/right/pipe.d.ts +33 -0
  648. package/dist/either/right/success.cjs +3 -0
  649. package/dist/either/right/success.d.ts +28 -0
  650. package/dist/either/right/success.mjs +3 -0
  651. package/dist/either/right/when.d.ts +26 -0
  652. package/dist/either/safeCallback.cjs +3 -0
  653. package/dist/either/safeCallback.d.ts +26 -0
  654. package/dist/either/safeCallback.mjs +3 -0
  655. package/dist/either/whenHasInformation.d.ts +36 -0
  656. package/dist/generator/asyncChunk.d.ts +34 -0
  657. package/dist/generator/asyncFilter.d.ts +50 -0
  658. package/dist/generator/asyncLoop.cjs +3 -0
  659. package/dist/generator/asyncLoop.d.ts +43 -0
  660. package/dist/generator/asyncLoop.mjs +3 -0
  661. package/dist/generator/asyncMap.d.ts +38 -0
  662. package/dist/generator/asyncReduce.d.ts +34 -0
  663. package/dist/generator/chunk.d.ts +27 -0
  664. package/dist/generator/execute.d.ts +33 -0
  665. package/dist/generator/filter.d.ts +40 -0
  666. package/dist/generator/index.cjs +3 -1
  667. package/dist/generator/index.d.ts +26 -0
  668. package/dist/generator/index.mjs +4 -0
  669. package/dist/generator/loop.cjs +3 -0
  670. package/dist/generator/loop.d.ts +35 -0
  671. package/dist/generator/loop.mjs +3 -0
  672. package/dist/generator/map.d.ts +35 -0
  673. package/dist/generator/reduce.cjs +3 -0
  674. package/dist/generator/reduce.d.ts +60 -0
  675. package/dist/generator/reduce.mjs +3 -0
  676. package/dist/metadata.json +18 -0
  677. package/dist/number/abs.cjs +3 -0
  678. package/dist/number/abs.d.ts +27 -0
  679. package/dist/number/abs.mjs +3 -0
  680. package/dist/number/acos.cjs +3 -0
  681. package/dist/number/acos.d.ts +27 -0
  682. package/dist/number/acos.mjs +3 -0
  683. package/dist/number/add.d.ts +24 -0
  684. package/dist/number/asin.cjs +3 -0
  685. package/dist/number/asin.d.ts +27 -0
  686. package/dist/number/asin.mjs +3 -0
  687. package/dist/number/atan.cjs +3 -0
  688. package/dist/number/atan.d.ts +27 -0
  689. package/dist/number/atan.mjs +3 -0
  690. package/dist/number/atan2.d.ts +3 -0
  691. package/dist/number/between.d.ts +33 -0
  692. package/dist/number/betweenThan.d.ts +33 -0
  693. package/dist/number/ceil.cjs +3 -0
  694. package/dist/number/ceil.d.ts +27 -0
  695. package/dist/number/ceil.mjs +3 -0
  696. package/dist/number/clamp.d.ts +32 -0
  697. package/dist/number/cos.cjs +3 -0
  698. package/dist/number/cos.d.ts +27 -0
  699. package/dist/number/cos.mjs +3 -0
  700. package/dist/number/divide.d.ts +30 -0
  701. package/dist/number/floor.cjs +3 -0
  702. package/dist/number/floor.d.ts +27 -0
  703. package/dist/number/floor.mjs +3 -0
  704. package/dist/number/greater.d.ts +30 -0
  705. package/dist/number/greaterThan.d.ts +30 -0
  706. package/dist/number/index.cjs +3 -1
  707. package/dist/number/index.d.ts +25 -0
  708. package/dist/number/index.mjs +4 -0
  709. package/dist/number/less.d.ts +30 -0
  710. package/dist/number/lessThan.d.ts +30 -0
  711. package/dist/number/max.cjs +3 -0
  712. package/dist/number/max.d.ts +26 -0
  713. package/dist/number/max.mjs +3 -0
  714. package/dist/number/min.cjs +3 -0
  715. package/dist/number/min.d.ts +26 -0
  716. package/dist/number/min.mjs +3 -0
  717. package/dist/number/modulo.d.ts +30 -0
  718. package/dist/number/multiply.d.ts +30 -0
  719. package/dist/number/negate.cjs +3 -0
  720. package/dist/number/negate.d.ts +25 -0
  721. package/dist/number/negate.mjs +3 -0
  722. package/dist/number/power.d.ts +30 -0
  723. package/dist/number/round.cjs +3 -0
  724. package/dist/number/round.d.ts +27 -0
  725. package/dist/number/round.mjs +3 -0
  726. package/dist/number/sin.cjs +3 -0
  727. package/dist/number/sin.d.ts +27 -0
  728. package/dist/number/sin.mjs +3 -0
  729. package/dist/number/sort.d.ts +32 -0
  730. package/dist/number/sqrt.cjs +3 -0
  731. package/dist/number/sqrt.d.ts +27 -0
  732. package/dist/number/sqrt.mjs +3 -0
  733. package/dist/number/subtract.d.ts +30 -0
  734. package/dist/number/tan.cjs +3 -0
  735. package/dist/number/tan.d.ts +27 -0
  736. package/dist/number/tan.mjs +3 -0
  737. package/dist/number/toFixed.d.ts +33 -0
  738. package/dist/number/trunc.cjs +3 -0
  739. package/dist/number/trunc.d.ts +27 -0
  740. package/dist/number/trunc.mjs +3 -0
  741. package/dist/object/assign.d.ts +40 -0
  742. package/dist/object/countKeys.cjs +3 -0
  743. package/dist/object/countKeys.d.ts +27 -0
  744. package/dist/object/countKeys.mjs +3 -0
  745. package/dist/object/deepDiscriminate.d.ts +54 -0
  746. package/dist/object/discriminate.d.ts +53 -0
  747. package/dist/object/entries.cjs +3 -0
  748. package/dist/object/entries.d.ts +31 -0
  749. package/dist/object/entries.mjs +3 -0
  750. package/dist/object/entry.cjs +3 -0
  751. package/dist/object/entry.d.ts +29 -0
  752. package/dist/object/entry.mjs +3 -0
  753. package/dist/object/fromEntries.cjs +3 -0
  754. package/dist/object/fromEntries.d.ts +39 -0
  755. package/dist/object/fromEntries.mjs +3 -0
  756. package/dist/object/getDeepProperty.d.ts +46 -0
  757. package/dist/object/getProperty.d.ts +39 -0
  758. package/dist/object/hasKeys.d.ts +48 -0
  759. package/dist/object/index.cjs +3 -1
  760. package/dist/object/index.d.ts +25 -0
  761. package/dist/object/index.mjs +4 -0
  762. package/dist/object/keys.cjs +3 -0
  763. package/dist/object/keys.d.ts +33 -0
  764. package/dist/object/keys.mjs +3 -0
  765. package/dist/object/omit.d.ts +46 -0
  766. package/dist/object/override.d.ts +49 -0
  767. package/dist/object/pick.d.ts +47 -0
  768. package/dist/object/to.d.ts +43 -0
  769. package/dist/object/transformProperties.d.ts +46 -0
  770. package/dist/object/transformProperty.d.ts +41 -0
  771. package/dist/object/values.cjs +3 -0
  772. package/dist/object/values.d.ts +33 -0
  773. package/dist/object/values.mjs +3 -0
  774. package/dist/pattern/exhaustive.cjs +3 -0
  775. package/dist/pattern/exhaustive.d.ts +51 -0
  776. package/dist/pattern/exhaustive.mjs +3 -0
  777. package/dist/pattern/index.cjs +5 -1
  778. package/dist/pattern/index.d.ts +25 -0
  779. package/dist/pattern/index.mjs +5 -0
  780. package/dist/pattern/isMatch.d.ts +36 -0
  781. package/dist/pattern/match/index.d.ts +58 -0
  782. package/dist/pattern/otherwise.d.ts +56 -0
  783. package/dist/pattern/union.cjs +3 -0
  784. package/dist/pattern/union.d.ts +37 -0
  785. package/dist/pattern/union.mjs +3 -0
  786. package/dist/pattern/when.d.ts +43 -0
  787. package/dist/pattern/whenNot.cjs +17 -0
  788. package/dist/pattern/whenNot.d.ts +49 -0
  789. package/dist/pattern/whenNot.mjs +15 -0
  790. package/dist/string/at/default.d.ts +30 -0
  791. package/dist/string/capitalize.cjs +3 -0
  792. package/dist/string/capitalize.d.ts +27 -0
  793. package/dist/string/capitalize.mjs +3 -0
  794. package/dist/string/charAt.d.ts +29 -0
  795. package/dist/string/concat.d.ts +31 -0
  796. package/dist/string/endsWith.d.ts +41 -0
  797. package/dist/string/includes.d.ts +41 -0
  798. package/dist/string/index.cjs +3 -1
  799. package/dist/string/index.d.ts +27 -0
  800. package/dist/string/index.mjs +4 -0
  801. package/dist/string/indexOf.d.ts +30 -0
  802. package/dist/string/isIn.d.ts +45 -0
  803. package/dist/string/isKeyof.d.ts +45 -0
  804. package/dist/string/lastIndexOf.d.ts +30 -0
  805. package/dist/string/length.cjs +3 -0
  806. package/dist/string/length.d.ts +24 -0
  807. package/dist/string/length.mjs +3 -0
  808. package/dist/string/match.d.ts +29 -0
  809. package/dist/string/matchAll.d.ts +36 -0
  810. package/dist/string/normalize.d.ts +29 -0
  811. package/dist/string/padEnd.d.ts +29 -0
  812. package/dist/string/padStart.d.ts +29 -0
  813. package/dist/string/repeat.d.ts +29 -0
  814. package/dist/string/replace.d.ts +30 -0
  815. package/dist/string/replaceAll.d.ts +29 -0
  816. package/dist/string/search.d.ts +30 -0
  817. package/dist/string/slice.d.ts +29 -0
  818. package/dist/string/sort.d.ts +42 -0
  819. package/dist/string/sortCompare.d.ts +33 -0
  820. package/dist/string/split.d.ts +29 -0
  821. package/dist/string/startsWith.d.ts +41 -0
  822. package/dist/string/substring.d.ts +29 -0
  823. package/dist/string/test.d.ts +29 -0
  824. package/dist/string/toLowerCase.cjs +3 -0
  825. package/dist/string/toLowerCase.d.ts +27 -0
  826. package/dist/string/toLowerCase.mjs +3 -0
  827. package/dist/string/toUpperCase.cjs +3 -0
  828. package/dist/string/toUpperCase.d.ts +27 -0
  829. package/dist/string/toUpperCase.mjs +3 -0
  830. package/dist/string/trim/default.cjs +3 -0
  831. package/dist/string/trim/default.d.ts +27 -0
  832. package/dist/string/trim/default.mjs +3 -0
  833. package/dist/string/trim/end.cjs +3 -0
  834. package/dist/string/trim/end.d.ts +27 -0
  835. package/dist/string/trim/end.mjs +3 -0
  836. package/dist/string/trim/start.cjs +3 -0
  837. package/dist/string/trim/start.d.ts +27 -0
  838. package/dist/string/trim/start.mjs +3 -0
  839. package/dist/string/uncapitalize.cjs +3 -0
  840. package/dist/string/uncapitalize.d.ts +27 -0
  841. package/dist/string/uncapitalize.mjs +3 -0
  842. package/package.json +1 -1
@@ -4,6 +4,9 @@ const SymbolGlobalStore = Symbol.for("@duplojs/utils/global-store");
4
4
  const globalVar = Object;
5
5
  Object.defineProperty(globalVar, SymbolGlobalStore, { value: globalVar[SymbolGlobalStore] ?? {} });
6
6
  const store = globalVar[SymbolGlobalStore];
7
+ /**
8
+ * {@include common/globalStore/index.md}
9
+ */
7
10
  function createGlobalStore(storeName, defaultValue) {
8
11
  if (store[storeName] === undefined) {
9
12
  store[storeName] = defaultValue;
@@ -4,4 +4,16 @@ export interface GlobalStoreHandler<GenericValue extends unknown> {
4
4
  readonly value: GenericValue;
5
5
  set(value: GenericValue): void;
6
6
  }
7
+ /**
8
+ * The createGlobalStore() function lets you create a global store (singleton) shared across the entire process. It is useful for storing a mutable value accessible from any module without passing it as a parameter.
9
+ *
10
+ * Signature: `createGlobalStore(storeName, defaultValue)` → returns a value
11
+ *
12
+ * The input value is not mutated.
13
+ *
14
+ * @see https://utils.duplojs.dev/en/v1/api/common/globalStore
15
+ *
16
+ * @namespace C
17
+ *
18
+ */
7
19
  export declare function createGlobalStore<GenericStoreName extends keyof GlobalStore>(storeName: GenericStoreName, defaultValue: GlobalStore[GenericStoreName]): GlobalStoreHandler<GlobalStore[GenericStoreName]>;
@@ -2,6 +2,9 @@ const SymbolGlobalStore = Symbol.for("@duplojs/utils/global-store");
2
2
  const globalVar = Object;
3
3
  Object.defineProperty(globalVar, SymbolGlobalStore, { value: globalVar[SymbolGlobalStore] ?? {} });
4
4
  const store = globalVar[SymbolGlobalStore];
5
+ /**
6
+ * {@include common/globalStore/index.md}
7
+ */
5
8
  function createGlobalStore(storeName, defaultValue) {
6
9
  if (store[storeName] === undefined) {
7
10
  store[storeName] = defaultValue;
@@ -1,4 +1,43 @@
1
1
  import { type Kind, type KindHandler } from "./kind";
2
2
  import { type AnyTuple, type UnionToIntersection } from "./types";
3
+ /**
4
+ * The hasKinds() function checks that a value carries all requested kinds and acts as a type guard toward their intersection.
5
+ *
6
+ * **Supported call styles:**
7
+ * - Classic: `hasKinds(input, kinds)` → returns a value
8
+ * - Curried: `hasKinds(kinds)` → returns a function waiting for the input
9
+ * - Classic predicate: `hasKinds(input, kinds)` → narrows the input type
10
+ * - Curried predicate: `hasKinds(kinds)` → narrows the input type
11
+ *
12
+ * Predicate overloads (type guards) narrow the output type.
13
+ *
14
+ * ```ts
15
+ * const input = E.ok() as E.EitherOk | E.EitherError;
16
+ *
17
+ * if (hasKinds(input, [
18
+ * E.eitherOkKind,
19
+ * E.eitherRightKind,
20
+ * ])) {
21
+ * // type: E.EitherOk
22
+ * }
23
+ *
24
+ * const result = pipe(
25
+ * input,
26
+ * when(
27
+ * hasKinds([
28
+ * E.eitherOkKind,
29
+ * E.eitherRightKind,
30
+ * ]),
31
+ * () => "ok",
32
+ * ),
33
+ * );
34
+ * // result: "ok" | E.EitherError<unknown>
35
+ * ```
36
+ *
37
+ * @see https://utils.duplojs.dev/en/v1/api/common/hasKinds
38
+ *
39
+ * @namespace C
40
+ *
41
+ */
3
42
  export declare function hasKinds<GenericInput extends unknown, const GenericKindHandlers extends AnyTuple<KindHandler>, GenericKindHandler extends GenericKindHandlers[number]>(kinds: GenericKindHandlers): (input: GenericInput) => input is Extract<GenericInput, UnionToIntersection<GenericKindHandler extends any ? Kind<GenericKindHandler["definition"]> : never>>;
4
43
  export declare function hasKinds<GenericInput extends unknown, const GenericKindHandlers extends AnyTuple<KindHandler>, GenericKindHandler extends GenericKindHandlers[number]>(input: GenericInput, kinds: GenericKindHandlers): input is Extract<GenericInput, UnionToIntersection<GenericKindHandler extends any ? Kind<GenericKindHandler["definition"]> : never>>;
@@ -1,4 +1,43 @@
1
1
  import { type Kind, type KindHandler } from "./kind";
2
2
  import { type AnyTuple } from "./types";
3
+ /**
4
+ * The hasSomeKinds() function checks that a value carries at least one of the requested kinds and acts as a type guard toward their union.
5
+ *
6
+ * **Supported call styles:**
7
+ * - Classic: `hasSomeKinds(input, kinds)` → returns a value
8
+ * - Curried: `hasSomeKinds(kinds)` → returns a function waiting for the input
9
+ * - Classic predicate: `hasSomeKinds(input, kinds)` → narrows the input type
10
+ * - Curried predicate: `hasSomeKinds(kinds)` → narrows the input type
11
+ *
12
+ * Predicate overloads (type guards) narrow the output type.
13
+ *
14
+ * ```ts
15
+ * const input = E.ok() as E.EitherOk | E.EitherError;
16
+ *
17
+ * if (hasSomeKinds(input, [
18
+ * E.eitherOkKind,
19
+ * E.eitherErrorKind,
20
+ * ])) {
21
+ * // type: E.EitherOk | E.EitherError
22
+ * }
23
+ *
24
+ * const result = pipe(
25
+ * input,
26
+ * when(
27
+ * hasSomeKinds([
28
+ * E.eitherOkKind,
29
+ * E.eitherErrorKind,
30
+ * ]),
31
+ * () => "known",
32
+ * ),
33
+ * );
34
+ * // result: "known" | E.EitherError<unknown>
35
+ * ```
36
+ *
37
+ * @see https://utils.duplojs.dev/en/v1/api/common/hasSomeKinds
38
+ *
39
+ * @namespace C
40
+ *
41
+ */
3
42
  export declare function hasSomeKinds<GenericInput extends unknown, const GenericKindHandlers extends AnyTuple<KindHandler>, GenericKindHandler extends GenericKindHandlers[number]>(kinds: GenericKindHandlers): (input: GenericInput) => input is Extract<GenericInput, GenericKindHandler extends any ? Kind<GenericKindHandler["definition"]> : never>;
4
43
  export declare function hasSomeKinds<GenericInput extends unknown, const GenericKindHandlers extends AnyTuple<KindHandler>, GenericKindHandler extends GenericKindHandlers[number]>(input: GenericInput, kinds: GenericKindHandlers): input is Extract<GenericInput, GenericKindHandler extends any ? Kind<GenericKindHandler["definition"]> : never>;
@@ -1,3 +1,30 @@
1
+ /**
2
+ * Cross-cutting utilities to compose functions, handle promises, manipulate wrappers/kinds, and apply runtime conversions shared by the whole library.
3
+ *
4
+ * **How to import:**
5
+ * - From the main entry (namespace style or direct named imports)
6
+ * - Via direct import for tree-shaking
7
+ *
8
+ * ```ts
9
+ * import { pipe, when, clone } from "@duplojs/utils";
10
+ * import * as DCommon from "@duplojs/utils/common";
11
+ * import * as C from "@duplojs/utils/common";
12
+ * import { pipe, when, clone } from "@duplojs/utils/common";
13
+ * ```
14
+ *
15
+ * What you will find in this namespace:
16
+ * - composition helpers (`pipe`, `innerPipe`, `asyncPipe`, `asyncInnerPipe`, `forward`)
17
+ * - predicates and guards (`when`, `whenNot`, `whenElse`, `and`, `or`, `isType`, `instanceOf`)
18
+ * - control flow (`loop`, `asyncLoop`, `asyncRetry`, `sleep`, `memo`)
19
+ * - promise utilities (`externalPromise`, `promiseObject`)
20
+ * - string and value conversions (`toString`, `stringToMillisecond`, `stringToBytes`, `escapeRegExp`)
21
+ * - wrappers and kinds (`wrapValue`, `unwrap`, `toWrappedValue`, `hasKinds`, `hasSomeKinds`)
22
+ *
23
+ * @see https://utils.duplojs.dev/en/v1/api/common
24
+ *
25
+ * @namespace C
26
+ *
27
+ */
1
28
  export * from "./types";
2
29
  export * from "./addWrappedProperties";
3
30
  export * from "./asyncPipe";
@@ -1,5 +1,40 @@
1
1
  import { type BreakGenericLink, type EscapeVoid } from "./types";
2
2
  import { type AnyValue } from "./types/anyValue";
3
+ /**
4
+ * The innerPipe() method prepares a reusable synchronous pipeline: it returns a function that will apply the chain of transformations to any compatible input.
5
+ *
6
+ * Signature: `innerPipe(pipe1, pipe2)` → returns a value
7
+ *
8
+ * The input value is not mutated.
9
+ *
10
+ * ```ts
11
+ * const tvaRate = 1.2;
12
+ * const digit = 2;
13
+ * const input = [
14
+ * 10,
15
+ * 15,
16
+ * 23,
17
+ * 30.4,
18
+ * ];
19
+ *
20
+ * const result = pipe(
21
+ * input,
22
+ * A.map(
23
+ * innerPipe(
24
+ * N.multiply(tvaRate),
25
+ * N.toFixed(digit),
26
+ * S.concat("€"),
27
+ * ),
28
+ * ),
29
+ * );
30
+ * // result ["12€", "18€", "27.6€", "36.48€"]
31
+ * ```
32
+ *
33
+ * @see https://utils.duplojs.dev/en/v1/api/common/innerPipe
34
+ *
35
+ * @namespace C
36
+ *
37
+ */
3
38
  export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1): (input: GenericInput) => BreakGenericLink<GenericOutputPipe1>;
4
39
  export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2): (input: GenericInput) => BreakGenericLink<GenericOutputPipe2>;
5
40
  export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3): (input: GenericInput) => BreakGenericLink<GenericOutputPipe3>;
@@ -1,3 +1,36 @@
1
1
  import { type AnyConstructor } from "./types";
2
+ /**
3
+ * The instanceOf() function creates a type guard based on one or several constructors. It checks instanceof while keeping precise typing.
4
+ *
5
+ * **Supported call styles:**
6
+ * - Classic: `instanceOf(input, constructor)` → returns a value
7
+ * - Curried: `instanceOf(constructor)` → returns a function waiting for the input
8
+ * - Classic predicate: `instanceOf(input, constructor)` → narrows the input type
9
+ * - Curried predicate: `instanceOf(constructor)` → narrows the input type
10
+ *
11
+ * Predicate overloads (type guards) narrow the output type.
12
+ *
13
+ * ```ts
14
+ * const input = new Date();
15
+ *
16
+ * if (instanceOf(input, Date)) {
17
+ * // type: Date
18
+ * }
19
+ *
20
+ * const result = pipe(
21
+ * input,
22
+ * when(
23
+ * instanceOf(Date),
24
+ * (value) => value.toISOString(),
25
+ * ),
26
+ * );
27
+ * // result: "..."
28
+ * ```
29
+ *
30
+ * @see https://utils.duplojs.dev/en/v1/api/common/instanceOf
31
+ *
32
+ * @namespace C
33
+ *
34
+ */
2
35
  export declare function instanceOf<GenericInput extends unknown, GenericConstructor extends AnyConstructor>(constructor: GenericConstructor | GenericConstructor[]): (input: GenericInput) => input is Extract<GenericInput, InstanceType<GenericConstructor>>;
3
36
  export declare function instanceOf<GenericInput extends unknown, GenericConstructor extends AnyConstructor>(input: GenericInput, constructor: GenericConstructor | GenericConstructor[]): input is Extract<GenericInput, InstanceType<GenericConstructor>>;
@@ -17,6 +17,41 @@ type ComputeResult<GenericInput extends unknown, GenericTypeEntry extends Type[k
17
17
  type EligibleType<GenericInput extends unknown> = {
18
18
  [Prop in keyof Type]: IsEqual<ComputeResult<GenericInput, Type[Prop]>, never> extends true ? never : Prop;
19
19
  }[keyof Type];
20
+ /**
21
+ * The isType() function creates a type guard based on typeof, Array.isArray, iterables, functions, etc. It allows narrowing a union to the checked type.
22
+ *
23
+ * **Supported call styles:**
24
+ * - Classic: `isType(input, type)` → returns a value
25
+ * - Curried: `isType(type)` → returns a function waiting for the input
26
+ * - Classic predicate: `isType(input, type)` → narrows the input type
27
+ * - Curried predicate: `isType(type)` → narrows the input type
28
+ *
29
+ * Predicate overloads (type guards) narrow the output type.
30
+ *
31
+ * ```ts
32
+ * type Input = string | number;
33
+ *
34
+ * const input = 3 as Input;
35
+ *
36
+ * if (isType(input, "number")) {
37
+ * // type: number
38
+ * }
39
+ *
40
+ * const result = pipe(
41
+ * input,
42
+ * when(
43
+ * isType("number"),
44
+ * (value) => value + 1,
45
+ * ),
46
+ * );
47
+ * // result: 4
48
+ * ```
49
+ *
50
+ * @see https://utils.duplojs.dev/en/v1/api/common/isType
51
+ *
52
+ * @namespace C
53
+ *
54
+ */
20
55
  export declare function isType<GenericInput extends unknown, GenericType extends EligibleType<GenericInput>>(type: GenericType): (input: GenericInput) => input is ComputeResult<GenericInput, Type[GenericType]>;
21
56
  export declare function isType<GenericInput extends unknown, GenericType extends EligibleType<GenericInput>>(input: GenericInput, type: GenericType): input is ComputeResult<GenericInput, Type[GenericType]>;
22
57
  export {};
@@ -1,3 +1,46 @@
1
1
  import { type AnyValue } from "./types";
2
+ /**
3
+ * The justReturn() function builds a constant function: it ignores its argument and always returns the same value. It also exists in direct form to immediately return that value.
4
+ *
5
+ * Signature: `justReturn(value)` → returns a value
6
+ *
7
+ * The input value is not mutated.
8
+ *
9
+ * ```ts
10
+ * type Input =
11
+ * | {
12
+ * kind: "ok";
13
+ * value: number;
14
+ * } | {
15
+ * kind: "healt";
16
+ * info: string;
17
+ * } | {
18
+ * kind: "error";
19
+ * message: string;
20
+ * };
21
+ *
22
+ * const input = {
23
+ * kind: "ok",
24
+ * value: 4,
25
+ * } as Input;
26
+ *
27
+ * const result = pipe(
28
+ * input,
29
+ * P.match(
30
+ * { kind: "ok" },
31
+ * O.getProperty("value"),
32
+ * ),
33
+ * // whatever else happens, we return "error"
34
+ * P.otherwise(justReturn("error")),
35
+ * );
36
+ *
37
+ * // type: number | "error"
38
+ * ```
39
+ *
40
+ * @see https://utils.duplojs.dev/en/v1/api/common/justReturn
41
+ *
42
+ * @namespace C
43
+ *
44
+ */
2
45
  export declare function justReturn<GenericInput extends unknown, GenericValue extends AnyValue>(value: GenericValue): (input: GenericInput) => GenericValue;
3
46
  export declare function justReturn<GenericInput extends unknown, GenericValue extends AnyValue>(input: GenericInput, value: GenericValue): GenericValue;
@@ -1,6 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  const keyKindPrefix = "@duplojs/utils/kind/";
4
+ /**
5
+ * {@include common/kind/index.md}
6
+ */
4
7
  function createKind(name) {
5
8
  const runTimeKey = `${keyKindPrefix}${name}`;
6
9
  return {
@@ -29,6 +32,9 @@ function createKind(name) {
29
32
  },
30
33
  };
31
34
  }
35
+ /**
36
+ * {@include common/kind/index.md}
37
+ */
32
38
  function createKindNamespace(namespace) {
33
39
  return (name) => {
34
40
  const kindHandler = createKind(`@${namespace}/${name}`);
@@ -38,6 +38,53 @@ export type GetKindHandler<GenericObject extends Kind<any>> = {
38
38
  }[keyof GenericObject[SymbolKind]];
39
39
  export declare const keyKindPrefix = "@duplojs/utils/kind/";
40
40
  type ForbiddenKindCharacters<GenericValue extends string> = ForbiddenString<GenericValue, "@" | "/">;
41
+ /**
42
+ * Kinds are a discrimination (type narrowing) mechanism based on adding a marker to an object, but with a few constraints we wanted in our projects:
43
+ *
44
+ * Signature: `createKind(name)` and `createKindNamespace(namespace)` → returns a value
45
+ *
46
+ * ```ts
47
+ * const userKind = createKind<"user", { id: string }>("user");
48
+ *
49
+ * interface User extends Kind<typeof userKind.definition> {
50
+ * name: string;
51
+ * }
52
+ *
53
+ * const User = {
54
+ * new(params: {
55
+ * id: string;
56
+ * name: string;
57
+ * }): User {
58
+ * return userKind.addTo(
59
+ * { name: params.name },
60
+ * { id: params.id },
61
+ * );
62
+ * },
63
+ * is(input: unknown): input is User {
64
+ * return userKind.has(input);
65
+ * },
66
+ * };
67
+ *
68
+ * const user = User.new({
69
+ * id: "u_1",
70
+ * name: "Ada",
71
+ * });
72
+ *
73
+ * if (User.is(user)) {
74
+ * const userId = userKind.getValue(user).id;
75
+ * }
76
+ *
77
+ * const received: unknown = JSON.parse(JSON.stringify(user));
78
+ * if (User.is(received)) {
79
+ * const userId = userKind.getValue(received).id;
80
+ * }
81
+ * ```
82
+ *
83
+ * @see https://utils.duplojs.dev/en/v1/api/common/kind
84
+ *
85
+ * @namespace C
86
+ *
87
+ */
41
88
  export declare function createKind<GenericName extends string, GenericKindValue extends unknown = unknown>(name: GenericName & ForbiddenKindCharacters<GenericName>): KindHandler<KindDefinition<GenericName, GenericKindValue>>;
42
89
  export interface ReservedKindNamespace {
43
90
  DuplojsUtilsEither: true;
@@ -47,6 +94,53 @@ export interface ReservedKindNamespace {
47
94
  DuplojsUtilsClean: true;
48
95
  }
49
96
  type ForbiddenKindNamespace<GenericValue extends string> = (ForbiddenKindCharacters<GenericValue> & ForbiddenString<GenericValue, GetPropsWithValue<ReservedKindNamespace, true>>);
97
+ /**
98
+ * Kinds are a discrimination (type narrowing) mechanism based on adding a marker to an object, but with a few constraints we wanted in our projects:
99
+ *
100
+ * Signature: `createKind(name)` and `createKindNamespace(namespace)` → returns a value
101
+ *
102
+ * ```ts
103
+ * const userKind = createKind<"user", { id: string }>("user");
104
+ *
105
+ * interface User extends Kind<typeof userKind.definition> {
106
+ * name: string;
107
+ * }
108
+ *
109
+ * const User = {
110
+ * new(params: {
111
+ * id: string;
112
+ * name: string;
113
+ * }): User {
114
+ * return userKind.addTo(
115
+ * { name: params.name },
116
+ * { id: params.id },
117
+ * );
118
+ * },
119
+ * is(input: unknown): input is User {
120
+ * return userKind.has(input);
121
+ * },
122
+ * };
123
+ *
124
+ * const user = User.new({
125
+ * id: "u_1",
126
+ * name: "Ada",
127
+ * });
128
+ *
129
+ * if (User.is(user)) {
130
+ * const userId = userKind.getValue(user).id;
131
+ * }
132
+ *
133
+ * const received: unknown = JSON.parse(JSON.stringify(user));
134
+ * if (User.is(received)) {
135
+ * const userId = userKind.getValue(received).id;
136
+ * }
137
+ * ```
138
+ *
139
+ * @see https://utils.duplojs.dev/en/v1/api/common/kind
140
+ *
141
+ * @namespace C
142
+ *
143
+ */
50
144
  export declare function createKindNamespace<GenericNamespace extends string>(namespace: GenericNamespace & ForbiddenKindNamespace<GenericNamespace>): <GenericName extends string, GenericKindValue extends unknown = unknown>(name: GenericName & ForbiddenKindCharacters<GenericName>) => KindHandler<KindDefinition<`@${GenericNamespace}/${GenericName}`, GenericKindValue>>;
51
145
  export type KindHeritageConstructorParams<GenericKindHandler extends KindHandler> = {
52
146
  [KindHandler in GenericKindHandler as KindHandler["definition"]["name"]]: KindHandler["definition"]["value"];
@@ -1,4 +1,7 @@
1
1
  const keyKindPrefix = "@duplojs/utils/kind/";
2
+ /**
3
+ * {@include common/kind/index.md}
4
+ */
2
5
  function createKind(name) {
3
6
  const runTimeKey = `${keyKindPrefix}${name}`;
4
7
  return {
@@ -27,6 +30,9 @@ function createKind(name) {
27
30
  },
28
31
  };
29
32
  }
33
+ /**
34
+ * {@include common/kind/index.md}
35
+ */
30
36
  function createKindNamespace(namespace) {
31
37
  return (name) => {
32
38
  const kindHandler = createKind(`@${namespace}/${name}`);
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ /**
4
+ * {@include common/loop/index.md}
5
+ */
3
6
  function loop(loop) {
4
7
  let previousOutput = undefined;
5
8
  for (let count = 0; true; count++) {
@@ -11,5 +11,31 @@ export interface LoopParams<GenericRawNextOutput extends any> {
11
11
  next<GenericValue extends GenericRawNextOutput | undefined = undefined>(output?: GenericValue): LoopOutputNextResult<GenericValue>;
12
12
  exit<GenericOutput extends AnyValue = undefined>(output?: GenericOutput): LoopOutputExistResult<GenericOutput>;
13
13
  }
14
+ /**
15
+ * The loop() function runs a loop controlled via the next and exit callbacks. Each iteration receives the counter and the previous output to drive the flow.
16
+ *
17
+ * Signature: `loop(from, theFunction)` → returns a value
18
+ *
19
+ * The input value is not mutated.
20
+ *
21
+ * ```ts
22
+ * const result = loop<number, number>(
23
+ * ({ previousOutput, next, exit }) => {
24
+ * const current = (previousOutput ?? 0) + 1;
25
+ * if (current >= 5) {
26
+ * return exit(current);
27
+ * }
28
+ *
29
+ * return next(current);
30
+ * },
31
+ * );
32
+ * // result: 5
33
+ * ```
34
+ *
35
+ * @see https://utils.duplojs.dev/en/v1/api/common/loop
36
+ *
37
+ * @namespace C
38
+ *
39
+ */
14
40
  export declare function loop<GenericRawExitOutput extends AnyValue = undefined, GenericRawNextOutput extends AnyValue = undefined>(loop: (params: LoopParams<GenericRawNextOutput>) => LoopOutputNextResult<GenericRawNextOutput> | LoopOutputExistResult<GenericRawExitOutput>): GenericRawExitOutput;
15
41
  export {};
@@ -1,3 +1,6 @@
1
+ /**
2
+ * {@include common/loop/index.md}
3
+ */
1
4
  function loop(loop) {
2
5
  let previousOutput = undefined;
3
6
  for (let count = 0; true; count++) {
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ /**
4
+ * {@include common/memo/index.md}
5
+ */
3
6
  function memo(theFunction) {
4
7
  const payload = {
5
8
  get value() {
@@ -2,4 +2,29 @@ import { type AnyValue } from "./types";
2
2
  export interface Memoized<GenericValue extends unknown> {
3
3
  readonly value: GenericValue;
4
4
  }
5
+ /**
6
+ * The memo() function evaluates a function only once then memorizes the result. Subsequent calls return the same value without recalculation.
7
+ *
8
+ * Signature: `memo(theFunction)` → returns a value
9
+ *
10
+ * The input value is not mutated.
11
+ *
12
+ * ```ts
13
+ * let calls = 0;
14
+ * const expensive = memo(() => {
15
+ * calls += 1;
16
+ * return "cached";
17
+ * });
18
+ *
19
+ * const first = expensive.value;
20
+ * // "cached", calls = 1
21
+ * const second = expensive.value;
22
+ * // "cached", calls = 1 (no recompute)
23
+ * ```
24
+ *
25
+ * @see https://utils.duplojs.dev/en/v1/api/common/memo
26
+ *
27
+ * @namespace C
28
+ *
29
+ */
5
30
  export declare function memo<GenericOutput extends AnyValue>(theFunction: () => GenericOutput): Memoized<GenericOutput>;
@@ -1,3 +1,6 @@
1
+ /**
2
+ * {@include common/memo/index.md}
3
+ */
1
4
  function memo(theFunction) {
2
5
  const payload = {
3
6
  get value() {
@@ -3,6 +3,47 @@ type ExtractPredicate<GenericPredicatedInput extends readonly AnyFunction<any[],
3
3
  (input: any, ...args: any[]) => input is infer InferredPredicate,
4
4
  ...infer InferredRest extends readonly AnyPredicate[]
5
5
  ] ? InferredRest extends readonly [] ? InferredPredicate : ExtractPredicate<InferredRest> extends infer InferredResult ? IsEqual<InferredResult, never> extends true ? never : InferredPredicate | InferredResult : never : never;
6
+ /**
7
+ * The or() function combines several predicates or type guards: if at least one passes, the result is true and the type is narrowed to the union of accepted cases.
8
+ *
9
+ * **Supported call styles:**
10
+ * - Classic: `or(input, predicates)` → returns a value
11
+ * - Curried: `or(predicates)` → returns a function waiting for the input
12
+ * - Classic predicate: `or(input, predicates)` → narrows the input type
13
+ * - Curried predicate: `or(predicates)` → narrows the input type
14
+ *
15
+ * Predicate overloads (type guards) narrow the output type.
16
+ *
17
+ * ```ts
18
+ * type Input = "click" | "hover" | "keydown";
19
+ *
20
+ * const input = "hover" as Input;
21
+ *
22
+ * if (or(input, [
23
+ * equal("click"),
24
+ * equal("hover"),
25
+ * ])) {
26
+ * // type: "click" | "hover"
27
+ * }
28
+ *
29
+ * const result = pipe(
30
+ * input,
31
+ * when(
32
+ * or([
33
+ * equal("click"),
34
+ * equal("hover"),
35
+ * ]),
36
+ * () => "handled",
37
+ * ),
38
+ * );
39
+ * // result: "handled"
40
+ * ```
41
+ *
42
+ * @see https://utils.duplojs.dev/en/v1/api/common/or
43
+ *
44
+ * @namespace C
45
+ *
46
+ */
6
47
  export declare function or<GenericInput extends unknown, const GenericArrayPredicatedInput extends readonly [
7
48
  (input: GenericInput) => input is any,
8
49
  (input: GenericInput) => input is any,
@@ -4,6 +4,9 @@ var globalStore = require('./globalStore.cjs');
4
4
 
5
5
  const SymbolOverrideStore = Symbol.for("@duplojs/utils/override");
6
6
  const overrideStore = globalStore.createGlobalStore(SymbolOverrideStore, {});
7
+ /**
8
+ * {@include common/override/index.md}
9
+ */
7
10
  function createOverride(overrideName) {
8
11
  const overridePropertiesStore = overrideStore.value[overrideName] ?? {};
9
12
  overrideStore.value[overrideName] ||= overridePropertiesStore;