保誠-保戶業務員媒合平台
Tomas
2022-05-19 957a1f10a06fdbb76f1a0ba94fe44126c613fee3
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
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
 * 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 { RawSourceMap } from 'source-map';
import type { Config, TransformTypes } from '@jest/types';
export interface ShouldInstrumentOptions extends Pick<Config.GlobalConfig, 'collectCoverage' | 'collectCoverageFrom' | 'collectCoverageOnlyFrom' | 'coverageProvider'> {
    changedFiles?: Set<Config.Path>;
    sourcesRelatedToTestsInChangedFiles?: Set<Config.Path>;
}
export interface Options extends ShouldInstrumentOptions, CallerTransformOptions {
    isInternalModule?: boolean;
}
interface FixedRawSourceMap extends Omit<RawSourceMap, 'version'> {
    version: number;
}
export declare type TransformedSource = {
    code: string;
    map?: FixedRawSourceMap | string | null;
} | string;
export declare type TransformResult = TransformTypes.TransformResult;
export interface CallerTransformOptions {
    supportsDynamicImport: boolean;
    supportsExportNamespaceFrom: boolean;
    supportsStaticESM: boolean;
    supportsTopLevelAwait: boolean;
}
export interface ReducedTransformOptions extends CallerTransformOptions {
    instrument: boolean;
}
export interface RequireAndTranspileModuleOptions extends ReducedTransformOptions {
    applyInteropRequireDefault: boolean;
}
export declare type StringMap = Map<string, string>;
export interface TransformOptions<OptionType = unknown> extends ReducedTransformOptions {
    /** a cached file system which is used in jest-runtime - useful to improve performance */
    cacheFS: StringMap;
    config: Config.ProjectConfig;
    /** A stringified version of the configuration - useful in cache busting */
    configString: string;
    /** the options passed through Jest's config by the user */
    transformerConfig: OptionType;
}
export interface SyncTransformer<OptionType = unknown> {
    /**
     * Indicates if the transformer is capabale of instrumenting the code for code coverage.
     *
     * If V8 coverage is _not_ active, and this is `true`, Jest will assume the code is instrumented.
     * If V8 coverage is _not_ active, and this is `false`. Jest will instrument the code returned by this transformer using Babel.
     */
    canInstrument?: boolean;
    createTransformer?: (options?: OptionType) => SyncTransformer<OptionType>;
    getCacheKey?: (sourceText: string, sourcePath: Config.Path, options: TransformOptions<OptionType>) => string;
    getCacheKeyAsync?: (sourceText: string, sourcePath: Config.Path, options: TransformOptions<OptionType>) => Promise<string>;
    process: (sourceText: string, sourcePath: Config.Path, options: TransformOptions<OptionType>) => TransformedSource;
    processAsync?: (sourceText: string, sourcePath: Config.Path, options: TransformOptions<OptionType>) => Promise<TransformedSource>;
}
export interface AsyncTransformer<OptionType = unknown> {
    /**
     * Indicates if the transformer is capabale of instrumenting the code for code coverage.
     *
     * If V8 coverage is _not_ active, and this is `true`, Jest will assume the code is instrumented.
     * If V8 coverage is _not_ active, and this is `false`. Jest will instrument the code returned by this transformer using Babel.
     */
    canInstrument?: boolean;
    createTransformer?: (options?: OptionType) => AsyncTransformer<OptionType>;
    getCacheKey?: (sourceText: string, sourcePath: Config.Path, options: TransformOptions<OptionType>) => string;
    getCacheKeyAsync?: (sourceText: string, sourcePath: Config.Path, options: TransformOptions<OptionType>) => Promise<string>;
    process?: (sourceText: string, sourcePath: Config.Path, options: TransformOptions<OptionType>) => TransformedSource;
    processAsync: (sourceText: string, sourcePath: Config.Path, options: TransformOptions<OptionType>) => Promise<TransformedSource>;
}
export declare type Transformer<OptionType = unknown> = SyncTransformer<OptionType> | AsyncTransformer<OptionType>;
export {};