Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 284837d

Browse files
authoredAug 19, 2022
Fixes for decorators property deprecations (#50343)
* Change type of deprecated 'decorators' property * fix 'Invalid Arguments' error for create/update constructor in factory * Update deprecation comments * Make 'decorators' optional and 'undefined' * Rename '_decorators' to 'illegalDecorators' * Update baselines
1 parent ef88fbb commit 284837d

File tree

11 files changed

+301
-440
lines changed

11 files changed

+301
-440
lines changed
 

‎src/compiler/checker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44030,7 +44030,7 @@ namespace ts {
4403044030
}
4403144031

4403244032
function checkGrammarDecorators(node: Node): boolean {
44033-
if (canHaveIllegalDecorators(node) && some(node.decorators)) {
44033+
if (canHaveIllegalDecorators(node) && some(node.illegalDecorators)) {
4403444034
return grammarErrorOnFirstToken(node, Diagnostics.Decorators_are_not_valid_here);
4403544035
}
4403644036
if (!canHaveDecorators(node) || !hasDecorators(node)) {

‎src/compiler/debug.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ namespace ts {
3030
export let currentLogLevel = LogLevel.Warning;
3131
export let isDebugging = false;
3232
export let loggingHost: LoggingHost | undefined;
33+
export let enableDeprecationWarnings = true;
3334
/* eslint-enable prefer-const */
3435

3536
type AssertionKeys = MatchingKeys<typeof Debug, AnyFunction>;
@@ -732,7 +733,7 @@ namespace ts {
732733
function createWarningDeprecation(name: string, errorAfter: Version | undefined, since: Version | undefined, message: string | undefined) {
733734
let hasWrittenDeprecation = false;
734735
return () => {
735-
if (!hasWrittenDeprecation) {
736+
if (enableDeprecationWarnings && !hasWrittenDeprecation) {
736737
log.warn(formatDeprecationMessage(name, /*error*/ false, errorAfter, since, message));
737738
hasWrittenDeprecation = true;
738739
}

‎src/compiler/factory/nodeFactory.ts

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,7 +1435,7 @@ namespace ts {
14351435
node.transformFlags = propagateChildFlags(body) | TransformFlags.ContainsClassFields;
14361436

14371437
// The following properties are used only to report grammar errors
1438-
node.decorators = undefined;
1438+
node.illegalDecorators = undefined;
14391439
node.modifiers = undefined;
14401440
return node;
14411441
}
@@ -1452,7 +1452,7 @@ namespace ts {
14521452

14531453
function finishUpdateClassStaticBlockDeclaration(updated: Mutable<ClassStaticBlockDeclaration>, original: ClassStaticBlockDeclaration) {
14541454
if (updated !== original) {
1455-
updated.decorators = original.decorators;
1455+
updated.illegalDecorators = original.illegalDecorators;
14561456
updated.modifiers = original.modifiers;
14571457
}
14581458
return update(updated, original);
@@ -1476,7 +1476,7 @@ namespace ts {
14761476
node.transformFlags |= TransformFlags.ContainsES2015;
14771477

14781478
// The following properties are used only to report grammar errors
1479-
node.decorators = undefined;
1479+
node.illegalDecorators = undefined;
14801480
node.typeParameters = undefined;
14811481
node.type = undefined;
14821482
return node;
@@ -1498,7 +1498,7 @@ namespace ts {
14981498

14991499
function finishUpdateConstructorDeclaration(updated: Mutable<ConstructorDeclaration>, original: ConstructorDeclaration) {
15001500
if (updated !== original) {
1501-
updated.decorators = original.decorators;
1501+
updated.illegalDecorators = original.illegalDecorators;
15021502
updated.typeParameters = original.typeParameters;
15031503
updated.type = original.type;
15041504
}
@@ -3657,7 +3657,7 @@ namespace ts {
36573657
}
36583658

36593659
// The following properties are used only to report grammar errors
3660-
node.decorators = undefined;
3660+
node.illegalDecorators = undefined;
36613661
return node;
36623662
}
36633663

@@ -3686,7 +3686,7 @@ namespace ts {
36863686
function finishUpdateFunctionDeclaration(updated: Mutable<FunctionDeclaration>, original: FunctionDeclaration) {
36873687
if (updated !== original) {
36883688
// copy children used only for error reporting
3689-
updated.decorators = original.decorators;
3689+
updated.illegalDecorators = original.illegalDecorators;
36903690
}
36913691
return finishUpdateBaseSignatureDeclaration(updated, original);
36923692
}
@@ -3756,7 +3756,7 @@ namespace ts {
37563756
node.transformFlags = TransformFlags.ContainsTypeScript;
37573757

37583758
// The following properties are used only to report grammar errors
3759-
node.decorators = undefined;
3759+
node.illegalDecorators = undefined;
37603760
return node;
37613761
}
37623762

@@ -3780,7 +3780,7 @@ namespace ts {
37803780

37813781
function finishUpdateInterfaceDeclaration(updated: Mutable<InterfaceDeclaration>, original: InterfaceDeclaration) {
37823782
if (updated !== original) {
3783-
updated.decorators = original.decorators;
3783+
updated.illegalDecorators = original.illegalDecorators;
37843784
}
37853785
return update(updated, original);
37863786
}
@@ -3802,7 +3802,7 @@ namespace ts {
38023802
node.transformFlags = TransformFlags.ContainsTypeScript;
38033803

38043804
// The following properties are used only to report grammar errors
3805-
node.decorators = undefined;
3805+
node.illegalDecorators = undefined;
38063806
return node;
38073807
}
38083808

@@ -3824,7 +3824,7 @@ namespace ts {
38243824

38253825
function finishUpdateTypeAliasDeclaration(updated: Mutable<TypeAliasDeclaration>, original: TypeAliasDeclaration) {
38263826
if (updated !== original) {
3827-
updated.decorators = original.decorators;
3827+
updated.illegalDecorators = original.illegalDecorators;
38283828
}
38293829
return update(updated, original);
38303830
}
@@ -3847,7 +3847,7 @@ namespace ts {
38473847
node.transformFlags &= ~TransformFlags.ContainsPossibleTopLevelAwait; // Enum declarations cannot contain `await`
38483848

38493849
// The following properties are used only to report grammar errors
3850-
node.decorators = undefined;
3850+
node.illegalDecorators = undefined;
38513851
return node;
38523852
}
38533853

@@ -3866,7 +3866,7 @@ namespace ts {
38663866

38673867
function finishUpdateEnumDeclaration(updated: Mutable<EnumDeclaration>, original: EnumDeclaration) {
38683868
if (updated !== original) {
3869-
updated.decorators = original.decorators;
3869+
updated.illegalDecorators = original.illegalDecorators;
38703870
}
38713871
return update(updated, original);
38723872
}
@@ -3896,7 +3896,7 @@ namespace ts {
38963896
node.transformFlags &= ~TransformFlags.ContainsPossibleTopLevelAwait; // Module declarations cannot contain `await`.
38973897

38983898
// The following properties are used only to report grammar errors
3899-
node.decorators = undefined;
3899+
node.illegalDecorators = undefined;
39003900
return node;
39013901
}
39023902

@@ -3916,7 +3916,7 @@ namespace ts {
39163916

39173917
function finishUpdateModuleDeclaration(updated: Mutable<ModuleDeclaration>, original: ModuleDeclaration) {
39183918
if (updated !== original) {
3919-
updated.decorators = original.decorators;
3919+
updated.illegalDecorators = original.illegalDecorators;
39203920
}
39213921
return update(updated, original);
39223922
}
@@ -3961,7 +3961,7 @@ namespace ts {
39613961
node.transformFlags = TransformFlags.ContainsTypeScript;
39623962

39633963
// The following properties are used only to report grammar errors
3964-
node.decorators = undefined;
3964+
node.illegalDecorators = undefined;
39653965
node.modifiers = undefined;
39663966
return node;
39673967
}
@@ -3975,7 +3975,7 @@ namespace ts {
39753975

39763976
function finishUpdateNamespaceExportDeclaration(updated: Mutable<NamespaceExportDeclaration>, original: NamespaceExportDeclaration) {
39773977
if (updated !== original) {
3978-
updated.decorators = original.decorators;
3978+
updated.illegalDecorators = original.illegalDecorators;
39793979
updated.modifiers = original.modifiers;
39803980
}
39813981
return update(updated, original);
@@ -4000,7 +4000,7 @@ namespace ts {
40004000
node.transformFlags &= ~TransformFlags.ContainsPossibleTopLevelAwait; // Import= declaration is always parsed in an Await context
40014001

40024002
// The following properties are used only to report grammar errors
4003-
node.decorators = undefined;
4003+
node.illegalDecorators = undefined;
40044004
return node;
40054005
}
40064006

@@ -4022,7 +4022,7 @@ namespace ts {
40224022

40234023
function finishUpdateImportEqualsDeclaration(updated: Mutable<ImportEqualsDeclaration>, original: ImportEqualsDeclaration) {
40244024
if (updated !== original) {
4025-
updated.decorators = original.decorators;
4025+
updated.illegalDecorators = original.illegalDecorators;
40264026
}
40274027
return update(updated, original);
40284028
}
@@ -4045,7 +4045,7 @@ namespace ts {
40454045
node.transformFlags &= ~TransformFlags.ContainsPossibleTopLevelAwait; // always parsed in an Await context
40464046

40474047
// The following properties are used only to report grammar errors
4048-
node.decorators = undefined;
4048+
node.illegalDecorators = undefined;
40494049
return node;
40504050
}
40514051

@@ -4067,7 +4067,7 @@ namespace ts {
40674067

40684068
function finishUpdateImportDeclaration(updated: Mutable<ImportDeclaration>, original: ImportDeclaration) {
40694069
if (updated !== original) {
4070-
updated.decorators = original.decorators;
4070+
updated.illegalDecorators = original.illegalDecorators;
40714071
}
40724072
return update(updated, original);
40734073
}
@@ -4235,7 +4235,7 @@ namespace ts {
42354235
node.transformFlags &= ~TransformFlags.ContainsPossibleTopLevelAwait; // always parsed in an Await context
42364236

42374237
// The following properties are used only to report grammar errors
4238-
node.decorators = undefined;
4238+
node.illegalDecorators = undefined;
42394239
return node;
42404240
}
42414241

@@ -4253,7 +4253,7 @@ namespace ts {
42534253

42544254
function finishUpdateExportAssignment(updated: Mutable<ExportAssignment>, original: ExportAssignment) {
42554255
if (updated !== original) {
4256-
updated.decorators = original.decorators;
4256+
updated.illegalDecorators = original.illegalDecorators;
42574257
}
42584258
return update(updated, original);
42594259
}
@@ -4279,7 +4279,7 @@ namespace ts {
42794279
node.transformFlags &= ~TransformFlags.ContainsPossibleTopLevelAwait; // always parsed in an Await context
42804280

42814281
// The following properties are used only to report grammar errors
4282-
node.decorators = undefined;
4282+
node.illegalDecorators = undefined;
42834283
return node;
42844284
}
42854285

@@ -4303,7 +4303,7 @@ namespace ts {
43034303

43044304
function finishUpdateExportDeclaration(updated: Mutable<ExportDeclaration>, original: ExportDeclaration) {
43054305
if (updated !== original) {
4306-
updated.decorators = original.decorators;
4306+
updated.illegalDecorators = original.illegalDecorators;
43074307
}
43084308
return update(updated, original);
43094309
}
@@ -5162,7 +5162,7 @@ namespace ts {
51625162
propagateChildFlags(node.initializer);
51635163

51645164
// The following properties are used only to report grammar errors
5165-
node.decorators = undefined;
5165+
node.illegalDecorators = undefined;
51665166
node.modifiers = undefined;
51675167
node.questionToken = undefined;
51685168
node.exclamationToken = undefined;
@@ -5180,7 +5180,7 @@ namespace ts {
51805180
function finishUpdatePropertyAssignment(updated: Mutable<PropertyAssignment>, original: PropertyAssignment) {
51815181
// copy children used only for error reporting
51825182
if (updated !== original) {
5183-
updated.decorators = original.decorators;
5183+
updated.illegalDecorators = original.illegalDecorators;
51845184
updated.modifiers = original.modifiers;
51855185
updated.questionToken = original.questionToken;
51865186
updated.exclamationToken = original.exclamationToken;
@@ -5202,7 +5202,7 @@ namespace ts {
52025202

52035203
// The following properties are used only to report grammar errors
52045204
node.equalsToken = undefined;
5205-
node.decorators = undefined;
5205+
node.illegalDecorators = undefined;
52065206
node.modifiers = undefined;
52075207
node.questionToken = undefined;
52085208
node.exclamationToken = undefined;
@@ -5221,7 +5221,7 @@ namespace ts {
52215221
if (updated !== original) {
52225222
// copy children used only for error reporting
52235223
updated.equalsToken = original.equalsToken;
5224-
updated.decorators = original.decorators;
5224+
updated.illegalDecorators = original.illegalDecorators;
52255225
updated.modifiers = original.modifiers;
52265226
updated.questionToken = original.questionToken;
52275227
updated.exclamationToken = original.exclamationToken;

‎src/compiler/parser.ts

Lines changed: 34 additions & 34 deletions
Large diffs are not rendered by default.

‎src/compiler/types.ts

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1622,7 +1622,7 @@ namespace ts {
16221622
readonly initializer: Expression;
16231623

16241624
// The following properties are used only to report grammar errors
1625-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined; // property assignment cannot have decorators
1625+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined; // property assignment cannot have decorators
16261626
/* @internal */ readonly modifiers?: NodeArray<Modifier> | undefined; // property assignment cannot have modifiers
16271627
/* @internal */ readonly questionToken?: QuestionToken | undefined; // property assignment cannot have a question token
16281628
/* @internal */ readonly exclamationToken?: ExclamationToken | undefined; // property assignment cannot have an exclamation token
@@ -1638,7 +1638,7 @@ namespace ts {
16381638
readonly objectAssignmentInitializer?: Expression;
16391639

16401640
// The following properties are used only to report grammar errors
1641-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined; // shorthand property assignment cannot have decorators
1641+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined; // shorthand property assignment cannot have decorators
16421642
/* @internal */ readonly modifiers?: NodeArray<Modifier> | undefined; // shorthand property assignment cannot have modifiers
16431643
/* @internal */ readonly questionToken?: QuestionToken | undefined; // shorthand property assignment cannot have a question token
16441644
/* @internal */ readonly exclamationToken?: ExclamationToken | undefined; // shorthand property assignment cannot have an exclamation token
@@ -1720,7 +1720,7 @@ namespace ts {
17201720
readonly body?: FunctionBody;
17211721

17221722
// The following properties are used only to report grammar errors
1723-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined; // functions cannot have decorators
1723+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined; // functions cannot have decorators
17241724
}
17251725

17261726
export interface MethodSignature extends SignatureDeclarationBase, TypeElement {
@@ -1757,7 +1757,7 @@ namespace ts {
17571757
readonly body?: FunctionBody | undefined;
17581758

17591759
// The following properties are used only to report grammar errors
1760-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined; // A constructor cannot have decorators
1760+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined; // A constructor cannot have decorators
17611761
/* @internal */ readonly typeParameters?: NodeArray<TypeParameterDeclaration>; // A constructor cannot have type parameters
17621762
/* @internal */ readonly type?: TypeNode; // A constructor cannot have a return type annotation
17631763
}
@@ -1804,7 +1804,7 @@ namespace ts {
18041804
readonly type: TypeNode;
18051805

18061806
// The following properties are used only to report grammar errors
1807-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
1807+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
18081808
}
18091809

18101810
export interface ClassStaticBlockDeclaration extends ClassElement, JSDocContainer {
@@ -1816,7 +1816,7 @@ namespace ts {
18161816
/* @internal */ returnFlowNode?: FlowNode;
18171817

18181818
// The following properties are used only to report grammar errors
1819-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
1819+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
18201820
/* @internal */ readonly modifiers?: NodeArray<Modifier> | undefined;
18211821
}
18221822

@@ -2966,7 +2966,7 @@ namespace ts {
29662966
readonly name?: Identifier;
29672967

29682968
// The following properties are used only to report grammar errors
2969-
/*@internal*/ decorators?: NodeArray<Decorator> | undefined;
2969+
/*@internal*/ illegalDecorators?: NodeArray<Decorator> | undefined;
29702970
/*@internal*/ modifiers?: NodeArray<Modifier> | undefined;
29712971
}
29722972

@@ -2989,7 +2989,7 @@ namespace ts {
29892989
readonly declarationList: VariableDeclarationList;
29902990

29912991
// The following properties are used only to report grammar errors
2992-
/* @internal*/ decorators?: NodeArray<Decorator> | undefined;
2992+
/* @internal*/ illegalDecorators?: NodeArray<Decorator> | undefined;
29932993
}
29942994

29952995
export interface ExpressionStatement extends Statement {
@@ -3203,7 +3203,7 @@ namespace ts {
32033203
readonly members: NodeArray<TypeElement>;
32043204

32053205
// The following properties are used only to report grammar errors
3206-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3206+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
32073207
}
32083208

32093209
export interface HeritageClause extends Node {
@@ -3221,7 +3221,7 @@ namespace ts {
32213221
readonly type: TypeNode;
32223222

32233223
// The following properties are used only to report grammar errors
3224-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3224+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
32253225
}
32263226

32273227
export interface EnumMember extends NamedDeclaration, JSDocContainer {
@@ -3240,7 +3240,7 @@ namespace ts {
32403240
readonly members: NodeArray<EnumMember>;
32413241

32423242
// The following properties are used only to report grammar errors
3243-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3243+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
32443244
}
32453245

32463246
export type ModuleName =
@@ -3266,7 +3266,7 @@ namespace ts {
32663266
readonly body?: ModuleBody | JSDocNamespaceDeclaration;
32673267

32683268
// The following properties are used only to report grammar errors
3269-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3269+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
32703270
}
32713271

32723272
export type NamespaceBody =
@@ -3317,7 +3317,7 @@ namespace ts {
33173317
readonly moduleReference: ModuleReference;
33183318

33193319
// The following properties are used only to report grammar errors
3320-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3320+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
33213321
}
33223322

33233323
export interface ExternalModuleReference extends Node {
@@ -3340,7 +3340,7 @@ namespace ts {
33403340
readonly assertClause?: AssertClause;
33413341

33423342
// The following properties are used only to report grammar errors
3343-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3343+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
33443344
}
33453345

33463346
export type NamedImportBindings =
@@ -3400,7 +3400,7 @@ namespace ts {
34003400
readonly name: Identifier;
34013401

34023402
// The following properties are used only to report grammar errors
3403-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3403+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
34043404
/* @internal */ readonly modifiers?: NodeArray<Modifier> | undefined;
34053405
}
34063406

@@ -3416,7 +3416,7 @@ namespace ts {
34163416
readonly assertClause?: AssertClause;
34173417

34183418
// The following properties are used only to report grammar errors
3419-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3419+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
34203420
}
34213421

34223422
export interface NamedImports extends Node {
@@ -3481,7 +3481,7 @@ namespace ts {
34813481
readonly expression: Expression;
34823482

34833483
// The following properties are used only to report grammar errors
3484-
/* @internal */ readonly decorators?: NodeArray<Decorator> | undefined;
3484+
/* @internal */ readonly illegalDecorators?: NodeArray<Decorator> | undefined;
34853485
}
34863486

34873487
export interface FileReference extends TextRange {

‎src/compiler/utilities.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7542,7 +7542,7 @@ namespace ts {
75427542
case SyntaxKind.Decorator: {
75437543
const { parent } = node as Decorator;
75447544
return canHaveDecorators(parent) ? parent.modifiers :
7545-
canHaveIllegalDecorators(parent) ? parent.decorators :
7545+
canHaveIllegalDecorators(parent) ? parent.illegalDecorators :
75467546
undefined;
75477547
}
75487548
case SyntaxKind.HeritageClause:

‎src/deprecatedCompat/4.8/mergeDecoratorsAndModifiers.ts

Lines changed: 64 additions & 123 deletions
Large diffs are not rendered by default.

‎src/services/refactors/convertParamsToDestructuredObject.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -653,7 +653,7 @@ namespace ts.refactor.convertParamsToDestructuredObject {
653653
interface ValidParameterDeclaration extends ParameterDeclaration {
654654
name: Identifier;
655655
modifiers: undefined;
656-
decorators: undefined;
656+
illegalDecorators: undefined;
657657
}
658658

659659
interface GroupedReferences {

‎src/testRunner/unittests/factory.ts

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,40 @@ namespace ts {
8181
checkRhs(SyntaxKind.QuestionQuestionEqualsToken, /*expectParens*/ false);
8282
});
8383
});
84+
85+
describe("deprecations", () => {
86+
beforeEach(() => {
87+
Debug.enableDeprecationWarnings = false;
88+
});
89+
90+
afterEach(() => {
91+
Debug.enableDeprecationWarnings = true;
92+
});
93+
94+
// https://github.com/microsoft/TypeScript/issues/50259
95+
it("deprecated createConstructorDeclaration overload does not throw", () => {
96+
const body = factory.createBlock([]);
97+
assert.doesNotThrow(() => factory.createConstructorDeclaration(
98+
/*decorators*/ undefined,
99+
/*modifiers*/ undefined,
100+
/*parameters*/ [],
101+
body,
102+
));
103+
});
104+
105+
// https://github.com/microsoft/TypeScript/issues/50259
106+
it("deprecated updateConstructorDeclaration overload does not throw", () => {
107+
const body = factory.createBlock([]);
108+
const ctor = factory.createConstructorDeclaration(/*modifiers*/ undefined, [], body);
109+
assert.doesNotThrow(() => factory.updateConstructorDeclaration(
110+
ctor,
111+
ctor.decorators,
112+
ctor.modifiers,
113+
ctor.parameters,
114+
ctor.body,
115+
));
116+
});
117+
});
118+
84119
});
85120
}

‎tests/baselines/reference/api/tsserverlibrary.d.ts

Lines changed: 59 additions & 117 deletions
Large diffs are not rendered by default.

‎tests/baselines/reference/api/typescript.d.ts

Lines changed: 59 additions & 117 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)
Please sign in to comment.