forked from jestjs/jest
/
types.ts
62 lines (54 loc) 路 1.7 KB
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/**
* 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.
*/
import type Emittery = require('emittery');
import type {JestEnvironment} from '@jest/environment';
import type {
SerializableError,
Test,
TestFileEvent,
TestResult,
} from '@jest/test-result';
import type {Config} from '@jest/types';
import type RuntimeType from 'jest-runtime';
export type ErrorWithCode = Error & {code?: string};
export type OnTestStart = (test: Test) => Promise<void>;
export type OnTestFailure = (
test: Test,
serializableError: SerializableError,
) => Promise<void>;
export type OnTestSuccess = (
test: Test,
testResult: TestResult,
) => Promise<void>;
export type TestFramework = (
globalConfig: Config.GlobalConfig,
config: Config.ProjectConfig,
environment: JestEnvironment,
runtime: RuntimeType,
testPath: string,
sendMessageToJest?: TestFileEvent,
) => Promise<TestResult>;
export type TestRunnerOptions = {
serial: boolean;
};
// make sure all props here are present in the type below it as well
export type TestRunnerContext = {
changedFiles?: Set<Config.Path>;
sourcesRelatedToTestsInChangedFiles?: Set<Config.Path>;
};
export type TestRunnerSerializedContext = {
changedFiles?: Array<Config.Path>;
sourcesRelatedToTestsInChangedFiles?: Array<Config.Path>;
};
// TODO: Should live in `@jest/core` or `jest-watcher`
type WatcherState = {interrupted: boolean};
export interface TestWatcher extends Emittery<{change: WatcherState}> {
state: WatcherState;
setState(state: WatcherState): void;
isInterrupted(): boolean;
isWatchMode(): boolean;
}