Skip to content

Commit 31718fd

Browse files
committed
interface over type so we can extend
1 parent 6809772 commit 31718fd

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

packages/babel-jest/src/index.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,15 @@ const THIS_FILE = fs.readFileSync(__filename);
2323
const jestPresetPath = require.resolve('babel-preset-jest');
2424
const babelIstanbulPlugin = require.resolve('babel-plugin-istanbul');
2525

26-
// Make it non-optional
27-
type TransformerWithFactory = Transformer & {
28-
createTransformer: (options?: TransformOptions) => TransformerWithFactory;
29-
};
26+
// Narrow down the types
27+
interface BabelJestTransformer extends Transformer {
28+
canInstrument: true;
29+
createTransformer: (options?: TransformOptions) => BabelJestTransformer;
30+
}
3031

3132
const createTransformer = (
3233
options: TransformOptions = {},
33-
): TransformerWithFactory => {
34+
): BabelJestTransformer => {
3435
options = {
3536
...options,
3637
// @ts-ignore: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/33118
@@ -64,7 +65,7 @@ const createTransformer = (
6465
return babelConfig;
6566
}
6667

67-
const transformer: TransformerWithFactory = {
68+
const transformer: BabelJestTransformer = {
6869
canInstrument: true,
6970
createTransformer,
7071
getCacheKey(

packages/jest-transform/src/types.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export type CacheKeyOptions = {
5151
rootDir: string;
5252
};
5353

54-
export type Transformer = {
54+
export interface Transformer {
5555
canInstrument?: boolean;
5656
createTransformer?: (options?: any) => Transformer;
5757

@@ -68,4 +68,4 @@ export type Transformer = {
6868
config: Config.ProjectConfig,
6969
options?: TransformOptions,
7070
) => string | TransformedSource;
71-
};
71+
}

0 commit comments

Comments
 (0)