Skip to content

Commit 87e8d5e

Browse files
committed
Add type declaration
1 parent f5c7059 commit 87e8d5e

File tree

5 files changed

+106
-51
lines changed

5 files changed

+106
-51
lines changed

index.d.ts

+46-29
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from "react";
1+
import * as React from "react";
22

33
export type BatteryManager = {
44
supported: boolean;
@@ -7,7 +7,7 @@ export type BatteryManager = {
77
charging: boolean | null;
88
chargingTime: number | null;
99
dischargingTime: number | null;
10-
}
10+
};
1111

1212
export type GeolocationState = {
1313
loading: boolean;
@@ -20,7 +20,7 @@ export type GeolocationState = {
2020
speed: number | null;
2121
timestamp: number | null;
2222
error: GeolocationPositionError | null;
23-
}
23+
};
2424

2525
export type HistoryState<T> = {
2626
state: T;
@@ -30,22 +30,22 @@ export type HistoryState<T> = {
3030
clear: () => void;
3131
canUndo: boolean;
3232
canRedo: boolean;
33-
}
33+
};
3434

3535
export type LongPressOptions = {
3636
threshold?: number;
3737
onStart?: (e: Event) => void;
3838
onFinish?: (e: Event) => void;
3939
onCancel?: (e: Event) => void;
40-
}
40+
};
4141

4242
export type LongPressFns = {
4343
onMouseDown: (e: React.MouseEvent) => void;
4444
onMouseUp: (e: React.MouseEvent) => void;
4545
onMouseLeave: (e: React.MouseEvent) => void;
4646
onTouchStart: (e: React.TouchEvent) => void;
4747
onTouchEnd: (e: React.TouchEvent) => void;
48-
}
48+
};
4949

5050
export type MousePosition = {
5151
x: number;
@@ -54,7 +54,7 @@ export type MousePosition = {
5454
elementY: number;
5555
elementPositionX: number;
5656
elementPositionY: number;
57-
}
57+
};
5858

5959
export type NetworkState = {
6060
online: boolean;
@@ -64,7 +64,7 @@ export type NetworkState = {
6464
rtt: number | null;
6565
saveData: boolean | null;
6666
type: string | null;
67-
}
67+
};
6868

6969
export type CustomList<T> = {
7070
set: (l: T[]) => void;
@@ -73,7 +73,7 @@ export type CustomList<T> = {
7373
insertAt: (index: number, element: T) => void;
7474
updateAt: (index: number, element: T) => void;
7575
clear: () => void;
76-
}
76+
};
7777

7878
export type CustomQueue<T> = {
7979
add: (element: T) => void;
@@ -82,14 +82,14 @@ export type CustomQueue<T> = {
8282
first: T | undefined;
8383
last: T | undefined;
8484
size: number;
85-
}
85+
};
8686

8787
export type RenderInfo = {
8888
name: string;
8989
renders: number;
9090
sinceLastRender: number;
9191
timestamp: number;
92-
}
92+
};
9393

9494
export type SpeechOptions = {
9595
lang?: string;
@@ -100,7 +100,7 @@ export type SpeechOptions = {
100100
rate?: number;
101101
pitch?: number;
102102
volume?: number;
103-
}
103+
};
104104

105105
export type SpeechState = {
106106
isPlaying: boolean;
@@ -113,13 +113,14 @@ export type SpeechState = {
113113
rate: number;
114114
pitch: number;
115115
volume: number;
116-
}
117-
118-
declare module '@uidotdev/usehooks' {
116+
};
119117

118+
declare module "@uidotdev/usehooks" {
120119
export function useBattery(): BatteryManager;
121120

122-
export function useClickAway<T extends Element>(cb: (e: Event) => void): React.MutableRefObject<T>;
121+
export function useClickAway<T extends Element>(
122+
cb: (e: Event) => void
123+
): React.MutableRefObject<T>;
123124

124125
export function useCopyToClipboard(): [
125126
{
@@ -147,7 +148,10 @@ declare module '@uidotdev/usehooks' {
147148

148149
export function useDebounce<T>(value: T, delay: number): T;
149150

150-
export function useDefault<T>(initialValue: T, defaultValue: T): [T, React.Dispatch<React.SetStateAction<T>>];
151+
export function useDefault<T>(
152+
initialValue: T,
153+
defaultValue: T
154+
): [T, React.Dispatch<React.SetStateAction<T>>];
151155

152156
export function useDocumentTitle(title: string): void;
153157

@@ -157,14 +161,16 @@ declare module '@uidotdev/usehooks' {
157161

158162
export function useHistoryState<T>(initialPresent?: T): HistoryState<T>;
159163

160-
export function useHover<T extends Element>(): [React.MutableRefObject<T>, boolean];
164+
export function useHover<T extends Element>(): [
165+
React.MutableRefObject<T>,
166+
boolean
167+
];
161168

162169
export function useIdle(ms?: number): boolean;
163170

164-
export function useIntersectionObserver(options?: IntersectionObserverInit): [
165-
React.MutableRefObject<Element>,
166-
IntersectionObserverEntry | null
167-
];
171+
export function useIntersectionObserver(
172+
options?: IntersectionObserverInit
173+
): [React.MutableRefObject<Element>, IntersectionObserverEntry | null];
168174

169175
export function useIsClient(): boolean;
170176

@@ -174,9 +180,12 @@ declare module '@uidotdev/usehooks' {
174180

175181
export function useLockBodyScroll(): void;
176182

177-
export function useLongPress(callback: (e: Event) => void, options?: LongPressOptions): LongPressFns;
183+
export function useLongPress(
184+
callback: (e: Event) => void,
185+
options?: LongPressOptions
186+
): LongPressFns;
178187

179-
export function useMap<T>(initialState?: T): Map<T>;
188+
export function useMap<T>(initialState?: T): Map<T, any>;
180189

181190
export function useMeasure<T extends Element>(): [
182191
React.MutableRefObject<T>,
@@ -188,7 +197,10 @@ declare module '@uidotdev/usehooks' {
188197

189198
export function useMediaQuery(query: string): boolean;
190199

191-
export function useMouse<T extends Element>(): [MousePosition, React.MutableRefObject<T>];
200+
export function useMouse<T extends Element>(): [
201+
MousePosition,
202+
React.MutableRefObject<T>
203+
];
192204

193205
export function useNetworkState(): NetworkState;
194206

@@ -209,17 +221,22 @@ declare module '@uidotdev/usehooks' {
209221

210222
export function useRenderInfo(name?: string): RenderInfo | undefined;
211223

212-
export function useScript(src: string, options?: {
213-
removeOnUnmount?: boolean;
214-
}): "idle" | "loading" | "ready" | "error";
224+
export function useScript(
225+
src: string,
226+
options?: {
227+
removeOnUnmount?: boolean;
228+
}
229+
): "idle" | "loading" | "ready" | "error";
215230

216231
export function useSet<T>(values?: T[]): Set<T>;
217232

218233
export function useSpeech(text: string, options?: SpeechOptions): SpeechState;
219234

220235
export function useThrottle<T>(value: T, delay: number): T;
221236

222-
export function useToggle(initialValue?: boolean): [boolean, (newValue?: boolean) => void];
237+
export function useToggle(
238+
initialValue?: boolean
239+
): [boolean, (newValue?: boolean) => void];
223240

224241
export function useVisibilityChange(): boolean;
225242

index.js

+23-19
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,17 @@ export function useBattery() {
4545
level: null,
4646
charging: null,
4747
chargingTime: null,
48-
dischargingTime: null
48+
dischargingTime: null,
4949
});
5050

5151
React.useEffect(() => {
5252
if (!navigator.getBattery) {
5353
setState((s) => ({
5454
...s,
5555
supported: false,
56-
loading: false
56+
loading: false,
5757
}));
58-
return
58+
return;
5959
}
6060

6161
let battery = null;
@@ -67,7 +67,7 @@ export function useBattery() {
6767
level: battery.level,
6868
charging: battery.charging,
6969
chargingTime: battery.chargingTime,
70-
dischargingTime: battery.dischargingTime
70+
dischargingTime: battery.dischargingTime,
7171
});
7272
};
7373

@@ -125,28 +125,28 @@ export function useClickAway(cb) {
125125
export function useCopyToClipboard() {
126126
const [state, setState] = React.useState({
127127
error: null,
128-
text: null
128+
text: null,
129129
});
130130

131131
const copyToClipboard = React.useCallback(async (value) => {
132132
if (!navigator?.clipboard) {
133133
return setState({
134134
error: new Error("Clipboard not supported"),
135-
text: null
135+
text: null,
136136
});
137137
}
138138

139139
const handleSuccess = () => {
140140
setState({
141141
error: null,
142-
text: value
142+
text: value,
143143
});
144144
};
145145

146146
const handleFailure = (e) => {
147147
setState({
148148
error: e,
149-
text: null
149+
text: null,
150150
});
151151
};
152152

@@ -221,8 +221,8 @@ export function useCounter(startingValue = 0, options = {}) {
221221
increment,
222222
decrement,
223223
set,
224-
reset
225-
}
224+
reset,
225+
},
226226
];
227227
}
228228

@@ -372,7 +372,7 @@ const useHistoryStateReducer = (state, action) => {
372372
}
373373
};
374374

375-
export function useHistoryState (initialPresent = {}) {
375+
export function useHistoryState(initialPresent = {}) {
376376
const initialPresentRef = React.useRef(initialPresent);
377377

378378
const [state, dispatch] = React.useReducer(useHistoryStateReducer, {
@@ -407,7 +407,7 @@ export function useHistoryState (initialPresent = {}) {
407407
);
408408

409409
return { state: state.present, set, undo, redo, clear, canUndo, canRedo };
410-
};
410+
}
411411

412412
export function useHover() {
413413
const [hovering, setHovering] = React.useState(false);
@@ -749,7 +749,7 @@ export function useMouse() {
749749
elementX: 0,
750750
elementY: 0,
751751
elementPositionX: 0,
752-
elementPositionY: 0
752+
elementPositionY: 0,
753753
});
754754

755755
const ref = React.useRef(null);
@@ -758,7 +758,7 @@ export function useMouse() {
758758
const handleMouseMove = (event) => {
759759
let newState = {
760760
x: event.pageX,
761-
y: event.pageY
761+
y: event.pageY,
762762
};
763763

764764
if (ref.current instanceof HTMLElement) {
@@ -779,7 +779,7 @@ export function useMouse() {
779779
setState((s) => {
780780
return {
781781
...s,
782-
...newState
782+
...newState,
783783
};
784784
});
785785
};
@@ -900,7 +900,7 @@ export function useOrientation() {
900900
handleChange();
901901
window.screen.orientation.addEventListener("change", handleChange);
902902
} else {
903-
handle_orientationchange()
903+
handle_orientationchange();
904904
window.addEventListener("orientationchange", handle_orientationchange);
905905
}
906906

@@ -933,7 +933,11 @@ const getPreferredLanguageServerSnapshot = () => {
933933
};
934934

935935
export function usePreferredLanguage() {
936-
return React.useSyncExternalStore(usePreferredLanguageSubscribe, getPreferredLanguageSnapshot, getPreferredLanguageServerSnapshot);
936+
return React.useSyncExternalStore(
937+
usePreferredLanguageSubscribe,
938+
getPreferredLanguageSnapshot,
939+
getPreferredLanguageServerSnapshot
940+
);
937941
}
938942

939943
export function usePrevious(newValue) {
@@ -975,7 +979,7 @@ export function useQueue(initialValue = []) {
975979
first: queue[0],
976980
last: queue[queue.length - 1],
977981
size: queue.length,
978-
queue
982+
queue,
979983
};
980984
}
981985

@@ -1210,7 +1214,7 @@ export function useVisibilityChange() {
12101214
setDocumentVisibility(true);
12111215
}
12121216
};
1213-
handleChange()
1217+
handleChange();
12141218

12151219
document.addEventListener("visibilitychange", handleChange);
12161220

0 commit comments

Comments
 (0)