ts-jest 24.0.1 → 24.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.ts-jest-digest CHANGED
@@ -1 +1 @@
1
- a8aa81109806244e6aec89a7757a9d4d76a38fef
1
+ 0aceab77a1f613fedb22a0395a65327e834ef35c
package/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ <a name="24.0.2"></a>
2
+ ## [24.0.2](https://github.com/kulshekhar/ts-jest/compare/v24.0.1...v24.0.2) (2019-04-05)
3
+
4
+
5
+
1
6
  <a name="24.0.1"></a>
2
7
  ## [24.0.1](https://github.com/kulshekhar/ts-jest/compare/v24.0.0...v24.0.1) (2019-03-30)
3
8
 
@@ -1,35 +1,34 @@
1
1
  /// <reference types="jest" />
2
- interface MockWithArgs<T> extends Function, jest.MockInstance<T> {
3
- new (...args: ArgumentsOf<T>): T;
4
- (...args: ArgumentsOf<T>): any;
5
- }
2
+ declare type MockableFunction = (...args: any[]) => any;
6
3
  declare type MethodKeysOf<T> = {
7
- [K in keyof T]: T[K] extends Function ? K : never;
4
+ [K in keyof T]: T[K] extends MockableFunction ? K : never;
8
5
  }[keyof T];
9
6
  declare type PropertyKeysOf<T> = {
10
- [K in keyof T]: T[K] extends Function ? never : K;
7
+ [K in keyof T]: T[K] extends MockableFunction ? never : K;
11
8
  }[keyof T];
12
9
  declare type ArgumentsOf<T> = T extends (...args: infer A) => any ? A : never;
13
- interface MockWithArgs<T> extends Function, jest.MockInstance<T> {
14
- new (...args: ArgumentsOf<T>): T;
15
- (...args: ArgumentsOf<T>): any;
10
+ declare type ConstructorArgumentsOf<T> = T extends new (...args: infer A) => any ? A : never;
11
+ interface MockWithArgs<T extends MockableFunction> extends jest.MockInstance<ReturnType<T>, ArgumentsOf<T>> {
12
+ new (...args: ConstructorArgumentsOf<T>): T;
13
+ (...args: ArgumentsOf<T>): ReturnType<T>;
16
14
  }
17
- declare type MockedFunction<T> = MockWithArgs<T> & {
15
+ declare type MaybeMockedConstructor<T> = T extends new (...args: any[]) => infer R ? jest.MockInstance<R, ConstructorArgumentsOf<T>> : {};
16
+ declare type MockedFunction<T extends MockableFunction> = MockWithArgs<T> & {
18
17
  [K in keyof T]: T[K];
19
18
  };
20
- declare type MockedFunctionDeep<T> = MockWithArgs<T> & MockedObjectDeep<T>;
21
- declare type MockedObject<T> = {
22
- [K in MethodKeysOf<T>]: MockedFunction<T[K]>;
19
+ declare type MockedFunctionDeep<T extends MockableFunction> = MockWithArgs<T> & MockedObjectDeep<T>;
20
+ declare type MockedObject<T> = MaybeMockedConstructor<T> & {
21
+ [K in MethodKeysOf<T>]: T[K] extends MockableFunction ? MockedFunction<T[K]> : T[K];
23
22
  } & {
24
23
  [K in PropertyKeysOf<T>]: T[K];
25
24
  };
26
- declare type MockedObjectDeep<T> = {
27
- [K in MethodKeysOf<T>]: MockedFunctionDeep<T[K]>;
25
+ declare type MockedObjectDeep<T> = MaybeMockedConstructor<T> & {
26
+ [K in MethodKeysOf<T>]: T[K] extends MockableFunction ? MockedFunctionDeep<T[K]> : T[K];
28
27
  } & {
29
28
  [K in PropertyKeysOf<T>]: MaybeMockedDeep<T[K]>;
30
29
  };
31
- export declare type MaybeMockedDeep<T> = T extends Function ? MockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T;
32
- export declare type MaybeMocked<T> = T extends Function ? MockedFunction<T> : T extends object ? MockedObject<T> : T;
30
+ export declare type MaybeMockedDeep<T> = T extends MockableFunction ? MockedFunctionDeep<T> : T extends object ? MockedObjectDeep<T> : T;
31
+ export declare type MaybeMocked<T> = T extends MockableFunction ? MockedFunction<T> : T extends object ? MockedObject<T> : T;
33
32
  export declare function mocked<T>(item: T, deep?: false): MaybeMocked<T>;
34
33
  export declare function mocked<T>(item: T, deep: true): MaybeMockedDeep<T>;
35
34
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-jest",
3
- "version": "24.0.1",
3
+ "version": "24.0.2",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "bin": "cli.js",