Skip to content

Commit 31ef3f5

Browse files
committed
main 🧊 rework wrap function for local hook
1 parent 54889b3 commit 31ef3f5

File tree

11 files changed

+27
-30
lines changed

11 files changed

+27
-30
lines changed

β€Žpackages/core/src/bundle/hooks/useDocumentEvent/useDocumentEvent.jsβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { target } from '@/utils/helpers';
1+
import { isTarget } from '@/utils/helpers';
22
import { useEventListener } from '../useEventListener/useEventListener';
33
/**
44
* @name useDocumentEvent
@@ -16,4 +16,4 @@ import { useEventListener } from '../useEventListener/useEventListener';
1616
* useDocumentEvent('click', () => console.log('clicked'));
1717
*/
1818
export const useDocumentEvent = (event, listener, options) =>
19-
useEventListener(target(document), event, listener, options);
19+
useEventListener(isTarget.wrap(document), event, listener, options);

β€Žpackages/core/src/bundle/hooks/useWindowEvent/useWindowEvent.jsβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { target } from '@/utils/helpers';
1+
import { isTarget } from '@/utils/helpers';
22
import { useEventListener } from '../useEventListener/useEventListener';
33
/**
44
* @name useWindowEvent
@@ -16,4 +16,4 @@ import { useEventListener } from '../useEventListener/useEventListener';
1616
* useWindowEvent('click', () => console.log('clicked'));
1717
*/
1818
export const useWindowEvent = (event, listener, options) =>
19-
useEventListener(target(window), event, listener, options);
19+
useEventListener(isTarget.wrap(window), event, listener, options);

β€Žpackages/core/src/bundle/utils/helpers/getElement.jsβ€Ž

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
export const targetSymbol = Symbol('target');
2-
export const target = (target) => ({
3-
value: target,
4-
type: targetSymbol
5-
});
61
export const getElement = (target) => {
72
if ('current' in target) {
83
return target.current;
Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1-
import { targetSymbol } from './getElement';
1+
export const targetSymbol = Symbol('target');
2+
export const target = (target) => ({
3+
value: target,
4+
type: targetSymbol
5+
});
26
export const isTarget = (target) =>
3-
typeof target === 'object' && ('current' in target || target.type === targetSymbol);
7+
typeof target === 'object' && ('current' in target || (target && target.type === targetSymbol));
8+
isTarget.wrap = target;

β€Žpackages/core/src/hooks/useDocumentEvent/useDocumentEvent.tsβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { target } from '@/utils/helpers';
1+
import { isTarget } from '@/utils/helpers';
22

33
import type { UseEventListenerOptions } from '../useEventListener/useEventListener';
44

@@ -23,4 +23,4 @@ export const useDocumentEvent = <Event extends keyof DocumentEventMap>(
2323
event: Event,
2424
listener: (this: Document, event: DocumentEventMap[Event]) => any,
2525
options?: UseEventListenerOptions
26-
) => useEventListener(target(document), event, listener, options);
26+
) => useEventListener(isTarget.wrap(document), event, listener, options);

β€Žpackages/core/src/hooks/useWindowEvent/useWindowEvent.tsβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { target } from '@/utils/helpers';
1+
import { isTarget } from '@/utils/helpers';
22

33
import type { UseEventListenerOptions } from '../useEventListener/useEventListener';
44

@@ -23,4 +23,4 @@ export const useWindowEvent = <Event extends keyof WindowEventMap>(
2323
event: Event,
2424
listener: (this: Window, event: WindowEventMap[Event]) => any,
2525
options?: UseEventListenerOptions
26-
) => useEventListener(target(window), event, listener, options);
26+
) => useEventListener(isTarget.wrap(window), event, listener, options);

β€Žpackages/core/src/utils/helpers/getElement.tsβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { RefObject } from 'react';
22

3-
import { Target } from './target';
3+
export type Target = (() => Element) | string | Document | Element | Window;
44

55
export type HookTarget =
66
| RefObject<Element | null | undefined>

β€Žpackages/core/src/utils/helpers/index.tsβ€Ž

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,4 @@ export * from './getDate';
44
export * from './getElement';
55
export * from './getRetry';
66
export * from './isTarget';
7-
export * from './target';
8-
export * from './targetSymbol';
97
export * from './throttle';
Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
1-
import type { HookTarget } from './getElement';
1+
import type { HookTarget, Target } from './getElement';
22

3-
import { targetSymbol } from './targetSymbol';
3+
export const targetSymbol = Symbol('target');
4+
5+
export const target = (target: Target) => ({
6+
value: target,
7+
type: targetSymbol
8+
});
49

510
export const isTarget = (target: HookTarget) =>
6-
typeof target === 'object' && ('current' in target || target.type === targetSymbol);
11+
typeof target === 'object' &&
12+
('current' in target || (target && (target as any).type === targetSymbol));
13+
14+
isTarget.wrap = target;

β€Žpackages/core/src/utils/helpers/target.tsβ€Ž

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
Β (0)