fix(shallow): restrict types (#1070)

* fix(shallow): restrict types

* fix tsc tests
This commit is contained in:
Daishi Kato 2022-07-17 08:12:54 +09:00 committed by GitHub
parent 81d7c4fa13
commit 7e5b72ba63
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,4 +1,24 @@
export default function shallow<T, U>(objA: T, objB: U) {
function shallow<
T extends (...args: unknown[]) => unknown,
U extends (...args: unknown[]) => unknown
>(objA: T, objB: U): boolean
function shallow<
T extends string | number | boolean,
U extends string | number | boolean
>(objA: T, objB: U): boolean
function shallow<T extends unknown[], U extends unknown[]>(
objA: T,
objB: U
): boolean
function shallow<
T extends Record<string, unknown>,
U extends Record<string, unknown>
>(objA: T, objB: U): boolean
function shallow<T, U>(objA: T, objB: U) {
if (Object.is(objA, objB)) {
return true
}
@ -24,3 +44,5 @@ export default function shallow<T, U>(objA: T, objB: U) {
}
return true
}
export default shallow