@stryke/helpers 0.9.14 → 0.9.22

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 (394) hide show
  1. package/CHANGELOG.md +419 -0
  2. package/README.md +33 -25
  3. package/dist/{arg-identity.d.ts → arg-identity-BIir8uzO.d.mts} +5 -1
  4. package/dist/arg-identity-BIir8uzO.d.mts.map +1 -0
  5. package/dist/arg-identity-BfviduMt.mjs +2 -0
  6. package/dist/arg-identity-BfviduMt.mjs.map +1 -0
  7. package/dist/arg-identity-C-pVjd0u.d.cts +14 -0
  8. package/dist/arg-identity-C-pVjd0u.d.cts.map +1 -0
  9. package/dist/arg-identity-dlKw6BsD.cjs +1 -0
  10. package/dist/arg-identity.cjs +1 -9
  11. package/dist/arg-identity.d.cts +2 -0
  12. package/dist/arg-identity.d.mts +2 -0
  13. package/dist/arg-identity.mjs +1 -1
  14. package/dist/debounce-C5O3IDKy.mjs +2 -0
  15. package/dist/debounce-C5O3IDKy.mjs.map +1 -0
  16. package/dist/{debounce.d.ts → debounce-CIMf8-Yr.d.mts} +10 -4
  17. package/dist/debounce-CIMf8-Yr.d.mts.map +1 -0
  18. package/dist/debounce-CLb-VvJv.d.cts +47 -0
  19. package/dist/debounce-CLb-VvJv.d.cts.map +1 -0
  20. package/dist/debounce-SIYbhEOF.cjs +1 -0
  21. package/dist/debounce.cjs +1 -24
  22. package/dist/debounce.d.cts +2 -0
  23. package/dist/debounce.d.mts +2 -0
  24. package/dist/debounce.mjs +1 -1
  25. package/dist/deep-clone-BlN5QTtW.mjs +2 -0
  26. package/dist/deep-clone-BlN5QTtW.mjs.map +1 -0
  27. package/dist/deep-clone-CoUy-Hrt.cjs +1 -0
  28. package/dist/{deep-clone.d.ts → deep-clone-CpLJcTgz.d.mts} +11 -12
  29. package/dist/deep-clone-CpLJcTgz.d.mts.map +1 -0
  30. package/dist/deep-clone-jRNy1xoj.d.cts +65 -0
  31. package/dist/deep-clone-jRNy1xoj.d.cts.map +1 -0
  32. package/dist/deep-clone.cjs +1 -62
  33. package/dist/deep-clone.d.cts +2 -0
  34. package/dist/deep-clone.d.mts +2 -0
  35. package/dist/deep-clone.mjs +1 -1
  36. package/dist/deep-merge-BDZ6c79O.mjs +2 -0
  37. package/dist/deep-merge-BDZ6c79O.mjs.map +1 -0
  38. package/dist/deep-merge-BpFjvumi.cjs +1 -0
  39. package/dist/deep-merge-C9qDSleg.d.cts +26 -0
  40. package/dist/deep-merge-C9qDSleg.d.cts.map +1 -0
  41. package/dist/deep-merge-eCT712Cv.d.mts +26 -0
  42. package/dist/deep-merge-eCT712Cv.d.mts.map +1 -0
  43. package/dist/deep-merge.cjs +1 -36
  44. package/dist/deep-merge.d.cts +2 -0
  45. package/dist/deep-merge.d.mts +2 -0
  46. package/dist/deep-merge.mjs +1 -1
  47. package/dist/{delay.d.ts → delay-Bd_sGzMj.d.mts} +9 -4
  48. package/dist/delay-Bd_sGzMj.d.mts.map +1 -0
  49. package/dist/delay-UwR_fCwt.cjs +1 -0
  50. package/dist/delay-VkcrQf1l.d.cts +77 -0
  51. package/dist/delay-VkcrQf1l.d.cts.map +1 -0
  52. package/dist/delay-wdNbY6sk.mjs +2 -0
  53. package/dist/delay-wdNbY6sk.mjs.map +1 -0
  54. package/dist/delay.cjs +1 -28
  55. package/dist/delay.d.cts +2 -0
  56. package/dist/delay.d.mts +2 -0
  57. package/dist/delay.mjs +1 -1
  58. package/dist/errors-BXYY8wXj.cjs +1 -0
  59. package/dist/errors-DWX9ET_b.mjs +2 -0
  60. package/dist/errors-DWX9ET_b.mjs.map +1 -0
  61. package/dist/errors.cjs +1 -18
  62. package/dist/errors.d.cts +16 -0
  63. package/dist/errors.d.cts.map +1 -0
  64. package/dist/errors.d.mts +16 -0
  65. package/dist/errors.d.mts.map +1 -0
  66. package/dist/errors.mjs +1 -1
  67. package/dist/filter-empty-5_nMg04e.cjs +1 -0
  68. package/dist/filter-empty-BMtd0K07.d.mts +5 -0
  69. package/dist/filter-empty-BMtd0K07.d.mts.map +1 -0
  70. package/dist/filter-empty-C2fq9M7o.d.cts +5 -0
  71. package/dist/filter-empty-C2fq9M7o.d.cts.map +1 -0
  72. package/dist/filter-empty-Dsc1ymCj.mjs +2 -0
  73. package/dist/filter-empty-Dsc1ymCj.mjs.map +1 -0
  74. package/dist/filter-empty.cjs +1 -9
  75. package/dist/filter-empty.d.cts +2 -0
  76. package/dist/filter-empty.d.mts +2 -0
  77. package/dist/filter-empty.mjs +1 -1
  78. package/dist/{flatten-object.d.ts → flatten-object-Bk2VT-b2.d.mts} +8 -6
  79. package/dist/flatten-object-Bk2VT-b2.d.mts.map +1 -0
  80. package/dist/flatten-object-D-EbEZqR.cjs +1 -0
  81. package/dist/flatten-object-DFCZmly9.mjs +2 -0
  82. package/dist/flatten-object-DFCZmly9.mjs.map +1 -0
  83. package/dist/{unflatten-object.d.ts → flatten-object-DjaJJaY0.d.cts} +8 -6
  84. package/dist/flatten-object-DjaJJaY0.d.cts.map +1 -0
  85. package/dist/flatten-object.cjs +1 -20
  86. package/dist/flatten-object.d.cts +2 -0
  87. package/dist/flatten-object.d.mts +2 -0
  88. package/dist/flatten-object.mjs +1 -1
  89. package/dist/{get-field.d.ts → get-field-5XqtknPs.d.mts} +25 -22
  90. package/dist/get-field-5XqtknPs.d.mts.map +1 -0
  91. package/dist/get-field-D4F_p-Ov.cjs +1 -0
  92. package/dist/get-field-ngQ9O38X.mjs +2 -0
  93. package/dist/get-field-ngQ9O38X.mjs.map +1 -0
  94. package/dist/get-field-oltWWNRO.d.cts +254 -0
  95. package/dist/get-field-oltWWNRO.d.cts.map +1 -0
  96. package/dist/get-field.cjs +1 -43
  97. package/dist/get-field.d.cts +2 -0
  98. package/dist/get-field.d.mts +2 -0
  99. package/dist/get-field.mjs +1 -1
  100. package/dist/get-object-tag-D53RvMgo.cjs +1 -0
  101. package/dist/get-object-tag-oBoWkttN.mjs +2 -0
  102. package/dist/get-object-tag-oBoWkttN.mjs.map +1 -0
  103. package/dist/{get-ordered-by.d.ts → get-ordered-by-C45FfW2T.d.mts} +5 -2
  104. package/dist/get-ordered-by-C45FfW2T.d.mts.map +1 -0
  105. package/dist/get-ordered-by-CBKKJr4R.mjs +2 -0
  106. package/dist/get-ordered-by-CBKKJr4R.mjs.map +1 -0
  107. package/dist/get-ordered-by-D2Sr6vUN.cjs +1 -0
  108. package/dist/get-ordered-by-DuD7QRma.d.cts +39 -0
  109. package/dist/get-ordered-by-DuD7QRma.d.cts.map +1 -0
  110. package/dist/get-ordered-by.cjs +1 -18
  111. package/dist/get-ordered-by.d.cts +2 -0
  112. package/dist/get-ordered-by.d.mts +2 -0
  113. package/dist/get-ordered-by.mjs +1 -1
  114. package/dist/get-unique-BOiakY6A.cjs +1 -0
  115. package/dist/{get-unique.d.ts → get-unique-C0SBPUBv.d.cts} +6 -2
  116. package/dist/get-unique-C0SBPUBv.d.cts.map +1 -0
  117. package/dist/get-unique-DZ6E1Kvc.d.mts +26 -0
  118. package/dist/get-unique-DZ6E1Kvc.d.mts.map +1 -0
  119. package/dist/get-unique-DzZ7Z34U.mjs +2 -0
  120. package/dist/get-unique-DzZ7Z34U.mjs.map +1 -0
  121. package/dist/get-unique.cjs +1 -17
  122. package/dist/get-unique.d.cts +2 -0
  123. package/dist/get-unique.d.mts +2 -0
  124. package/dist/get-unique.mjs +1 -1
  125. package/dist/{identity.d.ts → identity-B_cGeF8o.d.mts} +5 -1
  126. package/dist/identity-B_cGeF8o.d.mts.map +1 -0
  127. package/dist/identity-DBwwvmGU.mjs +2 -0
  128. package/dist/identity-DBwwvmGU.mjs.map +1 -0
  129. package/dist/identity-DRhIvbPG.d.cts +18 -0
  130. package/dist/identity-DRhIvbPG.d.cts.map +1 -0
  131. package/dist/identity-z2xaIqpe.cjs +1 -0
  132. package/dist/identity.cjs +1 -9
  133. package/dist/identity.d.cts +2 -0
  134. package/dist/identity.d.mts +2 -0
  135. package/dist/identity.mjs +1 -1
  136. package/dist/index.cjs +1 -346
  137. package/dist/index.d.cts +32 -0
  138. package/dist/index.d.mts +32 -0
  139. package/dist/index.mjs +1 -1
  140. package/dist/is-empty-C7vlSVFD.mjs +2 -0
  141. package/dist/is-empty-C7vlSVFD.mjs.map +1 -0
  142. package/dist/is-empty-DZZDqzjD.cjs +1 -0
  143. package/dist/is-equal-0Z-K2uIG.mjs +2 -0
  144. package/dist/is-equal-0Z-K2uIG.mjs.map +1 -0
  145. package/dist/is-equal-BJgVhUVS.cjs +1 -0
  146. package/dist/{is-equal.d.ts → is-equal-BMlMHlVi.d.cts} +5 -1
  147. package/dist/is-equal-BMlMHlVi.d.cts.map +1 -0
  148. package/dist/is-equal-Baqurdpn.d.mts +22 -0
  149. package/dist/is-equal-Baqurdpn.d.mts.map +1 -0
  150. package/dist/is-equal.cjs +1 -61
  151. package/dist/is-equal.d.cts +2 -0
  152. package/dist/is-equal.d.mts +2 -0
  153. package/dist/is-equal.mjs +1 -1
  154. package/dist/is-number-BcjxCzDM.cjs +1 -0
  155. package/dist/is-number-bwhfkHlC.mjs +2 -0
  156. package/dist/is-number-bwhfkHlC.mjs.map +1 -0
  157. package/dist/is-plain-object-BQuFhL4M.cjs +1 -0
  158. package/dist/is-plain-object-D8GSMOhY.mjs +2 -0
  159. package/dist/is-plain-object-D8GSMOhY.mjs.map +1 -0
  160. package/dist/is-set-B9o0NIT4.mjs +2 -0
  161. package/dist/is-set-B9o0NIT4.mjs.map +1 -0
  162. package/dist/is-set-ByJOY6h2.cjs +1 -0
  163. package/dist/is-set-string-48_jZFw0.cjs +1 -0
  164. package/dist/is-set-string-Dr1MlMk0.mjs +2 -0
  165. package/dist/is-set-string-Dr1MlMk0.mjs.map +1 -0
  166. package/dist/is-string-CvmuuuDj.mjs +2 -0
  167. package/dist/is-string-CvmuuuDj.mjs.map +1 -0
  168. package/dist/is-string-DPanLeA_.cjs +1 -0
  169. package/dist/lru-cache-CzQ_kKXk.d.mts +103 -0
  170. package/dist/lru-cache-CzQ_kKXk.d.mts.map +1 -0
  171. package/dist/lru-cache-D4VEIgtR.d.cts +103 -0
  172. package/dist/lru-cache-D4VEIgtR.d.cts.map +1 -0
  173. package/dist/lru-cache-DLY_yZRN.mjs +2 -0
  174. package/dist/lru-cache-DLY_yZRN.mjs.map +1 -0
  175. package/dist/lru-cache-DgTSGx5W.cjs +1 -0
  176. package/dist/lru-cache.cjs +1 -82
  177. package/dist/lru-cache.d.cts +2 -0
  178. package/dist/lru-cache.d.mts +2 -0
  179. package/dist/lru-cache.mjs +1 -1
  180. package/dist/match-sorter-B9_7YvTo.mjs +2 -0
  181. package/dist/match-sorter-B9_7YvTo.mjs.map +1 -0
  182. package/dist/match-sorter-BjnWjkKu.cjs +1 -0
  183. package/dist/{match-sorter.d.ts → match-sorter-CMYN3GuY.d.cts} +44 -43
  184. package/dist/match-sorter-CMYN3GuY.d.cts.map +1 -0
  185. package/dist/match-sorter-DCRerxVe.d.mts +78 -0
  186. package/dist/match-sorter-DCRerxVe.d.mts.map +1 -0
  187. package/dist/match-sorter.cjs +1 -184
  188. package/dist/match-sorter.d.cts +2 -0
  189. package/dist/match-sorter.d.mts +2 -0
  190. package/dist/match-sorter.mjs +1 -1
  191. package/dist/memoize-Cr5jFKxi.mjs +2 -0
  192. package/dist/memoize-Cr5jFKxi.mjs.map +1 -0
  193. package/dist/memoize-TyrmWrfR.d.mts +11 -0
  194. package/dist/memoize-TyrmWrfR.d.mts.map +1 -0
  195. package/dist/memoize-qxvbI-0y.cjs +1 -0
  196. package/dist/memoize-tSTYY522.d.cts +11 -0
  197. package/dist/memoize-tSTYY522.d.cts.map +1 -0
  198. package/dist/memoize.cjs +1 -12
  199. package/dist/memoize.d.cts +2 -0
  200. package/dist/memoize.d.mts +2 -0
  201. package/dist/memoize.mjs +1 -1
  202. package/dist/mutex-CnQQBndt.cjs +1 -0
  203. package/dist/mutex-DAZduiSP.d.mts +72 -0
  204. package/dist/mutex-DAZduiSP.d.mts.map +1 -0
  205. package/dist/mutex-DCyX7B66.d.cts +72 -0
  206. package/dist/mutex-DCyX7B66.d.cts.map +1 -0
  207. package/dist/mutex-TqoKHosg.mjs +2 -0
  208. package/dist/mutex-TqoKHosg.mjs.map +1 -0
  209. package/dist/mutex.cjs +1 -20
  210. package/dist/mutex.d.cts +2 -0
  211. package/dist/mutex.d.mts +2 -0
  212. package/dist/mutex.mjs +1 -1
  213. package/dist/noop-B7OetrhD.mjs +2 -0
  214. package/dist/noop-B7OetrhD.mjs.map +1 -0
  215. package/dist/{noop.d.ts → noop-BnXKMH6Z.d.mts} +6 -2
  216. package/dist/noop-BnXKMH6Z.d.mts.map +1 -0
  217. package/dist/noop-CnJXOCpF.d.cts +22 -0
  218. package/dist/noop-CnJXOCpF.d.cts.map +1 -0
  219. package/dist/noop-Dpf7hIui.cjs +1 -0
  220. package/dist/noop.cjs +1 -10
  221. package/dist/noop.d.cts +2 -0
  222. package/dist/noop.d.mts +2 -0
  223. package/dist/noop.mjs +1 -1
  224. package/dist/object-CHmrmQna.d.mts +160 -0
  225. package/dist/object-CHmrmQna.d.mts.map +1 -0
  226. package/dist/object-D8HGAGMr.d.cts +160 -0
  227. package/dist/object-D8HGAGMr.d.cts.map +1 -0
  228. package/dist/omit-A0uVyAS4.cjs +1 -0
  229. package/dist/omit-BROsDK0D.mjs +2 -0
  230. package/dist/omit-BROsDK0D.mjs.map +1 -0
  231. package/dist/{omit.d.ts → omit-D1FKiOYz.d.cts} +5 -1
  232. package/dist/omit-D1FKiOYz.d.cts.map +1 -0
  233. package/dist/omit-DpqOAtKt.d.mts +22 -0
  234. package/dist/omit-DpqOAtKt.d.mts.map +1 -0
  235. package/dist/omit.cjs +1 -16
  236. package/dist/omit.d.cts +2 -0
  237. package/dist/omit.d.mts +2 -0
  238. package/dist/omit.mjs +1 -1
  239. package/dist/once-DNPPQd3P.d.mts +13 -0
  240. package/dist/once-DNPPQd3P.d.mts.map +1 -0
  241. package/dist/once-DZCwmdkv.cjs +1 -0
  242. package/dist/once-DqmxXwEB.d.cts +13 -0
  243. package/dist/once-DqmxXwEB.d.cts.map +1 -0
  244. package/dist/once-txoW63yJ.mjs +2 -0
  245. package/dist/once-txoW63yJ.mjs.map +1 -0
  246. package/dist/once.cjs +1 -17
  247. package/dist/once.d.cts +2 -0
  248. package/dist/once.d.mts +2 -0
  249. package/dist/once.mjs +1 -1
  250. package/dist/pick-CuXTvXaw.mjs +2 -0
  251. package/dist/pick-CuXTvXaw.mjs.map +1 -0
  252. package/dist/{pick.d.ts → pick-DXREvZBr.d.cts} +5 -1
  253. package/dist/pick-DXREvZBr.d.cts.map +1 -0
  254. package/dist/pick-GDOwAh6I.cjs +1 -0
  255. package/dist/pick-ZrWD4de2.d.mts +22 -0
  256. package/dist/pick-ZrWD4de2.d.mts.map +1 -0
  257. package/dist/pick.cjs +1 -14
  258. package/dist/pick.d.cts +2 -0
  259. package/dist/pick.d.mts +2 -0
  260. package/dist/pick.mjs +1 -1
  261. package/dist/remove-accents-BFmyvTRZ.mjs +2 -0
  262. package/dist/remove-accents-BFmyvTRZ.mjs.map +1 -0
  263. package/dist/remove-accents-C4C0A2ex.d.mts +12 -0
  264. package/dist/remove-accents-C4C0A2ex.d.mts.map +1 -0
  265. package/dist/remove-accents-CXBUC-Id.cjs +1 -0
  266. package/dist/remove-accents-Yo3-2jWO.d.cts +12 -0
  267. package/dist/remove-accents-Yo3-2jWO.d.cts.map +1 -0
  268. package/dist/remove-accents.cjs +1 -411
  269. package/dist/remove-accents.d.cts +2 -0
  270. package/dist/remove-accents.d.mts +2 -0
  271. package/dist/remove-accents.mjs +1 -1
  272. package/dist/remove-empty-items-BglsRCyG.d.cts +11 -0
  273. package/dist/remove-empty-items-BglsRCyG.d.cts.map +1 -0
  274. package/dist/remove-empty-items-BzI9Vid9.mjs +2 -0
  275. package/dist/remove-empty-items-BzI9Vid9.mjs.map +1 -0
  276. package/dist/remove-empty-items-COwdCPHC.d.mts +11 -0
  277. package/dist/remove-empty-items-COwdCPHC.d.mts.map +1 -0
  278. package/dist/remove-empty-items-CjTxJuyS.cjs +1 -0
  279. package/dist/remove-empty-items.cjs +1 -8
  280. package/dist/remove-empty-items.d.cts +2 -0
  281. package/dist/remove-empty-items.d.mts +2 -0
  282. package/dist/remove-empty-items.mjs +1 -1
  283. package/dist/semaphore-4zJqtox8.mjs +2 -0
  284. package/dist/semaphore-4zJqtox8.mjs.map +1 -0
  285. package/dist/semaphore-CsGTxqsW.d.cts +86 -0
  286. package/dist/semaphore-CsGTxqsW.d.cts.map +1 -0
  287. package/dist/semaphore-DkHqPlow.cjs +1 -0
  288. package/dist/semaphore-WaZBtCk5.d.mts +86 -0
  289. package/dist/semaphore-WaZBtCk5.d.mts.map +1 -0
  290. package/dist/semaphore.cjs +1 -32
  291. package/dist/semaphore.d.cts +2 -0
  292. package/dist/semaphore.d.mts +2 -0
  293. package/dist/semaphore.mjs +1 -1
  294. package/dist/set-field-CUgbKEjW.mjs +2 -0
  295. package/dist/set-field-CUgbKEjW.mjs.map +1 -0
  296. package/dist/set-field-CcCiXZNl.d.cts +16 -0
  297. package/dist/set-field-CcCiXZNl.d.cts.map +1 -0
  298. package/dist/set-field-DyvXgpNP.d.mts +16 -0
  299. package/dist/set-field-DyvXgpNP.d.mts.map +1 -0
  300. package/dist/set-field-mr4GkhFb.cjs +1 -0
  301. package/dist/set-field.cjs +1 -21
  302. package/dist/set-field.d.cts +2 -0
  303. package/dist/set-field.d.mts +2 -0
  304. package/dist/set-field.mjs +1 -1
  305. package/dist/throttle-BOKOTo3m.cjs +1 -0
  306. package/dist/{throttle.d.ts → throttle-BWPQuZty.d.cts} +5 -1
  307. package/dist/throttle-BWPQuZty.d.cts.map +1 -0
  308. package/dist/throttle-BgU4k6qs.d.mts +32 -0
  309. package/dist/throttle-BgU4k6qs.d.mts.map +1 -0
  310. package/dist/throttle-CYK3F0mZ.mjs +2 -0
  311. package/dist/throttle-CYK3F0mZ.mjs.map +1 -0
  312. package/dist/throttle.cjs +1 -13
  313. package/dist/throttle.d.cts +2 -0
  314. package/dist/throttle.d.mts +2 -0
  315. package/dist/throttle.mjs +1 -1
  316. package/dist/timeout-43rG9ETK.mjs +2 -0
  317. package/dist/timeout-43rG9ETK.mjs.map +1 -0
  318. package/dist/{timeout.d.ts → timeout-CLhwG-oo.d.mts} +5 -1
  319. package/dist/timeout-CLhwG-oo.d.mts.map +1 -0
  320. package/dist/timeout-CoYbhliP.cjs +1 -0
  321. package/dist/timeout-DC38jHR8.d.cts +12 -0
  322. package/dist/timeout-DC38jHR8.d.cts.map +1 -0
  323. package/dist/timeout.cjs +1 -11
  324. package/dist/timeout.d.cts +2 -0
  325. package/dist/timeout.d.mts +2 -0
  326. package/dist/timeout.mjs +1 -1
  327. package/dist/to-deep-key-Cma9aiEz.cjs +1 -0
  328. package/dist/to-deep-key-D8uDBd6T.mjs +2 -0
  329. package/dist/to-deep-key-D8uDBd6T.mjs.map +1 -0
  330. package/dist/{to-deep-key.d.ts → to-deep-key-DO-Z0Zjs.d.mts} +6 -2
  331. package/dist/to-deep-key-DO-Z0Zjs.d.mts.map +1 -0
  332. package/dist/to-deep-key-DlsE4ziE.d.cts +42 -0
  333. package/dist/to-deep-key-DlsE4ziE.d.cts.map +1 -0
  334. package/dist/to-deep-key.cjs +1 -15
  335. package/dist/to-deep-key.d.cts +2 -0
  336. package/dist/to-deep-key.d.mts +2 -0
  337. package/dist/to-deep-key.mjs +1 -1
  338. package/dist/{to-path.d.ts → to-path-BajxeMmo.d.mts} +5 -1
  339. package/dist/to-path-BajxeMmo.d.mts.map +1 -0
  340. package/dist/to-path-CdOFd4od.cjs +1 -0
  341. package/dist/to-path-D2zWXeYc.d.cts +24 -0
  342. package/dist/to-path-D2zWXeYc.d.cts.map +1 -0
  343. package/dist/to-path-Dm1fe-Ix.mjs +2 -0
  344. package/dist/to-path-Dm1fe-Ix.mjs.map +1 -0
  345. package/dist/to-path.cjs +1 -23
  346. package/dist/to-path.d.cts +2 -0
  347. package/dist/to-path.d.mts +2 -0
  348. package/dist/to-path.mjs +1 -1
  349. package/dist/unflatten-object-C7TE8J80.mjs +2 -0
  350. package/dist/unflatten-object-C7TE8J80.mjs.map +1 -0
  351. package/dist/unflatten-object-CPJIUozj.d.mts +35 -0
  352. package/dist/unflatten-object-CPJIUozj.d.mts.map +1 -0
  353. package/dist/unflatten-object-CvZj41LG.cjs +1 -0
  354. package/dist/unflatten-object-Cvbj7Q__.d.cts +35 -0
  355. package/dist/unflatten-object-Cvbj7Q__.d.cts.map +1 -0
  356. package/dist/unflatten-object.cjs +1 -10
  357. package/dist/unflatten-object.d.cts +2 -0
  358. package/dist/unflatten-object.d.mts +2 -0
  359. package/dist/unflatten-object.mjs +1 -1
  360. package/dist/{union.d.ts → union-BMOMEzO-.d.cts} +5 -1
  361. package/dist/union-BMOMEzO-.d.cts.map +1 -0
  362. package/dist/union-C-2CRoFc.mjs +2 -0
  363. package/dist/union-C-2CRoFc.mjs.map +1 -0
  364. package/dist/union-D4bbjM2i.d.mts +24 -0
  365. package/dist/union-D4bbjM2i.d.mts.map +1 -0
  366. package/dist/union-EwdcZzNT.cjs +1 -0
  367. package/dist/union.cjs +1 -10
  368. package/dist/union.d.cts +2 -0
  369. package/dist/union.d.mts +2 -0
  370. package/dist/union.mjs +1 -1
  371. package/dist/{with-timeout.d.ts → with-timeout-BPaAIZtS.d.cts} +5 -1
  372. package/dist/with-timeout-BPaAIZtS.d.cts.map +1 -0
  373. package/dist/with-timeout-BoZYdcOg.d.mts +24 -0
  374. package/dist/with-timeout-BoZYdcOg.d.mts.map +1 -0
  375. package/dist/with-timeout-CAuUr1ck.mjs +2 -0
  376. package/dist/with-timeout-CAuUr1ck.mjs.map +1 -0
  377. package/dist/with-timeout-CPUBGT4X.cjs +1 -0
  378. package/dist/with-timeout.cjs +1 -10
  379. package/dist/with-timeout.d.cts +2 -0
  380. package/dist/with-timeout.d.mts +2 -0
  381. package/dist/with-timeout.mjs +1 -1
  382. package/package.json +91 -440
  383. package/dist/deep-merge.d.ts +0 -22
  384. package/dist/errors.d.ts +0 -12
  385. package/dist/filter-empty.d.ts +0 -1
  386. package/dist/index.d.ts +0 -31
  387. package/dist/lru-cache.d.ts +0 -99
  388. package/dist/memoize.d.ts +0 -7
  389. package/dist/mutex.d.ts +0 -68
  390. package/dist/once.d.ts +0 -9
  391. package/dist/remove-accents.d.ts +0 -8
  392. package/dist/remove-empty-items.d.ts +0 -7
  393. package/dist/semaphore.d.ts +0 -82
  394. package/dist/set-field.d.ts +0 -10
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay-VkcrQf1l.d.cts","names":[],"sources":["../src/delay.ts"],"sourcesContent":[],"mappings":";UAoBU,YAAA;EAAA,MAAA,CAAA,EACC,WADW;AAqCtB;;;;;AA2DA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA3DsB,KAAA;;IAER,eACX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAwDmB,KAAA,uBAA4B,eAAe"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./errors-DWX9ET_b.mjs";async function t(t,{signal:n}={}){return new Promise((r,i)=>{let a=()=>{i(new e)},o=()=>{clearTimeout(s),a()};if(n?.aborted)return a();let s=setTimeout(r,t);n?.addEventListener(`abort`,o,{once:!0})})}async function n(e,n){return t(e,n)}export{n,t};
2
+ //# sourceMappingURL=delay-wdNbY6sk.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delay-wdNbY6sk.mjs","names":[],"sources":["../src/delay.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { AbortError } from \"./errors\";\n\ninterface DelayOptions {\n signal?: AbortSignal;\n}\n\n/**\n * Delays the execution of code for a specified number of milliseconds.\n *\n * This function returns a Promise that resolves after the specified delay, allowing you to use it\n * with async/await to pause execution.\n *\n * @example\n * ```typescript\n * async function foo() {\n * console.log('Start');\n * await delay(1000); // Delays execution for 1 second\n * console.log('End');\n * }\n *\n * foo();\n *\n * // With AbortSignal\n * const controller = new AbortController();\n * const { signal } = controller;\n *\n * setTimeout(() => controller.abort(), 50); // Will cancel the delay after 50ms\n * try {\n * await delay(100, { signal });\n * } catch (error) {\n * console.error(error); // Will log 'AbortError'\n * }\n * }\n * ```\n *\n * @param ms - The number of milliseconds to delay.\n * @param options - The options object.\n * @returns A Promise that resolves after the specified delay.\n */\nexport async function delay(\n ms: number,\n { signal }: DelayOptions = {}\n): Promise<void> {\n return new Promise((resolve, reject) => {\n const abortError = () => {\n reject(new AbortError());\n };\n\n const abortHandler = () => {\n // eslint-disable-next-line ts/no-use-before-define\n clearTimeout(timeoutId);\n abortError();\n };\n\n if (signal?.aborted) {\n // eslint-disable-next-line no-promise-executor-return\n return abortError();\n }\n\n const timeoutId = setTimeout(resolve, ms);\n\n signal?.addEventListener(\"abort\", abortHandler, { once: true });\n });\n}\n\n/**\n * Delays the execution of code for a specified number of milliseconds.\n *\n * This function returns a Promise that resolves after the specified delay, allowing you to use it\n * with async/await to pause execution.\n *\n * @example\n * ```typescript\n * async function foo() {\n * console.log('Start');\n * await sleep(1000); // Delays execution for 1 second\n * console.log('End');\n * }\n *\n * foo();\n *\n * // With AbortSignal\n * const controller = new AbortController();\n * const { signal } = controller;\n *\n * setTimeout(() => controller.abort(), 50); // Will cancel the delay after 50ms\n * try {\n * await sleep(100, { signal });\n * } catch (error) {\n * console.error(error); // Will log 'AbortError'\n * }\n * }\n * ```\n *\n * @param ms - The number of milliseconds to sleep.\n * @param options - The options object.\n * @returns A Promise that resolves after the specified sleep.\n */\nexport async function sleep(ms: number, options?: DelayOptions): Promise<void> {\n return delay(ms, options);\n}\n"],"mappings":"0CAyDA,eAAsB,EACpB,EACA,CAAE,UAAyB,EAAE,CACd,CACf,OAAO,IAAI,SAAS,EAAS,IAAW,CACtC,IAAM,MAAmB,CACvB,EAAO,IAAI,EAAa,EAGpB,MAAqB,CAEzB,aAAa,EAAU,CACvB,GAAY,EAGd,GAAI,GAAQ,QAEV,OAAO,GAAY,CAGrB,IAAM,EAAY,WAAW,EAAS,EAAG,CAEzC,GAAQ,iBAAiB,QAAS,EAAc,CAAE,KAAM,GAAM,CAAC,EAC/D,CAoCJ,eAAsB,EAAM,EAAY,EAAuC,CAC7E,OAAO,EAAM,EAAI,EAAQ"}
package/dist/delay.cjs CHANGED
@@ -1,28 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.delay = delay;
7
- exports.sleep = sleep;
8
- var _errors = require("./errors.cjs");
9
- async function delay(r, {
10
- signal: e
11
- } = {}) {
12
- return new Promise((t, n) => {
13
- const o = () => {
14
- n(new _errors.AbortError());
15
- },
16
- i = () => {
17
- clearTimeout(a), o();
18
- };
19
- if (e?.aborted) return o();
20
- const a = setTimeout(t, r);
21
- e?.addEventListener("abort", i, {
22
- once: !0
23
- });
24
- });
25
- }
26
- async function sleep(r, e) {
27
- return delay(r, e);
28
- }
1
+ const e=require(`./delay-UwR_fCwt.cjs`);exports.delay=e.t,exports.sleep=e.n;
@@ -0,0 +1,2 @@
1
+ import { n as sleep, t as delay } from "./delay-VkcrQf1l.cjs";
2
+ export { delay, sleep };
@@ -0,0 +1,2 @@
1
+ import { n as sleep, t as delay } from "./delay-Bd_sGzMj.mjs";
2
+ export { delay, sleep };
package/dist/delay.mjs CHANGED
@@ -1 +1 @@
1
- import{AbortError as s}from"./errors";export async function delay(r,{signal:e}={}){return new Promise((t,n)=>{const o=()=>{n(new s)},i=()=>{clearTimeout(a),o()};if(e?.aborted)return o();const a=setTimeout(t,r);e?.addEventListener("abort",i,{once:!0})})}export async function sleep(r,e){return delay(r,e)}
1
+ import{n as e,t}from"./delay-wdNbY6sk.mjs";export{t as delay,e as sleep};
@@ -0,0 +1 @@
1
+ var e=class extends Error{constructor(e=`The operation was aborted`){super(e),this.name=`AbortError`}},t=class extends Error{constructor(e=`The operation was timed out`){super(e),this.name=`TimeoutError`}};Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
@@ -0,0 +1,2 @@
1
+ var e=class extends Error{constructor(e=`The operation was aborted`){super(e),this.name=`AbortError`}},t=class extends Error{constructor(e=`The operation was timed out`){super(e),this.name=`TimeoutError`}};export{t as n,e as t};
2
+ //# sourceMappingURL=errors-DWX9ET_b.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-DWX9ET_b.mjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/**\n * An error class representing an aborted operation.\n */\nexport class AbortError extends Error {\n constructor(message = \"The operation was aborted\") {\n super(message);\n this.name = \"AbortError\";\n }\n}\n\n/**\n * An error class representing an timeout operation.\n */\nexport class TimeoutError extends Error {\n constructor(message = \"The operation was timed out\") {\n super(message);\n this.name = \"TimeoutError\";\n }\n}\n"],"mappings":"AAqBA,IAAa,EAAb,cAAgC,KAAM,CACpC,YAAY,EAAU,4BAA6B,CACjD,MAAM,EAAQ,CACd,KAAK,KAAO,eAOH,EAAb,cAAkC,KAAM,CACtC,YAAY,EAAU,8BAA+B,CACnD,MAAM,EAAQ,CACd,KAAK,KAAO"}
package/dist/errors.cjs CHANGED
@@ -1,18 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.TimeoutError = exports.AbortError = void 0;
7
- class AbortError extends Error {
8
- constructor(r = "The operation was aborted") {
9
- super(r), this.name = "AbortError";
10
- }
11
- }
12
- exports.AbortError = AbortError;
13
- class TimeoutError extends Error {
14
- constructor(r = "The operation was timed out") {
15
- super(r), this.name = "TimeoutError";
16
- }
17
- }
18
- exports.TimeoutError = TimeoutError;
1
+ const e=require(`./errors-BXYY8wXj.cjs`);exports.AbortError=e.t,exports.TimeoutError=e.n;
@@ -0,0 +1,16 @@
1
+ //#region src/errors.d.ts
2
+ /**
3
+ * An error class representing an aborted operation.
4
+ */
5
+ declare class AbortError extends Error {
6
+ constructor(message?: string);
7
+ }
8
+ /**
9
+ * An error class representing an timeout operation.
10
+ */
11
+ declare class TimeoutError extends Error {
12
+ constructor(message?: string);
13
+ }
14
+ //#endregion
15
+ export { AbortError, TimeoutError };
16
+ //# sourceMappingURL=errors.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.cts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;AAqBA;AAUA;cAVa,UAAA,SAAmB,KAAA;;;;;;cAUnB,YAAA,SAAqB,KAAA"}
@@ -0,0 +1,16 @@
1
+ //#region src/errors.d.ts
2
+ /**
3
+ * An error class representing an aborted operation.
4
+ */
5
+ declare class AbortError extends Error {
6
+ constructor(message?: string);
7
+ }
8
+ /**
9
+ * An error class representing an timeout operation.
10
+ */
11
+ declare class TimeoutError extends Error {
12
+ constructor(message?: string);
13
+ }
14
+ //#endregion
15
+ export { AbortError, TimeoutError };
16
+ //# sourceMappingURL=errors.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.mts","names":[],"sources":["../src/errors.ts"],"sourcesContent":[],"mappings":";;AAqBA;AAUA;cAVa,UAAA,SAAmB,KAAA;;;;;;cAUnB,YAAA,SAAqB,KAAA"}
package/dist/errors.mjs CHANGED
@@ -1 +1 @@
1
- export class AbortError extends Error{constructor(r="The operation was aborted"){super(r),this.name="AbortError"}}export class TimeoutError extends Error{constructor(r="The operation was timed out"){super(r),this.name="TimeoutError"}}
1
+ import{n as e,t}from"./errors-DWX9ET_b.mjs";export{t as AbortError,e as TimeoutError};
@@ -0,0 +1 @@
1
+ const e=require(`./is-empty-DZZDqzjD.cjs`),t=(t=[])=>t.filter(t=>!e.t(t));Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -0,0 +1,5 @@
1
+ //#region src/filter-empty.d.ts
2
+ declare const filterEmpty: <T>(values?: (T | null | undefined)[]) => T[];
3
+ //#endregion
4
+ export { filterEmpty as t };
5
+ //# sourceMappingURL=filter-empty-BMtd0K07.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-empty-BMtd0K07.d.mts","names":[],"sources":["../src/filter-empty.ts"],"sourcesContent":[],"mappings":";cAmBa,2BAA2B,4BAA+B"}
@@ -0,0 +1,5 @@
1
+ //#region src/filter-empty.d.ts
2
+ declare const filterEmpty: <T>(values?: (T | null | undefined)[]) => T[];
3
+ //#endregion
4
+ export { filterEmpty as t };
5
+ //# sourceMappingURL=filter-empty-C2fq9M7o.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-empty-C2fq9M7o.d.cts","names":[],"sources":["../src/filter-empty.ts"],"sourcesContent":[],"mappings":";cAmBa,2BAA2B,4BAA+B"}
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./is-empty-C7vlSVFD.mjs";const t=(t=[])=>t.filter(t=>!e(t));export{t};
2
+ //# sourceMappingURL=filter-empty-Dsc1ymCj.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter-empty-Dsc1ymCj.mjs","names":[],"sources":["../src/filter-empty.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport { isEmpty } from \"@stryke/type-checks/is-empty\";\n\nexport const filterEmpty = <T>(values: (T | null | undefined)[] = []): T[] =>\n values.filter(value => !isEmpty(value)) as T[];\n"],"mappings":"4CAmBA,MAAa,GAAkB,EAAmC,EAAE,GAClE,EAAO,OAAO,GAAS,CAAC,EAAQ,EAAM,CAAC"}
@@ -1,9 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.filterEmpty = void 0;
7
- var _isEmpty = require("@stryke/type-checks/is-empty");
8
- const filterEmpty = (t = []) => t.filter(e => !(0, _isEmpty.isEmpty)(e));
9
- exports.filterEmpty = filterEmpty;
1
+ const e=require(`./filter-empty-5_nMg04e.cjs`);exports.filterEmpty=e.t;
@@ -0,0 +1,2 @@
1
+ import { t as filterEmpty } from "./filter-empty-C2fq9M7o.cjs";
2
+ export { filterEmpty };
@@ -0,0 +1,2 @@
1
+ import { t as filterEmpty } from "./filter-empty-BMtd0K07.mjs";
2
+ export { filterEmpty };
@@ -1 +1 @@
1
- import{isEmpty as i}from"@stryke/type-checks/is-empty";export const filterEmpty=(t=[])=>t.filter(e=>!i(e));
1
+ import{t as e}from"./filter-empty-Dsc1ymCj.mjs";export{e as filterEmpty};
@@ -1,4 +1,7 @@
1
- import type { DeepKey, DeepValue } from "@stryke/types/object";
1
+ import { n as DeepValue, t as DeepKey } from "./object-CHmrmQna.mjs";
2
+
3
+ //#region src/flatten-object.d.ts
4
+
2
5
  /**
3
6
  * Flattens a nested object into a single level object with dot-separated keys.
4
7
  *
@@ -26,8 +29,7 @@ import type { DeepKey, DeepValue } from "@stryke/types/object";
26
29
  * @param object - The object to flatten.
27
30
  * @returns - The flattened object.
28
31
  */
29
- export declare function flattenObject<TObject extends Record<string, any> = Record<string, any>, TDeepKeyObject extends {
30
- [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey>;
31
- } = {
32
- [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey>;
33
- }>(object: TObject): TDeepKeyObject;
32
+ declare function flattenObject<TObject extends Record<string, any> = Record<string, any>, TDeepKeyObject extends { [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey> } = { [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey> }>(object: TObject): TDeepKeyObject;
33
+ //#endregion
34
+ export { flattenObject as t };
35
+ //# sourceMappingURL=flatten-object-Bk2VT-b2.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-object-Bk2VT-b2.d.mts","names":[],"sources":["../src/flatten-object.ts"],"sourcesContent":[],"mappings":";;;;;;AA+CA;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,8BACE,sBAAsB,uDAE3B,QAAQ,WAAW,UAAU,SAAS,qBAClC,QAAQ,WAAW,UAAU,SAAS,iBAC7C,UAAU"}
@@ -0,0 +1 @@
1
+ const e=require(`./is-plain-object-BQuFhL4M.cjs`);function t(e){return n(e)}function n(t,r=``){let i={},a=Object.keys(t);for(let o of a){let a=t[o],s=r?`${r}.${o}`:o;if(e.t(a)&&Object.keys(a).length>0)Object.assign(i,n(a,s));else if(Array.isArray(a))for(let[e,t]of a.entries())i[`${s}.${e}`]=t;else i[s]=a}return i}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./is-plain-object-D8GSMOhY.mjs";function t(e){return n(e)}function n(t,r=``){let i={},a=Object.keys(t);for(let o of a){let a=t[o],s=r?`${r}.${o}`:o;if(e(a)&&Object.keys(a).length>0)Object.assign(i,n(a,s));else if(Array.isArray(a))for(let[e,t]of a.entries())i[`${s}.${e}`]=t;else i[s]=a}return i}export{t};
2
+ //# sourceMappingURL=flatten-object-DFCZmly9.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-object-DFCZmly9.mjs","names":[],"sources":["../src/flatten-object.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport { isPlainObject } from \"@stryke/type-checks/is-plain-object\";\nimport type { DeepKey, DeepValue } from \"@stryke/types/object\";\n\n/**\n * Flattens a nested object into a single level object with dot-separated keys.\n *\n * @example\n * ```typescript\n * const nestedObject = {\n * a: {\n * b: {\n * c: 1\n * }\n * },\n * d: [2, 3]\n * };\n *\n * const flattened = flattenObject(nestedObject);\n * console.log(flattened);\n * // Output:\n * // {\n * // 'a.b.c': 1,\n * // 'd.0': 2,\n * // 'd.1': 3\n * // }\n * ```\n *\n * @param object - The object to flatten.\n * @returns - The flattened object.\n */\nexport function flattenObject<\n TObject extends Record<string, any> = Record<string, any>,\n TDeepKeyObject extends {\n [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey>;\n } = { [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey> }\n>(object: TObject): TDeepKeyObject {\n return flattenObjectImpl<TObject, TDeepKeyObject>(object);\n}\n\nfunction flattenObjectImpl<\n TObject extends Record<string, any> = Record<string, any>,\n TDeepKeyObject extends {\n [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey>;\n } = { [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey> }\n>(object: TObject, prefix = \"\"): TDeepKeyObject {\n const result = {} as TDeepKeyObject;\n const keys = Object.keys(object);\n\n for (const key of keys) {\n const value = (object as any)[key];\n\n const prefixedKey = prefix ? `${prefix}.${key}` : key;\n\n if (isPlainObject(value) && Object.keys(value).length > 0) {\n Object.assign(\n result,\n flattenObjectImpl<typeof value>(value, prefixedKey)\n );\n } else if (Array.isArray(value)) {\n for (const [index, element_] of value.entries()) {\n (result as any)[`${prefixedKey}.${index}` as DeepKey<TObject>] =\n element_;\n }\n } else {\n (result as any)[prefixedKey as DeepKey<TObject>] = value;\n }\n }\n\n return result;\n}\n"],"mappings":"mDA+CA,SAAgB,EAKd,EAAiC,CACjC,OAAO,EAA2C,EAAO,CAG3D,SAAS,EAKP,EAAiB,EAAS,GAAoB,CAC9C,IAAM,EAAS,EAAE,CACX,EAAO,OAAO,KAAK,EAAO,CAEhC,IAAK,IAAM,KAAO,EAAM,CACtB,IAAM,EAAS,EAAe,GAExB,EAAc,EAAS,GAAG,EAAO,GAAG,IAAQ,EAElD,GAAI,EAAc,EAAM,EAAI,OAAO,KAAK,EAAM,CAAC,OAAS,EACtD,OAAO,OACL,EACA,EAAgC,EAAO,EAAY,CACpD,SACQ,MAAM,QAAQ,EAAM,CAC7B,IAAK,GAAM,CAAC,EAAO,KAAa,EAAM,SAAS,CAC5C,EAAe,GAAG,EAAY,GAAG,KAChC,OAGH,EAAe,GAAmC,EAIvD,OAAO"}
@@ -1,4 +1,7 @@
1
- import type { DeepKey, DeepValue } from "@stryke/types/object";
1
+ import { n as DeepValue, t as DeepKey } from "./object-D8HGAGMr.cjs";
2
+
3
+ //#region src/flatten-object.d.ts
4
+
2
5
  /**
3
6
  * Flattens a nested object into a single level object with dot-separated keys.
4
7
  *
@@ -26,8 +29,7 @@ import type { DeepKey, DeepValue } from "@stryke/types/object";
26
29
  * @param object - The object to flatten.
27
30
  * @returns - The flattened object.
28
31
  */
29
- export declare function unflattenObject<TObject extends Record<string, any> = Record<string, any>, TDeepKeyObject extends {
30
- [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey>;
31
- } = {
32
- [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey>;
33
- }>(deepKeyObject: TDeepKeyObject): TObject;
32
+ declare function flattenObject<TObject extends Record<string, any> = Record<string, any>, TDeepKeyObject extends { [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey> } = { [TKey in DeepKey<TObject>]: DeepValue<TObject, TKey> }>(object: TObject): TDeepKeyObject;
33
+ //#endregion
34
+ export { flattenObject as t };
35
+ //# sourceMappingURL=flatten-object-DjaJJaY0.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-object-DjaJJaY0.d.cts","names":[],"sources":["../src/flatten-object.ts"],"sourcesContent":[],"mappings":";;;;;;AA+CA;;;;;;;;;;;;;;;;;;;;;;;;;iBAAgB,8BACE,sBAAsB,uDAE3B,QAAQ,WAAW,UAAU,SAAS,qBAClC,QAAQ,WAAW,UAAU,SAAS,iBAC7C,UAAU"}
@@ -1,20 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.flattenObject = flattenObject;
7
- var _isPlainObject = require("@stryke/type-checks/is-plain-object");
8
- function flattenObject(t) {
9
- return T(t);
10
- }
11
- function T(t, s = "") {
12
- const c = {},
13
- b = Object.keys(t);
14
- for (const n of b) {
15
- const e = t[n],
16
- y = s ? `${s}.${n}` : n;
17
- if ((0, _isPlainObject.isPlainObject)(e) && Object.keys(e).length > 0) Object.assign(c, T(e, y));else if (Array.isArray(e)) for (const [j, O] of e.entries()) c[`${y}.${j}`] = O;else c[y] = e;
18
- }
19
- return c;
20
- }
1
+ const e=require(`./flatten-object-D-EbEZqR.cjs`);exports.flattenObject=e.t;
@@ -0,0 +1,2 @@
1
+ import { t as flattenObject } from "./flatten-object-DjaJJaY0.cjs";
2
+ export { flattenObject };
@@ -0,0 +1,2 @@
1
+ import { t as flattenObject } from "./flatten-object-Bk2VT-b2.mjs";
2
+ export { flattenObject };
@@ -1 +1 @@
1
- import{isPlainObject as a}from"@stryke/type-checks/is-plain-object";export function flattenObject(t){return T(t)}function T(t,s=""){const c={},b=Object.keys(t);for(const n of b){const e=t[n],y=s?`${s}.${n}`:n;if(a(e)&&Object.keys(e).length>0)Object.assign(c,T(e,y));else if(Array.isArray(e))for(const[j,O]of e.entries())c[`${y}.${j}`]=O;else c[y]=e}return c}
1
+ import{t as e}from"./flatten-object-DFCZmly9.mjs";export{e as flattenObject};
@@ -1,10 +1,11 @@
1
+ //#region src/get-field.d.ts
1
2
  /**
2
3
  * See the definition of `@types/lodash`.
3
4
  */
4
5
  type GetIndexedField<T, K> = K extends keyof T ? T[K] : K extends `${number}` ? "length" extends keyof T ? number extends T["length"] ? number extends keyof T ? T[number] : undefined : undefined : undefined : undefined;
5
6
  type FieldWithPossiblyUndefined<T, Key> = GetField<Exclude<T, undefined>, Key> | Extract<T, undefined>;
6
7
  type IndexedFieldWithPossiblyUndefined<T, Key> = GetIndexedField<Exclude<T, undefined>, Key> | Extract<T, undefined>;
7
- export type GetField<T, P> = P extends `${infer Left}.${infer Right}` ? Left extends keyof Exclude<T, undefined> ? FieldWithPossiblyUndefined<Exclude<T, undefined>[Left], Right> | Extract<T, undefined> : Left extends `${infer FieldKey}[${infer IndexKey}]` ? FieldKey extends keyof T ? FieldWithPossiblyUndefined<IndexedFieldWithPossiblyUndefined<T[FieldKey], IndexKey>, Right> : undefined : undefined : P extends keyof T ? T[P] : P extends `${infer FieldKey}[${infer IndexKey}]` ? FieldKey extends keyof T ? IndexedFieldWithPossiblyUndefined<T[FieldKey], IndexKey> : undefined : IndexedFieldWithPossiblyUndefined<T, P>;
8
+ type GetField<T, P> = P extends `${infer Left}.${infer Right}` ? Left extends keyof Exclude<T, undefined> ? FieldWithPossiblyUndefined<Exclude<T, undefined>[Left], Right> | Extract<T, undefined> : Left extends `${infer FieldKey}[${infer IndexKey}]` ? FieldKey extends keyof T ? FieldWithPossiblyUndefined<IndexedFieldWithPossiblyUndefined<T[FieldKey], IndexKey>, Right> : undefined : undefined : P extends keyof T ? T[P] : P extends `${infer FieldKey}[${infer IndexKey}]` ? FieldKey extends keyof T ? IndexedFieldWithPossiblyUndefined<T[FieldKey], IndexKey> : undefined : IndexedFieldWithPossiblyUndefined<T, P>;
8
9
  /**
9
10
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
10
11
  *
@@ -16,7 +17,7 @@ export type GetField<T, P> = P extends `${infer Left}.${infer Right}` ? Left ext
16
17
  * @param {K | [K]} path - The path of the property to get.
17
18
  * @returns {T[K]} - Returns the resolved value.
18
19
  */
19
- export declare function getField<T extends object, K extends keyof T>(object: T, path: K | readonly [K]): T[K];
20
+ declare function getField<T extends object, K extends keyof T>(object: T, path: K | readonly [K]): T[K];
20
21
  /**
21
22
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
22
23
  *
@@ -27,7 +28,7 @@ export declare function getField<T extends object, K extends keyof T>(object: T,
27
28
  * @param {K | [K]} path - The path of the property to get.
28
29
  * @returns {T[K] | undefined} - Returns the resolved value.
29
30
  */
30
- export declare function getField<T extends object, K extends keyof T>(object: T | null | undefined, path: K | readonly [K]): T[K] | undefined;
31
+ declare function getField<T extends object, K extends keyof T>(object: T | null | undefined, path: K | readonly [K]): T[K] | undefined;
31
32
  /**
32
33
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
33
34
  *
@@ -40,7 +41,7 @@ export declare function getField<T extends object, K extends keyof T>(object: T
40
41
  * @param {D} defaultValue - The value returned if the resolved value is undefined.
41
42
  * @returns {Exclude<T[K], undefined> | D} - Returns the resolved value.
42
43
  */
43
- export declare function getField<T extends object, K extends keyof T, D>(object: T | null | undefined, path: K | readonly [K], defaultValue: D): Exclude<T[K], undefined> | D;
44
+ declare function getField<T extends object, K extends keyof T, D>(object: T | null | undefined, path: K | readonly [K], defaultValue: D): Exclude<T[K], undefined> | D;
44
45
  /**
45
46
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
46
47
  *
@@ -52,7 +53,7 @@ export declare function getField<T extends object, K extends keyof T, D>(object:
52
53
  * @param {[K1, K2]} path - The path of the property to get.
53
54
  * @returns {T[K1][K2]} - Returns the resolved value.
54
55
  */
55
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1]>(object: T, path: readonly [K1, K2]): T[K1][K2];
56
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1]>(object: T, path: readonly [K1, K2]): T[K1][K2];
56
57
  /**
57
58
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
58
59
  *
@@ -64,7 +65,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
64
65
  * @param {[K1, K2]} path - The path of the property to get.
65
66
  * @returns {T[K1][K2] | undefined} - Returns the resolved value.
66
67
  */
67
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1]>(object: T | null | undefined, path: readonly [K1, K2]): T[K1][K2] | undefined;
68
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1]>(object: T | null | undefined, path: readonly [K1, K2]): T[K1][K2] | undefined;
68
69
  /**
69
70
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
70
71
  *
@@ -78,7 +79,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
78
79
  * @param {D} defaultValue - The value returned if the resolved value is undefined.
79
80
  * @returns {Exclude<T[K1][K2], undefined> | D} - Returns the resolved value.
80
81
  */
81
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], D>(object: T | null | undefined, path: readonly [K1, K2], defaultValue: D): Exclude<T[K1][K2], undefined> | D;
82
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], D>(object: T | null | undefined, path: readonly [K1, K2], defaultValue: D): Exclude<T[K1][K2], undefined> | D;
82
83
  /**
83
84
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
84
85
  *
@@ -91,7 +92,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
91
92
  * @param {[K1, K2, K3]} path - The path of the property to get.
92
93
  * @returns {T[K1][K2][K3]} - Returns the resolved value.
93
94
  */
94
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T, path: readonly [K1, K2, K3]): T[K1][K2][K3];
95
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T, path: readonly [K1, K2, K3]): T[K1][K2][K3];
95
96
  /**
96
97
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
97
98
  *
@@ -104,7 +105,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
104
105
  * @param {[K1, K2, K3]} path - The path of the property to get.
105
106
  * @returns {T[K1][K2][K3] | undefined} - Returns the resolved value.
106
107
  */
107
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T | null | undefined, path: readonly [K1, K2, K3]): T[K1][K2][K3] | undefined;
108
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2]>(object: T | null | undefined, path: readonly [K1, K2, K3]): T[K1][K2][K3] | undefined;
108
109
  /**
109
110
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
110
111
  *
@@ -119,7 +120,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
119
120
  * @param {D} defaultValue - The value returned if the resolved value is undefined.
120
121
  * @returns {Exclude<T[K1][K2][K3], undefined> | D} - Returns the resolved value.
121
122
  */
122
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], D>(object: T | null | undefined, path: readonly [K1, K2, K3], defaultValue: D): Exclude<T[K1][K2][K3], undefined> | D;
123
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], D>(object: T | null | undefined, path: readonly [K1, K2, K3], defaultValue: D): Exclude<T[K1][K2][K3], undefined> | D;
123
124
  /**
124
125
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
125
126
  *
@@ -133,7 +134,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
133
134
  * @param {[K1, K2, K3, K4]} path - The path of the property to get.
134
135
  * @returns {T[K1][K2][K3][K4]} - Returns the resolved value.
135
136
  */
136
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T, path: readonly [K1, K2, K3, K4]): T[K1][K2][K3][K4];
137
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T, path: readonly [K1, K2, K3, K4]): T[K1][K2][K3][K4];
137
138
  /**
138
139
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
139
140
  *
@@ -147,7 +148,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
147
148
  * @param {[K1, K2, K3, K4]} path - The path of the property to get.
148
149
  * @returns {T[K1][K2][K3][K4] | undefined} - Returns the resolved value.
149
150
  */
150
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T | null | undefined, path: readonly [K1, K2, K3, K4]): T[K1][K2][K3][K4] | undefined;
151
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3]>(object: T | null | undefined, path: readonly [K1, K2, K3, K4]): T[K1][K2][K3][K4] | undefined;
151
152
  /**
152
153
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
153
154
  *
@@ -163,7 +164,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
163
164
  * @param {D} defaultValue - The value returned if the resolved value is undefined.
164
165
  * @returns {Exclude<T[K1][K2][K3][K4], undefined> | D} - Returns the resolved value.
165
166
  */
166
- export declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3], D>(object: T | null | undefined, path: readonly [K1, K2, K3, K4], defaultValue: D): Exclude<T[K1][K2][K3][K4], undefined> | D;
167
+ declare function getField<T extends object, K1 extends keyof T, K2 extends keyof T[K1], K3 extends keyof T[K1][K2], K4 extends keyof T[K1][K2][K3], D>(object: T | null | undefined, path: readonly [K1, K2, K3, K4], defaultValue: D): Exclude<T[K1][K2][K3][K4], undefined> | D;
167
168
  /**
168
169
  * Retrieves the value at a given path from an object with numeric keys. If the resolved value is undefined, the defaultValue is returned instead.
169
170
  *
@@ -173,7 +174,7 @@ export declare function getField<T extends object, K1 extends keyof T, K2 extend
173
174
  * @param {number} path - The path of the property to get.
174
175
  * @returns {T} - Returns the resolved value.
175
176
  */
176
- export declare function getField<T>(object: Record<number, T>, path: number): T;
177
+ declare function getField<T>(object: Record<number, T>, path: number): T;
177
178
  /**
178
179
  * Retrieves the value at a given path from an object with numeric keys. If the resolved value is undefined, the defaultValue is returned instead.
179
180
  *
@@ -183,7 +184,7 @@ export declare function getField<T>(object: Record<number, T>, path: number): T;
183
184
  * @param {number} path - The path of the property to get.
184
185
  * @returns {T | undefined} - Returns the resolved value.
185
186
  */
186
- export declare function getField<T>(object: Record<number, T> | null | undefined, path: number): T | undefined;
187
+ declare function getField<T>(object: Record<number, T> | null | undefined, path: number): T | undefined;
187
188
  /**
188
189
  * Retrieves the value at a given path from an object with numeric keys. If the resolved value is undefined, the defaultValue is returned instead.
189
190
  *
@@ -195,7 +196,7 @@ export declare function getField<T>(object: Record<number, T> | null | undefined
195
196
  * @param {D} defaultValue - The value returned if the resolved value is undefined.
196
197
  * @returns {T | D} - Returns the resolved value.
197
198
  */
198
- export declare function getField<T, D>(object: Record<number, T> | null | undefined, path: number, defaultValue: D): T | D;
199
+ declare function getField<T, D>(object: Record<number, T> | null | undefined, path: number, defaultValue: D): T | D;
199
200
  /**
200
201
  * Retrieves the value at a given path from a null or undefined object, returning the default value.
201
202
  *
@@ -206,7 +207,7 @@ export declare function getField<T, D>(object: Record<number, T> | null | undefi
206
207
  * @param {D} defaultValue - The value returned if the resolved value is undefined.
207
208
  * @returns {D} - Returns the default value.
208
209
  */
209
- export declare function getField<D>(object: null | undefined, path: PropertyKey, defaultValue: D): D;
210
+ declare function getField<D>(object: null | undefined, path: PropertyKey, defaultValue: D): D;
210
211
  /**
211
212
  * Retrieves the value at a given path from a null or undefined object, returning undefined.
212
213
  *
@@ -214,7 +215,7 @@ export declare function getField<D>(object: null | undefined, path: PropertyKey,
214
215
  * @param {PropertyKey} path - The path of the property to get.
215
216
  * @returns {undefined} - Returns undefined.
216
217
  */
217
- export declare function getField(object: null | undefined, path: PropertyKey): undefined;
218
+ declare function getField(object: null | undefined, path: PropertyKey): undefined;
218
219
  /**
219
220
  * Retrieves the value at a given path from a string-keyed object. If the resolved value is undefined, the defaultValue is returned instead.
220
221
  *
@@ -225,7 +226,7 @@ export declare function getField(object: null | undefined, path: PropertyKey): u
225
226
  * @param {P} path - The path of the property to get.
226
227
  * @returns {string extends P ? any : GetField<T, P>} - Returns the resolved value.
227
228
  */
228
- export declare function getField<T, P extends string>(data: T, path: P): string extends P ? any : GetField<T, P>;
229
+ declare function getField<T, P extends string>(data: T, path: P): string extends P ? any : GetField<T, P>;
229
230
  /**
230
231
  * Retrieves the value at a given path from a string-keyed object. If the resolved value is undefined, the defaultValue is returned instead.
231
232
  *
@@ -238,7 +239,7 @@ export declare function getField<T, P extends string>(data: T, path: P): string
238
239
  * @param {D} defaultValue - The value returned if the resolved value is undefined.
239
240
  * @returns {Exclude<GetField<T, P>, null | undefined> | D} - Returns the resolved value.
240
241
  */
241
- export declare function getField<T, P extends string, D = GetField<T, P>>(data: T, path: P, defaultValue: D): Exclude<GetField<T, P>, null | undefined> | D;
242
+ declare function getField<T, P extends string, D = GetField<T, P>>(data: T, path: P, defaultValue: D): Exclude<GetField<T, P>, null | undefined> | D;
242
243
  /**
243
244
  * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.
244
245
  *
@@ -247,5 +248,7 @@ export declare function getField<T, P extends string, D = GetField<T, P>>(data:
247
248
  * @param {unknown} [defaultValue] - The value returned if the resolved value is undefined.
248
249
  * @returns {any} - Returns the resolved value.
249
250
  */
250
- export declare function getField(object: unknown, path: PropertyKey | readonly PropertyKey[], defaultValue?: unknown): any;
251
- export {};
251
+ declare function getField(object: unknown, path: PropertyKey | readonly PropertyKey[], defaultValue?: unknown): any;
252
+ //#endregion
253
+ export { getField as n, GetField as t };
254
+ //# sourceMappingURL=get-field-5XqtknPs.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-field-5XqtknPs.d.mts","names":[],"sources":["../src/get-field.ts"],"sourcesContent":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ const e=require(`./is-number-BcjxCzDM.cjs`),t=require(`./to-path-CdOFd4od.cjs`);function n(e){return Object.is(e,-0)?`-0`:e.toString()}function r(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e.includes(`.`)||e.includes(`[`)||e.includes(`]`)}}function i(o,s,c){if(o===null)return c;switch(typeof s){case`string`:{let e=o[s];return e===void 0?r(s)?i(o,t.t(s),c):c:e}case`number`:case`symbol`:{e.t(s)&&(s=n(s));let t=Array.isArray(s)?void 0:o[s];return t===void 0?c:t}default:{if(Array.isArray(s))return a(o,s,c);s=Object.is(s?.valueOf(),-0)?`-0`:String(s);let e=o[s];return e===void 0?c:e}}}function a(e,t,n){if(t.length===0)return n;let r=e;for(let e of t){if(r===null)return n;r=r[e]}return r===void 0?n:r}Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return i}});
@@ -0,0 +1,2 @@
1
+ import{t as e}from"./is-number-bwhfkHlC.mjs";import{t}from"./to-path-Dm1fe-Ix.mjs";function n(e){return Object.is(e,-0)?`-0`:e.toString()}function r(e){switch(typeof e){case`number`:case`symbol`:return!1;case`string`:return e.includes(`.`)||e.includes(`[`)||e.includes(`]`)}}function i(o,s,c){if(o===null)return c;switch(typeof s){case`string`:{let e=o[s];return e===void 0?r(s)?i(o,t(s),c):c:e}case`number`:case`symbol`:{e(s)&&(s=n(s));let t=Array.isArray(s)?void 0:o[s];return t===void 0?c:t}default:{if(Array.isArray(s))return a(o,s,c);s=Object.is(s?.valueOf(),-0)?`-0`:String(s);let e=o[s];return e===void 0?c:e}}}function a(e,t,n){if(t.length===0)return n;let r=e;for(let e of t){if(r===null)return n;r=r[e]}return r===void 0?n:r}export{i as t};
2
+ //# sourceMappingURL=get-field-ngQ9O38X.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-field-ngQ9O38X.mjs","names":[],"sources":["../../convert/src/to-string-key.ts","../../type-checks/src/is-deep-key.ts","../src/get-field.ts"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @param value - The value to inspect.\n * @returns Returns the key.\n */\nexport function toStringKey(value: number): string | symbol {\n if (Object.is(value, -0)) {\n return \"-0\";\n }\n\n return value.toString();\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://docs.stormsoftware.com/projects/stryke\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport type { DeepKey } from \"@stryke/types/object\";\n\n/**\n * Checks if a given key is a deep key.\n *\n * A deep key is a string that contains a dot (.) or square brackets with a property accessor.\n *\n * @example\n * isDeepKey('a.b') // true\n * isDeepKey('a[b]') // true\n * isDeepKey('a') // false\n * isDeepKey(123) // false\n * isDeepKey('a.b.c') // true\n * isDeepKey('a[b][c]') // true\n *\n * @param key - The key to check.\n * @returns Returns true if the key is a deep key, otherwise false.\n */\nexport function isDeepKey(key: PropertyKey): key is DeepKey<any> {\n switch (typeof key) {\n case \"number\":\n case \"symbol\": {\n return false;\n }\n case \"string\": {\n return key.includes(\".\") || key.includes(\"[\") || key.includes(\"]\");\n }\n }\n}\n\n/**\n * Checks if a given key is a deep key or normal (shallow key).\n *\n * A deep key is a string that contains a dot (.) or square brackets with a property accessor.\n *\n * @example\n * isDeepKey('a.b') // true\n * isDeepKey('a[b]') // true\n * isDeepKey('a') // true\n * isDeepKey(123) // false\n * isDeepKey('a.b.c') // true\n * isDeepKey('a[b][c]') // true\n *\n * @param key - The key to check.\n * @returns Returns true if the key is a deep key, otherwise false.\n */\nexport function isKeyOrDeepKey(key: PropertyKey): key is DeepKey<any> {\n switch (typeof key) {\n case \"number\": {\n return true;\n }\n case \"symbol\": {\n return false;\n }\n case \"string\": {\n return true;\n }\n }\n}\n","/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 License, and is\n free for commercial and private use. For more information, please visit\n our licensing page.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/stryke\n Documentation: https://stormsoftware.com/projects/stryke/docs\n Contact: https://stormsoftware.com/contact\n License: https://stormsoftware.com/projects/stryke/license\n\n ------------------------------------------------------------------- */\n\nimport { toStringKey } from \"@stryke/convert/to-string-key\";\nimport { isDeepKey } from \"@stryke/type-checks/is-deep-key\";\nimport { isNumber } from \"@stryke/type-checks/is-number\";\nimport { toPath } from \"./to-path\";\n\n/**\n * See the definition of `@types/lodash`.\n */\ntype GetIndexedField<T, K> = K extends keyof T\n ? T[K]\n : K extends `${number}`\n ? \"length\" extends keyof T\n ? number extends T[\"length\"]\n ? number extends keyof T\n ? T[number]\n : undefined\n : undefined\n : undefined\n : undefined;\n\ntype FieldWithPossiblyUndefined<T, Key> =\n | GetField<Exclude<T, undefined>, Key>\n | Extract<T, undefined>;\n\ntype IndexedFieldWithPossiblyUndefined<T, Key> =\n | GetIndexedField<Exclude<T, undefined>, Key>\n | Extract<T, undefined>;\n\nexport type GetField<T, P> = P extends `${infer Left}.${infer Right}`\n ? Left extends keyof Exclude<T, undefined>\n ?\n | FieldWithPossiblyUndefined<Exclude<T, undefined>[Left], Right>\n | Extract<T, undefined>\n : Left extends `${infer FieldKey}[${infer IndexKey}]`\n ? FieldKey extends keyof T\n ? FieldWithPossiblyUndefined<\n IndexedFieldWithPossiblyUndefined<T[FieldKey], IndexKey>,\n Right\n >\n : undefined\n : undefined\n : P extends keyof T\n ? T[P]\n : P extends `${infer FieldKey}[${infer IndexKey}]`\n ? FieldKey extends keyof T\n ? IndexedFieldWithPossiblyUndefined<T[FieldKey], IndexKey>\n : undefined\n : IndexedFieldWithPossiblyUndefined<T, P>;\n\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K - The type of the key in the object.\n * @template D - The type of the default value.\n *\n * @param {T} object - The object to query.\n * @param {K | [K]} path - The path of the property to get.\n * @returns {T[K]} - Returns the resolved value.\n */\nexport function getField<T extends object, K extends keyof T>(\n object: T,\n path: K | readonly [K]\n): T[K];\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K - The type of the key in the object.\n *\n * @param {T | null | undefined} object - The object to query.\n * @param {K | [K]} path - The path of the property to get.\n * @returns {T[K] | undefined} - Returns the resolved value.\n */\nexport function getField<T extends object, K extends keyof T>(\n object: T | null | undefined,\n path: K | readonly [K]\n): T[K] | undefined;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K - The type of the key in the object.\n * @template D - The type of the default value.\n *\n * @param {T | null | undefined} object - The object to query.\n * @param {K | [K]} path - The path of the property to get.\n * @param {D} defaultValue - The value returned if the resolved value is undefined.\n * @returns {Exclude<T[K], undefined> | D} - Returns the resolved value.\n */\nexport function getField<T extends object, K extends keyof T, D>(\n object: T | null | undefined,\n path: K | readonly [K],\n defaultValue: D\n): Exclude<T[K], undefined> | D;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n *\n * @param {T} object - The object to query.\n * @param {[K1, K2]} path - The path of the property to get.\n * @returns {T[K1][K2]} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1]\n>(object: T, path: readonly [K1, K2]): T[K1][K2];\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n *\n * @param {T | null | undefined} object - The object to query.\n * @param {[K1, K2]} path - The path of the property to get.\n * @returns {T[K1][K2] | undefined} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1]\n>(object: T | null | undefined, path: readonly [K1, K2]): T[K1][K2] | undefined;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n * @template D - The type of the default value.\n *\n * @param {T | null | undefined} object - The object to query.\n * @param {[K1, K2]} path - The path of the property to get.\n * @param {D} defaultValue - The value returned if the resolved value is undefined.\n * @returns {Exclude<T[K1][K2], undefined> | D} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1],\n D\n>(\n object: T | null | undefined,\n path: readonly [K1, K2],\n defaultValue: D\n): Exclude<T[K1][K2], undefined> | D;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n * @template K3 - The type of the third key in the object.\n *\n * @param {T} object - The object to query.\n * @param {[K1, K2, K3]} path - The path of the property to get.\n * @returns {T[K1][K2][K3]} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1],\n K3 extends keyof T[K1][K2]\n>(object: T, path: readonly [K1, K2, K3]): T[K1][K2][K3];\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n * @template K3 - The type of the third key in the object.\n *\n * @param {T | null | undefined} object - The object to query.\n * @param {[K1, K2, K3]} path - The path of the property to get.\n * @returns {T[K1][K2][K3] | undefined} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1],\n K3 extends keyof T[K1][K2]\n>(\n object: T | null | undefined,\n path: readonly [K1, K2, K3]\n): T[K1][K2][K3] | undefined;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n * @template K3 - The type of the third key in the object.\n * @template D - The type of the default value.\n *\n * @param {T | null | undefined} object - The object to query.\n * @param {[K1, K2, K3]} path - The path of the property to get.\n * @param {D} defaultValue - The value returned if the resolved value is undefined.\n * @returns {Exclude<T[K1][K2][K3], undefined> | D} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1],\n K3 extends keyof T[K1][K2],\n D\n>(\n object: T | null | undefined,\n path: readonly [K1, K2, K3],\n defaultValue: D\n): Exclude<T[K1][K2][K3], undefined> | D;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n * @template K3 - The type of the third key in the object.\n * @template K4 - The type of the fourth key in the object.\n *\n * @param {T} object - The object to query.\n * @param {[K1, K2, K3, K4]} path - The path of the property to get.\n * @returns {T[K1][K2][K3][K4]} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1],\n K3 extends keyof T[K1][K2],\n K4 extends keyof T[K1][K2][K3]\n>(object: T, path: readonly [K1, K2, K3, K4]): T[K1][K2][K3][K4];\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n * @template K3 - The type of the third key in the object.\n * @template K4 - The type of the fourth key in the object.\n *\n * @param {T | null | undefined} object - The object to query.\n * @param {[K1, K2, K3, K4]} path - The path of the property to get.\n * @returns {T[K1][K2][K3][K4] | undefined} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1],\n K3 extends keyof T[K1][K2],\n K4 extends keyof T[K1][K2][K3]\n>(\n object: T | null | undefined,\n path: readonly [K1, K2, K3, K4]\n): T[K1][K2][K3][K4] | undefined;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template K1 - The type of the first key in the object.\n * @template K2 - The type of the second key in the object.\n * @template K3 - The type of the third key in the object.\n * @template K4 - The type of the fourth key in the object.\n * @template D - The type of the default value.\n *\n * @param {T | null | undefined} object - The object to query.\n * @param {[K1, K2, K3, K4]} path - The path of the property to get.\n * @param {D} defaultValue - The value returned if the resolved value is undefined.\n * @returns {Exclude<T[K1][K2][K3][K4], undefined> | D} - Returns the resolved value.\n */\nexport function getField<\n T extends object,\n K1 extends keyof T,\n K2 extends keyof T[K1],\n K3 extends keyof T[K1][K2],\n K4 extends keyof T[K1][K2][K3],\n D\n>(\n object: T | null | undefined,\n path: readonly [K1, K2, K3, K4],\n defaultValue: D\n): Exclude<T[K1][K2][K3][K4], undefined> | D;\n/**\n * Retrieves the value at a given path from an object with numeric keys. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the value.\n *\n * @param {Record<number, T>} object - The object to query.\n * @param {number} path - The path of the property to get.\n * @returns {T} - Returns the resolved value.\n */\nexport function getField<T>(object: Record<number, T>, path: number): T;\n/**\n * Retrieves the value at a given path from an object with numeric keys. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the value.\n *\n * @param {Record<number, T> | null | undefined} object - The object to query.\n * @param {number} path - The path of the property to get.\n * @returns {T | undefined} - Returns the resolved value.\n */\nexport function getField<T>(\n object: Record<number, T> | null | undefined,\n path: number\n): T | undefined;\n/**\n * Retrieves the value at a given path from an object with numeric keys. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the value.\n * @template D - The type of the default value.\n *\n * @param {Record<number, T> | null | undefined} object - The object to query.\n * @param {number} path - The path of the property to get.\n * @param {D} defaultValue - The value returned if the resolved value is undefined.\n * @returns {T | D} - Returns the resolved value.\n */\nexport function getField<T, D>(\n object: Record<number, T> | null | undefined,\n path: number,\n defaultValue: D\n): T | D;\n/**\n * Retrieves the value at a given path from a null or undefined object, returning the default value.\n *\n * @template D - The type of the default value.\n *\n * @param {null | undefined} object - The object to query.\n * @param {PropertyKey} path - The path of the property to get.\n * @param {D} defaultValue - The value returned if the resolved value is undefined.\n * @returns {D} - Returns the default value.\n */\nexport function getField<D>(\n object: null | undefined,\n path: PropertyKey,\n defaultValue: D\n): D;\n/**\n * Retrieves the value at a given path from a null or undefined object, returning undefined.\n *\n * @param {null | undefined} object - The object to query.\n * @param {PropertyKey} path - The path of the property to get.\n * @returns {undefined} - Returns undefined.\n */\nexport function getField(\n object: null | undefined,\n path: PropertyKey\n): undefined;\n/**\n * Retrieves the value at a given path from a string-keyed object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template P - The type of the path.\n *\n * @param {T} data - The object to query.\n * @param {P} path - The path of the property to get.\n * @returns {string extends P ? any : GetField<T, P>} - Returns the resolved value.\n */\nexport function getField<T, P extends string>(\n data: T,\n path: P\n): string extends P ? any : GetField<T, P>;\n/**\n * Retrieves the value at a given path from a string-keyed object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @template T - The type of the object.\n * @template P - The type of the path.\n * @template D - The type of the default value.\n *\n * @param {T} data - The object to query.\n * @param {P} path - The path of the property to get.\n * @param {D} defaultValue - The value returned if the resolved value is undefined.\n * @returns {Exclude<GetField<T, P>, null | undefined> | D} - Returns the resolved value.\n */\nexport function getField<T, P extends string, D = GetField<T, P>>(\n data: T,\n path: P,\n defaultValue: D\n): Exclude<GetField<T, P>, null | undefined> | D;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @param {unknown} object - The object to query.\n * @param {PropertyKey | readonly PropertyKey[]} path - The path of the property to get.\n * @param {unknown} [defaultValue] - The value returned if the resolved value is undefined.\n * @returns {any} - Returns the resolved value.\n */\nexport function getField(\n object: unknown,\n path: PropertyKey | readonly PropertyKey[],\n defaultValue?: unknown\n): any;\n/**\n * Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n *\n * @param {unknown} object - The object to query.\n * @param {PropertyKey | readonly PropertyKey[]} path - The path of the property to get.\n * @param {unknown} [defaultValue] - The value returned if the resolved value is undefined.\n * @returns {any} - Returns the resolved value.\n */\nexport function getField(\n object: any,\n path: PropertyKey | readonly PropertyKey[],\n defaultValue?: any\n): any {\n if (object === null) {\n return defaultValue;\n }\n\n switch (typeof path) {\n case \"string\": {\n const result = object[path];\n\n if (result === undefined) {\n if (isDeepKey(path)) {\n return getField(object, toPath(path), defaultValue);\n }\n return defaultValue;\n }\n\n return result;\n }\n case \"number\":\n case \"symbol\": {\n if (isNumber(path)) {\n path = toStringKey(path);\n }\n\n const result = Array.isArray(path)\n ? undefined\n : object[path as PropertyKey];\n if (result === undefined) {\n return defaultValue;\n }\n\n return result;\n }\n default: {\n if (Array.isArray(path)) {\n return getWithPath(object, path, defaultValue);\n }\n\n path = Object.is(path?.valueOf(), -0) ? \"-0\" : String(path);\n\n const result = object[path];\n\n if (result === undefined) {\n return defaultValue;\n }\n\n return result;\n }\n }\n}\n\nfunction getWithPath(\n object: any,\n path: readonly PropertyKey[],\n defaultValue?: any\n): any {\n if (path.length === 0) {\n return defaultValue;\n }\n\n let current = object;\n\n for (const element_ of path) {\n if (current === null) {\n return defaultValue;\n }\n\n current = current[element_];\n }\n\n if (current === undefined) {\n return defaultValue;\n }\n\n return current;\n}\n"],"mappings":"mFAwBA,SAAgB,EAAY,EAAgC,CAK1D,OAJI,OAAO,GAAG,EAAO,GAAG,CACf,KAGF,EAAM,UAAU,CCOzB,SAAgB,EAAU,EAAuC,CAC/D,OAAQ,OAAO,EAAf,CACE,IAAK,SACL,IAAK,SACH,MAAO,GAET,IAAK,SACH,OAAO,EAAI,SAAS,IAAI,EAAI,EAAI,SAAS,IAAI,EAAI,EAAI,SAAS,IAAI,ECuXxE,SAAgB,EACd,EACA,EACA,EACK,CACL,GAAI,IAAW,KACb,OAAO,EAGT,OAAQ,OAAO,EAAf,CACE,IAAK,SAAU,CACb,IAAM,EAAS,EAAO,GAStB,OAPI,IAAW,IAAA,GACT,EAAU,EAAK,CACV,EAAS,EAAQ,EAAO,EAAK,CAAE,EAAa,CAE9C,EAGF,EAET,IAAK,SACL,IAAK,SAAU,CACT,EAAS,EAAK,GAChB,EAAO,EAAY,EAAK,EAG1B,IAAM,EAAS,MAAM,QAAQ,EAAK,CAC9B,IAAA,GACA,EAAO,GAKX,OAJI,IAAW,IAAA,GACN,EAGF,EAET,QAAS,CACP,GAAI,MAAM,QAAQ,EAAK,CACrB,OAAO,EAAY,EAAQ,EAAM,EAAa,CAGhD,EAAO,OAAO,GAAG,GAAM,SAAS,CAAE,GAAG,CAAG,KAAO,OAAO,EAAK,CAE3D,IAAM,EAAS,EAAO,GAMtB,OAJI,IAAW,IAAA,GACN,EAGF,IAKb,SAAS,EACP,EACA,EACA,EACK,CACL,GAAI,EAAK,SAAW,EAClB,OAAO,EAGT,IAAI,EAAU,EAEd,IAAK,IAAM,KAAY,EAAM,CAC3B,GAAI,IAAY,KACd,OAAO,EAGT,EAAU,EAAQ,GAOpB,OAJI,IAAY,IAAA,GACP,EAGF"}