@design-edito/tools 0.4.23 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/agnostic/arrays/find-duplicates/index.d.ts +1 -1
  2. package/agnostic/arrays/find-duplicates/index.js +3 -2
  3. package/agnostic/arrays/index.d.ts +1 -1
  4. package/agnostic/arrays/index.js +1 -1
  5. package/agnostic/arrays/is-array-of/index.d.ts +1 -1
  6. package/agnostic/arrays/is-array-of/index.js +3 -1
  7. package/agnostic/arrays/make/index.d.ts +1 -1
  8. package/agnostic/arrays/random-pick/index.js +2 -1
  9. package/agnostic/arrays/shuffle/index.js +1 -1
  10. package/agnostic/booleans/is-falsy/index.d.ts +3 -3
  11. package/agnostic/booleans/is-falsy/index.js +2 -3
  12. package/agnostic/colors/channels/index.d.ts +16 -16
  13. package/agnostic/colors/channels/index.js +15 -15
  14. package/agnostic/colors/contrast/index.d.ts +6 -6
  15. package/agnostic/colors/contrast/index.js +6 -8
  16. package/agnostic/colors/contrast/index.test.js +1 -1
  17. package/agnostic/colors/convert/index.d.ts +43 -43
  18. package/agnostic/colors/convert/index.js +60 -55
  19. package/agnostic/colors/distance/index.d.ts +5 -5
  20. package/agnostic/colors/distance/index.js +5 -4
  21. package/agnostic/colors/grayscale/index.d.ts +3 -3
  22. package/agnostic/colors/grayscale/index.js +3 -3
  23. package/agnostic/colors/index.d.ts +3 -3
  24. package/agnostic/colors/index.js +3 -3
  25. package/agnostic/colors/invert/index.d.ts +4 -4
  26. package/agnostic/colors/invert/index.js +3 -3
  27. package/agnostic/colors/lerp/index.d.ts +6 -7
  28. package/agnostic/colors/lerp/index.js +5 -6
  29. package/agnostic/colors/luminance/index.d.ts +4 -4
  30. package/agnostic/colors/luminance/index.js +3 -3
  31. package/agnostic/colors/palette/index.d.ts +3 -3
  32. package/agnostic/colors/palette/index.js +4 -3
  33. package/agnostic/colors/rotate/index.d.ts +4 -4
  34. package/agnostic/colors/rotate/index.js +4 -4
  35. package/agnostic/colors/tidy/index.d.ts +2 -2
  36. package/agnostic/colors/tidy/index.js +2 -2
  37. package/agnostic/colors/typechecks/index.d.ts +21 -21
  38. package/agnostic/colors/typechecks/index.js +22 -21
  39. package/agnostic/colors/types.d.ts +33 -33
  40. package/agnostic/css/bem/index.d.ts +11 -11
  41. package/agnostic/css/bem/index.js +9 -8
  42. package/agnostic/css/clss/index.d.ts +1 -1
  43. package/agnostic/css/clss/index.js +1 -1
  44. package/agnostic/css/index.d.ts +2 -2
  45. package/agnostic/css/index.js +2 -2
  46. package/agnostic/css/is-valid-css-class-name/index.d.ts +2 -2
  47. package/agnostic/css/is-valid-css-class-name/index.js +3 -3
  48. package/agnostic/css/scale/index.d.ts +18 -18
  49. package/agnostic/css/scale/index.js +18 -18
  50. package/agnostic/css/styles-set/index.d.ts +1 -1
  51. package/agnostic/css/styles-set/index.js +0 -2
  52. package/agnostic/errors/register/index.d.ts +1 -1
  53. package/agnostic/errors/register/index.js +3 -0
  54. package/agnostic/errors/unknown-to-string/index.d.ts +2 -2
  55. package/agnostic/errors/unknown-to-string/index.js +2 -3
  56. package/agnostic/html/deep-select/index.d.ts +3 -3
  57. package/agnostic/html/deep-select/index.js +11 -7
  58. package/agnostic/html/get-node-ancestors/index.d.ts +3 -3
  59. package/agnostic/html/get-node-ancestors/index.js +3 -3
  60. package/agnostic/html/get-position-inside-parent/index.d.ts +2 -2
  61. package/agnostic/html/get-position-inside-parent/index.js +2 -2
  62. package/agnostic/html/hyper-json/cast/index.d.ts +1 -1
  63. package/agnostic/html/hyper-json/cast/index.js +6 -5
  64. package/agnostic/html/hyper-json/method/index.d.ts +2 -2
  65. package/agnostic/html/hyper-json/serialize/index.d.ts +1 -1
  66. package/agnostic/html/hyper-json/serialize/index.js +9 -5
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +1 -0
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.d.ts +1 -1
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.d.ts +1 -1
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +1 -0
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.d.ts +1 -1
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +1 -0
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.d.ts +1 -1
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +1 -1
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.d.ts +1 -1
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.d.ts +1 -1
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +0 -1
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.d.ts +1 -1
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +1 -0
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.d.ts +1 -1
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.d.ts +1 -1
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +1 -2
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.d.ts +1 -1
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.d.ts +1 -1
  85. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +4 -0
  86. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.d.ts +1 -1
  87. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +1 -0
  88. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +12 -12
  89. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +12 -12
  90. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.d.ts +1 -1
  91. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +1 -0
  92. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.d.ts +1 -1
  93. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.d.ts +1 -1
  94. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.d.ts +1 -1
  95. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.d.ts +1 -1
  96. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.d.ts +1 -1
  97. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.d.ts +1 -1
  98. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +1 -0
  99. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.d.ts +1 -1
  100. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +2 -0
  101. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.d.ts +1 -1
  102. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.d.ts +1 -1
  103. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +1 -0
  104. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.d.ts +1 -1
  105. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +3 -0
  106. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +1 -0
  107. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.d.ts +1 -1
  108. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +1 -0
  109. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.d.ts +1 -1
  110. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +1 -0
  111. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +1 -0
  112. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.d.ts +1 -1
  113. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +1 -0
  114. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +3 -0
  115. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.d.ts +1 -1
  116. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +4 -2
  117. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.d.ts +1 -1
  118. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +5 -0
  119. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.d.ts +1 -1
  120. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +1 -0
  121. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.d.ts +1 -1
  122. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.d.ts +1 -1
  123. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.d.ts +1 -1
  124. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +3 -2
  125. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.d.ts +1 -1
  126. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.d.ts +1 -1
  127. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.d.ts +1 -1
  128. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.d.ts +1 -1
  129. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.d.ts +1 -1
  130. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.d.ts +1 -1
  131. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.d.ts +1 -1
  132. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.d.ts +1 -1
  133. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +1 -1
  134. package/agnostic/html/hyper-json/smart-tags/index.d.ts +1 -1
  135. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.d.ts +1 -1
  136. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.d.ts +1 -1
  137. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.d.ts +1 -1
  138. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.d.ts +1 -1
  139. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +3 -1
  140. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +2 -2
  141. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +2 -2
  142. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.d.ts +1 -1
  143. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +1 -0
  144. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.d.ts +1 -1
  145. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.d.ts +1 -1
  146. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.d.ts +1 -1
  147. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +3 -1
  148. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +2 -2
  149. package/agnostic/html/hyper-json/transformer/index.d.ts +5 -5
  150. package/agnostic/html/hyper-json/tree/index.d.ts +1 -1
  151. package/agnostic/html/hyper-json/tree/index.js +14 -8
  152. package/agnostic/html/hyper-json/types/index.d.ts +11 -11
  153. package/agnostic/html/hyper-json/utils/index.d.ts +3 -3
  154. package/agnostic/html/hyper-json/utils/index.js +8 -3
  155. package/agnostic/html/index.d.ts +4 -4
  156. package/agnostic/html/index.js +4 -4
  157. package/agnostic/html/insert-node/index.d.ts +4 -4
  158. package/agnostic/html/insert-node/index.js +4 -4
  159. package/agnostic/html/replace-in-element/index.d.ts +3 -3
  160. package/agnostic/html/replace-in-element/index.js +4 -4
  161. package/agnostic/html/selector-to-element/index.d.ts +2 -2
  162. package/agnostic/html/selector-to-element/index.js +11 -11
  163. package/agnostic/html/string-to-nodes/index.d.ts +3 -3
  164. package/agnostic/html/string-to-nodes/index.js +3 -3
  165. package/agnostic/html/watch-selection/index.d.ts +4 -5
  166. package/agnostic/html/watch-selection/index.js +5 -6
  167. package/agnostic/index.d.ts +3 -3
  168. package/agnostic/index.js +3 -3
  169. package/agnostic/misc/assert/index.js +3 -1
  170. package/agnostic/misc/cast/index.d.ts +16 -16
  171. package/agnostic/misc/cast/index.js +18 -18
  172. package/agnostic/misc/connection/index.d.ts +5 -5
  173. package/agnostic/misc/connection/index.js +4 -2
  174. package/agnostic/misc/crawler/index.d.ts +18 -18
  175. package/agnostic/misc/crawler/index.js +10 -9
  176. package/agnostic/misc/crawler/index.test.js +2 -2
  177. package/agnostic/misc/crossenv/detect-runtime/index.d.ts +1 -1
  178. package/agnostic/misc/crossenv/detect-runtime/index.js +10 -11
  179. package/agnostic/misc/crossenv/window/index.d.ts +6 -6
  180. package/agnostic/misc/crossenv/window/index.js +6 -5
  181. package/agnostic/misc/data-size/index.js +2 -0
  182. package/agnostic/misc/index.d.ts +3 -3
  183. package/agnostic/misc/index.js +3 -3
  184. package/agnostic/misc/is-constructor-function/index.d.ts +2 -2
  185. package/agnostic/misc/is-constructor-function/index.js +3 -2
  186. package/agnostic/misc/is-constructor-function/index.test.js +2 -2
  187. package/agnostic/misc/is-nullish/index.d.ts +5 -5
  188. package/agnostic/misc/is-nullish/index.js +5 -4
  189. package/agnostic/misc/logs/index.d.ts +1 -1
  190. package/agnostic/misc/logs/index.js +1 -1
  191. package/agnostic/misc/logs/logger/index.js +2 -2
  192. package/agnostic/misc/lorem-ipsum/index.js +4 -4
  193. package/agnostic/misc/normalize-extension/index.d.ts +3 -3
  194. package/agnostic/misc/normalize-extension/index.js +4 -4
  195. package/agnostic/misc/outcome/index.d.ts +14 -14
  196. package/agnostic/misc/outcome/index.js +6 -4
  197. package/agnostic/numbers/absolute-modulo/index.d.ts +3 -3
  198. package/agnostic/numbers/absolute-modulo/index.js +3 -3
  199. package/agnostic/numbers/approximate-rational/index.d.ts +6 -6
  200. package/agnostic/numbers/approximate-rational/index.js +9 -9
  201. package/agnostic/numbers/clamp/index.d.ts +4 -4
  202. package/agnostic/numbers/clamp/index.js +4 -4
  203. package/agnostic/numbers/geometric-progressions/index.d.ts +5 -5
  204. package/agnostic/numbers/geometric-progressions/index.js +7 -5
  205. package/agnostic/numbers/geometric-progressions/index.test.js +2 -2
  206. package/agnostic/numbers/index.d.ts +3 -3
  207. package/agnostic/numbers/index.js +3 -3
  208. package/agnostic/numbers/interpolate/index.d.ts +8 -8
  209. package/agnostic/numbers/interpolate/index.js +8 -8
  210. package/agnostic/numbers/round/index.d.ts +9 -9
  211. package/agnostic/numbers/round/index.js +9 -9
  212. package/agnostic/objects/deep-get-property/index.d.ts +4 -4
  213. package/agnostic/objects/deep-get-property/index.js +3 -3
  214. package/agnostic/objects/enums/is-in-enum/index.d.ts +3 -3
  215. package/agnostic/objects/enums/is-in-enum/index.js +3 -3
  216. package/agnostic/objects/flatten-getters/index.d.ts +2 -2
  217. package/agnostic/objects/flatten-getters/index.js +3 -2
  218. package/agnostic/objects/index.d.ts +4 -4
  219. package/agnostic/objects/index.js +4 -4
  220. package/agnostic/objects/is-object/index.d.ts +4 -4
  221. package/agnostic/objects/is-object/index.js +4 -4
  222. package/agnostic/objects/is-record/index.d.ts +2 -2
  223. package/agnostic/objects/is-record/index.js +2 -2
  224. package/agnostic/objects/record-format/index.d.ts +9 -9
  225. package/agnostic/objects/record-format/index.js +8 -3
  226. package/agnostic/objects/record-map/index.d.ts +4 -4
  227. package/agnostic/objects/record-map/index.js +5 -3
  228. package/agnostic/objects/sort-keys/index.d.ts +3 -3
  229. package/agnostic/objects/sort-keys/index.js +4 -3
  230. package/agnostic/objects/validation/index.d.ts +3 -3
  231. package/agnostic/objects/validation/index.js +4 -3
  232. package/agnostic/optim/memoize/index.d.ts +2 -2
  233. package/agnostic/optim/memoize/index.js +4 -2
  234. package/agnostic/optim/throttle-debounce/index.d.ts +2 -2
  235. package/agnostic/optim/throttle-debounce/index.js +7 -6
  236. package/agnostic/optim/throttle-debounce/types.d.ts +2 -1
  237. package/agnostic/random/index.d.ts +1 -1
  238. package/agnostic/random/index.js +1 -1
  239. package/agnostic/random/random/index.d.ts +7 -8
  240. package/agnostic/random/random/index.js +3 -3
  241. package/agnostic/random/uuid/index.d.ts +6 -6
  242. package/agnostic/random/uuid/index.js +6 -6
  243. package/agnostic/regexps/index.d.ts +30 -60
  244. package/agnostic/regexps/index.js +27 -26
  245. package/agnostic/sanitization/file-name/index.d.ts +3 -3
  246. package/agnostic/sanitization/file-name/index.js +10 -10
  247. package/agnostic/sanitization/html/index.d.ts +6 -6
  248. package/agnostic/sanitization/html/index.js +9 -6
  249. package/agnostic/sanitization/index.d.ts +1 -1
  250. package/agnostic/sanitization/index.js +1 -1
  251. package/agnostic/sanitization/path/index.d.ts +2 -2
  252. package/agnostic/sanitization/path/index.js +2 -2
  253. package/agnostic/sanitization/user-input/index.js +1 -0
  254. package/agnostic/strings/char-codes/index.js +2 -6
  255. package/agnostic/strings/index.d.ts +3 -3
  256. package/agnostic/strings/index.js +3 -3
  257. package/agnostic/strings/normalize-indent/index.js +2 -2
  258. package/agnostic/strings/parse-table/index.d.ts +13 -13
  259. package/agnostic/strings/parse-table/index.js +31 -16
  260. package/agnostic/strings/replace-all/index.d.ts +1 -1
  261. package/agnostic/strings/replace-all/index.js +1 -0
  262. package/agnostic/strings/to-alphanum/index.js +2 -2
  263. package/agnostic/strings/trim/index.js +2 -2
  264. package/agnostic/time/dates/format-date/index.js +3 -1
  265. package/agnostic/time/dates/index.d.ts +1 -0
  266. package/agnostic/time/dates/index.js +1 -0
  267. package/agnostic/time/dates/to-french-republican/index.d.ts +16 -0
  268. package/agnostic/time/dates/to-french-republican/index.js +82 -0
  269. package/agnostic/time/dates/to-french-republican/index.test.d.ts +1 -0
  270. package/agnostic/time/dates/to-french-republican/index.test.js +112 -0
  271. package/agnostic/time/dates/to-french-republican/types.d.ts +91 -0
  272. package/agnostic/time/dates/to-french-republican/types.js +47 -0
  273. package/agnostic/time/dates/to-french-republican/utils.d.ts +32 -0
  274. package/agnostic/time/dates/to-french-republican/utils.js +155 -0
  275. package/agnostic/time/duration/index.js +2 -0
  276. package/agnostic/time/index.d.ts +2 -2
  277. package/agnostic/time/index.js +2 -2
  278. package/agnostic/time/timeout/index.js +9 -9
  279. package/agnostic/time/transitions/index.js +8 -7
  280. package/components/BeforeAfter/index.controlled.js +1 -0
  281. package/components/BeforeAfter/index.js +4 -0
  282. package/components/Button/index.d.ts +1 -1
  283. package/components/Clippable/index.js +1 -0
  284. package/components/Drawer/index.js +1 -1
  285. package/components/Gallery/index.js +2 -1
  286. package/components/Gallery/utils.js +5 -1
  287. package/components/Iframe/index.js +3 -0
  288. package/components/Image/index.js +2 -0
  289. package/components/Input/index.controlled.js +3 -2
  290. package/components/IntersectionObserver/index.js +5 -2
  291. package/components/JsonEditor/index.js +1 -1
  292. package/components/Overlayer/index.d.ts +1 -1
  293. package/components/ScrollListener/utils.d.ts +29 -0
  294. package/components/Select/index.controlled.js +3 -2
  295. package/components/Sequencer/index.controlled.js +1 -1
  296. package/components/Subtitles/index.js +3 -1
  297. package/components/Subtitles/types.d.ts +14 -0
  298. package/components/Subtitles/utils.d.ts +19 -15
  299. package/components/Subtitles/utils.js +29 -24
  300. package/components/Textarea/index.controlled.js +3 -2
  301. package/components/UIModule/index.js +3 -1
  302. package/components/Video/index.controlled.d.ts +1 -1
  303. package/components/Video/index.controlled.js +11 -10
  304. package/components/Video/index.js +27 -20
  305. package/components/Video/utils.d.ts +1 -1
  306. package/components/Video/utils.js +11 -2
  307. package/components/index.d.ts +5 -5
  308. package/components/index.js +5 -5
  309. package/components/utils/types.d.ts +5 -0
  310. package/node/@aws-s3/storage/directory/copy-dir/index.d.ts +9 -9
  311. package/node/@aws-s3/storage/directory/copy-dir/index.js +15 -12
  312. package/node/@aws-s3/storage/directory/list/index.d.ts +5 -5
  313. package/node/@aws-s3/storage/directory/list/index.js +5 -5
  314. package/node/@aws-s3/storage/directory/move-dir/index.d.ts +6 -6
  315. package/node/@aws-s3/storage/directory/move-dir/index.js +11 -7
  316. package/node/@aws-s3/storage/directory/remove-dir/index.d.ts +5 -5
  317. package/node/@aws-s3/storage/directory/remove-dir/index.js +5 -5
  318. package/node/@aws-s3/storage/file/copy/index.d.ts +8 -8
  319. package/node/@aws-s3/storage/file/copy/index.js +12 -9
  320. package/node/@aws-s3/storage/file/download/index.d.ts +6 -6
  321. package/node/@aws-s3/storage/file/download/index.js +6 -5
  322. package/node/@aws-s3/storage/file/exists/index.d.ts +6 -6
  323. package/node/@aws-s3/storage/file/exists/index.js +15 -12
  324. package/node/@aws-s3/storage/file/move/index.d.ts +9 -9
  325. package/node/@aws-s3/storage/file/move/index.js +18 -15
  326. package/node/@aws-s3/storage/file/remove/index.d.ts +5 -5
  327. package/node/@aws-s3/storage/file/remove/index.js +16 -11
  328. package/node/@aws-s3/storage/file/stat/index.d.ts +5 -5
  329. package/node/@aws-s3/storage/file/stat/index.js +10 -7
  330. package/node/@aws-s3/storage/file/upload/index.d.ts +7 -7
  331. package/node/@aws-s3/storage/file/upload/index.js +11 -9
  332. package/node/@express/@multer/index.d.ts +12 -12
  333. package/node/@express/@multer/index.js +27 -25
  334. package/node/@google-cloud/storage/bucket/get-metadata/index.d.ts +4 -4
  335. package/node/@google-cloud/storage/bucket/get-metadata/index.js +3 -3
  336. package/node/@google-cloud/storage/directory/copy-dir/index.d.ts +7 -7
  337. package/node/@google-cloud/storage/directory/copy-dir/index.js +6 -6
  338. package/node/@google-cloud/storage/directory/index.d.ts +2 -2
  339. package/node/@google-cloud/storage/directory/index.js +2 -2
  340. package/node/@google-cloud/storage/directory/list/index.d.ts +6 -6
  341. package/node/@google-cloud/storage/directory/list/index.js +5 -5
  342. package/node/@google-cloud/storage/directory/move-dir/index.d.ts +6 -6
  343. package/node/@google-cloud/storage/directory/move-dir/index.js +5 -5
  344. package/node/@google-cloud/storage/directory/remove-dir/index.d.ts +7 -7
  345. package/node/@google-cloud/storage/directory/remove-dir/index.js +6 -6
  346. package/node/@google-cloud/storage/file/copy/index.d.ts +9 -9
  347. package/node/@google-cloud/storage/file/copy/index.js +8 -8
  348. package/node/@google-cloud/storage/file/download/index.d.ts +7 -7
  349. package/node/@google-cloud/storage/file/download/index.js +5 -5
  350. package/node/@google-cloud/storage/file/exists/index.d.ts +7 -7
  351. package/node/@google-cloud/storage/file/exists/index.js +6 -6
  352. package/node/@google-cloud/storage/file/generate-signed-url/index.d.ts +7 -7
  353. package/node/@google-cloud/storage/file/generate-signed-url/index.js +6 -6
  354. package/node/@google-cloud/storage/file/get-metadata/index.d.ts +5 -5
  355. package/node/@google-cloud/storage/file/get-metadata/index.js +4 -4
  356. package/node/@google-cloud/storage/file/get-permissions/index.d.ts +6 -6
  357. package/node/@google-cloud/storage/file/get-permissions/index.js +4 -4
  358. package/node/@google-cloud/storage/file/index.d.ts +3 -3
  359. package/node/@google-cloud/storage/file/index.js +3 -3
  360. package/node/@google-cloud/storage/file/move/index.d.ts +10 -10
  361. package/node/@google-cloud/storage/file/move/index.js +9 -9
  362. package/node/@google-cloud/storage/file/remove/index.d.ts +5 -5
  363. package/node/@google-cloud/storage/file/remove/index.js +4 -4
  364. package/node/@google-cloud/storage/file/revoke-signed-urls/index.d.ts +5 -5
  365. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +5 -5
  366. package/node/@google-cloud/storage/file/stat/index.d.ts +5 -5
  367. package/node/@google-cloud/storage/file/stat/index.js +4 -4
  368. package/node/@google-cloud/storage/file/update-metadata/index.d.ts +7 -7
  369. package/node/@google-cloud/storage/file/update-metadata/index.js +5 -5
  370. package/node/@google-cloud/storage/file/upload/index.d.ts +7 -7
  371. package/node/@google-cloud/storage/file/upload/index.js +5 -5
  372. package/node/@google-cloud/storage/index.d.ts +1 -1
  373. package/node/@google-cloud/storage/index.js +1 -1
  374. package/node/cloud-storage/clients/index.d.ts +8 -8
  375. package/node/cloud-storage/clients/index.js +8 -8
  376. package/node/cloud-storage/operations/copy-dir/index.d.ts +22 -22
  377. package/node/cloud-storage/operations/copy-dir/index.js +5 -5
  378. package/node/cloud-storage/operations/copy-file/index.d.ts +22 -22
  379. package/node/cloud-storage/operations/copy-file/index.js +5 -5
  380. package/node/cloud-storage/operations/download-file/index.d.ts +19 -19
  381. package/node/cloud-storage/operations/download-file/index.js +6 -6
  382. package/node/cloud-storage/operations/exists-file/index.d.ts +15 -26
  383. package/node/cloud-storage/operations/exists-file/index.js +4 -4
  384. package/node/cloud-storage/operations/index.d.ts +2 -2
  385. package/node/cloud-storage/operations/index.js +2 -2
  386. package/node/cloud-storage/operations/list-dir/index.d.ts +15 -25
  387. package/node/cloud-storage/operations/list-dir/index.js +4 -4
  388. package/node/cloud-storage/operations/move-dir/index.d.ts +22 -22
  389. package/node/cloud-storage/operations/move-dir/index.js +5 -5
  390. package/node/cloud-storage/operations/move-file/index.d.ts +22 -22
  391. package/node/cloud-storage/operations/move-file/index.js +5 -5
  392. package/node/cloud-storage/operations/remove-dir/index.d.ts +18 -18
  393. package/node/cloud-storage/operations/remove-dir/index.js +4 -4
  394. package/node/cloud-storage/operations/remove-file/index.d.ts +18 -18
  395. package/node/cloud-storage/operations/remove-file/index.js +4 -4
  396. package/node/cloud-storage/operations/stat-file/index.d.ts +16 -16
  397. package/node/cloud-storage/operations/stat-file/index.js +4 -4
  398. package/node/cloud-storage/operations/upload-file/index.d.ts +23 -23
  399. package/node/cloud-storage/operations/upload-file/index.js +5 -5
  400. package/node/encryption/@aes-256-gcm/buffer/index.d.ts +6 -6
  401. package/node/encryption/@aes-256-gcm/buffer/index.js +6 -6
  402. package/node/encryption/@aes-256-gcm/uint8-array/index.d.ts +8 -8
  403. package/node/encryption/@aes-256-gcm/uint8-array/index.js +8 -8
  404. package/node/encryption/key/index.d.ts +6 -6
  405. package/node/encryption/key/index.js +6 -6
  406. package/node/files/get-size/index.d.ts +56 -0
  407. package/node/files/get-size/index.js +167 -0
  408. package/node/files/get-size/index.test.d.ts +1 -0
  409. package/node/files/get-size/index.test.js +143 -0
  410. package/node/files/index.d.ts +1 -0
  411. package/node/files/index.js +1 -0
  412. package/node/files/read-write/index.d.ts +16 -16
  413. package/node/files/subpaths/index.d.ts +8 -8
  414. package/node/files/subpaths/index.js +11 -13
  415. package/node/ftps/directory/copy-dir/index.d.ts +6 -6
  416. package/node/ftps/directory/copy-dir/index.js +6 -6
  417. package/node/ftps/directory/index.d.ts +1 -1
  418. package/node/ftps/directory/index.js +1 -1
  419. package/node/ftps/directory/list/index.d.ts +4 -4
  420. package/node/ftps/directory/list/index.js +3 -3
  421. package/node/ftps/directory/move-dir/index.d.ts +6 -6
  422. package/node/ftps/directory/move-dir/index.js +5 -5
  423. package/node/ftps/directory/remove-dir/index.d.ts +6 -6
  424. package/node/ftps/directory/remove-dir/index.js +8 -7
  425. package/node/ftps/file/copy/index.d.ts +6 -6
  426. package/node/ftps/file/copy/index.js +5 -5
  427. package/node/ftps/file/download/index.d.ts +6 -6
  428. package/node/ftps/file/download/index.js +5 -5
  429. package/node/ftps/file/exists/index.d.ts +3 -3
  430. package/node/ftps/file/exists/index.js +3 -3
  431. package/node/ftps/file/index.d.ts +2 -2
  432. package/node/ftps/file/index.js +2 -2
  433. package/node/ftps/file/move/index.d.ts +8 -8
  434. package/node/ftps/file/move/index.js +11 -9
  435. package/node/ftps/file/remove/index.d.ts +5 -5
  436. package/node/ftps/file/remove/index.js +4 -4
  437. package/node/ftps/file/stat/index.d.ts +4 -4
  438. package/node/ftps/file/stat/index.js +4 -4
  439. package/node/ftps/file/upload/index.d.ts +7 -7
  440. package/node/ftps/file/upload/index.js +5 -5
  441. package/node/images/create/index.d.ts +2 -2
  442. package/node/images/create/index.js +1 -1
  443. package/node/images/format/index.d.ts +8 -8
  444. package/node/images/index.d.ts +1 -1
  445. package/node/images/index.js +1 -1
  446. package/node/images/metadata/index.d.ts +2 -2
  447. package/node/images/transform/index.d.ts +2 -2
  448. package/node/images/transform/index.js +12 -2
  449. package/node/images/transform/operations/blur/index.d.ts +2 -2
  450. package/node/images/transform/operations/blur/index.js +1 -0
  451. package/node/images/transform/operations/brighten/index.d.ts +2 -2
  452. package/node/images/transform/operations/brighten/index.js +1 -0
  453. package/node/images/transform/operations/extend/index.d.ts +2 -2
  454. package/node/images/transform/operations/extend/index.js +1 -0
  455. package/node/images/transform/operations/extract/index.d.ts +2 -2
  456. package/node/images/transform/operations/extract/index.js +1 -0
  457. package/node/images/transform/operations/flatten/index.d.ts +2 -2
  458. package/node/images/transform/operations/flatten/index.js +1 -0
  459. package/node/images/transform/operations/flip/index.d.ts +2 -2
  460. package/node/images/transform/operations/flip/index.js +1 -0
  461. package/node/images/transform/operations/flop/index.d.ts +2 -2
  462. package/node/images/transform/operations/flop/index.js +1 -0
  463. package/node/images/transform/operations/hue/index.d.ts +2 -2
  464. package/node/images/transform/operations/hue/index.js +1 -0
  465. package/node/images/transform/operations/index.d.ts +2 -2
  466. package/node/images/transform/operations/index.js +2 -2
  467. package/node/images/transform/operations/level/index.d.ts +2 -2
  468. package/node/images/transform/operations/level/index.js +1 -0
  469. package/node/images/transform/operations/lighten/index.d.ts +2 -2
  470. package/node/images/transform/operations/lighten/index.js +1 -0
  471. package/node/images/transform/operations/normalize/index.d.ts +2 -2
  472. package/node/images/transform/operations/normalize/index.js +1 -0
  473. package/node/images/transform/operations/overlay/index.d.ts +2 -2
  474. package/node/images/transform/operations/resize/index.d.ts +2 -2
  475. package/node/images/transform/operations/resize/index.js +1 -0
  476. package/node/images/transform/operations/rotate/index.d.ts +2 -2
  477. package/node/images/transform/operations/rotate/index.js +1 -0
  478. package/node/images/transform/operations/saturate/index.d.ts +2 -2
  479. package/node/images/transform/operations/saturate/index.js +1 -0
  480. package/node/images/types.d.ts +41 -2
  481. package/node/images/utils/index.d.ts +10 -5
  482. package/node/index.d.ts +2 -2
  483. package/node/index.js +2 -2
  484. package/node/process/on-exit/index.js +2 -4
  485. package/node/process/prompt-continue/index.d.ts +3 -3
  486. package/node/process/prompt-continue/index.js +4 -3
  487. package/node/process/spawner/index.js +7 -6
  488. package/node/sftp/directory/copy-dir/index.d.ts +6 -6
  489. package/node/sftp/directory/copy-dir/index.js +6 -6
  490. package/node/sftp/directory/index.d.ts +1 -1
  491. package/node/sftp/directory/index.js +1 -1
  492. package/node/sftp/directory/list/index.d.ts +3 -3
  493. package/node/sftp/directory/list/index.js +4 -4
  494. package/node/sftp/directory/move-dir/index.d.ts +7 -7
  495. package/node/sftp/directory/move-dir/index.js +7 -7
  496. package/node/sftp/directory/remove-dir/index.d.ts +5 -5
  497. package/node/sftp/directory/remove-dir/index.js +8 -7
  498. package/node/sftp/file/copy/index.d.ts +6 -6
  499. package/node/sftp/file/copy/index.js +5 -5
  500. package/node/sftp/file/download/index.d.ts +7 -7
  501. package/node/sftp/file/download/index.js +5 -5
  502. package/node/sftp/file/exists/index.d.ts +3 -3
  503. package/node/sftp/file/exists/index.js +3 -3
  504. package/node/sftp/file/index.d.ts +2 -2
  505. package/node/sftp/file/index.js +2 -2
  506. package/node/sftp/file/move/index.d.ts +7 -7
  507. package/node/sftp/file/move/index.js +7 -7
  508. package/node/sftp/file/remove/index.d.ts +4 -4
  509. package/node/sftp/file/remove/index.js +4 -4
  510. package/node/sftp/file/stat/index.d.ts +3 -3
  511. package/node/sftp/file/stat/index.js +6 -5
  512. package/node/sftp/file/upload/index.d.ts +6 -6
  513. package/node/sftp/file/upload/index.js +5 -5
  514. package/package.json +47 -39
@@ -4,8 +4,8 @@ import type { UnwrapPromise } from '../../typescript/types.js';
4
4
  *
5
5
  * @template InputType - The type of the input value the formatter receives.
6
6
  * @template OutputType - The type of the value the formatter returns (or resolves to if Promise).
7
- * @param {InputType} val - The input value to transform.
8
- * @returns {OutputType | Promise<OutputType>} The transformed value or a Promise resolving to it.
7
+ * @param val - The input value to transform.
8
+ * @returns The transformed value or a Promise resolving to it.
9
9
  */
10
10
  export type FormatterFunc<InputType, OutputType> = (val: InputType) => OutputType | Promise<OutputType>;
11
11
  /**
@@ -14,8 +14,8 @@ export type FormatterFunc<InputType, OutputType> = (val: InputType) => OutputTyp
14
14
  *
15
15
  * @template InputObject - The type of the input object being formatted.
16
16
  */
17
- export type Format<InputObject extends Record<PropertyKey, any>> = {
18
- [Key in keyof InputObject]?: FormatterFunc<InputObject[Key], any>;
17
+ export type Format<InputObject extends Record<PropertyKey, unknown>> = {
18
+ [Key in keyof InputObject]?: FormatterFunc<InputObject[Key], unknown>;
19
19
  };
20
20
  /**
21
21
  * The resulting object after applying all formatters and unwrapping any returned Promises.
@@ -23,15 +23,15 @@ export type Format<InputObject extends Record<PropertyKey, any>> = {
23
23
  * @template FormatObject - The type of the format object mapping keys to formatter functions.
24
24
  */
25
25
  export type Formatted<FormatObject> = {
26
- [Key in keyof FormatObject]: FormatObject[Key] extends FormatterFunc<any, any> ? UnwrapPromise<ReturnType<FormatObject[Key]>> : never;
26
+ [Key in keyof FormatObject]: FormatObject[Key] extends FormatterFunc<unknown, unknown> ? UnwrapPromise<ReturnType<FormatObject[Key]>> : never;
27
27
  };
28
28
  /**
29
29
  * Applies a set of formatter functions to the corresponding properties of an input object.
30
30
  *
31
31
  * @template InputObject - The type of the input object.
32
32
  * @template FormatObject - The type of the format object mapping keys to formatter functions.
33
- * @param {InputObject} input - The object whose properties are to be formatted.
34
- * @param {FormatObject} format - An object containing formatter functions for each key.
35
- * @returns {Promise<Formatted<FormatObject>>} A Promise resolving to the formatted object with all promises unwrapped.
33
+ * @param input - The object whose properties are to be formatted.
34
+ * @param format - An object containing formatter functions for each key.
35
+ * @returns A Promise resolving to the formatted object with all promises unwrapped.
36
36
  */
37
- export declare function recordFormat<InputObject extends Record<PropertyKey, any>, FormatObject extends Format<InputObject>>(input: InputObject, format: FormatObject): Promise<Formatted<FormatObject>>;
37
+ export declare function recordFormat<InputObject extends Record<PropertyKey, unknown>, FormatObject extends Format<InputObject>>(input: InputObject, format: FormatObject): Promise<Formatted<FormatObject>>;
@@ -3,17 +3,22 @@
3
3
  *
4
4
  * @template InputObject - The type of the input object.
5
5
  * @template FormatObject - The type of the format object mapping keys to formatter functions.
6
- * @param {InputObject} input - The object whose properties are to be formatted.
7
- * @param {FormatObject} format - An object containing formatter functions for each key.
8
- * @returns {Promise<Formatted<FormatObject>>} A Promise resolving to the formatted object with all promises unwrapped.
6
+ * @param input - The object whose properties are to be formatted.
7
+ * @param format - An object containing formatter functions for each key.
8
+ * @returns A Promise resolving to the formatted object with all promises unwrapped.
9
9
  */
10
10
  export async function recordFormat(input, format) {
11
11
  const result = {};
12
12
  for (const key in format) {
13
+ // eslint-disable-next-line prefer-object-has-own
14
+ if (!Object.prototype.hasOwnProperty.call(format, key))
15
+ continue;
13
16
  const formatter = format[key];
14
17
  if (formatter === undefined)
15
18
  continue;
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-type-assertion, @typescript-eslint/no-explicit-any
16
20
  result[key] = await formatter(input[key]);
17
21
  }
22
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- result was populated with a formatted value for every key of format in the loop above
18
23
  return result;
19
24
  }
@@ -3,10 +3,10 @@
3
3
  *
4
4
  * @template Input - The type of the input record.
5
5
  * @template MappedValue - The type of the mapped values.
6
- * @param {Input} record - The record whose values will be mapped.
7
- * @param {(value: Input[keyof Input], key: keyof Input) => MappedValue} mapper - Function to transform each value.
8
- * @returns {{ [K in keyof Input]: MappedValue }} A new record with the same keys and mapped values.
6
+ * @param record - The record whose values will be mapped.
7
+ * @param mapper - Function to transform each value.
8
+ * @returns A new record with the same keys and mapped values.
9
9
  */
10
- export declare function recordMap<Input extends Record<string, any>, MappedValue>(record: Input, mapper: (value: Input[keyof Input], key: keyof Input) => MappedValue): {
10
+ export declare function recordMap<Input extends Record<string, unknown>, MappedValue>(record: Input, mapper: (value: Input[keyof Input], key: keyof Input) => MappedValue): {
11
11
  [K in keyof Input]: MappedValue;
12
12
  };
@@ -3,16 +3,18 @@
3
3
  *
4
4
  * @template Input - The type of the input record.
5
5
  * @template MappedValue - The type of the mapped values.
6
- * @param {Input} record - The record whose values will be mapped.
7
- * @param {(value: Input[keyof Input], key: keyof Input) => MappedValue} mapper - Function to transform each value.
8
- * @returns {{ [K in keyof Input]: MappedValue }} A new record with the same keys and mapped values.
6
+ * @param record - The record whose values will be mapped.
7
+ * @param mapper - Function to transform each value.
8
+ * @returns A new record with the same keys and mapped values.
9
9
  */
10
10
  export function recordMap(record, mapper) {
11
11
  const result = {};
12
12
  for (const key in record) {
13
+ // eslint-disable-next-line prefer-object-has-own
13
14
  if (Object.prototype.hasOwnProperty.call(record, key)) {
14
15
  result[key] = mapper(record[key], key);
15
16
  }
16
17
  }
18
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- result was populated with a mapped value for every key of Input in the loop above
17
19
  return result;
18
20
  }
@@ -2,9 +2,9 @@
2
2
  * Returns a new object with the keys sorted according to the provided sorter.
3
3
  *
4
4
  * @template T - The type of the input object.
5
- * @param {T} obj - The object whose keys should be sorted.
6
- * @param {(a: keyof T, b: keyof T) => number} [sorter] - Optional function used to compare keys for sorting. Defaults to alphabetical order.
7
- * @returns {{ [K in keyof T]: T[K] }} A new object with the same keys and values as the input, but sorted by key.
5
+ * @param obj - The object whose keys should be sorted.
6
+ * @param [sorter] - Optional function used to compare keys for sorting. Defaults to alphabetical order.
7
+ * @returns A new object with the same keys and values as the input, but sorted by key.
8
8
  */
9
9
  export declare function sortKeys<T extends Record<string, unknown>>(obj: T, sorter?: (a: keyof T, b: keyof T) => number): {
10
10
  [K in keyof T]: T[K];
@@ -2,9 +2,9 @@
2
2
  * Returns a new object with the keys sorted according to the provided sorter.
3
3
  *
4
4
  * @template T - The type of the input object.
5
- * @param {T} obj - The object whose keys should be sorted.
6
- * @param {(a: keyof T, b: keyof T) => number} [sorter] - Optional function used to compare keys for sorting. Defaults to alphabetical order.
7
- * @returns {{ [K in keyof T]: T[K] }} A new object with the same keys and values as the input, but sorted by key.
5
+ * @param obj - The object whose keys should be sorted.
6
+ * @param [sorter] - Optional function used to compare keys for sorting. Defaults to alphabetical order.
7
+ * @returns A new object with the same keys and values as the input, but sorted by key.
8
8
  */
9
9
  export function sortKeys(obj, sorter = (a, b) => String(a).localeCompare(String(b))) {
10
10
  const out = {};
@@ -12,5 +12,6 @@ export function sortKeys(obj, sorter = (a, b) => String(a).localeCompare(String(
12
12
  for (const key of keys.sort(sorter)) {
13
13
  out[key] = obj[key];
14
14
  }
15
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- out was populated with every key of T in the loop above
15
16
  return out;
16
17
  }
@@ -4,8 +4,8 @@
4
4
  * Performs a shallow equality check for each property in `partial`.
5
5
  *
6
6
  * @template T - The type of the full object.
7
- * @param {T} obj - The object to validate.
8
- * @param {Partial<T>} partial - The partial object with key-value pairs to check.
9
- * @returns {boolean} `true` if all entries in `partial` match those in `obj`, otherwise `false`.
7
+ * @param obj - The object to validate.
8
+ * @param partial - The partial object with key-value pairs to check.
9
+ * @returns `true` if all entries in `partial` match those in `obj`, otherwise `false`.
10
10
  */
11
11
  export declare function fromPartial<T extends object>(obj: T, partial: Partial<T>): boolean;
@@ -11,12 +11,13 @@
11
11
  * Performs a shallow equality check for each property in `partial`.
12
12
  *
13
13
  * @template T - The type of the full object.
14
- * @param {T} obj - The object to validate.
15
- * @param {Partial<T>} partial - The partial object with key-value pairs to check.
16
- * @returns {boolean} `true` if all entries in `partial` match those in `obj`, otherwise `false`.
14
+ * @param obj - The object to validate.
15
+ * @param partial - The partial object with key-value pairs to check.
16
+ * @returns `true` if all entries in `partial` match those in `obj`, otherwise `false`.
17
17
  */
18
18
  export function fromPartial(obj, partial) {
19
19
  return Object.entries(partial).every(([key, val]) => {
20
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- key comes from Object.entries(partial), so it's always a key of T
20
21
  return obj[key] === val;
21
22
  });
22
23
  }
@@ -5,8 +5,8 @@ type BasicFunc = (...args: any[]) => any;
5
5
  * Only performs shallow equality checks on arguments (strict equality `===`).
6
6
  *
7
7
  * @template T - The type of the function to memoize.
8
- * @param {T} toMemoizeFunc - The function to memoize.
9
- * @returns {T} A memoized version of the input function.
8
+ * @param toMemoizeFunc - The function to memoize.
9
+ * @returns A memoized version of the input function.
10
10
  */
11
11
  export declare function memoize<T extends BasicFunc>(toMemoizeFunc: T): T;
12
12
  export {};
@@ -4,8 +4,8 @@
4
4
  * Only performs shallow equality checks on arguments (strict equality `===`).
5
5
  *
6
6
  * @template T - The type of the function to memoize.
7
- * @param {T} toMemoizeFunc - The function to memoize.
8
- * @returns {T} A memoized version of the input function.
7
+ * @param toMemoizeFunc - The function to memoize.
8
+ * @returns A memoized version of the input function.
9
9
  */
10
10
  export function memoize(toMemoizeFunc) {
11
11
  let cachedArgs;
@@ -16,10 +16,12 @@ export function memoize(toMemoizeFunc) {
16
16
  && args.every((arg, i) => arg === cachedArgs?.[i]);
17
17
  if (argsMatch && cachedResult !== undefined)
18
18
  return cachedResult.value;
19
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
19
20
  const result = toMemoizeFunc(...args);
20
21
  cachedArgs = args;
21
22
  cachedResult = { value: result };
22
23
  return result;
23
24
  };
25
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- memoizedFunc has the same call signature as T by construction
24
26
  return memoizedFunc;
25
27
  }
@@ -1,6 +1,6 @@
1
1
  type BasicFunction = (...args: any[]) => any;
2
2
  type ThrottledResult<T extends BasicFunction> = {
3
- throttled: (...args: any[]) => {
3
+ throttled: (...args: unknown[]) => {
4
4
  returnValue: ReturnType<T> | undefined;
5
5
  lastExecutedOn: number;
6
6
  delayMs: number;
@@ -15,7 +15,7 @@ type ThrottledResult<T extends BasicFunction> = {
15
15
  */
16
16
  export declare function throttle<T extends BasicFunction = BasicFunction>(toThrottleFunc: T, delayMs: number): ThrottledResult<T>;
17
17
  type DebounceResult<T extends BasicFunction> = {
18
- debounced: (...args: any[]) => {
18
+ debounced: (...args: unknown[]) => {
19
19
  returnValue: ReturnType<T> | undefined;
20
20
  lastExecutedOn: number;
21
21
  delayMs: number;
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment */
1
2
  /**
2
3
  * Returns a throttled version of the function passed as an argument
3
4
  * @param toThrottleFunc - The function that has to be throttled
@@ -20,19 +21,19 @@ export function throttle(toThrottleFunc, delayMs) {
20
21
  const msTillNextExecution = nextExecutionTimestamp - now;
21
22
  nextExecutionTimeout = setTimeout(() => {
22
23
  nextExecutionTimeout = null;
23
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
24
24
  const returnValue = toThrottleFunc(...lastArgs);
25
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
25
26
  lastReturnValue = returnValue;
26
27
  lastExecutedOn = now;
27
- }, msTillNextExecution) ?? null;
28
+ }, msTillNextExecution);
28
29
  }
29
30
  /** The throttled function */
30
31
  function throttled(...args) {
31
32
  const now = Date.now();
32
33
  lastArgs = args;
33
34
  if (now - lastExecutedOn >= delayMs) {
34
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
35
35
  const returnValue = toThrottleFunc(...lastArgs);
36
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
36
37
  lastReturnValue = returnValue;
37
38
  lastExecutedOn = now;
38
39
  return {
@@ -85,11 +86,11 @@ export function debounce(toDebounceFunc, delayMs) {
85
86
  const msTillNextExecution = nextExecutionTimestamp - now;
86
87
  nextExecutionTimeout = setTimeout(() => {
87
88
  nextExecutionTimeout = null;
88
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
89
89
  const returnValue = toDebounceFunc(...lastArgs);
90
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
90
91
  lastReturnValue = returnValue;
91
92
  lastExecutedOn = now;
92
- }, msTillNextExecution) ?? null;
93
+ }, msTillNextExecution);
93
94
  }
94
95
  /** The debounced function */
95
96
  function debounced(...args) {
@@ -97,8 +98,8 @@ export function debounce(toDebounceFunc, delayMs) {
97
98
  lastArgs = args;
98
99
  if (now - lastCalledOn >= currentDelayMs) {
99
100
  lastCalledOn = now;
100
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
101
101
  const returnValue = toDebounceFunc(...lastArgs);
102
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
102
103
  lastReturnValue = returnValue;
103
104
  lastExecutedOn = now;
104
105
  return {
@@ -1,2 +1,3 @@
1
- import { type setTimeout } from 'node:timers';
1
+ import type { setTimeout } from 'node:timers';
2
+ /** The return type of Node.js `setTimeout`, used for typed timeout handles. */
2
3
  export type NodeTimeout = ReturnType<typeof setTimeout>;
@@ -1,3 +1,3 @@
1
- export * as hexChar from './hex-char/index.js'
2
1
  export * as random from './random/index.js'
3
2
  export * as uuid from './uuid/index.js'
3
+ export * as hexChar from './hex-char/index.js'
@@ -1,3 +1,3 @@
1
- export * as hexChar from './hex-char/index.js'
2
1
  export * as random from './random/index.js'
3
2
  export * as uuid from './uuid/index.js'
3
+ export * as hexChar from './hex-char/index.js'
@@ -1,17 +1,16 @@
1
1
  /**
2
2
  * Generates a random number within a range.
3
3
  *
4
- * @param {number} [bound1=1] - The lower bound if `bound2` is provided, otherwise the upper bound (min is 0).
5
- * @param {number} [bound2] - Optional upper bound. If omitted, the range is `[0, bound1)`.
6
- * @returns {number | undefined} A random floating-point number in `[min, max)`, or `undefined` if bounds are invalid.
4
+ * @param [bound1=1] - The lower bound if `bound2` is provided, otherwise the upper bound (min is 0).
5
+ * @param [bound2] - Optional upper bound. If omitted, the range is `[0, bound1)`.
6
+ * @returns A random floating-point number in `[min, max)`, or `undefined` if bounds are invalid.
7
7
  */
8
- export declare function random(bound1?: number): number | undefined;
9
- export declare function random(bound1?: number, bound2?: number | undefined): number | undefined;
8
+ export declare function random(bound1?: number, bound2?: number): number | undefined;
10
9
  /**
11
10
  * Generates a random integer within a range.
12
11
  *
13
- * @param {number} [bound1=1] - The lower bound if `bound2` is provided, otherwise the upper bound (min is 0).
14
- * @param {number} [bound2] - Optional upper bound. If omitted, the range is `[0, bound1)`.
15
- * @returns {number | undefined} A random integer in `[min, max)`, or `undefined` if bounds are invalid.
12
+ * @param [bound1=1] - The lower bound if `bound2` is provided, otherwise the upper bound (min is 0).
13
+ * @param [bound2] - Optional upper bound. If omitted, the range is `[0, bound1)`.
14
+ * @returns A random integer in `[min, max)`, or `undefined` if bounds are invalid.
16
15
  */
17
16
  export declare function randomInt(...args: Parameters<typeof random>): number | undefined;
@@ -9,9 +9,9 @@ export function random(bound1 = 1, bound2) {
9
9
  /**
10
10
  * Generates a random integer within a range.
11
11
  *
12
- * @param {number} [bound1=1] - The lower bound if `bound2` is provided, otherwise the upper bound (min is 0).
13
- * @param {number} [bound2] - Optional upper bound. If omitted, the range is `[0, bound1)`.
14
- * @returns {number | undefined} A random integer in `[min, max)`, or `undefined` if bounds are invalid.
12
+ * @param [bound1=1] - The lower bound if `bound2` is provided, otherwise the upper bound (min is 0).
13
+ * @param [bound2] - Optional upper bound. If omitted, the range is `[0, bound1)`.
14
+ * @returns A random integer in `[min, max)`, or `undefined` if bounds are invalid.
15
15
  */
16
16
  export function randomInt(...args) {
17
17
  const rand = random(...args);
@@ -1,21 +1,21 @@
1
1
  /**
2
2
  * Generates a random hexadecimal string of given length.
3
3
  *
4
- * @param {number} [length=4] - Number of hex characters.
5
- * @returns {string} Random hexadecimal string.
4
+ * @param [length=4] - Number of hex characters.
5
+ * @returns Random hexadecimal string.
6
6
  */
7
7
  export declare function randomHash(length?: number): string;
8
8
  /**
9
9
  * Generates a random hexadecimal string following a pattern.
10
10
  *
11
- * @param {number[]} pattern - Array of segment lengths.
12
- * @param {string} [joiner='-'] - String used to join the segments.
13
- * @returns {string} Random hexadecimal string with segments joined by `joiner`.
11
+ * @param pattern - Array of segment lengths.
12
+ * @param [joiner='-'] - String used to join the segments.
13
+ * @returns Random hexadecimal string with segments joined by `joiner`.
14
14
  */
15
15
  export declare function randomHashPattern(pattern: number[], joiner?: string): string;
16
16
  /**
17
17
  * Generates a random UUID-like string (version 4 style, not RFC-compliant).
18
18
  *
19
- * @returns {string} Random UUID-like string.
19
+ * @returns Random UUID-like string.
20
20
  */
21
21
  export declare function randomUUID(): string;
@@ -2,8 +2,8 @@ import { randomHexChar } from '../hex-char/index.js';
2
2
  /**
3
3
  * Generates a random hexadecimal string of given length.
4
4
  *
5
- * @param {number} [length=4] - Number of hex characters.
6
- * @returns {string} Random hexadecimal string.
5
+ * @param [length=4] - Number of hex characters.
6
+ * @returns Random hexadecimal string.
7
7
  */
8
8
  export function randomHash(length = 4) {
9
9
  return new Array(length)
@@ -14,9 +14,9 @@ export function randomHash(length = 4) {
14
14
  /**
15
15
  * Generates a random hexadecimal string following a pattern.
16
16
  *
17
- * @param {number[]} pattern - Array of segment lengths.
18
- * @param {string} [joiner='-'] - String used to join the segments.
19
- * @returns {string} Random hexadecimal string with segments joined by `joiner`.
17
+ * @param pattern - Array of segment lengths.
18
+ * @param [joiner='-'] - String used to join the segments.
19
+ * @returns Random hexadecimal string with segments joined by `joiner`.
20
20
  */
21
21
  export function randomHashPattern(pattern, joiner = '-') {
22
22
  return pattern.map(randomHash).join(joiner);
@@ -24,7 +24,7 @@ export function randomHashPattern(pattern, joiner = '-') {
24
24
  /**
25
25
  * Generates a random UUID-like string (version 4 style, not RFC-compliant).
26
26
  *
27
- * @returns {string} Random UUID-like string.
27
+ * @returns Random UUID-like string.
28
28
  */
29
29
  export function randomUUID() {
30
30
  return randomHashPattern([8, 4, 4, 4, 12]);
@@ -1,89 +1,59 @@
1
1
  /**
2
2
  * Merges multiple flag strings into a single string containing each flag only once.
3
3
  *
4
- * @param {...string[]} flagStrs - Flag strings to merge.
5
- * @returns {string} Merged flags string.
4
+ * @param flagStrs - Flag strings to merge.
5
+ * @returns Merged flags string.
6
6
  */
7
7
  export declare function mergeFlags(...flagStrs: string[]): string;
8
8
  /**
9
9
  * Returns a new RegExp with combined flags.
10
10
  *
11
- * @param {RegExp} regexp - The original regular expression.
12
- * @param {string} flags - Flags to add.
13
- * @returns {RegExp} New regular expression with combined flags.
11
+ * @param regexp - The original regular expression.
12
+ * @param flags - Flags to add.
13
+ * @returns New regular expression with combined flags.
14
14
  */
15
15
  export declare function setFlags(regexp: RegExp, flags: string): RegExp;
16
16
  /**
17
17
  * Anchors a RegExp to the start of a string.
18
18
  *
19
- * @param {RegExp} regexp - The original regular expression.
20
- * @param {string} [flags='g'] - Optional flags to apply.
21
- * @returns {RegExp} Anchored RegExp.
19
+ * @param regexp - The original regular expression.
20
+ * @param [flags='g'] - Optional flags to apply.
21
+ * @returns Anchored RegExp.
22
22
  */
23
23
  export declare function fromStart(regexp: RegExp, flags?: string): RegExp;
24
24
  /**
25
25
  * Anchors a RegExp to the end of a string.
26
26
  *
27
- * @param {RegExp} regexp - The original regular expression.
28
- * @param {string} [flags='g'] - Optional flags to apply.
29
- * @returns {RegExp} Anchored RegExp.
27
+ * @param regexp - The original regular expression.
28
+ * @param [flags='g'] - Optional flags to apply.
29
+ * @returns Anchored RegExp.
30
30
  */
31
31
  export declare function toEnd(regexp: RegExp, flags?: string): RegExp;
32
32
  /**
33
33
  * Anchors a RegExp to match the entire string.
34
34
  *
35
- * @param {RegExp} regexp - The original regular expression.
36
- * @param {string} [flags='g'] - Optional flags to apply.
37
- * @returns {RegExp} Anchored RegExp.
35
+ * @param regexp - The original regular expression.
36
+ * @param [flags='g'] - Optional flags to apply.
37
+ * @returns Anchored RegExp.
38
38
  */
39
39
  export declare function fromStartToEnd(regexp: RegExp, flags?: string): RegExp;
40
- /**
41
- * Checks if a string starts with a pattern.
42
- *
43
- * @param string - The string to test.
44
- * @param regexp - The regular expression pattern.
45
- * @param [returnMatches=false] - If true, returns matches; otherwise, returns boolean.
46
- * @param [flags='g'] - Optional flags.
47
- * @returns {boolean | RegExpMatchArray | null} Boolean or match array based on `returnMatches`.
48
- */
49
- export declare function stringStartsWith(string: string, regexp: RegExp): boolean;
50
- export declare function stringStartsWith(string: string, regexp: RegExp, returnMatches: true): RegExpMatchArray | null;
51
- export declare function stringStartsWith(string: string, regexp: RegExp, returnMatches: false): boolean;
52
- export declare function stringStartsWith(string: string, regexp: RegExp, returnMatches: false, flags: string): boolean;
53
- export declare function stringStartsWith(string: string, regexp: RegExp, returnMatches: true, flags: string): RegExpMatchArray | null;
54
- /**
55
- * Checks if a string ends with a pattern.
56
- *
57
- * @param string - The string to test.
58
- * @param regexp - The regular expression pattern.
59
- * @param [returnMatches=false] - If true, returns matches; otherwise, returns boolean.
60
- * @param [flags='g'] - Optional flags.
61
- * @returns {boolean | RegExpMatchArray | null} Boolean or match array based on `returnMatches`.
62
- */
63
- export declare function stringEndsWith(string: string, regexp: RegExp): boolean;
64
- export declare function stringEndsWith(string: string, regexp: RegExp, returnMatches: true): RegExpMatchArray | null;
65
- export declare function stringEndsWith(string: string, regexp: RegExp, returnMatches: false): boolean;
66
- export declare function stringEndsWith(string: string, regexp: RegExp, returnMatches: false, flags: string): boolean;
67
- export declare function stringEndsWith(string: string, regexp: RegExp, returnMatches: true, flags: string): RegExpMatchArray | null;
68
- /**
69
- * Checks if a string fully matches a pattern.
70
- *
71
- * @param string - The string to test.
72
- * @param regexp - The regular expression pattern.
73
- * @param [returnMatches=false] - If true, returns matches; otherwise, returns boolean.
74
- * @param [flags='g'] - Optional flags.
75
- * @returns {boolean | RegExpMatchArray | null} Boolean or match array based on `returnMatches`.
76
- */
77
- export declare function stringIs(string: string, regexp: RegExp): boolean;
78
- export declare function stringIs(string: string, regexp: RegExp, returnMatches: true): RegExpMatchArray | null;
79
- export declare function stringIs(string: string, regexp: RegExp, returnMatches: false): boolean;
80
- export declare function stringIs(string: string, regexp: RegExp, returnMatches: false, flags: string): boolean;
81
- export declare function stringIs(string: string, regexp: RegExp, returnMatches: true, flags: string): RegExpMatchArray | null;
40
+ /** Returns `true` if `string` starts with `regexp`. */
41
+ export declare function stringStartsWith(string: string, regexp: RegExp, returnMatches?: false, flags?: string): boolean;
42
+ /** Returns the match array if `string` starts with `regexp` using `flags`, or `null` if not. */
43
+ export declare function stringStartsWith(string: string, regexp: RegExp, returnMatches: true, flags?: string): RegExpMatchArray | null;
44
+ /** Returns `true` if `string` ends with `regexp`, applying `flags`. */
45
+ export declare function stringEndsWith(string: string, regexp: RegExp, returnMatches?: false, flags?: string): boolean;
46
+ /** Returns the match array if `string` ends with `regexp` using `flags`, or `null` if not. */
47
+ export declare function stringEndsWith(string: string, regexp: RegExp, returnMatches: true, flags?: string): RegExpMatchArray | null;
48
+ /** Returns `true` if `string` fully matches `regexp`, applying `flags`. */
49
+ export declare function stringIs(string: string, regexp: RegExp, returnMatches?: false, flags?: string): boolean;
50
+ /** Returns the match array if `string` fully matches `regexp` using `flags`, or `null` if not. */
51
+ export declare function stringIs(string: string, regexp: RegExp, returnMatches: true, flags?: string): RegExpMatchArray | null;
82
52
  /**
83
53
  * Creates a RegExp that matches any of the provided strings.
84
54
  *
85
- * @param {string[]} strings - Strings to match.
86
- * @returns {RegExp} Regular expression matching all strings.
55
+ * @param strings - Strings to match.
56
+ * @returns Regular expression matching all strings.
87
57
  */
88
58
  export declare function fromStrings(strings: string[]): RegExp;
89
59
  /**
@@ -92,7 +62,7 @@ export declare function fromStrings(strings: string[]): RegExp;
92
62
  * - Other whitespace characters are normalized to `\\s`
93
63
  * - RegExp special characters (including backslash) are escaped
94
64
  *
95
- * @param {string} string - String to escape.
96
- * @returns {string} Escaped string.
65
+ * @param string - String to escape.
66
+ * @returns Escaped string.
97
67
  */
98
68
  export declare function escape(string: string): string;