Skip to content

Commit 7469bbd

Browse files
committed
chore(options): Move the overload transformation option into a features array
1 parent a64e1a2 commit 7469bbd

File tree

5 files changed

+17
-13
lines changed

5 files changed

+17
-13
lines changed

src/options/default.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ import { TsAutoMockOptions } from './options';
33
export const defaultOptions: TsAutoMockOptions = {
44
debug: false,
55
cacheBetweenTests: true,
6-
transformOverloads: false,
6+
features: [],
77
};

src/options/features.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { GetOptionByKey } from './options';
2+
3+
interface Features {
4+
transformOverloads: unknown;
5+
}
6+
7+
export type TsAutoMockFeaturesOptions = Array<keyof Features>;
8+
9+
export function GetTsAutoMockFeaturesOptions(): TsAutoMockFeaturesOptions {
10+
return GetOptionByKey('features');
11+
}

src/options/options.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { TsAutoMockCacheOptions } from './cache';
22
import { TsAutoMockDebugOptions } from './debug';
3-
import { TsAutoMockOverloadOptions } from './overload';
3+
import { TsAutoMockFeaturesOptions } from './features';
44
import { defaultOptions } from './default';
55

66
export interface TsAutoMockOptions {
77
debug: TsAutoMockDebugOptions;
88
cacheBetweenTests: TsAutoMockCacheOptions;
9-
transformOverloads: TsAutoMockOverloadOptions;
9+
features: TsAutoMockFeaturesOptions;
1010
}
1111

1212
let tsAutoMockOptions: TsAutoMockOptions = defaultOptions;

src/options/overload.ts

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/transformer/descriptor/method/method.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import ts from 'typescript';
2-
import { GetTsAutoMockOverloadOptions, TsAutoMockOverloadOptions } from '../../../options/overload';
2+
import { GetTsAutoMockFeaturesOptions, TsAutoMockFeaturesOptions } from '../../../options/features';
33
import { MethodSignature, TypescriptCreator } from '../../helper/creator';
44
import { MockDefiner } from '../../mockDefiner/mockDefiner';
55
import { ModuleName } from '../../mockDefiner/modules/moduleName';
@@ -13,9 +13,9 @@ export function GetMethodDescriptor(propertyName: ts.PropertyName, methodSignatu
1313
const propertyNameString: string = TypescriptHelper.GetStringPropertyName(propertyName);
1414
const propertyNameStringLiteral: ts.StringLiteral = ts.createStringLiteral(propertyNameString);
1515

16-
const transformOverloadsOption: TsAutoMockOverloadOptions = GetTsAutoMockOverloadOptions();
16+
const features: TsAutoMockFeaturesOptions = GetTsAutoMockFeaturesOptions();
1717

18-
const signatures: MethodSignature[] = methodSignatures.filter((_: unknown, notFirst: number) => transformOverloadsOption || !notFirst);
18+
const signatures: MethodSignature[] = methodSignatures.filter((_: unknown, notFirst: number) => features.includes('transformOverloads') || !notFirst);
1919

2020
const signatureWithMostParameters: MethodSignature = signatures.reduce(
2121
(acc: MethodSignature, signature: MethodSignature) => {

0 commit comments

Comments
 (0)