保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
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
/**
 * 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" />
import type { AggregatedResult } from '@jest/test-result';
import type { Config } from '@jest/types';
declare type TestSuiteInfo = {
    config: Config.ProjectConfig;
    duration?: number;
    testPath: string;
};
export declare type JestHookExposedFS = {
    projects: Array<{
        config: Config.ProjectConfig;
        testPaths: Array<Config.Path>;
    }>;
};
export declare type FileChange = (fs: JestHookExposedFS) => void;
export declare type ShouldRunTestSuite = (testSuiteInfo: TestSuiteInfo) => Promise<boolean>;
export declare type TestRunComplete = (results: AggregatedResult) => void;
export declare type JestHookSubscriber = {
    onFileChange: (fn: FileChange) => void;
    onTestRunComplete: (fn: TestRunComplete) => void;
    shouldRunTestSuite: (fn: ShouldRunTestSuite) => void;
};
export declare type JestHookEmitter = {
    onFileChange: (fs: JestHookExposedFS) => void;
    onTestRunComplete: (results: AggregatedResult) => void;
    shouldRunTestSuite: (testSuiteInfo: TestSuiteInfo) => Promise<boolean> | boolean;
};
export declare type UsageData = {
    key: string;
    prompt: string;
};
export declare type AllowedConfigOptions = Partial<Pick<Config.GlobalConfig, 'bail' | 'changedSince' | 'collectCoverage' | 'collectCoverageFrom' | 'collectCoverageOnlyFrom' | 'coverageDirectory' | 'coverageReporters' | 'findRelatedTests' | 'nonFlagArgs' | 'notify' | 'notifyMode' | 'onlyFailures' | 'reporters' | 'testNamePattern' | 'testPathPattern' | 'updateSnapshot' | 'verbose'> & {
    mode: 'watch' | 'watchAll';
}>;
export declare type UpdateConfigCallback = (config?: AllowedConfigOptions) => void;
export interface WatchPlugin {
    isInternal?: boolean;
    apply?: (hooks: JestHookSubscriber) => void;
    getUsageInfo?: (globalConfig: Config.GlobalConfig) => UsageData | null;
    onKey?: (value: string) => void;
    run?: (globalConfig: Config.GlobalConfig, updateConfigAndRun: UpdateConfigCallback) => Promise<void | boolean>;
}
export interface WatchPluginClass {
    new (options: {
        config: Record<string, unknown>;
        stdin: NodeJS.ReadStream;
        stdout: NodeJS.WriteStream;
    }): WatchPlugin;
}
export declare type ScrollOptions = {
    offset: number;
    max: number;
};
export {};