@stryke/helpers 0.9.26 → 0.9.28

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 (548) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/arg-identity.cjs +1 -1
  3. package/dist/arg-identity.d.cts +14 -2
  4. package/dist/arg-identity.d.cts.map +1 -0
  5. package/dist/arg-identity.d.mts +14 -2
  6. package/dist/arg-identity.d.mts.map +1 -0
  7. package/dist/arg-identity.mjs +2 -1
  8. package/dist/arg-identity.mjs.map +1 -0
  9. package/dist/convert/src/to-string-key.cjs +1 -0
  10. package/dist/convert/src/to-string-key.mjs +2 -0
  11. package/dist/convert/src/to-string-key.mjs.map +1 -0
  12. package/dist/debounce.cjs +1 -1
  13. package/dist/debounce.d.cts +47 -2
  14. package/dist/debounce.d.cts.map +1 -0
  15. package/dist/debounce.d.mts +47 -2
  16. package/dist/debounce.d.mts.map +1 -0
  17. package/dist/debounce.mjs +2 -1
  18. package/dist/debounce.mjs.map +1 -0
  19. package/dist/deep-clone.cjs +1 -1
  20. package/dist/deep-clone.d.cts +65 -2
  21. package/dist/deep-clone.d.cts.map +1 -0
  22. package/dist/deep-clone.d.mts +65 -2
  23. package/dist/deep-clone.d.mts.map +1 -0
  24. package/dist/deep-clone.mjs +2 -1
  25. package/dist/deep-clone.mjs.map +1 -0
  26. package/dist/deep-merge.cjs +1 -1
  27. package/dist/deep-merge.d.cts +26 -2
  28. package/dist/deep-merge.d.cts.map +1 -0
  29. package/dist/deep-merge.d.mts +26 -2
  30. package/dist/deep-merge.d.mts.map +1 -0
  31. package/dist/deep-merge.mjs +2 -1
  32. package/dist/deep-merge.mjs.map +1 -0
  33. package/dist/delay.cjs +1 -1
  34. package/dist/delay.d.cts +77 -2
  35. package/dist/delay.d.cts.map +1 -0
  36. package/dist/delay.d.mts +77 -2
  37. package/dist/delay.d.mts.map +1 -0
  38. package/dist/delay.mjs +2 -1
  39. package/dist/delay.mjs.map +1 -0
  40. package/dist/errors.cjs +1 -1
  41. package/dist/errors.mjs +2 -1
  42. package/dist/errors.mjs.map +1 -0
  43. package/dist/filter-empty.cjs +1 -1
  44. package/dist/filter-empty.d.cts +5 -2
  45. package/dist/filter-empty.d.cts.map +1 -0
  46. package/dist/filter-empty.d.mts +5 -2
  47. package/dist/filter-empty.d.mts.map +1 -0
  48. package/dist/filter-empty.mjs +2 -1
  49. package/dist/filter-empty.mjs.map +1 -0
  50. package/dist/flatten-object.cjs +1 -1
  51. package/dist/flatten-object.d.cts +35 -2
  52. package/dist/flatten-object.d.cts.map +1 -0
  53. package/dist/flatten-object.d.mts +35 -2
  54. package/dist/flatten-object.d.mts.map +1 -0
  55. package/dist/flatten-object.mjs +2 -1
  56. package/dist/flatten-object.mjs.map +1 -0
  57. package/dist/get-field.cjs +1 -1
  58. package/dist/get-field.d.cts +254 -2
  59. package/dist/get-field.d.cts.map +1 -0
  60. package/dist/get-field.d.mts +254 -2
  61. package/dist/get-field.d.mts.map +1 -0
  62. package/dist/get-field.mjs +2 -1
  63. package/dist/get-field.mjs.map +1 -0
  64. package/dist/get-ordered-by.cjs +1 -1
  65. package/dist/get-ordered-by.d.cts +39 -2
  66. package/dist/get-ordered-by.d.cts.map +1 -0
  67. package/dist/get-ordered-by.d.mts +39 -2
  68. package/dist/get-ordered-by.d.mts.map +1 -0
  69. package/dist/get-ordered-by.mjs +2 -1
  70. package/dist/get-ordered-by.mjs.map +1 -0
  71. package/dist/get-unique.cjs +1 -1
  72. package/dist/get-unique.d.cts +26 -2
  73. package/dist/get-unique.d.cts.map +1 -0
  74. package/dist/get-unique.d.mts +26 -2
  75. package/dist/get-unique.d.mts.map +1 -0
  76. package/dist/get-unique.mjs +2 -1
  77. package/dist/get-unique.mjs.map +1 -0
  78. package/dist/identity.cjs +1 -1
  79. package/dist/identity.d.cts +18 -2
  80. package/dist/identity.d.cts.map +1 -0
  81. package/dist/identity.d.mts +18 -2
  82. package/dist/identity.d.mts.map +1 -0
  83. package/dist/identity.mjs +2 -1
  84. package/dist/identity.mjs.map +1 -0
  85. package/dist/index.cjs +1 -1
  86. package/dist/index.d.cts +31 -31
  87. package/dist/index.d.mts +31 -31
  88. package/dist/index.mjs +1 -1
  89. package/dist/is-equal.cjs +1 -1
  90. package/dist/is-equal.d.cts +22 -2
  91. package/dist/is-equal.d.cts.map +1 -0
  92. package/dist/is-equal.d.mts +22 -2
  93. package/dist/is-equal.d.mts.map +1 -0
  94. package/dist/is-equal.mjs +2 -1
  95. package/dist/is-equal.mjs.map +1 -0
  96. package/dist/lru-cache.cjs +1 -1
  97. package/dist/lru-cache.d.cts +103 -2
  98. package/dist/lru-cache.d.cts.map +1 -0
  99. package/dist/lru-cache.d.mts +103 -2
  100. package/dist/lru-cache.d.mts.map +1 -0
  101. package/dist/lru-cache.mjs +2 -1
  102. package/dist/lru-cache.mjs.map +1 -0
  103. package/dist/match-sorter.cjs +1 -1
  104. package/dist/match-sorter.d.cts +78 -2
  105. package/dist/match-sorter.d.cts.map +1 -0
  106. package/dist/match-sorter.d.mts +78 -2
  107. package/dist/match-sorter.d.mts.map +1 -0
  108. package/dist/match-sorter.mjs +2 -1
  109. package/dist/match-sorter.mjs.map +1 -0
  110. package/dist/memoize.cjs +1 -1
  111. package/dist/memoize.d.cts +11 -2
  112. package/dist/memoize.d.cts.map +1 -0
  113. package/dist/memoize.d.mts +11 -2
  114. package/dist/memoize.d.mts.map +1 -0
  115. package/dist/memoize.mjs +2 -1
  116. package/dist/memoize.mjs.map +1 -0
  117. package/dist/mutex.cjs +1 -1
  118. package/dist/mutex.d.cts +72 -2
  119. package/dist/mutex.d.cts.map +1 -0
  120. package/dist/mutex.d.mts +72 -2
  121. package/dist/mutex.d.mts.map +1 -0
  122. package/dist/mutex.mjs +2 -1
  123. package/dist/mutex.mjs.map +1 -0
  124. package/dist/noop.cjs +1 -1
  125. package/dist/noop.d.cts +22 -2
  126. package/dist/noop.d.cts.map +1 -0
  127. package/dist/noop.d.mts +22 -2
  128. package/dist/noop.d.mts.map +1 -0
  129. package/dist/noop.mjs +2 -1
  130. package/dist/noop.mjs.map +1 -0
  131. package/dist/omit.cjs +1 -1
  132. package/dist/omit.d.cts +22 -2
  133. package/dist/omit.d.cts.map +1 -0
  134. package/dist/omit.d.mts +22 -2
  135. package/dist/omit.d.mts.map +1 -0
  136. package/dist/omit.mjs +2 -1
  137. package/dist/omit.mjs.map +1 -0
  138. package/dist/once.cjs +1 -1
  139. package/dist/once.d.cts +13 -2
  140. package/dist/once.d.cts.map +1 -0
  141. package/dist/once.d.mts +13 -2
  142. package/dist/once.d.mts.map +1 -0
  143. package/dist/once.mjs +2 -1
  144. package/dist/once.mjs.map +1 -0
  145. package/dist/pick.cjs +1 -1
  146. package/dist/pick.d.cts +22 -2
  147. package/dist/pick.d.cts.map +1 -0
  148. package/dist/pick.d.mts +22 -2
  149. package/dist/pick.d.mts.map +1 -0
  150. package/dist/pick.mjs +2 -1
  151. package/dist/pick.mjs.map +1 -0
  152. package/dist/remove-accents.cjs +1 -1
  153. package/dist/remove-accents.d.cts +12 -2
  154. package/dist/remove-accents.d.cts.map +1 -0
  155. package/dist/remove-accents.d.mts +12 -2
  156. package/dist/remove-accents.d.mts.map +1 -0
  157. package/dist/remove-accents.mjs +2 -1
  158. package/dist/remove-accents.mjs.map +1 -0
  159. package/dist/remove-empty-items.cjs +1 -1
  160. package/dist/remove-empty-items.d.cts +11 -2
  161. package/dist/remove-empty-items.d.cts.map +1 -0
  162. package/dist/remove-empty-items.d.mts +11 -2
  163. package/dist/remove-empty-items.d.mts.map +1 -0
  164. package/dist/remove-empty-items.mjs +2 -1
  165. package/dist/remove-empty-items.mjs.map +1 -0
  166. package/dist/semaphore.cjs +1 -1
  167. package/dist/semaphore.d.cts +86 -2
  168. package/dist/semaphore.d.cts.map +1 -0
  169. package/dist/semaphore.d.mts +86 -2
  170. package/dist/semaphore.d.mts.map +1 -0
  171. package/dist/semaphore.mjs +2 -1
  172. package/dist/semaphore.mjs.map +1 -0
  173. package/dist/set-field.cjs +1 -1
  174. package/dist/set-field.d.cts +16 -2
  175. package/dist/set-field.d.cts.map +1 -0
  176. package/dist/set-field.d.mts +16 -2
  177. package/dist/set-field.d.mts.map +1 -0
  178. package/dist/set-field.mjs +2 -1
  179. package/dist/set-field.mjs.map +1 -0
  180. package/dist/throttle.cjs +1 -1
  181. package/dist/throttle.d.cts +32 -2
  182. package/dist/throttle.d.cts.map +1 -0
  183. package/dist/throttle.d.mts +32 -2
  184. package/dist/throttle.d.mts.map +1 -0
  185. package/dist/throttle.mjs +2 -1
  186. package/dist/throttle.mjs.map +1 -0
  187. package/dist/timeout.cjs +1 -1
  188. package/dist/timeout.d.cts +12 -2
  189. package/dist/timeout.d.cts.map +1 -0
  190. package/dist/timeout.d.mts +12 -2
  191. package/dist/timeout.d.mts.map +1 -0
  192. package/dist/timeout.mjs +2 -1
  193. package/dist/timeout.mjs.map +1 -0
  194. package/dist/to-deep-key.cjs +1 -1
  195. package/dist/to-deep-key.d.cts +42 -2
  196. package/dist/to-deep-key.d.cts.map +1 -0
  197. package/dist/to-deep-key.d.mts +42 -2
  198. package/dist/to-deep-key.d.mts.map +1 -0
  199. package/dist/to-deep-key.mjs +2 -1
  200. package/dist/to-deep-key.mjs.map +1 -0
  201. package/dist/to-path.cjs +1 -1
  202. package/dist/to-path.d.cts +24 -2
  203. package/dist/to-path.d.cts.map +1 -0
  204. package/dist/to-path.d.mts +24 -2
  205. package/dist/to-path.d.mts.map +1 -0
  206. package/dist/to-path.mjs +2 -1
  207. package/dist/to-path.mjs.map +1 -0
  208. package/dist/type-checks/src/get-object-tag.cjs +1 -0
  209. package/dist/type-checks/src/get-object-tag.mjs +2 -0
  210. package/dist/type-checks/src/get-object-tag.mjs.map +1 -0
  211. package/dist/type-checks/src/is-deep-key.cjs +1 -0
  212. package/dist/type-checks/src/is-deep-key.mjs +2 -0
  213. package/dist/type-checks/src/is-deep-key.mjs.map +1 -0
  214. package/dist/type-checks/src/is-empty.cjs +1 -0
  215. package/dist/type-checks/src/is-empty.mjs +2 -0
  216. package/dist/type-checks/src/is-empty.mjs.map +1 -0
  217. package/dist/type-checks/src/is-function.cjs +1 -0
  218. package/dist/type-checks/src/is-function.mjs +2 -0
  219. package/dist/type-checks/src/is-function.mjs.map +1 -0
  220. package/dist/type-checks/src/is-mergeable-object.cjs +1 -0
  221. package/dist/type-checks/src/is-mergeable-object.mjs +2 -0
  222. package/dist/type-checks/src/is-mergeable-object.mjs.map +1 -0
  223. package/dist/type-checks/src/is-non-null-object.cjs +1 -0
  224. package/dist/type-checks/src/is-non-null-object.mjs +2 -0
  225. package/dist/type-checks/src/is-non-null-object.mjs.map +1 -0
  226. package/dist/type-checks/src/is-null.cjs +1 -0
  227. package/dist/type-checks/src/is-null.mjs +2 -0
  228. package/dist/type-checks/src/is-null.mjs.map +1 -0
  229. package/dist/type-checks/src/is-number.cjs +1 -0
  230. package/dist/type-checks/src/is-number.mjs +2 -0
  231. package/dist/type-checks/src/is-number.mjs.map +1 -0
  232. package/dist/type-checks/src/is-object-index.cjs +1 -0
  233. package/dist/type-checks/src/is-object-index.mjs +2 -0
  234. package/dist/type-checks/src/is-object-index.mjs.map +1 -0
  235. package/dist/type-checks/src/is-object.cjs +1 -0
  236. package/dist/type-checks/src/is-object.mjs +2 -0
  237. package/dist/type-checks/src/is-object.mjs.map +1 -0
  238. package/dist/type-checks/src/is-plain-object.cjs +1 -0
  239. package/dist/type-checks/src/is-plain-object.mjs +2 -0
  240. package/dist/type-checks/src/is-plain-object.mjs.map +1 -0
  241. package/dist/type-checks/src/is-primitive.cjs +1 -0
  242. package/dist/type-checks/src/is-primitive.mjs +2 -0
  243. package/dist/type-checks/src/is-primitive.mjs.map +1 -0
  244. package/dist/type-checks/src/is-react-element.cjs +1 -0
  245. package/dist/type-checks/src/is-react-element.mjs +2 -0
  246. package/dist/type-checks/src/is-react-element.mjs.map +1 -0
  247. package/dist/type-checks/src/is-set-string.cjs +1 -0
  248. package/dist/type-checks/src/is-set-string.mjs +2 -0
  249. package/dist/type-checks/src/is-set-string.mjs.map +1 -0
  250. package/dist/type-checks/src/is-set.cjs +1 -0
  251. package/dist/type-checks/src/is-set.mjs +2 -0
  252. package/dist/type-checks/src/is-set.mjs.map +1 -0
  253. package/dist/{is-string-CvmuuuDj.mjs → type-checks/src/is-string.cjs} +1 -2
  254. package/dist/type-checks/src/is-string.mjs +2 -0
  255. package/dist/type-checks/src/is-string.mjs.map +1 -0
  256. package/dist/type-checks/src/is-typed-array.cjs +1 -0
  257. package/dist/type-checks/src/is-typed-array.mjs +2 -0
  258. package/dist/type-checks/src/is-typed-array.mjs.map +1 -0
  259. package/dist/type-checks/src/is-undefined.cjs +1 -0
  260. package/dist/type-checks/src/is-undefined.mjs +2 -0
  261. package/dist/type-checks/src/is-undefined.mjs.map +1 -0
  262. package/dist/type-checks/src/property-exists.cjs +1 -0
  263. package/dist/type-checks/src/property-exists.mjs +2 -0
  264. package/dist/type-checks/src/property-exists.mjs.map +1 -0
  265. package/dist/types/src/base.d.cts +6 -0
  266. package/dist/types/src/base.d.cts.map +1 -0
  267. package/dist/types/src/base.d.mts +6 -0
  268. package/dist/types/src/base.d.mts.map +1 -0
  269. package/dist/types/src/json.d.cts +28 -0
  270. package/dist/types/src/json.d.cts.map +1 -0
  271. package/dist/types/src/json.d.mts +28 -0
  272. package/dist/types/src/json.d.mts.map +1 -0
  273. package/dist/{object-CHmrmQna.d.mts → types/src/object.d.cts} +6 -40
  274. package/dist/types/src/object.d.cts.map +1 -0
  275. package/dist/{object-D8HGAGMr.d.cts → types/src/object.d.mts} +6 -40
  276. package/dist/types/src/object.d.mts.map +1 -0
  277. package/dist/types/src/string.d.cts +6 -0
  278. package/dist/types/src/string.d.cts.map +1 -0
  279. package/dist/types/src/string.d.mts +6 -0
  280. package/dist/types/src/string.d.mts.map +1 -0
  281. package/dist/types/src/utilities.d.cts +7 -0
  282. package/dist/types/src/utilities.d.cts.map +1 -0
  283. package/dist/types/src/utilities.d.mts +7 -0
  284. package/dist/types/src/utilities.d.mts.map +1 -0
  285. package/dist/unflatten-object.cjs +1 -1
  286. package/dist/unflatten-object.d.cts +35 -2
  287. package/dist/unflatten-object.d.cts.map +1 -0
  288. package/dist/unflatten-object.d.mts +35 -2
  289. package/dist/unflatten-object.d.mts.map +1 -0
  290. package/dist/unflatten-object.mjs +2 -1
  291. package/dist/unflatten-object.mjs.map +1 -0
  292. package/dist/union.cjs +1 -1
  293. package/dist/union.d.cts +24 -2
  294. package/dist/union.d.cts.map +1 -0
  295. package/dist/union.d.mts +24 -2
  296. package/dist/union.d.mts.map +1 -0
  297. package/dist/union.mjs +2 -1
  298. package/dist/union.mjs.map +1 -0
  299. package/dist/with-timeout.cjs +1 -1
  300. package/dist/with-timeout.d.cts +24 -2
  301. package/dist/with-timeout.d.cts.map +1 -0
  302. package/dist/with-timeout.d.mts +24 -2
  303. package/dist/with-timeout.d.mts.map +1 -0
  304. package/dist/with-timeout.mjs +2 -1
  305. package/dist/with-timeout.mjs.map +1 -0
  306. package/package.json +3 -3
  307. package/dist/arg-identity-BIir8uzO.d.mts +0 -14
  308. package/dist/arg-identity-BIir8uzO.d.mts.map +0 -1
  309. package/dist/arg-identity-BfviduMt.mjs +0 -2
  310. package/dist/arg-identity-BfviduMt.mjs.map +0 -1
  311. package/dist/arg-identity-C-pVjd0u.d.cts +0 -14
  312. package/dist/arg-identity-C-pVjd0u.d.cts.map +0 -1
  313. package/dist/arg-identity-dlKw6BsD.cjs +0 -1
  314. package/dist/debounce-C5O3IDKy.mjs +0 -2
  315. package/dist/debounce-C5O3IDKy.mjs.map +0 -1
  316. package/dist/debounce-CIMf8-Yr.d.mts +0 -47
  317. package/dist/debounce-CIMf8-Yr.d.mts.map +0 -1
  318. package/dist/debounce-CLb-VvJv.d.cts +0 -47
  319. package/dist/debounce-CLb-VvJv.d.cts.map +0 -1
  320. package/dist/debounce-SIYbhEOF.cjs +0 -1
  321. package/dist/deep-clone-BlN5QTtW.mjs +0 -2
  322. package/dist/deep-clone-BlN5QTtW.mjs.map +0 -1
  323. package/dist/deep-clone-CoUy-Hrt.cjs +0 -1
  324. package/dist/deep-clone-CpLJcTgz.d.mts +0 -65
  325. package/dist/deep-clone-CpLJcTgz.d.mts.map +0 -1
  326. package/dist/deep-clone-jRNy1xoj.d.cts +0 -65
  327. package/dist/deep-clone-jRNy1xoj.d.cts.map +0 -1
  328. package/dist/deep-merge-BDZ6c79O.mjs +0 -2
  329. package/dist/deep-merge-BDZ6c79O.mjs.map +0 -1
  330. package/dist/deep-merge-BpFjvumi.cjs +0 -1
  331. package/dist/deep-merge-C9qDSleg.d.cts +0 -26
  332. package/dist/deep-merge-C9qDSleg.d.cts.map +0 -1
  333. package/dist/deep-merge-eCT712Cv.d.mts +0 -26
  334. package/dist/deep-merge-eCT712Cv.d.mts.map +0 -1
  335. package/dist/delay-Bd_sGzMj.d.mts +0 -77
  336. package/dist/delay-Bd_sGzMj.d.mts.map +0 -1
  337. package/dist/delay-UwR_fCwt.cjs +0 -1
  338. package/dist/delay-VkcrQf1l.d.cts +0 -77
  339. package/dist/delay-VkcrQf1l.d.cts.map +0 -1
  340. package/dist/delay-wdNbY6sk.mjs +0 -2
  341. package/dist/delay-wdNbY6sk.mjs.map +0 -1
  342. package/dist/errors-BXYY8wXj.cjs +0 -1
  343. package/dist/errors-DWX9ET_b.mjs +0 -2
  344. package/dist/errors-DWX9ET_b.mjs.map +0 -1
  345. package/dist/filter-empty-5_nMg04e.cjs +0 -1
  346. package/dist/filter-empty-BMtd0K07.d.mts +0 -5
  347. package/dist/filter-empty-BMtd0K07.d.mts.map +0 -1
  348. package/dist/filter-empty-C2fq9M7o.d.cts +0 -5
  349. package/dist/filter-empty-C2fq9M7o.d.cts.map +0 -1
  350. package/dist/filter-empty-Dsc1ymCj.mjs +0 -2
  351. package/dist/filter-empty-Dsc1ymCj.mjs.map +0 -1
  352. package/dist/flatten-object-Bk2VT-b2.d.mts +0 -35
  353. package/dist/flatten-object-Bk2VT-b2.d.mts.map +0 -1
  354. package/dist/flatten-object-D-EbEZqR.cjs +0 -1
  355. package/dist/flatten-object-DFCZmly9.mjs +0 -2
  356. package/dist/flatten-object-DFCZmly9.mjs.map +0 -1
  357. package/dist/flatten-object-DjaJJaY0.d.cts +0 -35
  358. package/dist/flatten-object-DjaJJaY0.d.cts.map +0 -1
  359. package/dist/get-field-5XqtknPs.d.mts +0 -254
  360. package/dist/get-field-5XqtknPs.d.mts.map +0 -1
  361. package/dist/get-field-D4F_p-Ov.cjs +0 -1
  362. package/dist/get-field-ngQ9O38X.mjs +0 -2
  363. package/dist/get-field-ngQ9O38X.mjs.map +0 -1
  364. package/dist/get-field-oltWWNRO.d.cts +0 -254
  365. package/dist/get-field-oltWWNRO.d.cts.map +0 -1
  366. package/dist/get-object-tag-D53RvMgo.cjs +0 -1
  367. package/dist/get-object-tag-oBoWkttN.mjs +0 -2
  368. package/dist/get-object-tag-oBoWkttN.mjs.map +0 -1
  369. package/dist/get-ordered-by-C45FfW2T.d.mts +0 -39
  370. package/dist/get-ordered-by-C45FfW2T.d.mts.map +0 -1
  371. package/dist/get-ordered-by-CBKKJr4R.mjs +0 -2
  372. package/dist/get-ordered-by-CBKKJr4R.mjs.map +0 -1
  373. package/dist/get-ordered-by-D2Sr6vUN.cjs +0 -1
  374. package/dist/get-ordered-by-DuD7QRma.d.cts +0 -39
  375. package/dist/get-ordered-by-DuD7QRma.d.cts.map +0 -1
  376. package/dist/get-unique-BOiakY6A.cjs +0 -1
  377. package/dist/get-unique-C0SBPUBv.d.cts +0 -26
  378. package/dist/get-unique-C0SBPUBv.d.cts.map +0 -1
  379. package/dist/get-unique-DZ6E1Kvc.d.mts +0 -26
  380. package/dist/get-unique-DZ6E1Kvc.d.mts.map +0 -1
  381. package/dist/get-unique-DzZ7Z34U.mjs +0 -2
  382. package/dist/get-unique-DzZ7Z34U.mjs.map +0 -1
  383. package/dist/identity-B_cGeF8o.d.mts +0 -18
  384. package/dist/identity-B_cGeF8o.d.mts.map +0 -1
  385. package/dist/identity-DBwwvmGU.mjs +0 -2
  386. package/dist/identity-DBwwvmGU.mjs.map +0 -1
  387. package/dist/identity-DRhIvbPG.d.cts +0 -18
  388. package/dist/identity-DRhIvbPG.d.cts.map +0 -1
  389. package/dist/identity-z2xaIqpe.cjs +0 -1
  390. package/dist/is-empty-C7vlSVFD.mjs +0 -2
  391. package/dist/is-empty-C7vlSVFD.mjs.map +0 -1
  392. package/dist/is-empty-DZZDqzjD.cjs +0 -1
  393. package/dist/is-equal-0Z-K2uIG.mjs +0 -2
  394. package/dist/is-equal-0Z-K2uIG.mjs.map +0 -1
  395. package/dist/is-equal-BJgVhUVS.cjs +0 -1
  396. package/dist/is-equal-BMlMHlVi.d.cts +0 -22
  397. package/dist/is-equal-BMlMHlVi.d.cts.map +0 -1
  398. package/dist/is-equal-Baqurdpn.d.mts +0 -22
  399. package/dist/is-equal-Baqurdpn.d.mts.map +0 -1
  400. package/dist/is-number-BcjxCzDM.cjs +0 -1
  401. package/dist/is-number-bwhfkHlC.mjs +0 -2
  402. package/dist/is-number-bwhfkHlC.mjs.map +0 -1
  403. package/dist/is-plain-object-BQuFhL4M.cjs +0 -1
  404. package/dist/is-plain-object-D8GSMOhY.mjs +0 -2
  405. package/dist/is-plain-object-D8GSMOhY.mjs.map +0 -1
  406. package/dist/is-set-B9o0NIT4.mjs +0 -2
  407. package/dist/is-set-B9o0NIT4.mjs.map +0 -1
  408. package/dist/is-set-ByJOY6h2.cjs +0 -1
  409. package/dist/is-set-string-48_jZFw0.cjs +0 -1
  410. package/dist/is-set-string-Dr1MlMk0.mjs +0 -2
  411. package/dist/is-set-string-Dr1MlMk0.mjs.map +0 -1
  412. package/dist/is-string-CvmuuuDj.mjs.map +0 -1
  413. package/dist/is-string-DPanLeA_.cjs +0 -1
  414. package/dist/lru-cache-CzQ_kKXk.d.mts +0 -103
  415. package/dist/lru-cache-CzQ_kKXk.d.mts.map +0 -1
  416. package/dist/lru-cache-D4VEIgtR.d.cts +0 -103
  417. package/dist/lru-cache-D4VEIgtR.d.cts.map +0 -1
  418. package/dist/lru-cache-DLY_yZRN.mjs +0 -2
  419. package/dist/lru-cache-DLY_yZRN.mjs.map +0 -1
  420. package/dist/lru-cache-DgTSGx5W.cjs +0 -1
  421. package/dist/match-sorter-B9_7YvTo.mjs +0 -2
  422. package/dist/match-sorter-B9_7YvTo.mjs.map +0 -1
  423. package/dist/match-sorter-BjnWjkKu.cjs +0 -1
  424. package/dist/match-sorter-CMYN3GuY.d.cts +0 -78
  425. package/dist/match-sorter-CMYN3GuY.d.cts.map +0 -1
  426. package/dist/match-sorter-DCRerxVe.d.mts +0 -78
  427. package/dist/match-sorter-DCRerxVe.d.mts.map +0 -1
  428. package/dist/memoize-Cr5jFKxi.mjs +0 -2
  429. package/dist/memoize-Cr5jFKxi.mjs.map +0 -1
  430. package/dist/memoize-TyrmWrfR.d.mts +0 -11
  431. package/dist/memoize-TyrmWrfR.d.mts.map +0 -1
  432. package/dist/memoize-qxvbI-0y.cjs +0 -1
  433. package/dist/memoize-tSTYY522.d.cts +0 -11
  434. package/dist/memoize-tSTYY522.d.cts.map +0 -1
  435. package/dist/mutex-CnQQBndt.cjs +0 -1
  436. package/dist/mutex-DAZduiSP.d.mts +0 -72
  437. package/dist/mutex-DAZduiSP.d.mts.map +0 -1
  438. package/dist/mutex-DCyX7B66.d.cts +0 -72
  439. package/dist/mutex-DCyX7B66.d.cts.map +0 -1
  440. package/dist/mutex-TqoKHosg.mjs +0 -2
  441. package/dist/mutex-TqoKHosg.mjs.map +0 -1
  442. package/dist/noop-B7OetrhD.mjs +0 -2
  443. package/dist/noop-B7OetrhD.mjs.map +0 -1
  444. package/dist/noop-BnXKMH6Z.d.mts +0 -22
  445. package/dist/noop-BnXKMH6Z.d.mts.map +0 -1
  446. package/dist/noop-CnJXOCpF.d.cts +0 -22
  447. package/dist/noop-CnJXOCpF.d.cts.map +0 -1
  448. package/dist/noop-Dpf7hIui.cjs +0 -1
  449. package/dist/object-CHmrmQna.d.mts.map +0 -1
  450. package/dist/object-D8HGAGMr.d.cts.map +0 -1
  451. package/dist/omit-A0uVyAS4.cjs +0 -1
  452. package/dist/omit-BROsDK0D.mjs +0 -2
  453. package/dist/omit-BROsDK0D.mjs.map +0 -1
  454. package/dist/omit-D1FKiOYz.d.cts +0 -22
  455. package/dist/omit-D1FKiOYz.d.cts.map +0 -1
  456. package/dist/omit-DpqOAtKt.d.mts +0 -22
  457. package/dist/omit-DpqOAtKt.d.mts.map +0 -1
  458. package/dist/once-DNPPQd3P.d.mts +0 -13
  459. package/dist/once-DNPPQd3P.d.mts.map +0 -1
  460. package/dist/once-DZCwmdkv.cjs +0 -1
  461. package/dist/once-DqmxXwEB.d.cts +0 -13
  462. package/dist/once-DqmxXwEB.d.cts.map +0 -1
  463. package/dist/once-txoW63yJ.mjs +0 -2
  464. package/dist/once-txoW63yJ.mjs.map +0 -1
  465. package/dist/pick-CuXTvXaw.mjs +0 -2
  466. package/dist/pick-CuXTvXaw.mjs.map +0 -1
  467. package/dist/pick-DXREvZBr.d.cts +0 -22
  468. package/dist/pick-DXREvZBr.d.cts.map +0 -1
  469. package/dist/pick-GDOwAh6I.cjs +0 -1
  470. package/dist/pick-ZrWD4de2.d.mts +0 -22
  471. package/dist/pick-ZrWD4de2.d.mts.map +0 -1
  472. package/dist/remove-accents-BFmyvTRZ.mjs +0 -2
  473. package/dist/remove-accents-BFmyvTRZ.mjs.map +0 -1
  474. package/dist/remove-accents-C4C0A2ex.d.mts +0 -12
  475. package/dist/remove-accents-C4C0A2ex.d.mts.map +0 -1
  476. package/dist/remove-accents-CXBUC-Id.cjs +0 -1
  477. package/dist/remove-accents-Yo3-2jWO.d.cts +0 -12
  478. package/dist/remove-accents-Yo3-2jWO.d.cts.map +0 -1
  479. package/dist/remove-empty-items-BglsRCyG.d.cts +0 -11
  480. package/dist/remove-empty-items-BglsRCyG.d.cts.map +0 -1
  481. package/dist/remove-empty-items-BzI9Vid9.mjs +0 -2
  482. package/dist/remove-empty-items-BzI9Vid9.mjs.map +0 -1
  483. package/dist/remove-empty-items-COwdCPHC.d.mts +0 -11
  484. package/dist/remove-empty-items-COwdCPHC.d.mts.map +0 -1
  485. package/dist/remove-empty-items-CjTxJuyS.cjs +0 -1
  486. package/dist/semaphore-4zJqtox8.mjs +0 -2
  487. package/dist/semaphore-4zJqtox8.mjs.map +0 -1
  488. package/dist/semaphore-CsGTxqsW.d.cts +0 -86
  489. package/dist/semaphore-CsGTxqsW.d.cts.map +0 -1
  490. package/dist/semaphore-DkHqPlow.cjs +0 -1
  491. package/dist/semaphore-WaZBtCk5.d.mts +0 -86
  492. package/dist/semaphore-WaZBtCk5.d.mts.map +0 -1
  493. package/dist/set-field-CUgbKEjW.mjs +0 -2
  494. package/dist/set-field-CUgbKEjW.mjs.map +0 -1
  495. package/dist/set-field-CcCiXZNl.d.cts +0 -16
  496. package/dist/set-field-CcCiXZNl.d.cts.map +0 -1
  497. package/dist/set-field-DyvXgpNP.d.mts +0 -16
  498. package/dist/set-field-DyvXgpNP.d.mts.map +0 -1
  499. package/dist/set-field-mr4GkhFb.cjs +0 -1
  500. package/dist/throttle-BOKOTo3m.cjs +0 -1
  501. package/dist/throttle-BWPQuZty.d.cts +0 -32
  502. package/dist/throttle-BWPQuZty.d.cts.map +0 -1
  503. package/dist/throttle-BgU4k6qs.d.mts +0 -32
  504. package/dist/throttle-BgU4k6qs.d.mts.map +0 -1
  505. package/dist/throttle-CYK3F0mZ.mjs +0 -2
  506. package/dist/throttle-CYK3F0mZ.mjs.map +0 -1
  507. package/dist/timeout-43rG9ETK.mjs +0 -2
  508. package/dist/timeout-43rG9ETK.mjs.map +0 -1
  509. package/dist/timeout-CLhwG-oo.d.mts +0 -12
  510. package/dist/timeout-CLhwG-oo.d.mts.map +0 -1
  511. package/dist/timeout-CoYbhliP.cjs +0 -1
  512. package/dist/timeout-DC38jHR8.d.cts +0 -12
  513. package/dist/timeout-DC38jHR8.d.cts.map +0 -1
  514. package/dist/to-deep-key-Cma9aiEz.cjs +0 -1
  515. package/dist/to-deep-key-D8uDBd6T.mjs +0 -2
  516. package/dist/to-deep-key-D8uDBd6T.mjs.map +0 -1
  517. package/dist/to-deep-key-DO-Z0Zjs.d.mts +0 -42
  518. package/dist/to-deep-key-DO-Z0Zjs.d.mts.map +0 -1
  519. package/dist/to-deep-key-DlsE4ziE.d.cts +0 -42
  520. package/dist/to-deep-key-DlsE4ziE.d.cts.map +0 -1
  521. package/dist/to-path-BajxeMmo.d.mts +0 -24
  522. package/dist/to-path-BajxeMmo.d.mts.map +0 -1
  523. package/dist/to-path-CdOFd4od.cjs +0 -1
  524. package/dist/to-path-D2zWXeYc.d.cts +0 -24
  525. package/dist/to-path-D2zWXeYc.d.cts.map +0 -1
  526. package/dist/to-path-Dm1fe-Ix.mjs +0 -2
  527. package/dist/to-path-Dm1fe-Ix.mjs.map +0 -1
  528. package/dist/unflatten-object-C7TE8J80.mjs +0 -2
  529. package/dist/unflatten-object-C7TE8J80.mjs.map +0 -1
  530. package/dist/unflatten-object-CPJIUozj.d.mts +0 -35
  531. package/dist/unflatten-object-CPJIUozj.d.mts.map +0 -1
  532. package/dist/unflatten-object-CvZj41LG.cjs +0 -1
  533. package/dist/unflatten-object-Cvbj7Q__.d.cts +0 -35
  534. package/dist/unflatten-object-Cvbj7Q__.d.cts.map +0 -1
  535. package/dist/union-BMOMEzO-.d.cts +0 -24
  536. package/dist/union-BMOMEzO-.d.cts.map +0 -1
  537. package/dist/union-C-2CRoFc.mjs +0 -2
  538. package/dist/union-C-2CRoFc.mjs.map +0 -1
  539. package/dist/union-D4bbjM2i.d.mts +0 -24
  540. package/dist/union-D4bbjM2i.d.mts.map +0 -1
  541. package/dist/union-EwdcZzNT.cjs +0 -1
  542. package/dist/with-timeout-BPaAIZtS.d.cts +0 -24
  543. package/dist/with-timeout-BPaAIZtS.d.cts.map +0 -1
  544. package/dist/with-timeout-BoZYdcOg.d.mts +0 -24
  545. package/dist/with-timeout-BoZYdcOg.d.mts.map +0 -1
  546. package/dist/with-timeout-CAuUr1ck.mjs +0 -2
  547. package/dist/with-timeout-CAuUr1ck.mjs.map +0 -1
  548. package/dist/with-timeout-CPUBGT4X.cjs +0 -1
@@ -1,103 +0,0 @@
1
- //#region src/lru-cache.d.ts
2
- /**
3
- * LRU (Least Recently Used) Cache implementation using a doubly-linked list
4
- * and hash map for O(1) operations.
5
- *
6
- * Algorithm:
7
- * - Uses a doubly-linked list to maintain access order (most recent at head)
8
- * - Hash map provides O(1) key-to-node lookup
9
- * - Sentinel head/tail nodes simplify edge case handling
10
- * - Size-based eviction supports custom size calculation functions
11
- *
12
- * Data Structure Layout:
13
- * HEAD \<-\> [most recent] \<-\> ... \<-\> [least recent] \<-\> TAIL
14
- *
15
- * Operations:
16
- * - get(): Move accessed node to head (mark as most recent)
17
- * - set(): Add new node at head, evict from tail if over capacity
18
- * - Eviction: Remove least recent node (tail.prev) when size exceeds limit
19
- */
20
- declare class LRUCache<T> {
21
- private readonly cache;
22
- private readonly head;
23
- private readonly tail;
24
- private totalSize;
25
- private readonly maxSize;
26
- private readonly calculateSize;
27
- constructor(maxSize: number, calculateSize?: (value: T) => number);
28
- /**
29
- * Adds a node immediately after the head (marks as most recently used). Used when inserting new items or when an item is accessed. **PRECONDITION:** node must be disconnected (prev/next should be null)
30
- *
31
- * @param node - The node to add after the head.
32
- */
33
- private addToHead;
34
- /**
35
- * Removes a node from its current position in the doubly-linked list. Updates the prev/next pointers of adjacent nodes to maintain list integrity. **PRECONDITION:** node must be connected (prev/next are non-null)
36
- *
37
- * @param node - The node to remove from the list.
38
- */
39
- private removeNode;
40
- /**
41
- * Moves an existing node to the head position (marks as most recently used). This is the core LRU operation - accessed items become most recent.
42
- *
43
- * @param node - The node to move to the head.
44
- */
45
- private moveToHead;
46
- /**
47
- * Removes and returns the least recently used node (the one before tail). This is called during eviction when the cache exceeds capacity. **PRECONDITION:** cache is not empty (ensured by caller)
48
- *
49
- * @returns The removed least recently used node.
50
- */
51
- private removeTail;
52
- /**
53
- * Sets a key-value pair in the cache.
54
- * If the key exists, updates the value and moves to head.
55
- * If new, adds at head and evicts from tail if necessary.
56
- *
57
- * Time Complexity:
58
- * - O(1) for uniform item sizes
59
- * - O(k) where k is the number of items evicted (can be O(N) for variable sizes)
60
- *
61
- * @param key - The key to set.
62
- * @param value - The value to set.
63
- */
64
- set(key: string, value: T): void;
65
- /**
66
- * Checks if a key exists in the cache.
67
- * This is a pure query operation - does NOT update LRU order.
68
- *
69
- * Time Complexity: O(1)
70
- */
71
- has(key: string): boolean;
72
- /**
73
- * Retrieves a value by key and marks it as most recently used.
74
- * Moving to head maintains the LRU property for future evictions.
75
- *
76
- * Time Complexity: O(1)
77
- */
78
- get(key: string): T | undefined;
79
- /**
80
- * Returns an iterator over the cache entries. The order is outputted in the
81
- * order of most recently used to least recently used.
82
- */
83
- [Symbol.iterator](): IterableIterator<[string, T]>;
84
- /**
85
- * Removes a specific key from the cache.
86
- * Updates both the hash map and doubly-linked list.
87
- *
88
- * Time Complexity: O(1)
89
- */
90
- remove(key: string): void;
91
- /**
92
- * Returns the number of items in the cache.
93
- */
94
- get size(): number;
95
- /**
96
- * Returns the current total size of all cached items.
97
- * This uses the custom size calculation if provided.
98
- */
99
- get currentSize(): number;
100
- }
101
- //#endregion
102
- export { LRUCache as t };
103
- //# sourceMappingURL=lru-cache-D4VEIgtR.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lru-cache-D4VEIgtR.d.cts","names":[],"sources":["../src/lru-cache.ts"],"sourcesContent":[],"mappings":";;AAgEA;;;;;;;;;;;;;;;;;cAAa;;;;;;;uDAa0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAsEtB;;;;;;;;;;;;;;oBA8CN;;;;;GAchB,MAAA,CAAO,QAAA,KAAa,0BAA0B"}
@@ -1,2 +0,0 @@
1
- var e=class{key;data;size;prev=null;next=null;constructor(e,t,n){this.key=e,this.data=t,this.size=n}},t=class{prev=null;next=null},n=class{cache=new Map;head;tail;totalSize=0;maxSize;calculateSize;constructor(e,n){this.maxSize=e,this.calculateSize=n,this.head=new t,this.tail=new t,this.head.next=this.tail,this.tail.prev=this.head}addToHead(e){e.prev=this.head,e.next=this.head.next,this.head.next.prev=e,this.head.next=e}removeNode(e){e.prev.next=e.next,e.next.prev=e.prev}moveToHead(e){this.removeNode(e),this.addToHead(e)}removeTail(){let e=this.tail.prev;return this.removeNode(e),e}set(t,n){let r=this.calculateSize?.(n)??1;if(r>this.maxSize)return;let i=this.cache.get(t);if(i)i.data=n,this.totalSize=this.totalSize-i.size+r,i.size=r,this.moveToHead(i);else{let i=new e(t,n,r);this.cache.set(t,i),this.addToHead(i),this.totalSize+=r}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let e=this.removeTail();this.cache.delete(e.key),this.totalSize-=e.size}}has(e){return this.cache.has(e)}get(e){let t=this.cache.get(e);if(t)return this.moveToHead(t),t.data}*[Symbol.iterator](){let e=this.head.next;for(;e&&e!==this.tail;){let t=e;yield[t.key,t.data],e=e.next}}remove(e){let t=this.cache.get(e);t&&(this.removeNode(t),this.cache.delete(e),this.totalSize-=t.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}};export{n as t};
2
- //# sourceMappingURL=lru-cache-DLY_yZRN.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lru-cache-DLY_yZRN.mjs","names":[],"sources":["../src/lru-cache.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\nclass LRUNode<T> {\n public readonly key: string;\n\n public data: T;\n\n public size: number;\n\n public prev: LRUNode<T> | SentinelNode<T> | null = null;\n\n public next: LRUNode<T> | SentinelNode<T> | null = null;\n\n constructor(key: string, data: T, size: number) {\n this.key = key;\n this.data = data;\n this.size = size;\n }\n}\n\n/**\n * Sentinel node used for head/tail boundaries.\n * These nodes don't contain actual cache data but simplify list operations.\n */\nclass SentinelNode<T> {\n public prev: LRUNode<T> | SentinelNode<T> | null = null;\n\n public next: LRUNode<T> | SentinelNode<T> | null = null;\n}\n\n/**\n * LRU (Least Recently Used) Cache implementation using a doubly-linked list\n * and hash map for O(1) operations.\n *\n * Algorithm:\n * - Uses a doubly-linked list to maintain access order (most recent at head)\n * - Hash map provides O(1) key-to-node lookup\n * - Sentinel head/tail nodes simplify edge case handling\n * - Size-based eviction supports custom size calculation functions\n *\n * Data Structure Layout:\n * HEAD \\<-\\> [most recent] \\<-\\> ... \\<-\\> [least recent] \\<-\\> TAIL\n *\n * Operations:\n * - get(): Move accessed node to head (mark as most recent)\n * - set(): Add new node at head, evict from tail if over capacity\n * - Eviction: Remove least recent node (tail.prev) when size exceeds limit\n */\nexport class LRUCache<T> {\n private readonly cache: Map<string, LRUNode<T>> = new Map();\n\n private readonly head: SentinelNode<T>;\n\n private readonly tail: SentinelNode<T>;\n\n private totalSize: number = 0;\n\n private readonly maxSize: number;\n\n private readonly calculateSize: ((value: T) => number) | undefined;\n\n constructor(maxSize: number, calculateSize?: (value: T) => number) {\n this.maxSize = maxSize;\n this.calculateSize = calculateSize;\n\n // Create sentinel nodes to simplify doubly-linked list operations\n // HEAD <-> TAIL (empty list)\n this.head = new SentinelNode<T>();\n this.tail = new SentinelNode<T>();\n this.head.next = this.tail;\n this.tail.prev = this.head;\n }\n\n /**\n * Adds a node immediately after the head (marks as most recently used). Used when inserting new items or when an item is accessed. **PRECONDITION:** node must be disconnected (prev/next should be null)\n *\n * @param node - The node to add after the head.\n */\n private addToHead(node: LRUNode<T>): void {\n node.prev = this.head;\n node.next = this.head.next;\n // head.next is always non-null (points to tail or another node)\n this.head.next!.prev = node;\n this.head.next = node;\n }\n\n /**\n * Removes a node from its current position in the doubly-linked list. Updates the prev/next pointers of adjacent nodes to maintain list integrity. **PRECONDITION:** node must be connected (prev/next are non-null)\n *\n * @param node - The node to remove from the list.\n */\n private removeNode(node: LRUNode<T>): void {\n // Connected nodes always have non-null prev/next\n node.prev!.next = node.next;\n node.next!.prev = node.prev;\n }\n\n /**\n * Moves an existing node to the head position (marks as most recently used). This is the core LRU operation - accessed items become most recent.\n *\n * @param node - The node to move to the head.\n */\n private moveToHead(node: LRUNode<T>): void {\n this.removeNode(node);\n this.addToHead(node);\n }\n\n /**\n * Removes and returns the least recently used node (the one before tail). This is called during eviction when the cache exceeds capacity. **PRECONDITION:** cache is not empty (ensured by caller)\n *\n * @returns The removed least recently used node.\n */\n private removeTail(): LRUNode<T> {\n const lastNode = this.tail.prev as LRUNode<T>;\n // tail.prev is always non-null and always LRUNode when cache is not empty\n this.removeNode(lastNode);\n return lastNode;\n }\n\n /**\n * Sets a key-value pair in the cache.\n * If the key exists, updates the value and moves to head.\n * If new, adds at head and evicts from tail if necessary.\n *\n * Time Complexity:\n * - O(1) for uniform item sizes\n * - O(k) where k is the number of items evicted (can be O(N) for variable sizes)\n *\n * @param key - The key to set.\n * @param value - The value to set.\n */\n public set(key: string, value: T): void {\n const size = this.calculateSize?.(value) ?? 1;\n if (size > this.maxSize) {\n // console.warn(\"Single item size exceeds maxSize\");\n return;\n }\n\n const existing = this.cache.get(key);\n if (existing) {\n // Update existing node: adjust size and move to head (most recent)\n existing.data = value;\n this.totalSize = this.totalSize - existing.size + size;\n existing.size = size;\n this.moveToHead(existing);\n } else {\n // Add new node at head (most recent position)\n const newNode = new LRUNode(key, value, size);\n this.cache.set(key, newNode);\n this.addToHead(newNode);\n this.totalSize += size;\n }\n\n // Evict least recently used items until under capacity\n while (this.totalSize > this.maxSize && this.cache.size > 0) {\n const tail = this.removeTail();\n this.cache.delete(tail.key);\n this.totalSize -= tail.size;\n }\n }\n\n /**\n * Checks if a key exists in the cache.\n * This is a pure query operation - does NOT update LRU order.\n *\n * Time Complexity: O(1)\n */\n public has(key: string): boolean {\n return this.cache.has(key);\n }\n\n /**\n * Retrieves a value by key and marks it as most recently used.\n * Moving to head maintains the LRU property for future evictions.\n *\n * Time Complexity: O(1)\n */\n public get(key: string): T | undefined {\n const node = this.cache.get(key);\n if (!node) return undefined;\n\n // Mark as most recently used by moving to head\n this.moveToHead(node);\n\n return node.data;\n }\n\n /**\n * Returns an iterator over the cache entries. The order is outputted in the\n * order of most recently used to least recently used.\n */\n public *[Symbol.iterator](): IterableIterator<[string, T]> {\n let current = this.head.next;\n while (current && current !== this.tail) {\n // Between head and tail, current is always LRUNode\n const node = current as LRUNode<T>;\n yield [node.key, node.data];\n current = current.next;\n }\n }\n\n /**\n * Removes a specific key from the cache.\n * Updates both the hash map and doubly-linked list.\n *\n * Time Complexity: O(1)\n */\n public remove(key: string): void {\n const node = this.cache.get(key);\n if (!node) return;\n\n this.removeNode(node);\n this.cache.delete(key);\n this.totalSize -= node.size;\n }\n\n /**\n * Returns the number of items in the cache.\n */\n public get size(): number {\n return this.cache.size;\n }\n\n /**\n * Returns the current total size of all cached items.\n * This uses the custom size calculation if provided.\n */\n public get currentSize(): number {\n return this.totalSize;\n }\n}\n"],"mappings":"AAkBA,IAAM,EAAN,KAAiB,CACf,IAEA,KAEA,KAEA,KAAmD,KAEnD,KAAmD,KAEnD,YAAY,EAAa,EAAS,EAAc,CAC9C,KAAK,IAAM,EACX,KAAK,KAAO,EACZ,KAAK,KAAO,IAQV,EAAN,KAAsB,CACpB,KAAmD,KAEnD,KAAmD,MAqBxC,EAAb,KAAyB,CACvB,MAAkD,IAAI,IAEtD,KAEA,KAEA,UAA4B,EAE5B,QAEA,cAEA,YAAY,EAAiB,EAAsC,CACjE,KAAK,QAAU,EACf,KAAK,cAAgB,EAIrB,KAAK,KAAO,IAAI,EAChB,KAAK,KAAO,IAAI,EAChB,KAAK,KAAK,KAAO,KAAK,KACtB,KAAK,KAAK,KAAO,KAAK,KAQxB,UAAkB,EAAwB,CACxC,EAAK,KAAO,KAAK,KACjB,EAAK,KAAO,KAAK,KAAK,KAEtB,KAAK,KAAK,KAAM,KAAO,EACvB,KAAK,KAAK,KAAO,EAQnB,WAAmB,EAAwB,CAEzC,EAAK,KAAM,KAAO,EAAK,KACvB,EAAK,KAAM,KAAO,EAAK,KAQzB,WAAmB,EAAwB,CACzC,KAAK,WAAW,EAAK,CACrB,KAAK,UAAU,EAAK,CAQtB,YAAiC,CAC/B,IAAM,EAAW,KAAK,KAAK,KAG3B,OADA,KAAK,WAAW,EAAS,CAClB,EAeT,IAAW,EAAa,EAAgB,CACtC,IAAM,EAAO,KAAK,gBAAgB,EAAM,EAAI,EAC5C,GAAI,EAAO,KAAK,QAEd,OAGF,IAAM,EAAW,KAAK,MAAM,IAAI,EAAI,CACpC,GAAI,EAEF,EAAS,KAAO,EAChB,KAAK,UAAY,KAAK,UAAY,EAAS,KAAO,EAClD,EAAS,KAAO,EAChB,KAAK,WAAW,EAAS,KACpB,CAEL,IAAM,EAAU,IAAI,EAAQ,EAAK,EAAO,EAAK,CAC7C,KAAK,MAAM,IAAI,EAAK,EAAQ,CAC5B,KAAK,UAAU,EAAQ,CACvB,KAAK,WAAa,EAIpB,KAAO,KAAK,UAAY,KAAK,SAAW,KAAK,MAAM,KAAO,GAAG,CAC3D,IAAM,EAAO,KAAK,YAAY,CAC9B,KAAK,MAAM,OAAO,EAAK,IAAI,CAC3B,KAAK,WAAa,EAAK,MAU3B,IAAW,EAAsB,CAC/B,OAAO,KAAK,MAAM,IAAI,EAAI,CAS5B,IAAW,EAA4B,CACrC,IAAM,EAAO,KAAK,MAAM,IAAI,EAAI,CAC3B,KAKL,OAFA,KAAK,WAAW,EAAK,CAEd,EAAK,KAOd,EAAS,OAAO,WAA2C,CACzD,IAAI,EAAU,KAAK,KAAK,KACxB,KAAO,GAAW,IAAY,KAAK,MAAM,CAEvC,IAAM,EAAO,EACb,KAAM,CAAC,EAAK,IAAK,EAAK,KAAK,CAC3B,EAAU,EAAQ,MAUtB,OAAc,EAAmB,CAC/B,IAAM,EAAO,KAAK,MAAM,IAAI,EAAI,CAC3B,IAEL,KAAK,WAAW,EAAK,CACrB,KAAK,MAAM,OAAO,EAAI,CACtB,KAAK,WAAa,EAAK,MAMzB,IAAW,MAAe,CACxB,OAAO,KAAK,MAAM,KAOpB,IAAW,aAAsB,CAC/B,OAAO,KAAK"}
@@ -1 +0,0 @@
1
- var e=class{key;data;size;prev=null;next=null;constructor(e,t,n){this.key=e,this.data=t,this.size=n}},t=class{prev=null;next=null},n=class{cache=new Map;head;tail;totalSize=0;maxSize;calculateSize;constructor(e,n){this.maxSize=e,this.calculateSize=n,this.head=new t,this.tail=new t,this.head.next=this.tail,this.tail.prev=this.head}addToHead(e){e.prev=this.head,e.next=this.head.next,this.head.next.prev=e,this.head.next=e}removeNode(e){e.prev.next=e.next,e.next.prev=e.prev}moveToHead(e){this.removeNode(e),this.addToHead(e)}removeTail(){let e=this.tail.prev;return this.removeNode(e),e}set(t,n){let r=this.calculateSize?.(n)??1;if(r>this.maxSize)return;let i=this.cache.get(t);if(i)i.data=n,this.totalSize=this.totalSize-i.size+r,i.size=r,this.moveToHead(i);else{let i=new e(t,n,r);this.cache.set(t,i),this.addToHead(i),this.totalSize+=r}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let e=this.removeTail();this.cache.delete(e.key),this.totalSize-=e.size}}has(e){return this.cache.has(e)}get(e){let t=this.cache.get(e);if(t)return this.moveToHead(t),t.data}*[Symbol.iterator](){let e=this.head.next;for(;e&&e!==this.tail;){let t=e;yield[t.key,t.data],e=e.next}}remove(e){let t=this.cache.get(e);t&&(this.removeNode(t),this.cache.delete(e),this.totalSize-=t.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -1,2 +0,0 @@
1
- import{n as e}from"./remove-accents-BFmyvTRZ.mjs";const t={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},n=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function r(e,r,a={}){let{keys:o,threshold:s=t.MATCHES,baseSort:l=n,sorter:u=e=>e.sort((e,t)=>c(e,t,l))}=a;return u(e.reduce((e,t,n)=>d(e,t,n),[])).map(({item:e})=>e);function d(e,t,n){let c=i(t,o,r,a),{rank:l,keyThreshold:u=s}=c;return l>=u&&e.push({...c,item:t,index:n}),e}}r.rankings=t;function i(e,n,r,i){if(!n){let t=e;return{rankedValue:t,rank:a(t,r,i),keyIndex:-1,keyThreshold:i.threshold}}return f(e,n).reduce(({rank:e,rankedValue:n,keyIndex:o,keyThreshold:s},{itemValue:c,attributes:l},u)=>{let d=a(c,r,i),f=n,{minRanking:p,maxRanking:m,threshold:h}=l;return d<p&&d>=t.MATCHES?d=p:d>m&&(d=m),d>e&&(e=d,o=u,s=h,f=c),{rankedValue:f,rank:e,keyIndex:o,keyThreshold:s}},{rankedValue:e,rank:t.NO_MATCH,keyIndex:-1,keyThreshold:i.threshold})}function a(e,n,r){return e=l(e,r),n=l(n,r),n.length>e.length?t.NO_MATCH:e===n?t.CASE_SENSITIVE_EQUAL:(e=e.toLowerCase(),n=n.toLowerCase(),e===n?t.EQUAL:e.startsWith(n)?t.STARTS_WITH:e.includes(` ${n}`)?t.WORD_STARTS_WITH:e.includes(n)?t.CONTAINS:n.length===1?t.NO_MATCH:o(e).includes(n)?t.ACRONYM:s(e,n))}function o(e){let t=``,n=e.split(` `);for(let e of n){let n=e.split(`-`);for(let e of n)t+=e.slice(0,1)}return t}function s(e,n){let r=0,i=0;function a(e,t,n){for(let i=n,a=t.length;i<a;i++)if(t[i]===e)return r+=1,i+1;return-1}function o(e){let i=1/e,a=r/n.length;return t.MATCHES+a*i}let s=a(n[0],e,0);if(s<0)return t.NO_MATCH;i=s;for(let r=1,o=n.length;r<o;r++){let o=n[r];if(i=a(o,e,i),!(i>-1))return t.NO_MATCH}return o(i-s)}function c(e,t,n){let{rank:r,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return r===a?i===o?n(e,t):i<o?-1:1:r>a?-1:1}function l(t,{keepDiacritics:n}){return t=`${t}`,n||(t=e(t)),t}function u(e,t){typeof t==`object`&&(t=t.key);let n;if(typeof t==`function`)n=t(e);else if(e===null)n=null;else if(Object.hasOwnProperty.call(e,t))n=e[t];else if(t.includes(`.`))return d(t,e);else n=null;return n===null?[]:Array.isArray(n)?n:[String(n)]}function d(e,t){let n=e.split(`.`),r=[t];for(let e=0,t=n.length;e<t;e++){let t=n[e],i=[];for(let e=0,n=r.length;e<n;e++){let n=r[e];if(n!==null)if(t&&Object.hasOwnProperty.call(n,t)){let e=n[t];e!==null&&i.push(e)}else n&&t===`*`&&(i=[...i,n])}r=i}return Array.isArray(r[0])?[].concat(...r):r}function f(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r],a=m(i),o=u(e,i);for(let e=0,t=o.length;e<t;e++)n.push({itemValue:o[e],attributes:a})}return n}const p={maxRanking:1/0,minRanking:-1/0};function m(e){return typeof e==`string`?p:{...p,...e}}export{r as n,t as r,n as t};
2
- //# sourceMappingURL=match-sorter-B9_7YvTo.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-sorter-B9_7YvTo.mjs","names":["defaultBaseSortFn: BaseSorter<unknown>","value: string | Array<string> | null | unknown","values: ValueA","nestedValues: ValueA","allValues: Array<{ itemValue: string; attributes: KeyAttributes }>"],"sources":["../src/match-sorter.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 { removeAccents } from \"./remove-accents\";\n\n/* eslint-disable @cspell/spellchecker */\n\n/**\n * Forked from match-sorter by Kent C. Dodds\n */\n\ninterface KeyAttributes {\n threshold?: Ranking;\n maxRanking: Ranking;\n minRanking: Ranking;\n}\ninterface RankingInfo {\n rankedValue: string;\n rank: Ranking;\n keyIndex: number;\n keyThreshold: Ranking | undefined;\n}\n\ninterface ValueGetterKey<ItemType> {\n (item: ItemType): string | Array<string>;\n}\ninterface IndexedItem<ItemType> {\n item: ItemType;\n index: number;\n}\ninterface RankedItem<ItemType> extends RankingInfo, IndexedItem<ItemType> {}\n\ninterface BaseSorter<ItemType> {\n (a: RankedItem<ItemType>, b: RankedItem<ItemType>): number;\n}\n\ninterface Sorter<ItemType> {\n (matchItems: Array<RankedItem<ItemType>>): Array<RankedItem<ItemType>>;\n}\n\ninterface KeyAttributesOptions<ItemType> {\n key?: string | ValueGetterKey<ItemType>;\n threshold?: Ranking;\n maxRanking?: Ranking;\n minRanking?: Ranking;\n}\n\ntype KeyOption<ItemType> =\n | KeyAttributesOptions<ItemType>\n | ValueGetterKey<ItemType>\n | string;\n\ninterface MatchSorterOptions<ItemType = unknown> {\n keys?: ReadonlyArray<KeyOption<ItemType>>;\n threshold?: Ranking;\n baseSort?: BaseSorter<ItemType>;\n keepDiacritics?: boolean;\n sorter?: Sorter<ItemType>;\n}\ntype IndexableByString = Record<string, unknown>;\n\nconst rankings = {\n CASE_SENSITIVE_EQUAL: 7,\n EQUAL: 6,\n STARTS_WITH: 5,\n WORD_STARTS_WITH: 4,\n CONTAINS: 3,\n ACRONYM: 2,\n MATCHES: 1,\n NO_MATCH: 0\n} as const;\n\ntype Ranking = (typeof rankings)[keyof typeof rankings];\n\nconst defaultBaseSortFn: BaseSorter<unknown> = (a, b) =>\n String(a.rankedValue).localeCompare(String(b.rankedValue));\n\n/**\n * Takes an array of items and a value and returns a new array with the items that match the given value\n * @param items - the items to sort\n * @param value - the value to use for ranking\n * @param options - Some options to configure the sorter\n * @returns - the new sorted array\n */\nfunction matchSorter<ItemType = string>(\n items: ReadonlyArray<ItemType>,\n value: string,\n options: MatchSorterOptions<ItemType> = {}\n): Array<ItemType> {\n const {\n keys,\n threshold = rankings.MATCHES,\n baseSort = defaultBaseSortFn,\n sorter = matchedItems =>\n matchedItems.sort((a, b) => sortRankedValues(a, b, baseSort))\n } = options;\n const matchedItems = items.reduce(\n (ret: Array<RankedItem<ItemType>>, item: ItemType, index: number) =>\n reduceItemsToRanked(ret, item, index),\n []\n );\n\n return sorter(matchedItems).map(({ item }) => item);\n\n function reduceItemsToRanked(\n matches: Array<RankedItem<ItemType>>,\n item: ItemType,\n index: number\n ): Array<RankedItem<ItemType>> {\n const rankingInfo = getHighestRanking(item, keys, value, options);\n const { rank, keyThreshold = threshold } = rankingInfo;\n if (rank >= keyThreshold) {\n matches.push({\n ...rankingInfo,\n item,\n index\n });\n }\n return matches;\n }\n}\n\nmatchSorter.rankings = rankings;\n\n/**\n * Gets the highest ranking for value for the given item based on its values for the given keys\n * @param item - the item to rank\n * @param keys - the keys to get values from the item for the ranking\n * @param value - the value to rank against\n * @param options - options to control the ranking\n * @returns The highest ranking\n */\nfunction getHighestRanking<ItemType>(\n item: ItemType,\n keys: ReadonlyArray<KeyOption<ItemType>> | undefined,\n value: string,\n options: MatchSorterOptions<ItemType>\n): RankingInfo {\n if (!keys) {\n // if keys is not specified, then we assume the item given is ready to be matched\n const stringItem = item as unknown as string;\n\n return {\n // ends up being duplicate of 'item' in matches but consistent\n rankedValue: stringItem,\n rank: getMatchRanking(stringItem, value, options),\n keyIndex: -1,\n keyThreshold: options.threshold\n };\n }\n const valuesToRank = getAllValuesToRank(item, keys);\n\n return valuesToRank.reduce(\n (\n { rank, rankedValue, keyIndex, keyThreshold },\n { itemValue, attributes },\n i\n ) => {\n let newRank = getMatchRanking(itemValue, value, options);\n let newRankedValue = rankedValue;\n const { minRanking, maxRanking, threshold } = attributes;\n if (newRank < minRanking && newRank >= rankings.MATCHES) {\n newRank = minRanking;\n } else if (newRank > maxRanking) {\n newRank = maxRanking;\n }\n if (newRank > rank) {\n rank = newRank;\n keyIndex = i;\n keyThreshold = threshold;\n newRankedValue = itemValue;\n }\n return {\n rankedValue: newRankedValue,\n rank,\n keyIndex,\n keyThreshold\n };\n },\n {\n rankedValue: item as unknown as string,\n rank: rankings.NO_MATCH as Ranking,\n keyIndex: -1,\n keyThreshold: options.threshold\n }\n );\n}\n\n/**\n * Gives a rankings score based on how well the two strings match.\n * @param testString - the string to test against\n * @param stringToRank - the string to rank\n * @param options - options for the match (like keepDiacritics for comparison)\n * @returns the ranking for how well stringToRank matches testString\n */\nfunction getMatchRanking<ItemType>(\n testString: string,\n stringToRank: string,\n options: MatchSorterOptions<ItemType>\n): Ranking {\n testString = prepareValueForComparison(testString, options);\n stringToRank = prepareValueForComparison(stringToRank, options);\n\n // too long\n if (stringToRank.length > testString.length) {\n return rankings.NO_MATCH;\n }\n\n // case sensitive equals\n if (testString === stringToRank) {\n return rankings.CASE_SENSITIVE_EQUAL;\n }\n\n // Lower casing before further comparison\n testString = testString.toLowerCase();\n stringToRank = stringToRank.toLowerCase();\n\n // case insensitive equals\n if (testString === stringToRank) {\n return rankings.EQUAL;\n }\n\n // starts with\n if (testString.startsWith(stringToRank)) {\n return rankings.STARTS_WITH;\n }\n\n // word starts with\n if (testString.includes(` ${stringToRank}`)) {\n return rankings.WORD_STARTS_WITH;\n }\n\n // contains\n if (testString.includes(stringToRank)) {\n return rankings.CONTAINS;\n } else if (stringToRank.length === 1) {\n // If the only character in the given stringToRank\n // isn't even contained in the testString, then\n // it's definitely not a match.\n return rankings.NO_MATCH;\n }\n\n // acronym\n if (getAcronym(testString).includes(stringToRank)) {\n return rankings.ACRONYM;\n }\n\n // will return a number between rankings.MATCHES and\n // rankings.MATCHES + 1 depending on how close of a match it is.\n return getClosenessRanking(testString, stringToRank);\n}\n\n/**\n * Generates an acronym for a string.\n *\n * @param value - the string for which to produce the acronym\n * @returns the acronym\n */\nfunction getAcronym(value: string): string {\n let acronym = \"\";\n const wordsInString = value.split(\" \");\n for (const wordInString of wordsInString) {\n const splitByHyphenWords = wordInString.split(\"-\");\n for (const splitByHyphenWord of splitByHyphenWords) {\n acronym += splitByHyphenWord.slice(0, 1);\n }\n }\n return acronym;\n}\n\n/**\n * Returns a score based on how spread apart the\n * characters from the stringToRank are within the testString.\n * A number close to rankings.MATCHES represents a loose match. A number close\n * to rankings.MATCHES + 1 represents a tighter match.\n * @param testString - the string to test against\n * @param stringToRank - the string to rank\n * @returns the number between rankings.MATCHES and\n * rankings.MATCHES + 1 for how well stringToRank matches testString\n */\nfunction getClosenessRanking(\n testString: string,\n stringToRank: string\n): Ranking {\n let matchingInOrderCharCount = 0;\n let charNumber = 0;\n function findMatchingCharacter(\n matchChar: string,\n string: string,\n index: number\n ) {\n for (let j = index, J = string.length; j < J; j++) {\n const stringChar = string[j];\n if (stringChar === matchChar) {\n matchingInOrderCharCount += 1;\n return j + 1;\n }\n }\n return -1;\n }\n function getRanking(spread: number) {\n const spreadPercentage = 1 / spread;\n const inOrderPercentage = matchingInOrderCharCount / stringToRank.length;\n const ranking = rankings.MATCHES + inOrderPercentage * spreadPercentage;\n\n return ranking as Ranking;\n }\n const firstIndex = findMatchingCharacter(stringToRank[0]!, testString, 0);\n if (firstIndex < 0) {\n return rankings.NO_MATCH;\n }\n charNumber = firstIndex;\n for (let i = 1, I = stringToRank.length; i < I; i++) {\n const matchChar = stringToRank[i];\n charNumber = findMatchingCharacter(matchChar!, testString, charNumber);\n const found = charNumber > -1;\n if (!found) {\n return rankings.NO_MATCH;\n }\n }\n\n const spread = charNumber - firstIndex;\n\n return getRanking(spread);\n}\n\n/**\n * Sorts items that have a rank, index, and keyIndex\n * @param a - the first item to sort\n * @param b - the second item to sort\n * @returns -1 if a should come first, 1 if b should come first, 0 if equal\n */\nfunction sortRankedValues<ItemType>(\n a: RankedItem<ItemType>,\n b: RankedItem<ItemType>,\n baseSort: BaseSorter<ItemType>\n): number {\n const aFirst = -1;\n const bFirst = 1;\n const { rank: aRank, keyIndex: aKeyIndex } = a;\n const { rank: bRank, keyIndex: bKeyIndex } = b;\n const same = aRank === bRank;\n if (same) {\n if (aKeyIndex === bKeyIndex) {\n // use the base sort function as a tie-breaker\n return baseSort(a, b);\n }\n return aKeyIndex < bKeyIndex ? aFirst : bFirst;\n }\n return aRank > bRank ? aFirst : bFirst;\n}\n\n/**\n * Prepares value for comparison by stringifying it, removing diacritics (if specified)\n * @param value - the value to clean\n * @param options - options for the match (like keepDiacritics for comparison)\n * @returns the prepared value\n */\nfunction prepareValueForComparison<ItemType>(\n value: string,\n { keepDiacritics }: MatchSorterOptions<ItemType>\n): string {\n // value might not actually be a string at this point (we don't get to choose)\n // so part of preparing the value for comparison is ensure that it is a string\n value = `${value}`; // toString\n if (!keepDiacritics) {\n value = removeAccents(value);\n }\n return value;\n}\n\n/**\n * Gets value for key in item at arbitrarily nested keypath\n * @param item - the item\n * @param key - the potentially nested keypath or property callback\n * @returns - an array containing the value(s) at the nested keypath\n */\nfunction getItemValues<ItemType>(\n item: ItemType,\n key: KeyOption<ItemType>\n): Array<string> {\n if (typeof key === \"object\") {\n key = key.key as string;\n }\n let value: string | Array<string> | null | unknown;\n if (typeof key === \"function\") {\n value = key(item);\n } else if (item === null) {\n value = null;\n } else if (Object.hasOwnProperty.call(item, key)) {\n value = (item as IndexableByString)[key];\n } else if (key.includes(\".\")) {\n return getNestedValues<ItemType>(key, item);\n } else {\n value = null;\n }\n\n // because `value` can also be undefined\n if (value === null) {\n return [];\n }\n if (Array.isArray(value)) {\n return value;\n }\n return [String(value)];\n}\n\n/**\n * Given path: \"foo.bar.baz\"\n * And item: \\{foo: \\{bar: \\{baz: 'buzz'\\}\\}\\}\n * -\\> 'buzz'\n *\n * @param path - a dot-separated set of keys\n * @param item - the item to get the value from\n */\nfunction getNestedValues<ItemType>(\n path: string,\n item: ItemType\n): Array<string> {\n const keys = path.split(\".\");\n\n type ValueA = Array<ItemType | IndexableByString | string>;\n let values: ValueA = [item];\n\n for (let i = 0, I = keys.length; i < I; i++) {\n const nestedKey = keys[i];\n let nestedValues: ValueA = [];\n\n for (let j = 0, J = values.length; j < J; j++) {\n const nestedItem = values[j];\n\n if (nestedItem === null) {\n continue;\n }\n\n if (nestedKey && Object.hasOwnProperty.call(nestedItem, nestedKey)) {\n const nestedValue = (nestedItem as IndexableByString)[nestedKey];\n if (nestedValue !== null) {\n nestedValues.push(nestedValue as IndexableByString | string);\n }\n } else if (nestedItem && nestedKey === \"*\") {\n // ensure that values is an array\n nestedValues = [...nestedValues, nestedItem];\n }\n }\n\n values = nestedValues;\n }\n\n if (Array.isArray(values[0])) {\n // keep allowing the implicit wildcard for an array of strings at the end of\n // the path; don't use `.flat()` because that's not available in node.js v10\n const result: Array<string> = [];\n\n return result.concat(...(values as Array<string>));\n }\n // Based on our logic it should be an array of strings by now...\n // assuming the user's path terminated in strings\n return values as Array<string>;\n}\n\n/**\n * Gets all the values for the given keys in the given item and returns an array of those values\n * @param item - the item from which the values will be retrieved\n * @param keys - the keys to use to retrieve the values\n * @returns objects with \\{itemValue, attributes\\}\n */\nfunction getAllValuesToRank<ItemType>(\n item: ItemType,\n keys: ReadonlyArray<KeyOption<ItemType>>\n) {\n const allValues: Array<{ itemValue: string; attributes: KeyAttributes }> = [];\n for (let j = 0, J = keys.length; j < J; j++) {\n const key = keys[j];\n const attributes = getKeyAttributes(key!);\n const itemValues = getItemValues(item, key!);\n for (let i = 0, I = itemValues.length; i < I; i++) {\n allValues.push({\n itemValue: itemValues[i]!,\n attributes\n });\n }\n }\n return allValues;\n}\n\nconst defaultKeyAttributes = {\n maxRanking: Infinity as Ranking,\n minRanking: -Infinity as Ranking\n};\n/**\n * Gets all the attributes for the given key\n * @param key - the key from which the attributes will be retrieved\n * @returns object containing the key's attributes\n */\nfunction getKeyAttributes<ItemType>(key: KeyOption<ItemType>): KeyAttributes {\n if (typeof key === \"string\") {\n return defaultKeyAttributes;\n }\n return {\n ...defaultKeyAttributes,\n ...key\n };\n}\n\nexport { defaultBaseSortFn, matchSorter, rankings };\n\nexport type {\n KeyAttributes,\n KeyAttributesOptions,\n KeyOption,\n MatchSorterOptions,\n RankingInfo,\n ValueGetterKey\n};\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- const e=require(`./remove-accents-CXBUC-Id.cjs`),t={CASE_SENSITIVE_EQUAL:7,EQUAL:6,STARTS_WITH:5,WORD_STARTS_WITH:4,CONTAINS:3,ACRONYM:2,MATCHES:1,NO_MATCH:0},n=(e,t)=>String(e.rankedValue).localeCompare(String(t.rankedValue));function r(e,r,a={}){let{keys:o,threshold:s=t.MATCHES,baseSort:l=n,sorter:u=e=>e.sort((e,t)=>c(e,t,l))}=a;return u(e.reduce((e,t,n)=>d(e,t,n),[])).map(({item:e})=>e);function d(e,t,n){let c=i(t,o,r,a),{rank:l,keyThreshold:u=s}=c;return l>=u&&e.push({...c,item:t,index:n}),e}}r.rankings=t;function i(e,n,r,i){if(!n){let t=e;return{rankedValue:t,rank:a(t,r,i),keyIndex:-1,keyThreshold:i.threshold}}return f(e,n).reduce(({rank:e,rankedValue:n,keyIndex:o,keyThreshold:s},{itemValue:c,attributes:l},u)=>{let d=a(c,r,i),f=n,{minRanking:p,maxRanking:m,threshold:h}=l;return d<p&&d>=t.MATCHES?d=p:d>m&&(d=m),d>e&&(e=d,o=u,s=h,f=c),{rankedValue:f,rank:e,keyIndex:o,keyThreshold:s}},{rankedValue:e,rank:t.NO_MATCH,keyIndex:-1,keyThreshold:i.threshold})}function a(e,n,r){return e=l(e,r),n=l(n,r),n.length>e.length?t.NO_MATCH:e===n?t.CASE_SENSITIVE_EQUAL:(e=e.toLowerCase(),n=n.toLowerCase(),e===n?t.EQUAL:e.startsWith(n)?t.STARTS_WITH:e.includes(` ${n}`)?t.WORD_STARTS_WITH:e.includes(n)?t.CONTAINS:n.length===1?t.NO_MATCH:o(e).includes(n)?t.ACRONYM:s(e,n))}function o(e){let t=``,n=e.split(` `);for(let e of n){let n=e.split(`-`);for(let e of n)t+=e.slice(0,1)}return t}function s(e,n){let r=0,i=0;function a(e,t,n){for(let i=n,a=t.length;i<a;i++)if(t[i]===e)return r+=1,i+1;return-1}function o(e){let i=1/e,a=r/n.length;return t.MATCHES+a*i}let s=a(n[0],e,0);if(s<0)return t.NO_MATCH;i=s;for(let r=1,o=n.length;r<o;r++){let o=n[r];if(i=a(o,e,i),!(i>-1))return t.NO_MATCH}return o(i-s)}function c(e,t,n){let{rank:r,keyIndex:i}=e,{rank:a,keyIndex:o}=t;return r===a?i===o?n(e,t):i<o?-1:1:r>a?-1:1}function l(t,{keepDiacritics:n}){return t=`${t}`,n||(t=e.n(t)),t}function u(e,t){typeof t==`object`&&(t=t.key);let n;if(typeof t==`function`)n=t(e);else if(e===null)n=null;else if(Object.hasOwnProperty.call(e,t))n=e[t];else if(t.includes(`.`))return d(t,e);else n=null;return n===null?[]:Array.isArray(n)?n:[String(n)]}function d(e,t){let n=e.split(`.`),r=[t];for(let e=0,t=n.length;e<t;e++){let t=n[e],i=[];for(let e=0,n=r.length;e<n;e++){let n=r[e];if(n!==null)if(t&&Object.hasOwnProperty.call(n,t)){let e=n[t];e!==null&&i.push(e)}else n&&t===`*`&&(i=[...i,n])}r=i}return Array.isArray(r[0])?[].concat(...r):r}function f(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r],a=m(i),o=u(e,i);for(let e=0,t=o.length;e<t;e++)n.push({itemValue:o[e],attributes:a})}return n}const p={maxRanking:1/0,minRanking:-1/0};function m(e){return typeof e==`string`?p:{...p,...e}}Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return n}});
@@ -1,78 +0,0 @@
1
- //#region src/match-sorter.d.ts
2
- /**
3
- * Forked from match-sorter by Kent C. Dodds
4
- */
5
- interface KeyAttributes {
6
- threshold?: Ranking;
7
- maxRanking: Ranking;
8
- minRanking: Ranking;
9
- }
10
- interface RankingInfo {
11
- rankedValue: string;
12
- rank: Ranking;
13
- keyIndex: number;
14
- keyThreshold: Ranking | undefined;
15
- }
16
- interface ValueGetterKey<ItemType> {
17
- (item: ItemType): string | Array<string>;
18
- }
19
- interface IndexedItem<ItemType> {
20
- item: ItemType;
21
- index: number;
22
- }
23
- interface RankedItem<ItemType> extends RankingInfo, IndexedItem<ItemType> {}
24
- interface BaseSorter<ItemType> {
25
- (a: RankedItem<ItemType>, b: RankedItem<ItemType>): number;
26
- }
27
- interface Sorter<ItemType> {
28
- (matchItems: Array<RankedItem<ItemType>>): Array<RankedItem<ItemType>>;
29
- }
30
- interface KeyAttributesOptions<ItemType> {
31
- key?: string | ValueGetterKey<ItemType>;
32
- threshold?: Ranking;
33
- maxRanking?: Ranking;
34
- minRanking?: Ranking;
35
- }
36
- type KeyOption<ItemType> = KeyAttributesOptions<ItemType> | ValueGetterKey<ItemType> | string;
37
- interface MatchSorterOptions<ItemType = unknown> {
38
- keys?: ReadonlyArray<KeyOption<ItemType>>;
39
- threshold?: Ranking;
40
- baseSort?: BaseSorter<ItemType>;
41
- keepDiacritics?: boolean;
42
- sorter?: Sorter<ItemType>;
43
- }
44
- declare const rankings: {
45
- readonly CASE_SENSITIVE_EQUAL: 7;
46
- readonly EQUAL: 6;
47
- readonly STARTS_WITH: 5;
48
- readonly WORD_STARTS_WITH: 4;
49
- readonly CONTAINS: 3;
50
- readonly ACRONYM: 2;
51
- readonly MATCHES: 1;
52
- readonly NO_MATCH: 0;
53
- };
54
- type Ranking = (typeof rankings)[keyof typeof rankings];
55
- declare const defaultBaseSortFn: BaseSorter<unknown>;
56
- /**
57
- * Takes an array of items and a value and returns a new array with the items that match the given value
58
- * @param items - the items to sort
59
- * @param value - the value to use for ranking
60
- * @param options - Some options to configure the sorter
61
- * @returns - the new sorted array
62
- */
63
- declare function matchSorter<ItemType = string>(items: ReadonlyArray<ItemType>, value: string, options?: MatchSorterOptions<ItemType>): Array<ItemType>;
64
- declare namespace matchSorter {
65
- var rankings: {
66
- readonly CASE_SENSITIVE_EQUAL: 7;
67
- readonly EQUAL: 6;
68
- readonly STARTS_WITH: 5;
69
- readonly WORD_STARTS_WITH: 4;
70
- readonly CONTAINS: 3;
71
- readonly ACRONYM: 2;
72
- readonly MATCHES: 1;
73
- readonly NO_MATCH: 0;
74
- };
75
- }
76
- //#endregion
77
- export { RankingInfo as a, matchSorter as c, MatchSorterOptions as i, rankings as l, KeyAttributesOptions as n, ValueGetterKey as o, KeyOption as r, defaultBaseSortFn as s, KeyAttributes as t };
78
- //# sourceMappingURL=match-sorter-CMYN3GuY.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-sorter-CMYN3GuY.d.cts","names":[],"sources":["../src/match-sorter.ts"],"sourcesContent":[],"mappings":";;;;UAyBU,aAAA,CAEI;EACA,SAAA,CAAA,EAFA,OAEA;EAAO,UAAA,EADP,OACO;EAEX,UAAA,EAFI,OAEO;AAIE;AAIW,UARxB,WAAA,CAUW;EAIX,WAAA,EAAU,MAAA;EAA4C,IAAA,EAZxD,OAYwD;EAAzB,QAAA,EAAA,MAAA;EAAa,YAAA,EAVpC,OAUoC,GAAA,SAAA;;AAAW,UAPrD,cASU,CAAA,QAAA,CAAA,CAAA;EACH,CAAA,IAAA,EATR,QASQ,CAAA,EAAA,MAAA,GATY,KASZ,CAAA,MAAA,CAAA;;UAPP,WAOgC,CAAA,QAAA,CAAA,CAAA;EAAX,IAAA,EANvB,QAMuB;EAAU,KAAA,EAAA,MAAA;AAAA;UAH/B,UAOsB,CAAA,QAAA,CAAA,SAPO,WAOP,EAPoB,WAOpB,CAPgC,QAOhC,CAAA,CAAA;UALtB,UAKK,CAAA,QAAA,CAAA,CAAA;EAA+C,CAAA,CAAA,EAJxD,UAIwD,CAJ7C,QAI6C,CAAA,EAAA,CAAA,EAJ/B,UAI+B,CAJpB,QAIoB,CAAA,CAAA,EAAA,MAAA;;UADpD,MACmC,CAAA,QAAA,CAAA,CAAA;EAAK,CAAA,UAAA,EAAnC,KAAmC,CAA7B,UAA6B,CAAlB,QAAkB,CAAA,CAAA,CAAA,EAAL,KAAK,CAAC,UAAD,CAAY,QAAZ,CAAA,CAAA;AAAA;UAGxC,oBACsB,CAAA,QAAA,CAAA,CAAA;EAAf,GAAA,CAAA,EAAA,MAAA,GAAA,cAAA,CAAe,QAAf,CAAA;EACH,SAAA,CAAA,EAAA,OAAA;EACC,UAAA,CAAA,EAAA,OAAA;EACA,UAAA,CAAA,EAAA,OAAA;;AAAO,KAGjB,SAAA,CAAA,QAAS,CAAA,GACV,oBADU,CACW,QADX,CAAA,GAEV,cAFU,CAEK,QAFL,CAAA,GAAA,MAAA;UAKJ,kBAJe,CAAA,WAAA,OAAA,CAAA,CAAA;EAArB,IAAA,CAAA,EAKK,aALL,CAKmB,SALnB,CAK6B,QAL7B,CAAA,CAAA;EACe,SAAA,CAAA,EAKL,OALK;EAAf,QAAA,CAAA,EAMS,UANT,CAMoB,QANpB,CAAA;EAAc,cAAA,CAAA,EAAA,OAAA;EAGR,MAAA,CAAA,EAKC,MALD,CAKQ,QALU,CAAA;;cAStB,QARiB,EAAA;EAAd,SAAA,oBAAA,EAAA,CAAA;EACK,SAAA,KAAA,EAAA,CAAA;EACU,SAAA,WAAA,EAAA,CAAA;EAAX,SAAA,gBAAA,EAAA,CAAA;EAEK,SAAA,QAAA,EAAA,CAAA;EAAP,SAAA,OAAA,EAAA,CAAA;EAAM,SAAA,OAAA,EAAA,CAAA;EAIX,SAAA,QASI,EAAA,CAAA;AAAA,CAAA;AAE4C,KAAjD,OAAA,GAEC,CAAA,OAFiB,QAGqC,CAAA,CAAA,MADnC,OAFqB,QAEX,CAAA;AAAA,cAA7B,iBAUc,EAVK,UAUL,CAAA,OAAA,CAAA;;;;;;;;AAIZ,iBAJC,WAAW,CAAA,WAAA,MAAA,CAAA,CAAA,KAAA,EACX,aADW,CACG,QADH,CAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAGT,kBAHS,CAGU,QAHV,CAAA,CAAA,EAIjB,KAJiB,CAIX,QAJW,CAAA;kBAAX,WAAA"}
@@ -1,78 +0,0 @@
1
- //#region src/match-sorter.d.ts
2
- /**
3
- * Forked from match-sorter by Kent C. Dodds
4
- */
5
- interface KeyAttributes {
6
- threshold?: Ranking;
7
- maxRanking: Ranking;
8
- minRanking: Ranking;
9
- }
10
- interface RankingInfo {
11
- rankedValue: string;
12
- rank: Ranking;
13
- keyIndex: number;
14
- keyThreshold: Ranking | undefined;
15
- }
16
- interface ValueGetterKey<ItemType> {
17
- (item: ItemType): string | Array<string>;
18
- }
19
- interface IndexedItem<ItemType> {
20
- item: ItemType;
21
- index: number;
22
- }
23
- interface RankedItem<ItemType> extends RankingInfo, IndexedItem<ItemType> {}
24
- interface BaseSorter<ItemType> {
25
- (a: RankedItem<ItemType>, b: RankedItem<ItemType>): number;
26
- }
27
- interface Sorter<ItemType> {
28
- (matchItems: Array<RankedItem<ItemType>>): Array<RankedItem<ItemType>>;
29
- }
30
- interface KeyAttributesOptions<ItemType> {
31
- key?: string | ValueGetterKey<ItemType>;
32
- threshold?: Ranking;
33
- maxRanking?: Ranking;
34
- minRanking?: Ranking;
35
- }
36
- type KeyOption<ItemType> = KeyAttributesOptions<ItemType> | ValueGetterKey<ItemType> | string;
37
- interface MatchSorterOptions<ItemType = unknown> {
38
- keys?: ReadonlyArray<KeyOption<ItemType>>;
39
- threshold?: Ranking;
40
- baseSort?: BaseSorter<ItemType>;
41
- keepDiacritics?: boolean;
42
- sorter?: Sorter<ItemType>;
43
- }
44
- declare const rankings: {
45
- readonly CASE_SENSITIVE_EQUAL: 7;
46
- readonly EQUAL: 6;
47
- readonly STARTS_WITH: 5;
48
- readonly WORD_STARTS_WITH: 4;
49
- readonly CONTAINS: 3;
50
- readonly ACRONYM: 2;
51
- readonly MATCHES: 1;
52
- readonly NO_MATCH: 0;
53
- };
54
- type Ranking = (typeof rankings)[keyof typeof rankings];
55
- declare const defaultBaseSortFn: BaseSorter<unknown>;
56
- /**
57
- * Takes an array of items and a value and returns a new array with the items that match the given value
58
- * @param items - the items to sort
59
- * @param value - the value to use for ranking
60
- * @param options - Some options to configure the sorter
61
- * @returns - the new sorted array
62
- */
63
- declare function matchSorter<ItemType = string>(items: ReadonlyArray<ItemType>, value: string, options?: MatchSorterOptions<ItemType>): Array<ItemType>;
64
- declare namespace matchSorter {
65
- var rankings: {
66
- readonly CASE_SENSITIVE_EQUAL: 7;
67
- readonly EQUAL: 6;
68
- readonly STARTS_WITH: 5;
69
- readonly WORD_STARTS_WITH: 4;
70
- readonly CONTAINS: 3;
71
- readonly ACRONYM: 2;
72
- readonly MATCHES: 1;
73
- readonly NO_MATCH: 0;
74
- };
75
- }
76
- //#endregion
77
- export { RankingInfo as a, matchSorter as c, MatchSorterOptions as i, rankings as l, KeyAttributesOptions as n, ValueGetterKey as o, KeyOption as r, defaultBaseSortFn as s, KeyAttributes as t };
78
- //# sourceMappingURL=match-sorter-DCRerxVe.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"match-sorter-DCRerxVe.d.mts","names":[],"sources":["../src/match-sorter.ts"],"sourcesContent":[],"mappings":";;;;UAyBU,aAAA,CAEI;EACA,SAAA,CAAA,EAFA,OAEA;EAAO,UAAA,EADP,OACO;EAEX,UAAA,EAFI,OAEO;AAIE;AAIW,UARxB,WAAA,CAUW;EAIX,WAAA,EAAU,MAAA;EAA4C,IAAA,EAZxD,OAYwD;EAAzB,QAAA,EAAA,MAAA;EAAa,YAAA,EAVpC,OAUoC,GAAA,SAAA;;AAAW,UAPrD,cASU,CAAA,QAAA,CAAA,CAAA;EACH,CAAA,IAAA,EATR,QASQ,CAAA,EAAA,MAAA,GATY,KASZ,CAAA,MAAA,CAAA;;UAPP,WAOgC,CAAA,QAAA,CAAA,CAAA;EAAX,IAAA,EANvB,QAMuB;EAAU,KAAA,EAAA,MAAA;AAAA;UAH/B,UAOsB,CAAA,QAAA,CAAA,SAPO,WAOP,EAPoB,WAOpB,CAPgC,QAOhC,CAAA,CAAA;UALtB,UAKK,CAAA,QAAA,CAAA,CAAA;EAA+C,CAAA,CAAA,EAJxD,UAIwD,CAJ7C,QAI6C,CAAA,EAAA,CAAA,EAJ/B,UAI+B,CAJpB,QAIoB,CAAA,CAAA,EAAA,MAAA;;UADpD,MACmC,CAAA,QAAA,CAAA,CAAA;EAAK,CAAA,UAAA,EAAnC,KAAmC,CAA7B,UAA6B,CAAlB,QAAkB,CAAA,CAAA,CAAA,EAAL,KAAK,CAAC,UAAD,CAAY,QAAZ,CAAA,CAAA;AAAA;UAGxC,oBACsB,CAAA,QAAA,CAAA,CAAA;EAAf,GAAA,CAAA,EAAA,MAAA,GAAA,cAAA,CAAe,QAAf,CAAA;EACH,SAAA,CAAA,EAAA,OAAA;EACC,UAAA,CAAA,EAAA,OAAA;EACA,UAAA,CAAA,EAAA,OAAA;;AAAO,KAGjB,SAAA,CAAA,QAAS,CAAA,GACV,oBADU,CACW,QADX,CAAA,GAEV,cAFU,CAEK,QAFL,CAAA,GAAA,MAAA;UAKJ,kBAJe,CAAA,WAAA,OAAA,CAAA,CAAA;EAArB,IAAA,CAAA,EAKK,aALL,CAKmB,SALnB,CAK6B,QAL7B,CAAA,CAAA;EACe,SAAA,CAAA,EAKL,OALK;EAAf,QAAA,CAAA,EAMS,UANT,CAMoB,QANpB,CAAA;EAAc,cAAA,CAAA,EAAA,OAAA;EAGR,MAAA,CAAA,EAKC,MALD,CAKQ,QALU,CAAA;;cAStB,QARiB,EAAA;EAAd,SAAA,oBAAA,EAAA,CAAA;EACK,SAAA,KAAA,EAAA,CAAA;EACU,SAAA,WAAA,EAAA,CAAA;EAAX,SAAA,gBAAA,EAAA,CAAA;EAEK,SAAA,QAAA,EAAA,CAAA;EAAP,SAAA,OAAA,EAAA,CAAA;EAAM,SAAA,OAAA,EAAA,CAAA;EAIX,SAAA,QASI,EAAA,CAAA;AAAA,CAAA;AAE4C,KAAjD,OAAA,GAEC,CAAA,OAFiB,QAGqC,CAAA,CAAA,MADnC,OAFqB,QAEX,CAAA;AAAA,cAA7B,iBAUc,EAVK,UAUL,CAAA,OAAA,CAAA;;;;;;;;AAIZ,iBAJC,WAAW,CAAA,WAAA,MAAA,CAAA,CAAA,KAAA,EACX,aADW,CACG,QADH,CAAA,EAAA,KAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EAGT,kBAHS,CAGU,QAHV,CAAA,CAAA,EAIjB,KAJiB,CAIX,QAJW,CAAA;kBAAX,WAAA"}
@@ -1,2 +0,0 @@
1
- const e=e=>{let t=Object.prototype.hasOwnProperty,n={};return r=>t.call(n,r)?n[r]:n[r]=e(r)};export{e as t};
2
- //# sourceMappingURL=memoize-Cr5jFKxi.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoize-Cr5jFKxi.mjs","names":["results: Record<string, T>"],"sources":["../src/memoize.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 * Memoizes a function based on its string identifier.\n *\n * @param fn - The function to memoize.\n * @returns A memoized version of the input function.\n */\nexport const memoizeOnId = <T>(fn: (id: string) => T) => {\n // eslint-disable-next-line ts/unbound-method\n const hasOwnProperty = Object.prototype.hasOwnProperty;\n const results: Record<string, T> = {};\n\n const memoizedFn = (id: string) => {\n if (hasOwnProperty.call(results, id)) {\n return results[id];\n }\n return (results[id] = fn(id));\n };\n\n return memoizedFn;\n};\n"],"mappings":"AAwBA,MAAa,EAAkB,GAA0B,CAEvD,IAAM,EAAiB,OAAO,UAAU,eAClCA,EAA6B,EAAE,CASrC,MAPoB,IACd,EAAe,KAAK,EAAS,EAAG,CAC3B,EAAQ,GAET,EAAQ,GAAM,EAAG,EAAG"}
@@ -1,11 +0,0 @@
1
- //#region src/memoize.d.ts
2
- /**
3
- * Memoizes a function based on its string identifier.
4
- *
5
- * @param fn - The function to memoize.
6
- * @returns A memoized version of the input function.
7
- */
8
- declare const memoizeOnId: <T>(fn: (id: string) => T) => (id: string) => T | undefined;
9
- //#endregion
10
- export { memoizeOnId as t };
11
- //# sourceMappingURL=memoize-TyrmWrfR.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoize-TyrmWrfR.d.mts","names":[],"sources":["../src/memoize.ts"],"sourcesContent":[],"mappings":";;AAwBA;;;;;cAAa,qCAAsC,sBAKnB"}
@@ -1 +0,0 @@
1
- const e=e=>{let t=Object.prototype.hasOwnProperty,n={};return r=>t.call(n,r)?n[r]:n[r]=e(r)};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return e}});
@@ -1,11 +0,0 @@
1
- //#region src/memoize.d.ts
2
- /**
3
- * Memoizes a function based on its string identifier.
4
- *
5
- * @param fn - The function to memoize.
6
- * @returns A memoized version of the input function.
7
- */
8
- declare const memoizeOnId: <T>(fn: (id: string) => T) => (id: string) => T | undefined;
9
- //#endregion
10
- export { memoizeOnId as t };
11
- //# sourceMappingURL=memoize-tSTYY522.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"memoize-tSTYY522.d.cts","names":[],"sources":["../src/memoize.ts"],"sourcesContent":[],"mappings":";;AAwBA;;;;;cAAa,qCAAsC,sBAKnB"}
@@ -1 +0,0 @@
1
- const e=require(`./semaphore-DkHqPlow.cjs`);var t=class{semaphore=new e.t(1);get isLocked(){return this.semaphore.available===0}async acquire(){return this.semaphore.acquire()}release(){this.semaphore.release()}};Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return t}});
@@ -1,72 +0,0 @@
1
- //#region src/mutex.d.ts
2
- /**
3
- * A Mutex (mutual exclusion lock) for async functions.
4
- * It allows only one async task to access a critical section at a time.
5
- *
6
- * @example
7
- * ```typescript
8
- * const mutex = new Mutex();
9
- *
10
- * async function criticalSection() {
11
- * await mutex.acquire();
12
- * try {
13
- * // This code section cannot be executed simultaneously
14
- * } finally {
15
- * mutex.release();
16
- * }
17
- * }
18
- *
19
- * criticalSection();
20
- * criticalSection(); // This call will wait until the first call releases the mutex.
21
- * ```
22
- */
23
- declare class Mutex {
24
- private semaphore;
25
- /**
26
- * Checks if the mutex is currently locked.
27
- * @returns True if the mutex is locked, false otherwise.
28
- *
29
- * @example
30
- * const mutex = new Mutex();
31
- * console.log(mutex.isLocked); // false
32
- * await mutex.acquire();
33
- * console.log(mutex.isLocked); // true
34
- * mutex.release();
35
- * console.log(mutex.isLocked); // false
36
- */
37
- get isLocked(): boolean;
38
- /**
39
- * Acquires the mutex, blocking if necessary until it is available.
40
- * @returns A promise that resolves when the mutex is acquired.
41
- *
42
- * @example
43
- * ```typescript
44
- * const mutex = new Mutex();
45
- * await mutex.acquire();
46
- * try {
47
- * // This code section cannot be executed simultaneously
48
- * } finally {
49
- * mutex.release();
50
- * }
51
- * ```
52
- */
53
- acquire(): Promise<void>;
54
- /**
55
- * Releases the mutex, allowing another waiting task to proceed.
56
- *
57
- * @example
58
- * ```typescript
59
- * const mutex = new Mutex();
60
- * await mutex.acquire();
61
- * try {
62
- * // This code section cannot be executed simultaneously
63
- * } finally {
64
- * mutex.release(); // Allows another waiting task to proceed.
65
- * }
66
- * ```
67
- */
68
- release(): void;
69
- }
70
- //#endregion
71
- export { Mutex as t };
72
- //# sourceMappingURL=mutex-DAZduiSP.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutex-DAZduiSP.d.mts","names":[],"sources":["../src/mutex.ts"],"sourcesContent":[],"mappings":";;AAyCA;;;;;;;;;;;;;;;;;;;;cAAa,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAkCa"}
@@ -1,72 +0,0 @@
1
- //#region src/mutex.d.ts
2
- /**
3
- * A Mutex (mutual exclusion lock) for async functions.
4
- * It allows only one async task to access a critical section at a time.
5
- *
6
- * @example
7
- * ```typescript
8
- * const mutex = new Mutex();
9
- *
10
- * async function criticalSection() {
11
- * await mutex.acquire();
12
- * try {
13
- * // This code section cannot be executed simultaneously
14
- * } finally {
15
- * mutex.release();
16
- * }
17
- * }
18
- *
19
- * criticalSection();
20
- * criticalSection(); // This call will wait until the first call releases the mutex.
21
- * ```
22
- */
23
- declare class Mutex {
24
- private semaphore;
25
- /**
26
- * Checks if the mutex is currently locked.
27
- * @returns True if the mutex is locked, false otherwise.
28
- *
29
- * @example
30
- * const mutex = new Mutex();
31
- * console.log(mutex.isLocked); // false
32
- * await mutex.acquire();
33
- * console.log(mutex.isLocked); // true
34
- * mutex.release();
35
- * console.log(mutex.isLocked); // false
36
- */
37
- get isLocked(): boolean;
38
- /**
39
- * Acquires the mutex, blocking if necessary until it is available.
40
- * @returns A promise that resolves when the mutex is acquired.
41
- *
42
- * @example
43
- * ```typescript
44
- * const mutex = new Mutex();
45
- * await mutex.acquire();
46
- * try {
47
- * // This code section cannot be executed simultaneously
48
- * } finally {
49
- * mutex.release();
50
- * }
51
- * ```
52
- */
53
- acquire(): Promise<void>;
54
- /**
55
- * Releases the mutex, allowing another waiting task to proceed.
56
- *
57
- * @example
58
- * ```typescript
59
- * const mutex = new Mutex();
60
- * await mutex.acquire();
61
- * try {
62
- * // This code section cannot be executed simultaneously
63
- * } finally {
64
- * mutex.release(); // Allows another waiting task to proceed.
65
- * }
66
- * ```
67
- */
68
- release(): void;
69
- }
70
- //#endregion
71
- export { Mutex as t };
72
- //# sourceMappingURL=mutex-DCyX7B66.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutex-DCyX7B66.d.cts","names":[],"sources":["../src/mutex.ts"],"sourcesContent":[],"mappings":";;AAyCA;;;;;;;;;;;;;;;;;;;;cAAa,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAkCa"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./semaphore-4zJqtox8.mjs";var t=class{semaphore=new e(1);get isLocked(){return this.semaphore.available===0}async acquire(){return this.semaphore.acquire()}release(){this.semaphore.release()}};export{t};
2
- //# sourceMappingURL=mutex-TqoKHosg.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mutex-TqoKHosg.mjs","names":[],"sources":["../src/mutex.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 { Semaphore } from \"./semaphore\";\n\n/**\n * A Mutex (mutual exclusion lock) for async functions.\n * It allows only one async task to access a critical section at a time.\n *\n * @example\n * ```typescript\n * const mutex = new Mutex();\n *\n * async function criticalSection() {\n * await mutex.acquire();\n * try {\n * // This code section cannot be executed simultaneously\n * } finally {\n * mutex.release();\n * }\n * }\n *\n * criticalSection();\n * criticalSection(); // This call will wait until the first call releases the mutex.\n * ```\n */\nexport class Mutex {\n private semaphore = new Semaphore(1);\n\n /**\n * Checks if the mutex is currently locked.\n * @returns True if the mutex is locked, false otherwise.\n *\n * @example\n * const mutex = new Mutex();\n * console.log(mutex.isLocked); // false\n * await mutex.acquire();\n * console.log(mutex.isLocked); // true\n * mutex.release();\n * console.log(mutex.isLocked); // false\n */\n public get isLocked(): boolean {\n return this.semaphore.available === 0;\n }\n\n /**\n * Acquires the mutex, blocking if necessary until it is available.\n * @returns A promise that resolves when the mutex is acquired.\n *\n * @example\n * ```typescript\n * const mutex = new Mutex();\n * await mutex.acquire();\n * try {\n * // This code section cannot be executed simultaneously\n * } finally {\n * mutex.release();\n * }\n * ```\n */\n public async acquire(): Promise<void> {\n return this.semaphore.acquire();\n }\n\n /**\n * Releases the mutex, allowing another waiting task to proceed.\n *\n * @example\n * ```typescript\n * const mutex = new Mutex();\n * await mutex.acquire();\n * try {\n * // This code section cannot be executed simultaneously\n * } finally {\n * mutex.release(); // Allows another waiting task to proceed.\n * }\n * ```\n */\n public release(): void {\n this.semaphore.release();\n }\n}\n"],"mappings":"6CAyCA,IAAa,EAAb,KAAmB,CACjB,UAAoB,IAAI,EAAU,EAAE,CAcpC,IAAW,UAAoB,CAC7B,OAAO,KAAK,UAAU,YAAc,EAkBtC,MAAa,SAAyB,CACpC,OAAO,KAAK,UAAU,SAAS,CAiBjC,SAAuB,CACrB,KAAK,UAAU,SAAS"}
@@ -1,2 +0,0 @@
1
- const e=e=>{};async function t(e){}export{e as n,t};
2
- //# sourceMappingURL=noop-B7OetrhD.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noop-B7OetrhD.mjs","names":[],"sources":["../src/noop.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\n/**\n * A no op, or no-op, function for no operation\n *\n * @remarks Please see {@link https://dev.to/praneshpsg239/noop-in-javascript-478h | this article} for more information.\n *\n * @param _params - An optional parameter passed to the function. It can be anything (but is not used in any way)\n */\nexport const noop = (_params?: unknown): void => {};\n\n/**\n * An asynchronous no-operation function that does nothing.\n * This can be used as a placeholder or default function.\n *\n * @example\n * asyncNoop(); // Does nothing\n *\n * @returns This function returns a Promise that resolves to undefined.\n */\nexport async function asyncNoop(_params?: unknown): Promise<void> {}\n"],"mappings":"AAwBA,MAAa,EAAQ,GAA4B,GAWjD,eAAsB,EAAU,EAAkC"}
@@ -1,22 +0,0 @@
1
- //#region src/noop.d.ts
2
- /**
3
- * A no op, or no-op, function for no operation
4
- *
5
- * @remarks Please see {@link https://dev.to/praneshpsg239/noop-in-javascript-478h | this article} for more information.
6
- *
7
- * @param _params - An optional parameter passed to the function. It can be anything (but is not used in any way)
8
- */
9
- declare const noop: (_params?: unknown) => void;
10
- /**
11
- * An asynchronous no-operation function that does nothing.
12
- * This can be used as a placeholder or default function.
13
- *
14
- * @example
15
- * asyncNoop(); // Does nothing
16
- *
17
- * @returns This function returns a Promise that resolves to undefined.
18
- */
19
- declare function asyncNoop(_params?: unknown): Promise<void>;
20
- //#endregion
21
- export { noop as n, asyncNoop as t };
22
- //# sourceMappingURL=noop-BnXKMH6Z.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"noop-BnXKMH6Z.d.mts","names":[],"sources":["../src/noop.ts"],"sourcesContent":[],"mappings":";;AAwBA;AAWA;;;;;cAXa;;;;;;;;;;iBAWS,SAAA,qBAA8B"}