@duplojs/utils 0.3.1 → 1.0.1

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