jest-mock
Advanced tools
Comparing version 27.3.0 to 27.4.0
@@ -18,2 +18,44 @@ /** | ||
}; | ||
export declare type MockableFunction = (...args: Array<any>) => any; | ||
export declare type MethodKeysOf<T> = { | ||
[K in keyof T]: T[K] extends MockableFunction ? K : never; | ||
}[keyof T]; | ||
export declare type PropertyKeysOf<T> = { | ||
[K in keyof T]: T[K] extends MockableFunction ? never : K; | ||
}[keyof T]; | ||
export declare type ArgumentsOf<T> = T extends (...args: infer A) => any ? A : never; | ||
export declare type ConstructorArgumentsOf<T> = T extends new (...args: infer A) => any ? A : never; | ||
export declare type MaybeMockedConstructor<T> = T extends new (...args: Array<any>) => infer R ? MockInstance<R, ConstructorArgumentsOf<T>> : T; | ||
export declare type MockedFunction<T extends MockableFunction> = MockWithArgs<T> & { | ||
[K in keyof T]: T[K]; | ||
}; | ||
export declare type MockedFunctionDeep<T extends MockableFunction> = MockWithArgs<T> & MockedObjectDeep<T>; | ||
export declare type MockedObject<T> = MaybeMockedConstructor<T> & { | ||
[K in MethodKeysOf<T>]: T[K] extends MockableFunction ? MockedFunction<T[K]> : T[K]; | ||
} & { | ||
[K in PropertyKeysOf<T>]: T[K]; | ||
}; | ||
export declare type MockedObjectDeep<T> = MaybeMockedConstructor<T> & { | ||
[K in MethodKeysOf<T>]: T[K] extends MockableFunction ? MockedFunctionDeep<T[K]> : T[K]; | ||
} & { | ||
[K in PropertyKeysOf<T>]: MaybeMockedDeep<T[K]>; | ||
}; | ||
export declare type MaybeMockedDeep<T> = T extends MockableFunction ? MockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T; | ||
export declare type MaybeMocked<T> = T extends MockableFunction ? MockedFunction<T> : T extends object ? MockedObject<T> : T; | ||
export declare type ArgsType<T> = T extends (...args: infer A) => any ? A : never; | ||
export declare type Mocked<T> = { | ||
[P in keyof T]: T[P] extends (...args: Array<any>) => any ? MockInstance<ReturnType<T[P]>, ArgsType<T[P]>> : T[P] extends Constructable ? MockedClass<T[P]> : T[P]; | ||
} & T; | ||
export declare type MockedClass<T extends Constructable> = MockInstance<InstanceType<T>, T extends new (...args: infer P) => any ? P : never> & { | ||
prototype: T extends { | ||
prototype: any; | ||
} ? Mocked<T['prototype']> : never; | ||
} & T; | ||
export interface Constructable { | ||
new (...args: Array<any>): any; | ||
} | ||
export interface MockWithArgs<T extends MockableFunction> extends MockInstance<ReturnType<T>, ArgumentsOf<T>> { | ||
new (...args: ConstructorArgumentsOf<T>): T; | ||
(...args: ArgumentsOf<T>): ReturnType<T>; | ||
} | ||
export interface Mock<T, Y extends Array<unknown> = Array<unknown>> extends Function, MockInstance<T, Y> { | ||
@@ -127,2 +169,4 @@ new (...args: Y): T; | ||
private _typeOf; | ||
mocked<T>(item: T, deep?: false): MaybeMocked<T>; | ||
mocked<T>(item: T, deep: true): MaybeMockedDeep<T>; | ||
} | ||
@@ -135,2 +179,6 @@ export declare const fn: <T, Y extends unknown[]>(implementation?: ((...args: Y) => T) | undefined) => Mock<T, Y>; | ||
}; | ||
export declare const mocked: { | ||
<T>(item: T, deep?: false | undefined): MaybeMocked<T>; | ||
<T_2>(item: T_2, deep: true): MaybeMockedDeep<T_2>; | ||
}; | ||
export {}; |
@@ -6,3 +6,3 @@ 'use strict'; | ||
}); | ||
exports.spyOn = exports.fn = exports.ModuleMocker = void 0; | ||
exports.mocked = exports.spyOn = exports.fn = exports.ModuleMocker = void 0; | ||
@@ -947,2 +947,6 @@ function _defineProperty(obj, key, value) { | ||
return value == null ? '' + value : typeof value; | ||
} // the typings test helper | ||
mocked(item, _deep = false) { | ||
return item; | ||
} | ||
@@ -957,1 +961,3 @@ } | ||
exports.spyOn = spyOn; | ||
const mocked = JestMock.mocked.bind(JestMock); | ||
exports.mocked = mocked; |
{ | ||
"name": "jest-mock", | ||
"version": "27.3.0", | ||
"version": "27.4.0", | ||
"repository": { | ||
@@ -13,3 +13,3 @@ "type": "git", | ||
"dependencies": { | ||
"@jest/types": "^27.2.5", | ||
"@jest/types": "^27.4.0", | ||
"@types/node": "*" | ||
@@ -21,3 +21,6 @@ }, | ||
"exports": { | ||
".": "./build/index.js", | ||
".": { | ||
"types": "./build/index.d.ts", | ||
"default": "./build/index.js" | ||
}, | ||
"./package.json": "./package.json" | ||
@@ -28,3 +31,3 @@ }, | ||
}, | ||
"gitHead": "14b0c2c1d6f81b64adf8b827649ece80a4448cfc" | ||
"gitHead": "0dc6dde296550370ade2574d6665748fed37f9c9" | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
38893
963
Updated@jest/types@^27.4.0