@thednp/shorty 2.0.4 → 2.0.6

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 (225) hide show
  1. package/README.md +5 -5
  2. package/dist/shorty.cjs +18 -1
  3. package/dist/shorty.cjs.map +1 -1
  4. package/dist/shorty.d.ts +31 -18
  5. package/dist/shorty.js +18 -1
  6. package/dist/shorty.js.map +1 -1
  7. package/dist/shorty.mjs +451 -386
  8. package/dist/shorty.mjs.map +1 -1
  9. package/dts.config.ts +1 -7
  10. package/package.json +16 -28
  11. package/src/attr/hasAttribute.ts +2 -1
  12. package/src/attr/hasAttributeNS.ts +5 -2
  13. package/src/attr/removeAttribute.ts +2 -1
  14. package/src/attr/removeAttributeNS.ts +5 -2
  15. package/src/attr/setAttributeNS.ts +6 -2
  16. package/src/boolean/isApple.ts +6 -4
  17. package/src/boolean/isFirefox.ts +2 -2
  18. package/src/boolean/isMobile.ts +4 -4
  19. package/src/boolean/support3DTransform.ts +4 -2
  20. package/src/boolean/supportAnimation.ts +4 -2
  21. package/src/boolean/supportPassive.ts +6 -6
  22. package/src/boolean/supportTouch.ts +3 -2
  23. package/src/boolean/supportTransform.ts +4 -2
  24. package/src/boolean/supportTransition.ts +4 -2
  25. package/src/event/off.ts +5 -1
  26. package/src/event/on.ts +5 -1
  27. package/src/event/one.ts +5 -5
  28. package/src/get/getBoundingClientRect.ts +10 -5
  29. package/src/get/getDocument.ts +4 -4
  30. package/src/get/getDocumentBody.ts +1 -1
  31. package/src/get/getDocumentElement.ts +1 -1
  32. package/src/get/getDocumentHead.ts +4 -2
  33. package/src/get/getElementAnimationDelay.ts +9 -6
  34. package/src/get/getElementAnimationDuration.ts +9 -6
  35. package/src/get/getElementStyle.ts +2 -2
  36. package/src/get/getElementTransitionDelay.ts +9 -8
  37. package/src/get/getElementTransitionDuration.ts +9 -8
  38. package/src/get/getNodeScroll.ts +4 -2
  39. package/src/get/getParentNode.ts +5 -5
  40. package/src/get/getRectRelativeToOffsetParent.ts +9 -6
  41. package/src/get/getUID.ts +1 -1
  42. package/src/get/getWindow.ts +2 -2
  43. package/src/index.ts +425 -415
  44. package/src/interface/event.d.ts +49 -41
  45. package/src/interface/fn.ts +1 -0
  46. package/src/interface/originalEvent.d.ts +1 -1
  47. package/src/is/isArray.ts +2 -1
  48. package/src/is/isCanvas.ts +2 -2
  49. package/src/is/isCustomElement.ts +5 -3
  50. package/src/is/isDocument.ts +3 -2
  51. package/src/is/isElement.ts +3 -2
  52. package/src/is/isElementInScrollRange.ts +3 -3
  53. package/src/is/isElementInViewport.ts +5 -4
  54. package/src/is/isElementsArray.ts +2 -2
  55. package/src/is/isFunction.ts +4 -2
  56. package/src/is/isHTMLCollection.ts +2 -2
  57. package/src/is/isHTMLElement.ts +1 -1
  58. package/src/is/isHTMLImageElement.ts +2 -2
  59. package/src/is/isJSON.ts +2 -2
  60. package/src/is/isMap.ts +3 -3
  61. package/src/is/isMedia.ts +9 -3
  62. package/src/is/isNode.ts +5 -3
  63. package/src/is/isNodeList.ts +2 -2
  64. package/src/is/isNumber.ts +2 -1
  65. package/src/is/isObject.ts +1 -1
  66. package/src/is/isRTL.ts +2 -2
  67. package/src/is/isSVGElement.ts +2 -2
  68. package/src/is/isScaledElement.ts +4 -3
  69. package/src/is/isShadowRoot.ts +2 -2
  70. package/src/is/isString.ts +2 -1
  71. package/src/is/isTableElement.ts +6 -3
  72. package/src/is/isWeakMap.ts +3 -3
  73. package/src/is/isWindow.ts +2 -2
  74. package/src/misc/Float32ArrayFrom.ts +3 -2
  75. package/src/misc/Float64ArrayFrom.ts +3 -2
  76. package/src/misc/ObjectAssign.ts +15 -4
  77. package/src/misc/ObjectEntries.ts +1 -1
  78. package/src/misc/ObjectHasOwn.ts +3 -2
  79. package/src/misc/ObjectKeys.ts +2 -1
  80. package/src/misc/ObjectValues.ts +3 -2
  81. package/src/misc/createCustomEvent.ts +8 -5
  82. package/src/misc/createElement.ts +6 -4
  83. package/src/misc/createElementNS.ts +3 -3
  84. package/src/misc/data.ts +4 -7
  85. package/src/misc/dispatchEvent.ts +2 -1
  86. package/src/misc/distinct.ts +2 -1
  87. package/src/misc/emulateAnimationEnd.ts +12 -9
  88. package/src/misc/emulateTransitionEnd.ts +11 -8
  89. package/src/misc/focus.ts +2 -1
  90. package/src/misc/focusTrap.ts +67 -0
  91. package/src/misc/getInstance.ts +1 -1
  92. package/src/misc/normalizeOptions.ts +16 -13
  93. package/src/misc/normalizeValue.ts +8 -6
  94. package/src/misc/setElementStyle.ts +9 -6
  95. package/src/misc/timer.ts +15 -8
  96. package/src/selectors/closest.ts +2 -2
  97. package/src/selectors/getCustomElements.ts +4 -5
  98. package/src/selectors/getElementById.ts +3 -3
  99. package/src/selectors/getElementsByClassName.ts +5 -5
  100. package/src/selectors/getElementsByTagName.ts +7 -5
  101. package/src/selectors/matches.ts +2 -1
  102. package/src/selectors/querySelector.ts +9 -6
  103. package/src/selectors/querySelectorAll.ts +6 -3
  104. package/src/strings/DOMContentLoadedEvent.ts +1 -1
  105. package/src/strings/DOMMouseScrollEvent.ts +1 -1
  106. package/src/strings/abortEvent.ts +1 -1
  107. package/src/strings/addEventListener.ts +1 -1
  108. package/src/strings/animationDelay.ts +1 -1
  109. package/src/strings/animationDuration.ts +1 -1
  110. package/src/strings/animationEndEvent.ts +1 -1
  111. package/src/strings/animationName.ts +1 -1
  112. package/src/strings/ariaChecked.ts +1 -1
  113. package/src/strings/ariaDescribedBy.ts +1 -1
  114. package/src/strings/ariaDescription.ts +1 -1
  115. package/src/strings/ariaExpanded.ts +1 -1
  116. package/src/strings/ariaHasPopup.ts +1 -1
  117. package/src/strings/ariaHidden.ts +1 -1
  118. package/src/strings/ariaLabel.ts +1 -1
  119. package/src/strings/ariaLabelledBy.ts +1 -1
  120. package/src/strings/ariaModal.ts +1 -1
  121. package/src/strings/ariaPressed.ts +1 -1
  122. package/src/strings/ariaSelected.ts +1 -1
  123. package/src/strings/ariaValueMax.ts +1 -1
  124. package/src/strings/ariaValueMin.ts +1 -1
  125. package/src/strings/ariaValueNow.ts +1 -1
  126. package/src/strings/ariaValueText.ts +1 -1
  127. package/src/strings/beforeunloadEvent.ts +1 -1
  128. package/src/strings/bezierEasings.ts +25 -25
  129. package/src/strings/blurEvent.ts +1 -1
  130. package/src/strings/changeEvent.ts +1 -1
  131. package/src/strings/contextmenuEvent.ts +1 -1
  132. package/src/strings/dragEvent.ts +1 -1
  133. package/src/strings/dragendEvent.ts +1 -1
  134. package/src/strings/dragenterEvent.ts +1 -1
  135. package/src/strings/dragleaveEvent.ts +1 -1
  136. package/src/strings/dragoverEvent.ts +1 -1
  137. package/src/strings/dragstartEvent.ts +1 -1
  138. package/src/strings/errorEvent.ts +1 -1
  139. package/src/strings/focusEvent.ts +1 -1
  140. package/src/strings/focusEvents.ts +1 -1
  141. package/src/strings/focusableSelector.ts +4 -0
  142. package/src/strings/focusinEvent.ts +1 -1
  143. package/src/strings/focusoutEvent.ts +1 -1
  144. package/src/strings/gesturechangeEvent.ts +1 -1
  145. package/src/strings/gestureendEvent.ts +1 -1
  146. package/src/strings/gesturestartEvent.ts +1 -1
  147. package/src/strings/keyAlt.ts +1 -1
  148. package/src/strings/keyArrowDown.ts +1 -1
  149. package/src/strings/keyArrowLeft.ts +1 -1
  150. package/src/strings/keyArrowRight.ts +1 -1
  151. package/src/strings/keyArrowUp.ts +1 -1
  152. package/src/strings/keyBackspace.ts +1 -1
  153. package/src/strings/keyCapsLock.ts +1 -1
  154. package/src/strings/keyControl.ts +1 -1
  155. package/src/strings/keyDelete.ts +1 -1
  156. package/src/strings/keyEnter.ts +1 -1
  157. package/src/strings/keyEscape.ts +1 -1
  158. package/src/strings/keyInsert.ts +1 -1
  159. package/src/strings/keyMeta.ts +1 -1
  160. package/src/strings/keyNumpadEnter.ts +1 -1
  161. package/src/strings/keyPause.ts +1 -1
  162. package/src/strings/keyScrollLock.ts +1 -1
  163. package/src/strings/keyShift.ts +1 -1
  164. package/src/strings/keySpace.ts +1 -1
  165. package/src/strings/keyTab.ts +1 -1
  166. package/src/strings/keyboardEventKeys.ts +19 -19
  167. package/src/strings/keydownEvent.ts +1 -1
  168. package/src/strings/keypressEvent.ts +1 -1
  169. package/src/strings/keyupEvent.ts +1 -1
  170. package/src/strings/loadEvent.ts +1 -1
  171. package/src/strings/loadstartEvent.ts +1 -1
  172. package/src/strings/mouseClickEvents.ts +1 -1
  173. package/src/strings/mouseHoverEvents.ts +3 -4
  174. package/src/strings/mouseSwipeEvents.ts +4 -4
  175. package/src/strings/mouseclickEvent.ts +1 -1
  176. package/src/strings/mousedblclickEvent.ts +1 -1
  177. package/src/strings/mousedownEvent.ts +1 -1
  178. package/src/strings/mouseenterEvent.ts +1 -1
  179. package/src/strings/mousehoverEvent.ts +1 -1
  180. package/src/strings/mouseinEvent.ts +1 -1
  181. package/src/strings/mouseleaveEvent.ts +1 -1
  182. package/src/strings/mousemoveEvent.ts +1 -1
  183. package/src/strings/mouseoutEvent.ts +1 -1
  184. package/src/strings/mouseoverEvent.ts +1 -1
  185. package/src/strings/mouseupEvent.ts +1 -1
  186. package/src/strings/mousewheelEvent.ts +1 -1
  187. package/src/strings/moveEvent.ts +1 -1
  188. package/src/strings/nativeEvents.ts +50 -50
  189. package/src/strings/offsetHeight.ts +1 -1
  190. package/src/strings/offsetWidth.ts +1 -1
  191. package/src/strings/orientationchangeEvent.ts +1 -1
  192. package/src/strings/pointercancelEvent.ts +1 -1
  193. package/src/strings/pointerdownEvent.ts +1 -1
  194. package/src/strings/pointerleaveEvent.ts +1 -1
  195. package/src/strings/pointermoveEvent.ts +1 -1
  196. package/src/strings/pointerupEvent.ts +1 -1
  197. package/src/strings/readystatechangeEvent.ts +1 -1
  198. package/src/strings/removeEventListener.ts +1 -1
  199. package/src/strings/resetEvent.ts +1 -1
  200. package/src/strings/resizeEvent.ts +1 -1
  201. package/src/strings/scrollEvent.ts +1 -1
  202. package/src/strings/scrollHeight.ts +1 -1
  203. package/src/strings/scrollWidth.ts +1 -1
  204. package/src/strings/selectEvent.ts +1 -1
  205. package/src/strings/selectendEvent.ts +1 -1
  206. package/src/strings/selectstartEvent.ts +1 -1
  207. package/src/strings/submitEvent.ts +1 -1
  208. package/src/strings/tabindex.ts +1 -1
  209. package/src/strings/touchEvents.ts +4 -4
  210. package/src/strings/touchcancelEvent.ts +1 -1
  211. package/src/strings/touchendEvent.ts +1 -1
  212. package/src/strings/touchmoveEvent.ts +1 -1
  213. package/src/strings/touchstartEvent.ts +1 -1
  214. package/src/strings/transitionDelay.ts +1 -1
  215. package/src/strings/transitionDuration.ts +1 -1
  216. package/src/strings/transitionEndEvent.ts +1 -1
  217. package/src/strings/transitionProperty.ts +1 -1
  218. package/src/strings/unloadEvent.ts +1 -1
  219. package/src/strings/userAgentData.ts +2 -2
  220. package/test/fixtures/getExampleDom.ts +12 -8
  221. package/test/is.test.ts +15 -11
  222. package/test/misc.test.ts +65 -17
  223. package/{vite.config.ts → vite.config.mts} +4 -8
  224. package/{vitest.config-ui.ts → vitest.config-ui.mts} +5 -0
  225. package/{vitest.config.ts → vitest.config.mts} +5 -0
@@ -52,11 +52,13 @@ interface BaseEvent<E = Event, C = unknown, T = unknown> {
52
52
  */
53
53
  type NativeEvent<T = Element, E = Event> = BaseEvent<E, T, T>;
54
54
 
55
- interface ClipboardEvent<T = Element> extends NativeEvent<T, NativeClipboardEvent> {
55
+ interface ClipboardEvent<T = Element>
56
+ extends NativeEvent<T, NativeClipboardEvent> {
56
57
  clipboardData: DataTransfer;
57
58
  }
58
59
 
59
- interface CompositionEvent<T = Element> extends NativeEvent<T, NativeCompositionEvent> {
60
+ interface CompositionEvent<T = Element>
61
+ extends NativeEvent<T, NativeCompositionEvent> {
60
62
  data: string;
61
63
  }
62
64
 
@@ -73,11 +75,12 @@ interface PointerEvent<T = Element> extends MouseEvent<T, NativePointerEvent> {
73
75
  twist: number;
74
76
  width: number;
75
77
  height: number;
76
- pointerType: 'mouse' | 'pen' | 'touch';
78
+ pointerType: "mouse" | "pen" | "touch";
77
79
  isPrimary: boolean;
78
80
  }
79
81
 
80
- interface FocusEvent<T = Element, R = Element> extends NativeEvent<T, NativeFocusEvent> {
82
+ interface FocusEvent<T = Element, R = Element>
83
+ extends NativeEvent<T, NativeFocusEvent> {
81
84
  relatedTarget: (EventTarget & R) | null;
82
85
  target: EventTarget & T;
83
86
  }
@@ -90,20 +93,20 @@ interface ChangeEvent<T = FormControl> extends FormEvent<T> {
90
93
  }
91
94
 
92
95
  type ModifierKey =
93
- | 'Alt'
94
- | 'AltGraph'
95
- | 'CapsLock'
96
- | 'Control'
97
- | 'Fn'
98
- | 'FnLock'
99
- | 'Hyper'
100
- | 'Meta'
101
- | 'NumLock'
102
- | 'ScrollLock'
103
- | 'Shift'
104
- | 'Super'
105
- | 'Symbol'
106
- | 'SymbolLock';
96
+ | "Alt"
97
+ | "AltGraph"
98
+ | "CapsLock"
99
+ | "Control"
100
+ | "Fn"
101
+ | "FnLock"
102
+ | "Hyper"
103
+ | "Meta"
104
+ | "NumLock"
105
+ | "ScrollLock"
106
+ | "Shift"
107
+ | "Super"
108
+ | "Symbol"
109
+ | "SymbolLock";
107
110
 
108
111
  interface KeyboardEvent<T = Element> extends UIEvent<T, NativeKeyboardEvent> {
109
112
  altKey: boolean;
@@ -178,13 +181,15 @@ interface WheelEvent<T = Element> extends MouseEvent<T, NativeWheelEvent> {
178
181
  deltaZ: number;
179
182
  }
180
183
 
181
- interface AnimationEvent<T = Element> extends NativeEvent<T, NativeAnimationEvent> {
184
+ interface AnimationEvent<T = Element>
185
+ extends NativeEvent<T, NativeAnimationEvent> {
182
186
  animationName: string;
183
187
  elapsedTime: number;
184
188
  pseudoElement: string;
185
189
  }
186
190
 
187
- interface TransitionEvent<T = Element> extends NativeEvent<T, NativeTransitionEvent> {
191
+ interface TransitionEvent<T = Element>
192
+ extends NativeEvent<T, NativeTransitionEvent> {
188
193
  elapsedTime: number;
189
194
  propertyName: string;
190
195
  pseudoElement: string;
@@ -197,7 +202,10 @@ interface TransitionEvent<T = Element> extends NativeEvent<T, NativeTransitionEv
197
202
  type EventHandler<T = Element, E = Event | NativeEvent<T>> = (event: E) => void;
198
203
  type NativeEventHandler<T = Element> = EventHandler<T, NativeEvent<T>>;
199
204
  type ClipboardEventHandler<T = Element> = EventHandler<T, ClipboardEvent<T>>;
200
- type CompositionEventHandler<T = Element> = EventHandler<T, CompositionEvent<T>>;
205
+ type CompositionEventHandler<T = Element> = EventHandler<
206
+ T,
207
+ CompositionEvent<T>
208
+ >;
201
209
  type DragEventHandler<T = Element> = EventHandler<T, DragEvent<T>>;
202
210
  type FocusEventHandler<T = Element> = EventHandler<T, FocusEvent<T>>;
203
211
  type FormEventHandler<T = Element> = EventHandler<T, FormEvent<T>>;
@@ -213,35 +221,35 @@ type TransitionEventHandler<T = Element> = EventHandler<T, TransitionEvent<T>>;
213
221
  type PossibleEventTarget = EventTarget & (Element | Document | Window);
214
222
 
215
223
  export {
216
- NativeEvent,
217
- ClipboardEvent,
218
- CompositionEvent,
219
- DragEvent,
220
- FocusEvent,
221
- FormEvent,
222
- ChangeEvent,
223
- KeyboardEvent,
224
- MouseEvent,
225
- TouchEvent,
226
- PointerEvent,
227
- UIEvent,
228
- WheelEvent,
229
224
  AnimationEvent,
230
- TransitionEvent,
231
- NativeEventHandler,
225
+ AnimationEventHandler,
226
+ ChangeEvent,
227
+ ChangeEventHandler,
228
+ ClipboardEvent,
232
229
  ClipboardEventHandler,
230
+ CompositionEvent,
233
231
  CompositionEventHandler,
232
+ DragEvent,
234
233
  DragEventHandler,
234
+ FocusEvent,
235
235
  FocusEventHandler,
236
+ FormEvent,
236
237
  FormEventHandler,
237
- ChangeEventHandler,
238
+ KeyboardEvent,
238
239
  KeyboardEventHandler,
240
+ MouseEvent,
239
241
  MouseEventHandler,
240
- TouchEventHandler,
242
+ NativeEvent,
243
+ NativeEventHandler,
244
+ PointerEvent,
241
245
  PointerEventHandler,
246
+ PossibleEventTarget,
247
+ TouchEvent,
248
+ TouchEventHandler,
249
+ TransitionEvent,
250
+ TransitionEventHandler,
251
+ UIEvent,
242
252
  UIEventHandler,
253
+ WheelEvent,
243
254
  WheelEventHandler,
244
- AnimationEventHandler,
245
- TransitionEventHandler,
246
- PossibleEventTarget,
247
255
  };
@@ -0,0 +1 @@
1
+ export type Fn = (...args: unknown[]) => unknown;
@@ -1,4 +1,4 @@
1
- export declare interface OriginalEvent extends CustomEvent<any> {
1
+ export declare interface OriginalEvent extends CustomEvent<unknown> {
2
2
  readonly type: string;
3
3
  relatedTarget?: EventTarget;
4
4
  }
package/src/is/isArray.ts CHANGED
@@ -4,6 +4,7 @@
4
4
  * @param obj array-like iterable object
5
5
  * @returns the query result
6
6
  */
7
- const isArray = (obj?: unknown): obj is any[] => Array.isArray(obj) || false;
7
+ const isArray = (obj?: unknown): obj is unknown[] =>
8
+ Array.isArray(obj) || false;
8
9
 
9
10
  export default isArray;
@@ -1,4 +1,4 @@
1
- import isNode from './isNode';
1
+ import isNode from "./isNode";
2
2
 
3
3
  /**
4
4
  * Checks if an element is an `HTMLCanvasElement` or `<canvas>`.
@@ -8,6 +8,6 @@ import isNode from './isNode';
8
8
  */
9
9
 
10
10
  const isCanvas = (element?: unknown): element is HTMLCanvasElement =>
11
- (isNode(element) && element.nodeName === 'CANVAS') || false;
11
+ (isNode(element) && element.nodeName === "CANVAS") || false;
12
12
 
13
13
  export default isCanvas;
@@ -1,5 +1,5 @@
1
- import isHTMLElement from './isHTMLElement';
2
- import type { CustomElement } from '../interface/customElement';
1
+ import isHTMLElement from "./isHTMLElement";
2
+ import type { CustomElement } from "../interface/customElement";
3
3
 
4
4
  /**
5
5
  * Checks if an object is a `CustomElement`.
@@ -7,7 +7,9 @@ import type { CustomElement } from '../interface/customElement';
7
7
  * @param element the target object
8
8
  * @returns the query result
9
9
  */
10
- const isCustomElement = <T extends CustomElement>(element?: unknown): element is T =>
10
+ const isCustomElement = <T extends CustomElement>(
11
+ element?: unknown,
12
+ ): element is T =>
11
13
  (isHTMLElement(element) && !!(element as T).shadowRoot) || false;
12
14
 
13
15
  export default isCustomElement;
@@ -1,4 +1,4 @@
1
- import isNode from './isNode';
1
+ import isNode from "./isNode";
2
2
 
3
3
  /**
4
4
  * Checks if an object is a `Document`.
@@ -8,6 +8,7 @@ import isNode from './isNode';
8
8
  * @param obj the target object
9
9
  * @returns the query result
10
10
  */
11
- const isDocument = (obj?: unknown): obj is Document => (isNode(obj) && obj.nodeType === 9) || false;
11
+ const isDocument = (obj?: unknown): obj is Document =>
12
+ (isNode(obj) && obj.nodeType === 9) || false;
12
13
 
13
14
  export default isDocument;
@@ -1,4 +1,4 @@
1
- import isNode from './isNode';
1
+ import isNode from "./isNode";
2
2
 
3
3
  /**
4
4
  * Checks if an object is an `Element`.
@@ -22,6 +22,7 @@ import isNode from './isNode';
22
22
  * @returns the query result
23
23
  */
24
24
  const isElement = (element?: unknown): element is Element =>
25
- (isNode(element) && [1, 2, 3, 4, 5, 6, 7, 8].some(x => element.nodeType === x)) || false;
25
+ (isNode(element) &&
26
+ [1, 2, 3, 4, 5, 6, 7, 8].some((x) => element.nodeType === x)) || false;
26
27
 
27
28
  export default isElement;
@@ -1,6 +1,6 @@
1
- import getBoundingClientRect from '../get/getBoundingClientRect';
2
- import getDocumentElement from '../get/getDocumentElement';
3
- import isNode from './isNode';
1
+ import getBoundingClientRect from "../get/getBoundingClientRect";
2
+ import getDocumentElement from "../get/getDocumentElement";
3
+ import isNode from "./isNode";
4
4
 
5
5
  /**
6
6
  * Utility to determine if an `HTMLElement`
@@ -1,6 +1,6 @@
1
- import getBoundingClientRect from '../get/getBoundingClientRect';
2
- import getDocumentElement from '../get/getDocumentElement';
3
- import isNode from './isNode';
1
+ import getBoundingClientRect from "../get/getBoundingClientRect";
2
+ import getDocumentElement from "../get/getDocumentElement";
3
+ import isNode from "./isNode";
4
4
 
5
5
  /**
6
6
  * Utility to determine if an `HTMLElement`
@@ -15,6 +15,7 @@ const isElementInViewport = (element?: HTMLElement): boolean => {
15
15
  const { clientWidth, clientHeight } = getDocumentElement(element);
16
16
  const { top, left, bottom, right } = getBoundingClientRect(element, true);
17
17
 
18
- return top >= 0 && left >= 0 && bottom <= clientHeight && right <= clientWidth;
18
+ return top >= 0 && left >= 0 && bottom <= clientHeight &&
19
+ right <= clientWidth;
19
20
  };
20
21
  export default isElementInViewport;
@@ -1,5 +1,5 @@
1
- import isHTMLElement from './isHTMLElement';
2
- import isArray from './isArray';
1
+ import isHTMLElement from "./isHTMLElement";
2
+ import isArray from "./isArray";
3
3
 
4
4
  /**
5
5
  * Checks if an object is an `Array` in which all items are `Element`.
@@ -1,10 +1,12 @@
1
+ import { Fn } from "../interface/fn";
2
+
1
3
  /**
2
4
  * Checks if an object is a `Function`.
3
5
  *
4
6
  * @param fn the target object
5
7
  * @returns the query result
6
8
  */
7
- const isFunction = (fn?: unknown): fn is (...arg0: any[]) => any =>
8
- typeof fn === 'function' || false;
9
+ const isFunction = (fn?: unknown): fn is Fn =>
10
+ typeof fn === "function" || false;
9
11
 
10
12
  export default isFunction;
@@ -1,4 +1,4 @@
1
- import isObject from './isObject';
1
+ import isObject from "./isObject";
2
2
 
3
3
  /**
4
4
  * Checks if an object is an `HTMLCollection`.
@@ -7,6 +7,6 @@ import isObject from './isObject';
7
7
  * @returns the query result
8
8
  */
9
9
  const isHTMLCollection = (obj?: unknown): obj is HTMLCollection =>
10
- (isObject(obj) && obj.constructor.name === 'HTMLCollection') || false;
10
+ (isObject(obj) && obj.constructor.name === "HTMLCollection") || false;
11
11
 
12
12
  export default isHTMLCollection;
@@ -1,4 +1,4 @@
1
- import isNode from './isNode';
1
+ import isNode from "./isNode";
2
2
 
3
3
  /**
4
4
  * Checks if an element is an `HTMLElement`.
@@ -1,4 +1,4 @@
1
- import isHTMLElement from './isHTMLElement';
1
+ import isHTMLElement from "./isHTMLElement";
2
2
 
3
3
  /**
4
4
  * Check if a target element is an `<img>`.
@@ -7,6 +7,6 @@ import isHTMLElement from './isHTMLElement';
7
7
  * @returns the query result
8
8
  */
9
9
  const isHTMLImageElement = (element?: unknown): element is HTMLImageElement =>
10
- (isHTMLElement(element) && element.tagName === 'IMG') || false;
10
+ (isHTMLElement(element) && element.tagName === "IMG") || false;
11
11
 
12
12
  export default isHTMLImageElement;
package/src/is/isJSON.ts CHANGED
@@ -1,4 +1,4 @@
1
- import isString from './isString';
1
+ import isString from "./isString";
2
2
 
3
3
  /**
4
4
  * Checks if a string is a `JSON` string.
@@ -11,7 +11,7 @@ const isJSON = (str?: string): boolean => {
11
11
 
12
12
  try {
13
13
  JSON.parse(str);
14
- } catch (e) {
14
+ } catch (_e) {
15
15
  return false;
16
16
  }
17
17
  return true;
package/src/is/isMap.ts CHANGED
@@ -1,4 +1,4 @@
1
- import isObject from './isObject';
1
+ import isObject from "./isObject";
2
2
 
3
3
  /**
4
4
  * Checks if an element is a `Map`.
@@ -6,6 +6,6 @@ import isObject from './isObject';
6
6
  * @param obj the target object
7
7
  * @returns the query result
8
8
  */
9
- const isMap = (obj?: unknown): obj is Map<any, any> =>
10
- (isObject(obj) && obj.constructor.name === 'Map') || false;
9
+ const isMap = (obj?: unknown): obj is Map<unknown, unknown> =>
10
+ (isObject(obj) && obj.constructor.name === "Map") || false;
11
11
  export default isMap;
package/src/is/isMedia.ts CHANGED
@@ -1,4 +1,4 @@
1
- import isNode from './isNode';
1
+ import isNode from "./isNode";
2
2
 
3
3
  /**
4
4
  * Checks if an element is an `<svg>` (or any type of SVG element),
@@ -12,9 +12,15 @@ import isNode from './isNode';
12
12
 
13
13
  const isMedia = (
14
14
  element?: unknown,
15
- ): element is SVGElement | HTMLImageElement | HTMLVideoElement | HTMLCanvasElement =>
15
+ ): element is
16
+ | SVGElement
17
+ | HTMLImageElement
18
+ | HTMLVideoElement
19
+ | HTMLCanvasElement =>
16
20
  (isNode(element) &&
17
- ['SVG', 'Image', 'Video', 'Canvas'].some(s => element.constructor.name.includes(s))) ||
21
+ ["SVG", "Image", "Video", "Canvas"].some((s) =>
22
+ element.constructor.name.includes(s)
23
+ )) ||
18
24
  false;
19
25
 
20
26
  export default isMedia;
package/src/is/isNode.ts CHANGED
@@ -1,4 +1,4 @@
1
- import isObject from './isObject';
1
+ import isObject from "./isObject";
2
2
 
3
3
  type NodeObject = object & { nodeType: number };
4
4
 
@@ -10,8 +10,10 @@ type NodeObject = object & { nodeType: number };
10
10
  */
11
11
  const isNode = (node?: unknown): node is Node =>
12
12
  (isObject(node) &&
13
- typeof (node as NodeObject).nodeType === 'number' &&
14
- [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some(x => (node as NodeObject).nodeType === x)) ||
13
+ typeof (node as NodeObject).nodeType === "number" &&
14
+ [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11].some((x) =>
15
+ (node as NodeObject).nodeType === x
16
+ )) ||
15
17
  false;
16
18
 
17
19
  export default isNode;
@@ -1,4 +1,4 @@
1
- import isObject from './isObject';
1
+ import isObject from "./isObject";
2
2
 
3
3
  /**
4
4
  * Checks if an object is a `NodeList`.
@@ -8,6 +8,6 @@ import isObject from './isObject';
8
8
  * @returns the query result
9
9
  */
10
10
  const isNodeList = (obj?: unknown): obj is NodeList =>
11
- (isObject(obj) && obj.constructor.name === 'NodeList') || false;
11
+ (isObject(obj) && obj.constructor.name === "NodeList") || false;
12
12
 
13
13
  export default isNodeList;
@@ -4,6 +4,7 @@
4
4
  * @param num input value
5
5
  * @returns the query result
6
6
  */
7
- const isNumber = (num?: unknown): num is number => typeof num === 'number' || false;
7
+ const isNumber = (num?: unknown): num is number =>
8
+ typeof num === "number" || false;
8
9
 
9
10
  export default isNumber;
@@ -5,6 +5,6 @@
5
5
  * @returns the query result
6
6
  */
7
7
  const isObject = (obj?: unknown): obj is object =>
8
- (obj !== null && obj !== undefined && typeof obj === 'object') || false;
8
+ (obj !== null && obj !== undefined && typeof obj === "object") || false;
9
9
 
10
10
  export default isObject;
package/src/is/isRTL.ts CHANGED
@@ -1,4 +1,4 @@
1
- import getDocumentElement from '../get/getDocumentElement';
1
+ import getDocumentElement from "../get/getDocumentElement";
2
2
 
3
3
  /**
4
4
  * Checks if a page is Right To Left.
@@ -6,6 +6,6 @@ import getDocumentElement from '../get/getDocumentElement';
6
6
  * @param node the target
7
7
  * @returns the query result
8
8
  */
9
- const isRTL = (node?: Node): boolean => getDocumentElement(node).dir === 'rtl';
9
+ const isRTL = (node?: Node): boolean => getDocumentElement(node).dir === "rtl";
10
10
 
11
11
  export default isRTL;
@@ -1,4 +1,4 @@
1
- import isNode from './isNode';
1
+ import isNode from "./isNode";
2
2
 
3
3
  /**
4
4
  * Check if an element is an `<svg>` or any other SVG element,
@@ -8,6 +8,6 @@ import isNode from './isNode';
8
8
  * @returns the query result
9
9
  */
10
10
  const isSVGElement = (element?: unknown): element is SVGElement =>
11
- (isNode(element) && element.constructor.name.includes('SVG')) || false;
11
+ (isNode(element) && element.constructor.name.includes("SVG")) || false;
12
12
 
13
13
  export default isSVGElement;
@@ -1,5 +1,5 @@
1
- import isHTMLElement from './isHTMLElement';
2
- import getBoundingClientRect from '../get/getBoundingClientRect';
1
+ import isHTMLElement from "./isHTMLElement";
2
+ import getBoundingClientRect from "../get/getBoundingClientRect";
3
3
 
4
4
  /**
5
5
  * Checks if a target `HTMLElement` is affected by scale.
@@ -13,7 +13,8 @@ const isScaledElement = (element?: HTMLElement): boolean => {
13
13
  if (!isHTMLElement(element)) return false;
14
14
  const { width, height } = getBoundingClientRect(element);
15
15
  const { offsetWidth, offsetHeight } = element;
16
- return Math.round(width) !== offsetWidth || Math.round(height) !== offsetHeight;
16
+ return Math.round(width) !== offsetWidth ||
17
+ Math.round(height) !== offsetHeight;
17
18
  };
18
19
 
19
20
  export default isScaledElement;
@@ -1,4 +1,4 @@
1
- import isNode from './isNode';
1
+ import isNode from "./isNode";
2
2
 
3
3
  /**
4
4
  * Check if target is a `ShadowRoot`.
@@ -7,6 +7,6 @@ import isNode from './isNode';
7
7
  * @returns the query result
8
8
  */
9
9
  const isShadowRoot = (element?: unknown): element is ShadowRoot =>
10
- (isNode(element) && element.constructor.name === 'ShadowRoot') || false;
10
+ (isNode(element) && element.constructor.name === "ShadowRoot") || false;
11
11
 
12
12
  export default isShadowRoot;
@@ -4,6 +4,7 @@
4
4
  * @param str input value
5
5
  * @returns the query result
6
6
  */
7
- const isString = (str?: unknown): str is string => typeof str === 'string' || false;
7
+ const isString = (str?: unknown): str is string =>
8
+ typeof str === "string" || false;
8
9
 
9
10
  export default isString;
@@ -1,4 +1,4 @@
1
- import isNode from './isNode';
1
+ import isNode from "./isNode";
2
2
 
3
3
  /**
4
4
  * Check if a target element is a `<table>`, `<td>` or `<th>`.
@@ -8,7 +8,10 @@ import isNode from './isNode';
8
8
  * @param element the target element
9
9
  * @returns the query result
10
10
  */
11
- const isTableElement = (element?: unknown): element is HTMLTableElement | HTMLTableCellElement =>
12
- (isNode(element) && ['TABLE', 'TD', 'TH'].includes(element.nodeName)) || false;
11
+ const isTableElement = (
12
+ element?: unknown,
13
+ ): element is HTMLTableElement | HTMLTableCellElement =>
14
+ (isNode(element) && ["TABLE", "TD", "TH"].includes(element.nodeName)) ||
15
+ false;
13
16
 
14
17
  export default isTableElement;
@@ -1,4 +1,4 @@
1
- import isObject from './isObject';
1
+ import isObject from "./isObject";
2
2
 
3
3
  /**
4
4
  * Checks if an element is a `WeakMap`.
@@ -6,6 +6,6 @@ import isObject from './isObject';
6
6
  * @param obj the target object
7
7
  * @returns the query result
8
8
  */
9
- const isWeakMap = (obj?: unknown): obj is WeakMap<any, any> =>
10
- (isObject(obj) && obj.constructor.name === 'WeakMap') || false;
9
+ const isWeakMap = (obj?: unknown): obj is WeakMap<WeakKey, unknown> =>
10
+ (isObject(obj) && obj.constructor.name === "WeakMap") || false;
11
11
  export default isWeakMap;
@@ -1,4 +1,4 @@
1
- import isObject from './isObject';
1
+ import isObject from "./isObject";
2
2
 
3
3
  /**
4
4
  * Check if a target object is `Window`.
@@ -8,6 +8,6 @@ import isObject from './isObject';
8
8
  * @returns the query result
9
9
  */
10
10
  const isWindow = (obj?: unknown): obj is Window =>
11
- (isObject(obj) && obj.constructor.name === 'Window') || false;
11
+ (isObject(obj) && obj.constructor.name === "Window") || false;
12
12
 
13
13
  export default isWindow;
@@ -4,7 +4,8 @@
4
4
  * @param arr array-like iterable object
5
5
  * @returns a new Float32Array
6
6
  */
7
- const Float32ArrayFrom = (arr: ArrayLike<number> | Iterable<number>): Float32Array =>
8
- Float32Array.from(Array.from(arr));
7
+ const Float32ArrayFrom = (
8
+ arr: ArrayLike<number> | Iterable<number>,
9
+ ): Float32Array => Float32Array.from(Array.from(arr));
9
10
 
10
11
  export default Float32ArrayFrom;
@@ -4,7 +4,8 @@
4
4
  * @param arr array-like iterable object
5
5
  * @returns a new Float64Array
6
6
  */
7
- const Float64ArrayFrom = (arr: ArrayLike<number> | Iterable<number>): Float64Array =>
8
- Float64Array.from(Array.from(arr));
7
+ const Float64ArrayFrom = (
8
+ arr: ArrayLike<number> | Iterable<number>,
9
+ ): Float64Array => Float64Array.from(Array.from(arr));
9
10
 
10
11
  export default Float64ArrayFrom;
@@ -4,7 +4,11 @@
4
4
  * @see https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/object-assign/index.d.ts
5
5
  */
6
6
  declare function ObjectAssignTyped<T, U>(target: T, source: U): T & U;
7
- declare function ObjectAssignTyped<T, U, V>(target: T, source1: U, source2: V): T & U & V;
7
+ declare function ObjectAssignTyped<T, U, V>(
8
+ target: T,
9
+ source1: U,
10
+ source2: V,
11
+ ): T & U & V;
8
12
  declare function ObjectAssignTyped<T, U, V, W>(
9
13
  target: T,
10
14
  source1: U,
@@ -26,7 +30,10 @@ declare function ObjectAssignTyped<T, U, V, W, Q, R>(
26
30
  source4: Q,
27
31
  source5: R,
28
32
  ): T & U & V & W & Q & R;
29
- declare function ObjectAssignTyped(target: any, ...sources: any[]): any;
33
+ declare function ObjectAssignTyped(
34
+ target: unknown,
35
+ ...sources: unknown[]
36
+ ): unknown;
30
37
 
31
38
  /**
32
39
  * Shortcut for `Object.assign()` static method.
@@ -35,9 +42,13 @@ declare function ObjectAssignTyped(target: any, ...sources: any[]): any;
35
42
  * @param source source object(s)
36
43
  * @see https://github.com/devinrhode2/ObjectTyped/blob/master/src/index.ts
37
44
  */
38
- const ObjectAssign: typeof ObjectAssignTyped = <A extends Record<string, any>, B>(
45
+ const ObjectAssign: typeof ObjectAssignTyped = <
46
+ A extends Record<string, unknown>,
47
+ B,
48
+ >(
39
49
  obj: A,
40
50
  ...source: B[]
41
- ): B extends Record<string, any>[] ? any : A & B => Object.assign(obj, ...source);
51
+ ): B extends Record<string, unknown>[] ? unknown : A & B =>
52
+ Object.assign(obj, ...source);
42
53
 
43
54
  export default ObjectAssign;
@@ -5,7 +5,7 @@
5
5
  * @returns the entries of an object in an array format [key, value][]
6
6
  * @see https://github.com/devinrhode2/ObjectTyped/blob/master/src/index.ts
7
7
  */
8
- const ObjectEntries = <O extends Record<string, any>>(obj: O) =>
8
+ const ObjectEntries = <O extends Record<keyof O, unknown>>(obj: O) =>
9
9
  Object.entries(obj) as [keyof O, O[keyof O]][];
10
10
 
11
11
  export default ObjectEntries;
@@ -1,4 +1,4 @@
1
- import isObject from '../is/isObject';
1
+ import isObject from "../is/isObject";
2
2
 
3
3
  /**
4
4
  * A shortcut to `Object.hasOwn()` static method to work
@@ -12,6 +12,7 @@ import isObject from '../is/isObject';
12
12
  const ObjectHasOwn = <T extends object, K extends PropertyKey>(
13
13
  obj: T,
14
14
  prop: K,
15
- ): obj is T & Record<K, unknown> => isObject(obj) && (Object.hasOwn(obj, prop) || prop in obj);
15
+ ): obj is T & Record<K, unknown> =>
16
+ isObject(obj) && (Object.hasOwn(obj, prop) || prop in obj);
16
17
 
17
18
  export default ObjectHasOwn;