mirror of
https://github.com/azure/login.git
synced 2026-06-07 13:47:17 +00:00
* Bump lodash from 4.17.15 to 4.17.19 (#52) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amruta Kawade <65217380+AmrutaKawade@users.noreply.github.com> * Bump @actions/core from 1.1.3 to 1.2.6 (#60) Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.1.3 to 1.2.6. - [Release notes](https://github.com/actions/toolkit/releases) - [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md) - [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Amruta Kawade <65217380+AmrutaKawade@users.noreply.github.com> * updating node_nodules * updated package-lock Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
34 lines
1.8 KiB
TypeScript
34 lines
1.8 KiB
TypeScript
/// <reference types="jest" />
|
|
declare type MockableFunction = (...args: any[]) => any;
|
|
declare type MethodKeysOf<T> = {
|
|
[K in keyof T]: T[K] extends MockableFunction ? K : never;
|
|
}[keyof T];
|
|
declare type PropertyKeysOf<T> = {
|
|
[K in keyof T]: T[K] extends MockableFunction ? never : K;
|
|
}[keyof T];
|
|
declare type ArgumentsOf<T> = T extends (...args: infer A) => any ? A : never;
|
|
declare type ConstructorArgumentsOf<T> = T extends new (...args: infer A) => any ? A : never;
|
|
interface MockWithArgs<T extends MockableFunction> extends jest.MockInstance<ReturnType<T>, ArgumentsOf<T>> {
|
|
new (...args: ConstructorArgumentsOf<T>): T;
|
|
(...args: ArgumentsOf<T>): ReturnType<T>;
|
|
}
|
|
declare type MaybeMockedConstructor<T> = T extends new (...args: any[]) => infer R ? jest.MockInstance<R, ConstructorArgumentsOf<T>> : {};
|
|
declare type MockedFunction<T extends MockableFunction> = MockWithArgs<T> & {
|
|
[K in keyof T]: T[K];
|
|
};
|
|
declare type MockedFunctionDeep<T extends MockableFunction> = MockWithArgs<T> & MockedObjectDeep<T>;
|
|
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];
|
|
};
|
|
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 function mocked<T>(item: T, deep?: false): MaybeMocked<T>;
|
|
export declare function mocked<T>(item: T, deep: true): MaybeMockedDeep<T>;
|
|
export {};
|