136 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			136 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /** | ||
|  |  * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. | ||
|  |  * | ||
|  |  * This source code is licensed under the MIT license found in the | ||
|  |  * LICENSE file in the root directory of this source tree. | ||
|  |  */ | ||
|  | /// <reference types="node" />
 | ||
|  | declare type Global = NodeJS.Global; | ||
|  | declare namespace JestMock { | ||
|  |     type ModuleMocker = ModuleMockerClass; | ||
|  |     type MockFunctionMetadataType = 'object' | 'array' | 'regexp' | 'function' | 'constant' | 'collection' | 'null' | 'undefined'; | ||
|  |     type MockFunctionMetadata<T, Y extends Array<unknown>, Type = MockFunctionMetadataType> = { | ||
|  |         ref?: number; | ||
|  |         members?: { | ||
|  |             [key: string]: MockFunctionMetadata<T, Y>; | ||
|  |         }; | ||
|  |         mockImpl?: (...args: Y) => T; | ||
|  |         name?: string; | ||
|  |         refID?: number; | ||
|  |         type?: Type; | ||
|  |         value?: T; | ||
|  |         length?: number; | ||
|  |     }; | ||
|  | } | ||
|  | /** | ||
|  |  * Possible types of a MockFunctionResult. | ||
|  |  * 'return': The call completed by returning normally. | ||
|  |  * 'throw': The call completed by throwing a value. | ||
|  |  * 'incomplete': The call has not completed yet. This is possible if you read | ||
|  |  *               the  mock function result from within the mock function itself | ||
|  |  *               (or a function called by the mock function). | ||
|  |  */ | ||
|  | declare type MockFunctionResultType = 'return' | 'throw' | 'incomplete'; | ||
|  | /** | ||
|  |  * Represents the result of a single call to a mock function. | ||
|  |  */ | ||
|  | declare type MockFunctionResult = { | ||
|  |     /** | ||
|  |      * Indicates how the call completed. | ||
|  |      */ | ||
|  |     type: MockFunctionResultType; | ||
|  |     /** | ||
|  |      * The value that was either thrown or returned by the function. | ||
|  |      * Undefined when type === 'incomplete'. | ||
|  |      */ | ||
|  |     value: unknown; | ||
|  | }; | ||
|  | declare type MockFunctionState<T, Y extends Array<unknown>> = { | ||
|  |     calls: Array<Y>; | ||
|  |     instances: Array<T>; | ||
|  |     invocationCallOrder: Array<number>; | ||
|  |     /** | ||
|  |      * List of results of calls to the mock function. | ||
|  |      */ | ||
|  |     results: Array<MockFunctionResult>; | ||
|  | }; | ||
|  | declare type NonFunctionPropertyNames<T> = { | ||
|  |     [K in keyof T]: T[K] extends (...args: Array<any>) => any ? never : K; | ||
|  | }[keyof T] & string; | ||
|  | declare type FunctionPropertyNames<T> = { | ||
|  |     [K in keyof T]: T[K] extends (...args: Array<any>) => any ? K : never; | ||
|  | }[keyof T] & string; | ||
|  | interface Mock<T, Y extends Array<unknown> = Array<unknown>> extends Function, MockInstance<T, Y> { | ||
|  |     new (...args: Y): T; | ||
|  |     (...args: Y): T; | ||
|  | } | ||
|  | interface SpyInstance<T, Y extends Array<unknown>> extends MockInstance<T, Y> { | ||
|  | } | ||
|  | interface MockInstance<T, Y extends Array<unknown>> { | ||
|  |     _isMockFunction: true; | ||
|  |     _protoImpl: Function; | ||
|  |     getMockName(): string; | ||
|  |     getMockImplementation(): Function | undefined; | ||
|  |     mock: MockFunctionState<T, Y>; | ||
|  |     mockClear(): this; | ||
|  |     mockReset(): this; | ||
|  |     mockRestore(): void; | ||
|  |     mockImplementation(fn: (...args: Y) => T): this; | ||
|  |     mockImplementation(fn: () => Promise<T>): this; | ||
|  |     mockImplementationOnce(fn: (...args: Y) => T): this; | ||
|  |     mockImplementationOnce(fn: () => Promise<T>): this; | ||
|  |     mockName(name: string): this; | ||
|  |     mockReturnThis(): this; | ||
|  |     mockReturnValue(value: T): this; | ||
|  |     mockReturnValueOnce(value: T): this; | ||
|  |     mockResolvedValue(value: T): this; | ||
|  |     mockResolvedValueOnce(value: T): this; | ||
|  |     mockRejectedValue(value: T): this; | ||
|  |     mockRejectedValueOnce(value: T): this; | ||
|  | } | ||
|  | declare class ModuleMockerClass { | ||
|  |     private _environmentGlobal; | ||
|  |     private _mockState; | ||
|  |     private _mockConfigRegistry; | ||
|  |     private _spyState; | ||
|  |     private _invocationCallCounter; | ||
|  |     ModuleMocker: typeof ModuleMockerClass; | ||
|  |     /** | ||
|  |      * @see README.md | ||
|  |      * @param global Global object of the test environment, used to create | ||
|  |      * mocks | ||
|  |      */ | ||
|  |     constructor(global: Global); | ||
|  |     private _getSlots; | ||
|  |     private _ensureMockConfig; | ||
|  |     private _ensureMockState; | ||
|  |     private _defaultMockConfig; | ||
|  |     private _defaultMockState; | ||
|  |     private _makeComponent; | ||
|  |     private _createMockFunction; | ||
|  |     private _generateMock; | ||
|  |     /** | ||
|  |      * @see README.md | ||
|  |      * @param _metadata Metadata for the mock in the schema returned by the | ||
|  |      * getMetadata method of this module. | ||
|  |      */ | ||
|  |     generateFromMetadata<T, Y extends Array<unknown>>(_metadata: JestMock.MockFunctionMetadata<T, Y>): Mock<T, Y>; | ||
|  |     /** | ||
|  |      * @see README.md | ||
|  |      * @param component The component for which to retrieve metadata. | ||
|  |      */ | ||
|  |     getMetadata<T, Y extends Array<unknown>>(component: T, _refs?: Map<T, number>): JestMock.MockFunctionMetadata<T, Y> | null; | ||
|  |     isMockFunction<T>(fn: any): fn is Mock<T>; | ||
|  |     fn<T, Y extends Array<unknown>>(implementation?: (...args: Y) => T): Mock<T, Y>; | ||
|  |     spyOn<T extends {}, M extends NonFunctionPropertyNames<T>>(object: T, methodName: M, accessType: 'get'): SpyInstance<T[M], []>; | ||
|  |     spyOn<T extends {}, M extends NonFunctionPropertyNames<T>>(object: T, methodName: M, accessType: 'set'): SpyInstance<void, [T[M]]>; | ||
|  |     spyOn<T extends {}, M extends FunctionPropertyNames<T>>(object: T, methodName: M): T[M] extends (...args: Array<any>) => any ? SpyInstance<ReturnType<T[M]>, Parameters<T[M]>> : never; | ||
|  |     private _spyOnProperty; | ||
|  |     clearAllMocks(): void; | ||
|  |     resetAllMocks(): void; | ||
|  |     restoreAllMocks(): void; | ||
|  |     private _typeOf; | ||
|  | } | ||
|  | declare const JestMock: ModuleMockerClass; | ||
|  | export = JestMock; | ||
|  | //# sourceMappingURL=index.d.ts.map
 |