mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-05-17 21:06:50 -05:00
Support exclamationToken in updateProperty and createProperty (#21577)
This commit is contained in:
@@ -349,14 +349,15 @@ namespace ts {
|
||||
decorators: ReadonlyArray<Decorator> | undefined,
|
||||
modifiers: ReadonlyArray<Modifier> | undefined,
|
||||
name: string | PropertyName,
|
||||
questionToken: QuestionToken | undefined,
|
||||
questionOrExclamationToken: QuestionToken | ExclamationToken | undefined,
|
||||
type: TypeNode | undefined,
|
||||
initializer: Expression | undefined) {
|
||||
const node = <PropertyDeclaration>createSynthesizedNode(SyntaxKind.PropertyDeclaration);
|
||||
node.decorators = asNodeArray(decorators);
|
||||
node.modifiers = asNodeArray(modifiers);
|
||||
node.name = asName(name);
|
||||
node.questionToken = questionToken;
|
||||
node.questionToken = questionOrExclamationToken !== undefined && questionOrExclamationToken.kind === SyntaxKind.QuestionToken ? questionOrExclamationToken : undefined;
|
||||
node.exclamationToken = questionOrExclamationToken !== undefined && questionOrExclamationToken.kind === SyntaxKind.ExclamationToken ? questionOrExclamationToken : undefined;
|
||||
node.type = type;
|
||||
node.initializer = initializer;
|
||||
return node;
|
||||
@@ -367,16 +368,17 @@ namespace ts {
|
||||
decorators: ReadonlyArray<Decorator> | undefined,
|
||||
modifiers: ReadonlyArray<Modifier> | undefined,
|
||||
name: string | PropertyName,
|
||||
questionToken: QuestionToken | undefined,
|
||||
questionOrExclamationToken: QuestionToken | ExclamationToken | undefined,
|
||||
type: TypeNode | undefined,
|
||||
initializer: Expression | undefined) {
|
||||
return node.decorators !== decorators
|
||||
|| node.modifiers !== modifiers
|
||||
|| node.name !== name
|
||||
|| node.questionToken !== questionToken
|
||||
|| node.questionToken !== (questionOrExclamationToken !== undefined && questionOrExclamationToken.kind === SyntaxKind.QuestionToken ? questionOrExclamationToken : undefined)
|
||||
|| node.exclamationToken !== (questionOrExclamationToken !== undefined && questionOrExclamationToken.kind === SyntaxKind.ExclamationToken ? questionOrExclamationToken : undefined)
|
||||
|| node.type !== type
|
||||
|| node.initializer !== initializer
|
||||
? updateNode(createProperty(decorators, modifiers, name, questionToken, type, initializer), node)
|
||||
? updateNode(createProperty(decorators, modifiers, name, questionOrExclamationToken, type, initializer), node)
|
||||
: node;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user