Skip to content

Commit 350627c

Browse files
committed
fix(types): correct typing in compare-based hooks
1 parent beb040c commit 350627c

32 files changed

+38
-209
lines changed

docs/en/useCallbackCompare.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ function useCallbackCompare<
2525
ComparedValue,
2626
>(
2727
callback: CallbackType,
28-
compare: UseCallbackCompareFunction<ComparedValue>,
28+
compare: (prev: ComparedValue, next: ComparedValue) => boolean,
2929
comparedValue: ComparedValue,
3030
): CallbackType;
3131

3232
// 3) Comparator only
3333
function useCallbackCompare<CallbackType extends (...args: any) => any>(
3434
callback: CallbackType,
35-
compare: UseCallbackCompareFunction,
35+
compare: () => boolean,
3636
): CallbackType;
3737
```
3838

@@ -142,16 +142,6 @@ function ApplyTheme({ config }: { config: ThemeConfig }) {
142142

143143
---
144144

145-
## Typing
146-
147-
**Exported types**
148-
149-
- `UseCallbackCompareFunction<ValueType>`
150-
- With `ValueType`: `(prev: ValueType, next: ValueType) => boolean` (return `true` if equal).
151-
- Without `ValueType`: `() => boolean` (all comparison logic handled inside).
152-
153-
---
154-
155145
## See also
156146

157147
- [useDebounceCallback](useDebounceCallback.md)

docs/en/useDeps.md

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -141,16 +141,6 @@ useEffect(() => {
141141

142142
---
143143

144-
## Typing
145-
146-
**Exported types**
147-
148-
- `UseDepsCompareFunction<ValueType = undefined>`
149-
- If `ValueType` is **not provided** → function: `() => boolean` (comparison logic inside closure).
150-
- If `ValueType` is **provided** → function: `(prevValue: ValueType, nextValue: ValueType) => boolean` (return `true` if equal).
151-
152-
---
153-
154144
## See also
155145

156146
- [useCallbackCompare](useCallbackCompare.md)

docs/en/useEffectCompare.md

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ function useEffectCompare(
2222
// 2) Custom comparator + value
2323
function useEffectCompare<ComparedValue>(
2424
effect: () => void | (() => void),
25-
compare: UseEffectCompareFunction<ComparedValue>,
25+
compare: (prev: ComparedValue, next: ComparedValue) => boolean,
2626
comparedValue: ComparedValue,
2727
): void;
2828

2929
// 3) Comparator only
3030
function useEffectCompare(
3131
effect: () => void | (() => void),
32-
compare: UseEffectCompareFunction,
32+
compare: () => boolean,
3333
): void;
3434
```
3535

@@ -150,17 +150,6 @@ function CacheWarmup() {
150150

151151
---
152152

153-
## Typing
154-
155-
**Exported types**
156-
157-
- `UseEffectCompareFunction<ValueType = undefined>`
158-
- If `ValueType` is **not provided**`() => boolean` (comparison logic inside closure).
159-
- If `ValueType` is **provided**`(prevValue: ValueType, nextValue: ValueType) => boolean`.
160-
- Should return `true` if values are equal, `false` otherwise.
161-
162-
---
163-
164153
## See also
165154

166155
- [useCallbackCompare](useCallbackCompare.md)

docs/en/useLayoutEffectCompare.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ function useLayoutEffectCompare(
2424
// 2) Custom comparator + value
2525
function useLayoutEffectCompare<ComparedValue>(
2626
effect: () => void | (() => void),
27-
compare: UseLayoutEffectCompareFunction<ComparedValue>,
27+
compare: (prev: ComparedValue, next: ComparedValue) => boolean,
2828
comparedValue: ComparedValue,
2929
): void;
3030

3131
// 3) Comparator only
3232
function useLayoutEffectCompare(
3333
effect: () => void | (() => void),
34-
compare: UseLayoutEffectCompareFunction,
34+
compare: () => boolean,
3535
): void;
3636
```
3737

@@ -153,16 +153,6 @@ function GridRuler() {
153153

154154
---
155155

156-
## Types
157-
158-
**Exported types**
159-
160-
- `UseLayoutEffectCompareFunction<ValueType>`
161-
- With `ValueType`: `(prev: ValueType, next: ValueType) => boolean` (return `true` if **equal**).
162-
- Without `ValueType`: `() => boolean` (all comparison logic lives inside the function).
163-
164-
---
165-
166156
## See Also
167157

168158
- [useCallbackCompare](useCallbackCompare.md)

docs/en/useMemoCompare.md

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ function useMemoCompare<ValueType>(
2222
// 2) Custom comparator + value
2323
function useMemoCompare<ValueType, ComparedValue>(
2424
factory: () => ValueType,
25-
compare: UseMemoCompareFunction<ComparedValue>,
25+
compare: (prev: ComparedValue, next: ComparedValue) => boolean,
2626
comparedValue: ComparedValue,
2727
): ValueType;
2828

2929
// 3) Comparator only
3030
function useMemoCompare<ValueType>(
3131
factory: () => ValueType,
32-
compare: UseMemoCompareFunction,
32+
compare: () => boolean,
3333
): ValueType;
3434
```
3535

@@ -149,15 +149,6 @@ function ThemeProvider({ config }: { config: ThemeConfig }) {
149149

150150
---
151151

152-
## Typing
153-
154-
- `UseMemoCompareFunction<ValueType>`
155-
- Generic comparator type:
156-
- `ValueType` provided → `(prev: ValueType, next: ValueType) => boolean` (return `true` if **equal**).
157-
- `ValueType` omitted → `() => boolean` (all comparison logic lives inside the function).
158-
159-
---
160-
161152
## See Also
162153

163154
- [useCallbackCompare](useCallbackCompare.md)

docs/en/useRefEffect.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,15 +28,15 @@ function useRefEffect<RefValue>(
2828
function useRefEffect<RefValue, ComparedValue>(
2929
ref: React.RefObject<RefValue | null | undefined>,
3030
handler: UseRefEffectHandler<RefValue>,
31-
compare: UseRefEffectCompareFunction<ComparedValue>,
31+
compare: (prev: ComparedValue, next: ComparedValue) => boolean,
3232
comparedValue: ComparedValue,
3333
): void;
3434

3535
// 4) ref + compare() (you control comparison entirely inside the function)
3636
function useRefEffect<RefValue>(
3737
ref: React.RefObject<RefValue | null | undefined>,
3838
handler: UseRefEffectHandler<RefValue>,
39-
compare: UseRefEffectCompareFunction,
39+
compare: () => boolean,
4040
): void;
4141
```
4242

@@ -188,11 +188,6 @@ export function UserBadge(props: UserBadgeProps) {
188188

189189
**Exported types**
190190

191-
- `UseRefEffectCompareFunction<ValueType = undefined>`
192-
- If `ValueType` is **omitted** → zero‑arg function: `() => boolean`.
193-
- If `ValueType` is **provided** → comparator: `(prevValue: ValueType, nextValue: ValueType) => boolean`.
194-
- Return `true` when values are equal and the effect **should not** rerun.
195-
196191
- `UseRefEffectHandler<RefValue>`
197192
- Effect handler for the ref value: `(current: RefValue) => void | (() => void)`.
198193
- May return a cleanup function, same as in `useEffect`.

docs/ru/useCallbackCompare.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ function useCallbackCompare<
2525
ComparedValue,
2626
>(
2727
callback: CallbackType,
28-
compare: UseCallbackCompareFunction<ComparedValue>,
28+
compare: (prev: ComparedValue, next: ComparedValue) => boolean,
2929
comparedValue: ComparedValue,
3030
): CallbackType;
3131

3232
// 3) Только компаратор
3333
function useCallbackCompare<CallbackType extends (...args: any) => any>(
3434
callback: CallbackType,
35-
compare: UseCallbackCompareFunction,
35+
compare: () => boolean,
3636
): CallbackType;
3737
```
3838

@@ -142,16 +142,6 @@ function ApplyTheme({ config }: { config: ThemeConfig }) {
142142

143143
---
144144

145-
## Типизация
146-
147-
**Экспортируемые типы**
148-
149-
- `UseCallbackCompareFunction<ValueType>`
150-
- `ValueType` указан → `(prev: ValueType, next: ValueType) => boolean` (верните `true`, если **равны**).
151-
- `ValueType` не указан → `() => boolean` (вся логика сравнения — внутри функции).
152-
153-
---
154-
155145
## Смотрите также
156146

157147
- [useDebounceCallback](useDebounceCallback.md)

docs/ru/useDeps.md

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -143,18 +143,6 @@ useEffect(() => {
143143

144144
---
145145

146-
## Типизация
147-
148-
**Экспортируемые типы**
149-
150-
- `UseDepsCompareFunction<ValueType = undefined>`
151-
- Если `ValueType` **не указан** → функция без аргументов: `() => boolean`.
152-
- Логика сравнения полностью внутри функции.
153-
- Если `ValueType` **указан** → функция сравнения: `(prevValue: ValueType, nextValue: ValueType) => boolean`.
154-
- Верните `true`, если значения считаются равными.
155-
156-
---
157-
158146
## Смотрите также
159147

160148
- [useCallbackCompare](useCallbackCompare.md)

docs/ru/useEffectCompare.md

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ function useEffectCompare(
2222
// 2) Кастомный компаратор + значение
2323
function useEffectCompare<ComparedValue>(
2424
effect: () => void | (() => void),
25-
compare: UseEffectCompareFunction<ComparedValue>,
25+
compare: (prev: ComparedValue, next: ComparedValue) => boolean,
2626
comparedValue: ComparedValue,
2727
): void;
2828

2929
// 3) Только компаратор
3030
function useEffectCompare(
3131
effect: () => void | (() => void),
32-
compare: UseEffectCompareFunction,
32+
compare: () => boolean,
3333
): void;
3434
```
3535

@@ -150,18 +150,6 @@ function CacheWarmup() {
150150

151151
---
152152

153-
## Типизация
154-
155-
**Экспортируемые типы**
156-
157-
- `UseEffectCompareFunction<ValueType = undefined>`
158-
- Если `ValueType` **не указан** → функция без аргументов: `() => boolean`.
159-
- Сравнение или логика выполняется внутри функции.
160-
- Если `ValueType` **указан** → функция сравнения: `(prevValue: ValueType, nextValue: ValueType) => boolean`.
161-
- Верните `true`, если значения считаются равными.
162-
163-
---
164-
165153
## Смотрите также
166154

167155
- [useCallbackCompare](useCallbackCompare.md)

docs/ru/useLayoutEffectCompare.md

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ function useLayoutEffectCompare(
2424
// 2) Кастомный компаратор + значение
2525
function useLayoutEffectCompare<ComparedValue>(
2626
effect: () => void | (() => void),
27-
compare: UseLayoutEffectCompareFunction<ComparedValue>,
27+
compare: (prev: ComparedValue, next: ComparedValue) => boolean,
2828
comparedValue: ComparedValue,
2929
): void;
3030

3131
// 3) Только компаратор
3232
function useLayoutEffectCompare(
3333
effect: () => void | (() => void),
34-
compare: UseLayoutEffectCompareFunction,
34+
compare: () => boolean,
3535
): void;
3636
```
3737

@@ -153,16 +153,6 @@ function GridRuler() {
153153

154154
---
155155

156-
## Типизация
157-
158-
**Экспортируемые типы**
159-
160-
- `UseLayoutEffectCompareFunction<ValueType>`
161-
- `ValueType` указан → `(prev: ValueType, next: ValueType) => boolean` (верните `true`, если **равны**).
162-
- `ValueType` не указан → `() => boolean` (вся логика сравнения — внутри функции).
163-
164-
---
165-
166156
## Смотрите также
167157

168158
- [useCallbackCompare](useCallbackCompare.md)

0 commit comments

Comments
 (0)