@design-edito/tools 0.4.22 → 0.5.0

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 (505) 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/is-array-of/index.d.ts +1 -1
  4. package/agnostic/arrays/is-array-of/index.js +3 -1
  5. package/agnostic/arrays/make/index.d.ts +1 -1
  6. package/agnostic/arrays/random-pick/index.js +2 -1
  7. package/agnostic/arrays/shuffle/index.js +1 -1
  8. package/agnostic/booleans/is-falsy/index.d.ts +3 -3
  9. package/agnostic/booleans/is-falsy/index.js +2 -3
  10. package/agnostic/colors/channels/index.d.ts +16 -16
  11. package/agnostic/colors/channels/index.js +15 -15
  12. package/agnostic/colors/contrast/index.d.ts +6 -6
  13. package/agnostic/colors/contrast/index.js +6 -8
  14. package/agnostic/colors/contrast/index.test.js +1 -1
  15. package/agnostic/colors/convert/index.d.ts +43 -43
  16. package/agnostic/colors/convert/index.js +60 -55
  17. package/agnostic/colors/distance/index.d.ts +5 -5
  18. package/agnostic/colors/distance/index.js +5 -4
  19. package/agnostic/colors/grayscale/index.d.ts +3 -3
  20. package/agnostic/colors/grayscale/index.js +3 -3
  21. package/agnostic/colors/index.d.ts +1 -1
  22. package/agnostic/colors/index.js +1 -1
  23. package/agnostic/colors/invert/index.d.ts +4 -4
  24. package/agnostic/colors/invert/index.js +3 -3
  25. package/agnostic/colors/lerp/index.d.ts +6 -7
  26. package/agnostic/colors/lerp/index.js +5 -6
  27. package/agnostic/colors/luminance/index.d.ts +4 -4
  28. package/agnostic/colors/luminance/index.js +3 -3
  29. package/agnostic/colors/palette/index.d.ts +3 -3
  30. package/agnostic/colors/palette/index.js +4 -3
  31. package/agnostic/colors/rotate/index.d.ts +4 -4
  32. package/agnostic/colors/rotate/index.js +4 -4
  33. package/agnostic/colors/tidy/index.d.ts +2 -2
  34. package/agnostic/colors/tidy/index.js +2 -2
  35. package/agnostic/colors/typechecks/index.d.ts +21 -21
  36. package/agnostic/colors/typechecks/index.js +22 -21
  37. package/agnostic/colors/types.d.ts +33 -33
  38. package/agnostic/css/bem/index.d.ts +11 -11
  39. package/agnostic/css/bem/index.js +9 -8
  40. package/agnostic/css/clss/index.d.ts +1 -1
  41. package/agnostic/css/clss/index.js +1 -1
  42. package/agnostic/css/index.d.ts +1 -1
  43. package/agnostic/css/index.js +1 -1
  44. package/agnostic/css/is-valid-css-class-name/index.d.ts +2 -2
  45. package/agnostic/css/is-valid-css-class-name/index.js +3 -3
  46. package/agnostic/css/scale/index.d.ts +18 -18
  47. package/agnostic/css/scale/index.js +18 -18
  48. package/agnostic/css/styles-set/index.d.ts +1 -1
  49. package/agnostic/css/styles-set/index.js +0 -2
  50. package/agnostic/errors/register/index.d.ts +1 -1
  51. package/agnostic/errors/register/index.js +3 -0
  52. package/agnostic/errors/unknown-to-string/index.d.ts +2 -2
  53. package/agnostic/errors/unknown-to-string/index.js +2 -3
  54. package/agnostic/html/deep-select/index.d.ts +3 -3
  55. package/agnostic/html/deep-select/index.js +11 -7
  56. package/agnostic/html/get-node-ancestors/index.d.ts +3 -3
  57. package/agnostic/html/get-node-ancestors/index.js +3 -3
  58. package/agnostic/html/get-position-inside-parent/index.d.ts +2 -2
  59. package/agnostic/html/get-position-inside-parent/index.js +2 -2
  60. package/agnostic/html/hyper-json/cast/index.d.ts +1 -1
  61. package/agnostic/html/hyper-json/cast/index.js +6 -5
  62. package/agnostic/html/hyper-json/method/index.d.ts +2 -2
  63. package/agnostic/html/hyper-json/serialize/index.d.ts +1 -1
  64. package/agnostic/html/hyper-json/serialize/index.js +9 -5
  65. package/agnostic/html/hyper-json/smart-tags/coalesced/addclass/index.js +1 -0
  66. package/agnostic/html/hyper-json/smart-tags/coalesced/and/index.d.ts +1 -1
  67. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.d.ts +1 -1
  68. package/agnostic/html/hyper-json/smart-tags/coalesced/append/index.js +1 -0
  69. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.d.ts +1 -1
  70. package/agnostic/html/hyper-json/smart-tags/coalesced/at/index.js +1 -0
  71. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.d.ts +1 -1
  72. package/agnostic/html/hyper-json/smart-tags/coalesced/call/index.js +1 -1
  73. package/agnostic/html/hyper-json/smart-tags/coalesced/clone/index.d.ts +1 -1
  74. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.d.ts +1 -1
  75. package/agnostic/html/hyper-json/smart-tags/coalesced/deleteproperties/index.js +0 -1
  76. package/agnostic/html/hyper-json/smart-tags/coalesced/equals/index.d.ts +1 -1
  77. package/agnostic/html/hyper-json/smart-tags/coalesced/getattribute/index.js +1 -0
  78. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperties/index.d.ts +1 -1
  79. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.d.ts +1 -1
  80. package/agnostic/html/hyper-json/smart-tags/coalesced/getproperty/index.js +1 -2
  81. package/agnostic/html/hyper-json/smart-tags/coalesced/hjparse/index.d.ts +1 -1
  82. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.d.ts +1 -1
  83. package/agnostic/html/hyper-json/smart-tags/coalesced/hjstringify/index.js +4 -0
  84. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.d.ts +1 -1
  85. package/agnostic/html/hyper-json/smart-tags/coalesced/if/index.js +1 -0
  86. package/agnostic/html/hyper-json/smart-tags/coalesced/index.d.ts +11 -11
  87. package/agnostic/html/hyper-json/smart-tags/coalesced/index.js +11 -11
  88. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.d.ts +1 -1
  89. package/agnostic/html/hyper-json/smart-tags/coalesced/initialize/index.js +1 -0
  90. package/agnostic/html/hyper-json/smart-tags/coalesced/join/index.d.ts +1 -1
  91. package/agnostic/html/hyper-json/smart-tags/coalesced/length/index.d.ts +1 -1
  92. package/agnostic/html/hyper-json/smart-tags/coalesced/map/index.d.ts +1 -1
  93. package/agnostic/html/hyper-json/smart-tags/coalesced/or/index.d.ts +1 -1
  94. package/agnostic/html/hyper-json/smart-tags/coalesced/pickrandom/index.d.ts +1 -1
  95. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.d.ts +1 -1
  96. package/agnostic/html/hyper-json/smart-tags/coalesced/populate/index.js +1 -0
  97. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.d.ts +1 -1
  98. package/agnostic/html/hyper-json/smart-tags/coalesced/print/index.js +2 -0
  99. package/agnostic/html/hyper-json/smart-tags/coalesced/push/index.d.ts +1 -1
  100. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.d.ts +1 -1
  101. package/agnostic/html/hyper-json/smart-tags/coalesced/pusheach/index.js +1 -0
  102. package/agnostic/html/hyper-json/smart-tags/coalesced/recordtoarray/index.d.ts +1 -1
  103. package/agnostic/html/hyper-json/smart-tags/coalesced/removeattribute/index.js +3 -0
  104. package/agnostic/html/hyper-json/smart-tags/coalesced/removeclass/index.js +1 -0
  105. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.d.ts +1 -1
  106. package/agnostic/html/hyper-json/smart-tags/coalesced/renameproperty/index.js +1 -0
  107. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.d.ts +1 -1
  108. package/agnostic/html/hyper-json/smart-tags/coalesced/replace/index.js +1 -0
  109. package/agnostic/html/hyper-json/smart-tags/coalesced/select/index.js +1 -0
  110. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.d.ts +1 -1
  111. package/agnostic/html/hyper-json/smart-tags/coalesced/set/index.js +1 -0
  112. package/agnostic/html/hyper-json/smart-tags/coalesced/setattribute/index.js +3 -0
  113. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.d.ts +1 -1
  114. package/agnostic/html/hyper-json/smart-tags/coalesced/setproperty/index.js +4 -2
  115. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.d.ts +1 -1
  116. package/agnostic/html/hyper-json/smart-tags/coalesced/sorton/index.js +5 -0
  117. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.d.ts +1 -1
  118. package/agnostic/html/hyper-json/smart-tags/coalesced/spread/index.js +1 -0
  119. package/agnostic/html/hyper-json/smart-tags/coalesced/toarray/index.d.ts +1 -1
  120. package/agnostic/html/hyper-json/smart-tags/coalesced/toboolean/index.d.ts +1 -1
  121. package/agnostic/html/hyper-json/smart-tags/coalesced/toelement/index.d.ts +1 -1
  122. package/agnostic/html/hyper-json/smart-tags/coalesced/toggleclass/index.js +3 -2
  123. package/agnostic/html/hyper-json/smart-tags/coalesced/tonodelist/index.d.ts +1 -1
  124. package/agnostic/html/hyper-json/smart-tags/coalesced/tonull/index.d.ts +1 -1
  125. package/agnostic/html/hyper-json/smart-tags/coalesced/tonumber/index.d.ts +1 -1
  126. package/agnostic/html/hyper-json/smart-tags/coalesced/torecord/index.d.ts +1 -1
  127. package/agnostic/html/hyper-json/smart-tags/coalesced/toref/index.d.ts +1 -1
  128. package/agnostic/html/hyper-json/smart-tags/coalesced/tostring/index.d.ts +1 -1
  129. package/agnostic/html/hyper-json/smart-tags/coalesced/totext/index.d.ts +1 -1
  130. package/agnostic/html/hyper-json/smart-tags/coalesced/transformselected/index.d.ts +1 -1
  131. package/agnostic/html/hyper-json/smart-tags/coalesced/trim/index.js +1 -1
  132. package/agnostic/html/hyper-json/smart-tags/index.d.ts +1 -1
  133. package/agnostic/html/hyper-json/smart-tags/isolated/any/index.d.ts +1 -1
  134. package/agnostic/html/hyper-json/smart-tags/isolated/array/index.d.ts +1 -1
  135. package/agnostic/html/hyper-json/smart-tags/isolated/get/index.d.ts +1 -1
  136. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.d.ts +1 -1
  137. package/agnostic/html/hyper-json/smart-tags/isolated/guess/index.js +3 -1
  138. package/agnostic/html/hyper-json/smart-tags/isolated/index.d.ts +1 -1
  139. package/agnostic/html/hyper-json/smart-tags/isolated/index.js +1 -1
  140. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.d.ts +1 -1
  141. package/agnostic/html/hyper-json/smart-tags/isolated/nodelist/index.js +1 -0
  142. package/agnostic/html/hyper-json/smart-tags/isolated/null/index.d.ts +1 -1
  143. package/agnostic/html/hyper-json/smart-tags/isolated/record/index.d.ts +1 -1
  144. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.d.ts +1 -1
  145. package/agnostic/html/hyper-json/smart-tags/isolated/ref/index.js +3 -1
  146. package/agnostic/html/hyper-json/smart-tags/isolated/text/index.js +2 -2
  147. package/agnostic/html/hyper-json/transformer/index.d.ts +5 -5
  148. package/agnostic/html/hyper-json/tree/index.d.ts +1 -1
  149. package/agnostic/html/hyper-json/tree/index.js +14 -8
  150. package/agnostic/html/hyper-json/types/index.d.ts +11 -11
  151. package/agnostic/html/hyper-json/utils/index.d.ts +3 -3
  152. package/agnostic/html/hyper-json/utils/index.js +8 -3
  153. package/agnostic/html/index.d.ts +1 -1
  154. package/agnostic/html/index.js +1 -1
  155. package/agnostic/html/insert-node/index.d.ts +4 -4
  156. package/agnostic/html/insert-node/index.js +4 -4
  157. package/agnostic/html/replace-in-element/index.d.ts +3 -3
  158. package/agnostic/html/replace-in-element/index.js +4 -4
  159. package/agnostic/html/selector-to-element/index.d.ts +2 -2
  160. package/agnostic/html/selector-to-element/index.js +11 -11
  161. package/agnostic/html/string-to-nodes/index.d.ts +3 -3
  162. package/agnostic/html/string-to-nodes/index.js +3 -3
  163. package/agnostic/html/watch-selection/index.d.ts +4 -5
  164. package/agnostic/html/watch-selection/index.js +5 -6
  165. package/agnostic/misc/assert/index.js +3 -1
  166. package/agnostic/misc/cast/index.d.ts +16 -16
  167. package/agnostic/misc/cast/index.js +18 -18
  168. package/agnostic/misc/connection/index.d.ts +5 -5
  169. package/agnostic/misc/connection/index.js +4 -2
  170. package/agnostic/misc/crawler/index.d.ts +18 -18
  171. package/agnostic/misc/crawler/index.js +10 -9
  172. package/agnostic/misc/crawler/index.test.js +2 -2
  173. package/agnostic/misc/crossenv/detect-runtime/index.d.ts +1 -1
  174. package/agnostic/misc/crossenv/detect-runtime/index.js +10 -11
  175. package/agnostic/misc/crossenv/window/index.d.ts +6 -6
  176. package/agnostic/misc/crossenv/window/index.js +6 -5
  177. package/agnostic/misc/data-size/index.js +2 -0
  178. package/agnostic/misc/index.d.ts +3 -3
  179. package/agnostic/misc/index.js +3 -3
  180. package/agnostic/misc/is-constructor-function/index.d.ts +2 -2
  181. package/agnostic/misc/is-constructor-function/index.js +3 -2
  182. package/agnostic/misc/is-constructor-function/index.test.js +2 -2
  183. package/agnostic/misc/is-nullish/index.d.ts +5 -5
  184. package/agnostic/misc/is-nullish/index.js +5 -4
  185. package/agnostic/misc/logs/index.d.ts +1 -1
  186. package/agnostic/misc/logs/index.js +1 -1
  187. package/agnostic/misc/logs/logger/index.js +2 -2
  188. package/agnostic/misc/lorem-ipsum/index.js +4 -4
  189. package/agnostic/misc/normalize-extension/index.d.ts +3 -3
  190. package/agnostic/misc/normalize-extension/index.js +4 -4
  191. package/agnostic/misc/outcome/index.d.ts +14 -14
  192. package/agnostic/misc/outcome/index.js +6 -4
  193. package/agnostic/numbers/absolute-modulo/index.d.ts +3 -3
  194. package/agnostic/numbers/absolute-modulo/index.js +3 -3
  195. package/agnostic/numbers/approximate-rational/index.d.ts +6 -6
  196. package/agnostic/numbers/approximate-rational/index.js +9 -9
  197. package/agnostic/numbers/clamp/index.d.ts +4 -4
  198. package/agnostic/numbers/clamp/index.js +4 -4
  199. package/agnostic/numbers/geometric-progressions/index.d.ts +5 -5
  200. package/agnostic/numbers/geometric-progressions/index.js +7 -5
  201. package/agnostic/numbers/geometric-progressions/index.test.js +2 -2
  202. package/agnostic/numbers/index.d.ts +1 -1
  203. package/agnostic/numbers/index.js +1 -1
  204. package/agnostic/numbers/interpolate/index.d.ts +8 -8
  205. package/agnostic/numbers/interpolate/index.js +8 -8
  206. package/agnostic/numbers/round/index.d.ts +9 -9
  207. package/agnostic/numbers/round/index.js +9 -9
  208. package/agnostic/objects/deep-get-property/index.d.ts +4 -4
  209. package/agnostic/objects/deep-get-property/index.js +3 -3
  210. package/agnostic/objects/enums/is-in-enum/index.d.ts +3 -3
  211. package/agnostic/objects/enums/is-in-enum/index.js +3 -3
  212. package/agnostic/objects/flatten-getters/index.d.ts +2 -2
  213. package/agnostic/objects/flatten-getters/index.js +3 -2
  214. package/agnostic/objects/index.d.ts +1 -1
  215. package/agnostic/objects/index.js +1 -1
  216. package/agnostic/objects/is-object/index.d.ts +4 -4
  217. package/agnostic/objects/is-object/index.js +4 -4
  218. package/agnostic/objects/is-record/index.d.ts +2 -2
  219. package/agnostic/objects/is-record/index.js +2 -2
  220. package/agnostic/objects/record-format/index.d.ts +9 -9
  221. package/agnostic/objects/record-format/index.js +8 -3
  222. package/agnostic/objects/record-map/index.d.ts +4 -4
  223. package/agnostic/objects/record-map/index.js +5 -3
  224. package/agnostic/objects/sort-keys/index.d.ts +3 -3
  225. package/agnostic/objects/sort-keys/index.js +4 -3
  226. package/agnostic/objects/validation/index.d.ts +3 -3
  227. package/agnostic/objects/validation/index.js +4 -3
  228. package/agnostic/optim/memoize/index.d.ts +2 -2
  229. package/agnostic/optim/memoize/index.js +4 -2
  230. package/agnostic/optim/throttle-debounce/index.d.ts +2 -2
  231. package/agnostic/optim/throttle-debounce/index.js +7 -6
  232. package/agnostic/optim/throttle-debounce/types.d.ts +2 -1
  233. package/agnostic/random/random/index.d.ts +7 -8
  234. package/agnostic/random/random/index.js +3 -3
  235. package/agnostic/random/uuid/index.d.ts +6 -6
  236. package/agnostic/random/uuid/index.js +6 -6
  237. package/agnostic/regexps/index.d.ts +30 -60
  238. package/agnostic/regexps/index.js +27 -26
  239. package/agnostic/sanitization/file-name/index.d.ts +3 -3
  240. package/agnostic/sanitization/file-name/index.js +10 -10
  241. package/agnostic/sanitization/html/index.d.ts +6 -6
  242. package/agnostic/sanitization/html/index.js +9 -6
  243. package/agnostic/sanitization/path/index.d.ts +2 -2
  244. package/agnostic/sanitization/path/index.js +2 -2
  245. package/agnostic/sanitization/user-input/index.js +1 -0
  246. package/agnostic/strings/char-codes/index.js +2 -6
  247. package/agnostic/strings/index.d.ts +1 -1
  248. package/agnostic/strings/index.js +1 -1
  249. package/agnostic/strings/normalize-indent/index.js +2 -2
  250. package/agnostic/strings/parse-table/index.d.ts +13 -13
  251. package/agnostic/strings/parse-table/index.js +31 -16
  252. package/agnostic/strings/replace-all/index.d.ts +1 -1
  253. package/agnostic/strings/replace-all/index.js +1 -0
  254. package/agnostic/strings/to-alphanum/index.js +2 -2
  255. package/agnostic/strings/trim/index.js +2 -2
  256. package/agnostic/time/dates/format-date/index.js +3 -1
  257. package/agnostic/time/dates/index.d.ts +1 -0
  258. package/agnostic/time/dates/index.js +1 -0
  259. package/agnostic/time/dates/to-french-republican/index.d.ts +16 -0
  260. package/agnostic/time/dates/to-french-republican/index.js +82 -0
  261. package/agnostic/time/dates/to-french-republican/index.test.d.ts +1 -0
  262. package/agnostic/time/dates/to-french-republican/index.test.js +112 -0
  263. package/agnostic/time/dates/to-french-republican/types.d.ts +91 -0
  264. package/agnostic/time/dates/to-french-republican/types.js +47 -0
  265. package/agnostic/time/dates/to-french-republican/utils.d.ts +32 -0
  266. package/agnostic/time/dates/to-french-republican/utils.js +155 -0
  267. package/agnostic/time/duration/index.js +2 -0
  268. package/agnostic/time/index.d.ts +2 -2
  269. package/agnostic/time/index.js +2 -2
  270. package/agnostic/time/timeout/index.js +9 -9
  271. package/agnostic/time/transitions/index.js +8 -7
  272. package/components/BeforeAfter/index.controlled.js +1 -0
  273. package/components/BeforeAfter/index.js +4 -0
  274. package/components/Button/index.d.ts +2 -7
  275. package/components/Button/index.js +2 -2
  276. package/components/Clippable/index.js +1 -0
  277. package/components/Drawer/index.js +1 -1
  278. package/components/Gallery/index.js +2 -1
  279. package/components/Gallery/utils.js +5 -1
  280. package/components/Iframe/index.d.ts +16 -34
  281. package/components/Iframe/index.js +70 -27
  282. package/components/Image/index.js +2 -0
  283. package/components/Input/index.controlled.d.ts +42 -0
  284. package/components/Input/index.controlled.js +54 -0
  285. package/components/Input/index.d.ts +21 -17
  286. package/components/Input/index.js +27 -18
  287. package/components/IntersectionObserver/index.js +5 -2
  288. package/components/JsonEditor/index.js +1 -1
  289. package/components/Overlayer/index.d.ts +1 -1
  290. package/components/ScrollListener/utils.d.ts +29 -0
  291. package/components/Select/index.controlled.d.ts +43 -0
  292. package/components/Select/index.controlled.js +54 -0
  293. package/components/Select/index.d.ts +22 -18
  294. package/components/Select/index.js +27 -18
  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.d.ts +50 -0
  301. package/components/Textarea/index.controlled.js +75 -0
  302. package/components/Textarea/index.d.ts +22 -17
  303. package/components/Textarea/index.js +27 -18
  304. package/components/UIModule/index.js +3 -1
  305. package/components/Video/index.controlled.d.ts +1 -1
  306. package/components/Video/index.controlled.js +11 -10
  307. package/components/Video/index.js +27 -20
  308. package/components/Video/utils.d.ts +1 -1
  309. package/components/Video/utils.js +11 -2
  310. package/components/index.d.ts +1 -1
  311. package/components/index.js +1 -1
  312. package/components/utils/types.d.ts +5 -0
  313. package/node/@aws-s3/storage/directory/copy-dir/index.d.ts +9 -9
  314. package/node/@aws-s3/storage/directory/copy-dir/index.js +15 -12
  315. package/node/@aws-s3/storage/directory/index.d.ts +1 -1
  316. package/node/@aws-s3/storage/directory/index.js +1 -1
  317. package/node/@aws-s3/storage/directory/list/index.d.ts +5 -5
  318. package/node/@aws-s3/storage/directory/list/index.js +5 -5
  319. package/node/@aws-s3/storage/directory/move-dir/index.d.ts +6 -6
  320. package/node/@aws-s3/storage/directory/move-dir/index.js +11 -7
  321. package/node/@aws-s3/storage/directory/remove-dir/index.d.ts +5 -5
  322. package/node/@aws-s3/storage/directory/remove-dir/index.js +5 -5
  323. package/node/@aws-s3/storage/file/copy/index.d.ts +8 -8
  324. package/node/@aws-s3/storage/file/copy/index.js +12 -9
  325. package/node/@aws-s3/storage/file/download/index.d.ts +6 -6
  326. package/node/@aws-s3/storage/file/download/index.js +6 -5
  327. package/node/@aws-s3/storage/file/exists/index.d.ts +6 -6
  328. package/node/@aws-s3/storage/file/exists/index.js +15 -12
  329. package/node/@aws-s3/storage/file/index.d.ts +1 -1
  330. package/node/@aws-s3/storage/file/index.js +1 -1
  331. package/node/@aws-s3/storage/file/move/index.d.ts +9 -9
  332. package/node/@aws-s3/storage/file/move/index.js +18 -15
  333. package/node/@aws-s3/storage/file/remove/index.d.ts +5 -5
  334. package/node/@aws-s3/storage/file/remove/index.js +16 -11
  335. package/node/@aws-s3/storage/file/stat/index.d.ts +5 -5
  336. package/node/@aws-s3/storage/file/stat/index.js +10 -7
  337. package/node/@aws-s3/storage/file/upload/index.d.ts +7 -7
  338. package/node/@aws-s3/storage/file/upload/index.js +11 -9
  339. package/node/@express/@multer/index.d.ts +12 -12
  340. package/node/@express/@multer/index.js +27 -25
  341. package/node/@google-cloud/storage/bucket/get-metadata/index.d.ts +4 -4
  342. package/node/@google-cloud/storage/bucket/get-metadata/index.js +3 -3
  343. package/node/@google-cloud/storage/directory/copy-dir/index.d.ts +7 -7
  344. package/node/@google-cloud/storage/directory/copy-dir/index.js +6 -6
  345. package/node/@google-cloud/storage/directory/index.d.ts +1 -1
  346. package/node/@google-cloud/storage/directory/index.js +1 -1
  347. package/node/@google-cloud/storage/directory/list/index.d.ts +6 -6
  348. package/node/@google-cloud/storage/directory/list/index.js +5 -5
  349. package/node/@google-cloud/storage/directory/move-dir/index.d.ts +6 -6
  350. package/node/@google-cloud/storage/directory/move-dir/index.js +5 -5
  351. package/node/@google-cloud/storage/directory/remove-dir/index.d.ts +7 -7
  352. package/node/@google-cloud/storage/directory/remove-dir/index.js +6 -6
  353. package/node/@google-cloud/storage/file/copy/index.d.ts +9 -9
  354. package/node/@google-cloud/storage/file/copy/index.js +8 -8
  355. package/node/@google-cloud/storage/file/download/index.d.ts +7 -7
  356. package/node/@google-cloud/storage/file/download/index.js +5 -5
  357. package/node/@google-cloud/storage/file/exists/index.d.ts +7 -7
  358. package/node/@google-cloud/storage/file/exists/index.js +6 -6
  359. package/node/@google-cloud/storage/file/generate-signed-url/index.d.ts +7 -7
  360. package/node/@google-cloud/storage/file/generate-signed-url/index.js +6 -6
  361. package/node/@google-cloud/storage/file/get-metadata/index.d.ts +5 -5
  362. package/node/@google-cloud/storage/file/get-metadata/index.js +4 -4
  363. package/node/@google-cloud/storage/file/get-permissions/index.d.ts +6 -6
  364. package/node/@google-cloud/storage/file/get-permissions/index.js +4 -4
  365. package/node/@google-cloud/storage/file/index.d.ts +1 -1
  366. package/node/@google-cloud/storage/file/index.js +1 -1
  367. package/node/@google-cloud/storage/file/move/index.d.ts +10 -10
  368. package/node/@google-cloud/storage/file/move/index.js +9 -9
  369. package/node/@google-cloud/storage/file/remove/index.d.ts +5 -5
  370. package/node/@google-cloud/storage/file/remove/index.js +4 -4
  371. package/node/@google-cloud/storage/file/revoke-signed-urls/index.d.ts +5 -5
  372. package/node/@google-cloud/storage/file/revoke-signed-urls/index.js +5 -5
  373. package/node/@google-cloud/storage/file/stat/index.d.ts +5 -5
  374. package/node/@google-cloud/storage/file/stat/index.js +4 -4
  375. package/node/@google-cloud/storage/file/update-metadata/index.d.ts +7 -7
  376. package/node/@google-cloud/storage/file/update-metadata/index.js +5 -5
  377. package/node/@google-cloud/storage/file/upload/index.d.ts +7 -7
  378. package/node/@google-cloud/storage/file/upload/index.js +5 -5
  379. package/node/@google-cloud/storage/index.d.ts +1 -1
  380. package/node/@google-cloud/storage/index.js +1 -1
  381. package/node/cloud-storage/clients/index.d.ts +8 -8
  382. package/node/cloud-storage/clients/index.js +8 -8
  383. package/node/cloud-storage/operations/copy-dir/index.d.ts +22 -22
  384. package/node/cloud-storage/operations/copy-dir/index.js +5 -5
  385. package/node/cloud-storage/operations/copy-file/index.d.ts +22 -22
  386. package/node/cloud-storage/operations/copy-file/index.js +5 -5
  387. package/node/cloud-storage/operations/download-file/index.d.ts +19 -19
  388. package/node/cloud-storage/operations/download-file/index.js +6 -6
  389. package/node/cloud-storage/operations/exists-file/index.d.ts +15 -26
  390. package/node/cloud-storage/operations/exists-file/index.js +4 -4
  391. package/node/cloud-storage/operations/index.d.ts +1 -1
  392. package/node/cloud-storage/operations/index.js +1 -1
  393. package/node/cloud-storage/operations/list-dir/index.d.ts +15 -25
  394. package/node/cloud-storage/operations/list-dir/index.js +4 -4
  395. package/node/cloud-storage/operations/move-dir/index.d.ts +22 -22
  396. package/node/cloud-storage/operations/move-dir/index.js +5 -5
  397. package/node/cloud-storage/operations/move-file/index.d.ts +22 -22
  398. package/node/cloud-storage/operations/move-file/index.js +5 -5
  399. package/node/cloud-storage/operations/remove-dir/index.d.ts +18 -18
  400. package/node/cloud-storage/operations/remove-dir/index.js +4 -4
  401. package/node/cloud-storage/operations/remove-file/index.d.ts +18 -18
  402. package/node/cloud-storage/operations/remove-file/index.js +4 -4
  403. package/node/cloud-storage/operations/stat-file/index.d.ts +16 -16
  404. package/node/cloud-storage/operations/stat-file/index.js +4 -4
  405. package/node/cloud-storage/operations/upload-file/index.d.ts +23 -23
  406. package/node/cloud-storage/operations/upload-file/index.js +5 -5
  407. package/node/encryption/@aes-256-gcm/buffer/index.d.ts +6 -6
  408. package/node/encryption/@aes-256-gcm/buffer/index.js +6 -6
  409. package/node/encryption/@aes-256-gcm/uint8-array/index.d.ts +8 -8
  410. package/node/encryption/@aes-256-gcm/uint8-array/index.js +8 -8
  411. package/node/encryption/key/index.d.ts +6 -6
  412. package/node/encryption/key/index.js +6 -6
  413. package/node/files/read-write/index.d.ts +16 -16
  414. package/node/files/subpaths/index.d.ts +8 -8
  415. package/node/files/subpaths/index.js +11 -13
  416. package/node/ftps/directory/copy-dir/index.d.ts +6 -6
  417. package/node/ftps/directory/copy-dir/index.js +6 -6
  418. package/node/ftps/directory/list/index.d.ts +4 -4
  419. package/node/ftps/directory/list/index.js +3 -3
  420. package/node/ftps/directory/move-dir/index.d.ts +6 -6
  421. package/node/ftps/directory/move-dir/index.js +5 -5
  422. package/node/ftps/directory/remove-dir/index.d.ts +6 -6
  423. package/node/ftps/directory/remove-dir/index.js +8 -7
  424. package/node/ftps/file/copy/index.d.ts +6 -6
  425. package/node/ftps/file/copy/index.js +5 -5
  426. package/node/ftps/file/download/index.d.ts +6 -6
  427. package/node/ftps/file/download/index.js +5 -5
  428. package/node/ftps/file/exists/index.d.ts +3 -3
  429. package/node/ftps/file/exists/index.js +3 -3
  430. package/node/ftps/file/move/index.d.ts +8 -8
  431. package/node/ftps/file/move/index.js +11 -9
  432. package/node/ftps/file/remove/index.d.ts +5 -5
  433. package/node/ftps/file/remove/index.js +4 -4
  434. package/node/ftps/file/stat/index.d.ts +4 -4
  435. package/node/ftps/file/stat/index.js +4 -4
  436. package/node/ftps/file/upload/index.d.ts +7 -7
  437. package/node/ftps/file/upload/index.js +5 -5
  438. package/node/images/create/index.d.ts +2 -2
  439. package/node/images/create/index.js +1 -1
  440. package/node/images/format/index.d.ts +8 -8
  441. package/node/images/metadata/index.d.ts +2 -2
  442. package/node/images/transform/index.d.ts +2 -2
  443. package/node/images/transform/index.js +12 -2
  444. package/node/images/transform/operations/blur/index.d.ts +2 -2
  445. package/node/images/transform/operations/blur/index.js +1 -0
  446. package/node/images/transform/operations/brighten/index.d.ts +2 -2
  447. package/node/images/transform/operations/brighten/index.js +1 -0
  448. package/node/images/transform/operations/extend/index.d.ts +2 -2
  449. package/node/images/transform/operations/extend/index.js +1 -0
  450. package/node/images/transform/operations/extract/index.d.ts +2 -2
  451. package/node/images/transform/operations/extract/index.js +1 -0
  452. package/node/images/transform/operations/flatten/index.d.ts +2 -2
  453. package/node/images/transform/operations/flatten/index.js +1 -0
  454. package/node/images/transform/operations/flip/index.d.ts +2 -2
  455. package/node/images/transform/operations/flip/index.js +1 -0
  456. package/node/images/transform/operations/flop/index.d.ts +2 -2
  457. package/node/images/transform/operations/flop/index.js +1 -0
  458. package/node/images/transform/operations/hue/index.d.ts +2 -2
  459. package/node/images/transform/operations/hue/index.js +1 -0
  460. package/node/images/transform/operations/index.d.ts +1 -1
  461. package/node/images/transform/operations/index.js +1 -1
  462. package/node/images/transform/operations/level/index.d.ts +2 -2
  463. package/node/images/transform/operations/level/index.js +1 -0
  464. package/node/images/transform/operations/lighten/index.d.ts +2 -2
  465. package/node/images/transform/operations/lighten/index.js +1 -0
  466. package/node/images/transform/operations/normalize/index.d.ts +2 -2
  467. package/node/images/transform/operations/normalize/index.js +1 -0
  468. package/node/images/transform/operations/overlay/index.d.ts +2 -2
  469. package/node/images/transform/operations/resize/index.d.ts +2 -2
  470. package/node/images/transform/operations/resize/index.js +1 -0
  471. package/node/images/transform/operations/rotate/index.d.ts +2 -2
  472. package/node/images/transform/operations/rotate/index.js +1 -0
  473. package/node/images/transform/operations/saturate/index.d.ts +2 -2
  474. package/node/images/transform/operations/saturate/index.js +1 -0
  475. package/node/images/types.d.ts +41 -2
  476. package/node/images/utils/index.d.ts +10 -5
  477. package/node/index.d.ts +1 -1
  478. package/node/index.js +1 -1
  479. package/node/process/on-exit/index.js +2 -4
  480. package/node/process/prompt-continue/index.d.ts +3 -3
  481. package/node/process/prompt-continue/index.js +4 -3
  482. package/node/process/spawner/index.js +7 -6
  483. package/node/sftp/directory/copy-dir/index.d.ts +6 -6
  484. package/node/sftp/directory/copy-dir/index.js +6 -6
  485. package/node/sftp/directory/list/index.d.ts +3 -3
  486. package/node/sftp/directory/list/index.js +4 -4
  487. package/node/sftp/directory/move-dir/index.d.ts +7 -7
  488. package/node/sftp/directory/move-dir/index.js +7 -7
  489. package/node/sftp/directory/remove-dir/index.d.ts +5 -5
  490. package/node/sftp/directory/remove-dir/index.js +8 -7
  491. package/node/sftp/file/copy/index.d.ts +6 -6
  492. package/node/sftp/file/copy/index.js +5 -5
  493. package/node/sftp/file/download/index.d.ts +7 -7
  494. package/node/sftp/file/download/index.js +5 -5
  495. package/node/sftp/file/exists/index.d.ts +3 -3
  496. package/node/sftp/file/exists/index.js +3 -3
  497. package/node/sftp/file/move/index.d.ts +7 -7
  498. package/node/sftp/file/move/index.js +7 -7
  499. package/node/sftp/file/remove/index.d.ts +4 -4
  500. package/node/sftp/file/remove/index.js +4 -4
  501. package/node/sftp/file/stat/index.d.ts +3 -3
  502. package/node/sftp/file/stat/index.js +6 -5
  503. package/node/sftp/file/upload/index.d.ts +6 -6
  504. package/node/sftp/file/upload/index.js +5 -5
  505. package/package.json +40 -39
@@ -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,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;
@@ -1,33 +1,33 @@
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 function mergeFlags(...flagStrs) {
8
8
  const flagsSet = new Set();
9
9
  flagStrs.forEach(flagStr => flagStr
10
10
  .split('')
11
- .forEach(char => flagsSet.add(char)));
11
+ .forEach(char => { flagsSet.add(char); }));
12
12
  return Array.from(flagsSet.values()).join('');
13
13
  }
14
14
  /**
15
15
  * Returns a new RegExp with combined flags.
16
16
  *
17
- * @param {RegExp} regexp - The original regular expression.
18
- * @param {string} flags - Flags to add.
19
- * @returns {RegExp} New regular expression with combined flags.
17
+ * @param regexp - The original regular expression.
18
+ * @param flags - Flags to add.
19
+ * @returns New regular expression with combined flags.
20
20
  */
21
21
  export function setFlags(regexp, flags) {
22
22
  const mergedFlags = mergeFlags(regexp.flags, flags);
23
- return new RegExp(`${regexp.source}`, mergedFlags);
23
+ return new RegExp(regexp.source, mergedFlags);
24
24
  }
25
25
  /**
26
26
  * Anchors a RegExp to the start of a string.
27
27
  *
28
- * @param {RegExp} regexp - The original regular expression.
29
- * @param {string} [flags='g'] - Optional flags to apply.
30
- * @returns {RegExp} Anchored RegExp.
28
+ * @param regexp - The original regular expression.
29
+ * @param [flags='g'] - Optional flags to apply.
30
+ * @returns Anchored RegExp.
31
31
  */
32
32
  export function fromStart(regexp, flags = 'g') {
33
33
  const mergedFlags = mergeFlags(regexp.flags, flags);
@@ -36,9 +36,9 @@ export function fromStart(regexp, flags = 'g') {
36
36
  /**
37
37
  * Anchors a RegExp to the end of a string.
38
38
  *
39
- * @param {RegExp} regexp - The original regular expression.
40
- * @param {string} [flags='g'] - Optional flags to apply.
41
- * @returns {RegExp} Anchored RegExp.
39
+ * @param regexp - The original regular expression.
40
+ * @param [flags='g'] - Optional flags to apply.
41
+ * @returns Anchored RegExp.
42
42
  */
43
43
  export function toEnd(regexp, flags = 'g') {
44
44
  const mergedFlags = mergeFlags(regexp.flags, flags);
@@ -47,9 +47,9 @@ export function toEnd(regexp, flags = 'g') {
47
47
  /**
48
48
  * Anchors a RegExp to match the entire string.
49
49
  *
50
- * @param {RegExp} regexp - The original regular expression.
51
- * @param {string} [flags='g'] - Optional flags to apply.
52
- * @returns {RegExp} Anchored RegExp.
50
+ * @param regexp - The original regular expression.
51
+ * @param [flags='g'] - Optional flags to apply.
52
+ * @returns Anchored RegExp.
53
53
  */
54
54
  export function fromStartToEnd(regexp, flags = 'g') {
55
55
  const mergedFlags = mergeFlags(regexp.flags, flags);
@@ -70,13 +70,13 @@ export function stringIs(string, regexp, returnMatches = false, flags = 'g') {
70
70
  /**
71
71
  * Creates a RegExp that matches any of the provided strings.
72
72
  *
73
- * @param {string[]} strings - Strings to match.
74
- * @returns {RegExp} Regular expression matching all strings.
73
+ * @param strings - Strings to match.
74
+ * @returns Regular expression matching all strings.
75
75
  */
76
76
  export function fromStrings(strings) {
77
77
  const rootsMap = stringsToRootsMap(strings);
78
78
  const source = sourceFromRootsMap(rootsMap, false);
79
- const regexp = new RegExp(source);
79
+ const regexp = new RegExp(source, 'v');
80
80
  return regexp;
81
81
  }
82
82
  /**
@@ -85,8 +85,8 @@ export function fromStrings(strings) {
85
85
  * - Other whitespace characters are normalized to `\\s`
86
86
  * - RegExp special characters (including backslash) are escaped
87
87
  *
88
- * @param {string} string - String to escape.
89
- * @returns {string} Escaped string.
88
+ * @param string - String to escape.
89
+ * @returns Escaped string.
90
90
  */
91
91
  export function escape(string) {
92
92
  let result = '';
@@ -94,11 +94,11 @@ export function escape(string) {
94
94
  if (ch === '\n') {
95
95
  result += '\\n';
96
96
  }
97
- else if (/\s/.test(ch)) {
97
+ else if (/\s/v.test(ch)) {
98
98
  result += '\\s'; // any other whitespace (space, tab, etc.)
99
99
  }
100
- else if (/[.*+?^${}()|[\]\\]/.test(ch)) {
101
- result += '\\' + ch; // regex special chars (including backslash)
100
+ else if (/[.*+?^$\{\}\(\)\|\[\]\\]/v.test(ch)) {
101
+ result += `\\${ch}`; // regex special chars (including backslash)
102
102
  }
103
103
  else {
104
104
  result += ch;
@@ -114,14 +114,15 @@ function stringsToRootsMap(strings, rootsMap = new Map()) {
114
114
  if (firstChar === undefined)
115
115
  return;
116
116
  const roots = Array.from(rootsMap.keys());
117
- const foundRoot = roots.find(root => new RegExp(`^(${escape(root)})`).test(string));
117
+ const foundRoot = roots.find(root => new RegExp(`^(${escape(root)})`, 'v').test(string));
118
118
  const subRootsMap = foundRoot !== undefined
119
119
  ? rootsMap.get(foundRoot)?.subRootsMap
120
120
  : undefined;
121
121
  if (foundRoot === undefined || subRootsMap === undefined) {
122
122
  const subRootsMap = new Map();
123
123
  stringsToRootsMap([lastChars.join('')], subRootsMap);
124
- return rootsMap.set(firstChar, { subRootsMap, isWordEnd });
124
+ rootsMap.set(firstChar, { subRootsMap, isWordEnd });
125
+ return;
125
126
  }
126
127
  stringsToRootsMap([lastChars.join('')], subRootsMap);
127
128
  });
@@ -6,8 +6,8 @@
6
6
  * - Replaces multiple dots with a single dot and removes leading/trailing dots.
7
7
  * - Normalizes Unicode to NFKC form to prevent homoglyph attacks.
8
8
  *
9
- * @param {string} input - The file name to sanitize.
10
- * @param {number} [maxLength=255] - Maximum allowed length of the sanitized file name.
11
- * @returns {string | null} Sanitized file name, or null if empty or exceeds maxLength.
9
+ * @param input - The file name to sanitize.
10
+ * @param [maxLength=255] - Maximum allowed length of the sanitized file name.
11
+ * @returns Sanitized file name, or null if empty or exceeds maxLength.
12
12
  */
13
13
  export declare function sanitizeFileName(input: string, maxLength?: number): string | null;
@@ -6,20 +6,20 @@
6
6
  * - Replaces multiple dots with a single dot and removes leading/trailing dots.
7
7
  * - Normalizes Unicode to NFKC form to prevent homoglyph attacks.
8
8
  *
9
- * @param {string} input - The file name to sanitize.
10
- * @param {number} [maxLength=255] - Maximum allowed length of the sanitized file name.
11
- * @returns {string | null} Sanitized file name, or null if empty or exceeds maxLength.
9
+ * @param input - The file name to sanitize.
10
+ * @param [maxLength=255] - Maximum allowed length of the sanitized file name.
11
+ * @returns Sanitized file name, or null if empty or exceeds maxLength.
12
12
  */
13
13
  export function sanitizeFileName(input, maxLength = 255) {
14
- input = input
14
+ const _input = input
15
15
  .normalize('NFKC') // Normalize Unicode to avoid homoglyph attacks
16
16
  // eslint-disable-next-line no-control-regex
17
- .replace(/[<>:"/\\|?*\x00-\x1F]/g, '') // Remove invalid characters (e.g., Windows and Unix forbidden characters)
17
+ .replace(/[<>:"\/\\\|?*\x00-\x1F]/gv, '') // Remove invalid characters (e.g., Windows and Unix forbidden characters)
18
18
  .trim() // Trim whitespace
19
- .replace(/\s+/g, ' ') // Replace multiple spaces with a single space
20
- .replace(/\.+/g, '.') // Replace multiple dots with a single dot
21
- .replace(/^\.+|\.+$/g, ''); // Remove leading/trailing dots
22
- if (input.length > maxLength)
19
+ .replace(/\s+/gv, ' ') // Replace multiple spaces with a single space
20
+ .replace(/\.+/gv, '.') // Replace multiple dots with a single dot
21
+ .replace(/^\.+|\.+$/gv, ''); // Remove leading/trailing dots
22
+ if (_input.length > maxLength)
23
23
  return null;
24
- return input.length > 0 ? input : null;
24
+ return _input.length > 0 ? _input : null;
25
25
  }
@@ -24,9 +24,9 @@ export declare const defaultOptions: SanitizeHtmlOptions;
24
24
  * This API must not be used as a security boundary for untrusted HTML.
25
25
  * For security-critical sanitization, use a dedicated, security-audited library.
26
26
  *
27
- * @param {string} inputStr - The HTML string to sanitize.
28
- * @param {SanitizeHtmlOptions} [options=defaultOptions] - Sanitization configuration.
29
- * @returns {string} The sanitized HTML string.
27
+ * @param inputStr - The HTML string to sanitize.
28
+ * @param [options=defaultOptions] - Sanitization configuration.
29
+ * @returns The sanitized HTML string.
30
30
  *
31
31
  * @throws Will throw an error if no document object is available for creating elements.
32
32
  */
@@ -50,9 +50,9 @@ export declare function sanitizeHtml(inputStr: string, options?: SanitizeHtmlOpt
50
50
  * This API must not be used as a security boundary for untrusted HTML.
51
51
  * For security-critical sanitization, use a dedicated, security-audited library.
52
52
  *
53
- * @param {Element} element - The DOM element to sanitize.
54
- * @param {SanitizeHtmlOptions} [options=defaultOptions] - Sanitization configuration.
55
- * @returns {Element | null}
53
+ * @param element - The DOM element to sanitize.
54
+ * @param [options=defaultOptions] - Sanitization configuration.
55
+ * @returns
56
56
  * - A sanitized clone of the original element with allowed attributes and children.
57
57
  * - `null` if the element is forbidden or maximum recursion depth is reached.
58
58
  *
@@ -1,3 +1,4 @@
1
+ /* eslint-disable no-console */
1
2
  import * as Window from '../../misc/crossenv/window/index.js';
2
3
  /**
3
4
  * Default sanitization options.
@@ -24,9 +25,9 @@ export const defaultOptions = { depth: 20 };
24
25
  * This API must not be used as a security boundary for untrusted HTML.
25
26
  * For security-critical sanitization, use a dedicated, security-audited library.
26
27
  *
27
- * @param {string} inputStr - The HTML string to sanitize.
28
- * @param {SanitizeHtmlOptions} [options=defaultOptions] - Sanitization configuration.
29
- * @returns {string} The sanitized HTML string.
28
+ * @param inputStr - The HTML string to sanitize.
29
+ * @param [options=defaultOptions] - Sanitization configuration.
30
+ * @returns The sanitized HTML string.
30
31
  *
31
32
  * @throws Will throw an error if no document object is available for creating elements.
32
33
  */
@@ -35,6 +36,7 @@ export function sanitizeHtml(inputStr, options = defaultOptions) {
35
36
  const wrapperDiv = document.createElement('div');
36
37
  const { inputFreeTransform } = options;
37
38
  wrapperDiv.innerHTML = inputFreeTransform !== undefined ? inputFreeTransform(inputStr) : inputStr;
39
+ // eslint-disable-next-line @typescript-eslint/no-deprecated
38
40
  const sanitizedWrapper = sanitizeElement(wrapperDiv, options);
39
41
  const returned = sanitizedWrapper?.innerHTML;
40
42
  return returned ?? '';
@@ -58,9 +60,9 @@ export function sanitizeHtml(inputStr, options = defaultOptions) {
58
60
  * This API must not be used as a security boundary for untrusted HTML.
59
61
  * For security-critical sanitization, use a dedicated, security-audited library.
60
62
  *
61
- * @param {Element} element - The DOM element to sanitize.
62
- * @param {SanitizeHtmlOptions} [options=defaultOptions] - Sanitization configuration.
63
- * @returns {Element | null}
63
+ * @param element - The DOM element to sanitize.
64
+ * @param [options=defaultOptions] - Sanitization configuration.
65
+ * @returns
64
66
  * - A sanitized clone of the original element with allowed attributes and children.
65
67
  * - `null` if the element is forbidden or maximum recursion depth is reached.
66
68
  *
@@ -163,6 +165,7 @@ export function sanitizeElement(element, options = defaultOptions) {
163
165
  // Element's children sanitization
164
166
  const sanitizedChildNodes = Array.from(childNodes)
165
167
  .map((node) => {
168
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, @typescript-eslint/no-unsafe-type-assertion -- nodeType === ELEMENT_NODE just checked above
166
169
  if (node.nodeType === Node.ELEMENT_NODE)
167
170
  return sanitizeElement(node, { ...options, depth: depth - 1 });
168
171
  else if (node.nodeType === Node.TEXT_NODE)
@@ -5,7 +5,7 @@
5
5
  * - Sanitizes each segment using `sanitizeFileName`.
6
6
  * - Ensures the returned path starts with a `/`.
7
7
  *
8
- * @param {string} targetPath - The path to sanitize.
9
- * @returns {string | null} Sanitized absolute path, or null if invalid/empty.
8
+ * @param targetPath - The path to sanitize.
9
+ * @returns Sanitized absolute path, or null if invalid/empty.
10
10
  */
11
11
  export declare function sanitizePath(targetPath: string): string | null;
@@ -6,8 +6,8 @@ import { sanitizeFileName } from '../file-name/index.js';
6
6
  * - Sanitizes each segment using `sanitizeFileName`.
7
7
  * - Ensures the returned path starts with a `/`.
8
8
  *
9
- * @param {string} targetPath - The path to sanitize.
10
- * @returns {string | null} Sanitized absolute path, or null if invalid/empty.
9
+ * @param targetPath - The path to sanitize.
10
+ * @returns Sanitized absolute path, or null if invalid/empty.
11
11
  */
12
12
  export function sanitizePath(targetPath) {
13
13
  const sanitized = targetPath
@@ -1,3 +1,4 @@
1
+ /* eslint-disable @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-type-assertion -- sanitizeUserInput always returns a value of the same shape as its generic input T, which TS can't verify through the recursive sanitization logic */
1
2
  import xss from 'xss';
2
3
  /**
3
4
  * Recursively sanitizes user input to prevent XSS.