PR Feedback and API baselines

This commit is contained in:
Ron Buckton
2017-10-03 13:06:17 -07:00
parent 1745e170bd
commit 4395f25648
3 changed files with 317 additions and 294 deletions
+1 -2
View File
@@ -8206,8 +8206,7 @@ namespace ts {
switch (symbol.valueDeclaration.kind) {
case SyntaxKind.VariableDeclaration:
return getNameOfDeclaration(symbol.valueDeclaration).kind === SyntaxKind.Identifier
&& symbol.valueDeclaration.parent.kind === SyntaxKind.VariableDeclarationList
&& symbol.valueDeclaration.parent.parent.kind === SyntaxKind.VariableStatement
&& isVariableDeclarationInVariableStatement(<VariableDeclaration>symbol.valueDeclaration)
&& !!(symbol.valueDeclaration.parent.flags & NodeFlags.Const);
case SyntaxKind.PropertySignature:
return hasModifier(symbol.valueDeclaration, ModifierFlags.Readonly);
+158 -146
View File
@@ -234,125 +234,126 @@ declare namespace ts {
IndexedAccessType = 171,
MappedType = 172,
LiteralType = 173,
ObjectBindingPattern = 174,
ArrayBindingPattern = 175,
BindingElement = 176,
ArrayLiteralExpression = 177,
ObjectLiteralExpression = 178,
PropertyAccessExpression = 179,
ElementAccessExpression = 180,
CallExpression = 181,
NewExpression = 182,
TaggedTemplateExpression = 183,
TypeAssertionExpression = 184,
ParenthesizedExpression = 185,
FunctionExpression = 186,
ArrowFunction = 187,
DeleteExpression = 188,
TypeOfExpression = 189,
VoidExpression = 190,
AwaitExpression = 191,
PrefixUnaryExpression = 192,
PostfixUnaryExpression = 193,
BinaryExpression = 194,
ConditionalExpression = 195,
TemplateExpression = 196,
YieldExpression = 197,
SpreadElement = 198,
ClassExpression = 199,
OmittedExpression = 200,
ExpressionWithTypeArguments = 201,
AsExpression = 202,
NonNullExpression = 203,
MetaProperty = 204,
TemplateSpan = 205,
SemicolonClassElement = 206,
Block = 207,
VariableStatement = 208,
EmptyStatement = 209,
ExpressionStatement = 210,
IfStatement = 211,
DoStatement = 212,
WhileStatement = 213,
ForStatement = 214,
ForInStatement = 215,
ForOfStatement = 216,
ContinueStatement = 217,
BreakStatement = 218,
ReturnStatement = 219,
WithStatement = 220,
SwitchStatement = 221,
LabeledStatement = 222,
ThrowStatement = 223,
TryStatement = 224,
DebuggerStatement = 225,
VariableDeclaration = 226,
VariableDeclarationList = 227,
FunctionDeclaration = 228,
ClassDeclaration = 229,
InterfaceDeclaration = 230,
TypeAliasDeclaration = 231,
EnumDeclaration = 232,
ModuleDeclaration = 233,
ModuleBlock = 234,
CaseBlock = 235,
NamespaceExportDeclaration = 236,
ImportEqualsDeclaration = 237,
ImportDeclaration = 238,
ImportClause = 239,
NamespaceImport = 240,
NamedImports = 241,
ImportSpecifier = 242,
ExportAssignment = 243,
ExportDeclaration = 244,
NamedExports = 245,
ExportSpecifier = 246,
MissingDeclaration = 247,
ExternalModuleReference = 248,
JsxElement = 249,
JsxSelfClosingElement = 250,
JsxOpeningElement = 251,
JsxClosingElement = 252,
JsxAttribute = 253,
JsxAttributes = 254,
JsxSpreadAttribute = 255,
JsxExpression = 256,
CaseClause = 257,
DefaultClause = 258,
HeritageClause = 259,
CatchClause = 260,
PropertyAssignment = 261,
ShorthandPropertyAssignment = 262,
SpreadAssignment = 263,
EnumMember = 264,
SourceFile = 265,
Bundle = 266,
JSDocTypeExpression = 267,
JSDocAllType = 268,
JSDocUnknownType = 269,
JSDocNullableType = 270,
JSDocNonNullableType = 271,
JSDocOptionalType = 272,
JSDocFunctionType = 273,
JSDocVariadicType = 274,
JSDocComment = 275,
JSDocTag = 276,
JSDocAugmentsTag = 277,
JSDocClassTag = 278,
JSDocParameterTag = 279,
JSDocReturnTag = 280,
JSDocTypeTag = 281,
JSDocTemplateTag = 282,
JSDocTypedefTag = 283,
JSDocPropertyTag = 284,
JSDocTypeLiteral = 285,
SyntaxList = 286,
NotEmittedStatement = 287,
PartiallyEmittedExpression = 288,
CommaListExpression = 289,
MergeDeclarationMarker = 290,
EndOfDeclarationMarker = 291,
Count = 292,
ESSymbolType = 174,
ObjectBindingPattern = 175,
ArrayBindingPattern = 176,
BindingElement = 177,
ArrayLiteralExpression = 178,
ObjectLiteralExpression = 179,
PropertyAccessExpression = 180,
ElementAccessExpression = 181,
CallExpression = 182,
NewExpression = 183,
TaggedTemplateExpression = 184,
TypeAssertionExpression = 185,
ParenthesizedExpression = 186,
FunctionExpression = 187,
ArrowFunction = 188,
DeleteExpression = 189,
TypeOfExpression = 190,
VoidExpression = 191,
AwaitExpression = 192,
PrefixUnaryExpression = 193,
PostfixUnaryExpression = 194,
BinaryExpression = 195,
ConditionalExpression = 196,
TemplateExpression = 197,
YieldExpression = 198,
SpreadElement = 199,
ClassExpression = 200,
OmittedExpression = 201,
ExpressionWithTypeArguments = 202,
AsExpression = 203,
NonNullExpression = 204,
MetaProperty = 205,
TemplateSpan = 206,
SemicolonClassElement = 207,
Block = 208,
VariableStatement = 209,
EmptyStatement = 210,
ExpressionStatement = 211,
IfStatement = 212,
DoStatement = 213,
WhileStatement = 214,
ForStatement = 215,
ForInStatement = 216,
ForOfStatement = 217,
ContinueStatement = 218,
BreakStatement = 219,
ReturnStatement = 220,
WithStatement = 221,
SwitchStatement = 222,
LabeledStatement = 223,
ThrowStatement = 224,
TryStatement = 225,
DebuggerStatement = 226,
VariableDeclaration = 227,
VariableDeclarationList = 228,
FunctionDeclaration = 229,
ClassDeclaration = 230,
InterfaceDeclaration = 231,
TypeAliasDeclaration = 232,
EnumDeclaration = 233,
ModuleDeclaration = 234,
ModuleBlock = 235,
CaseBlock = 236,
NamespaceExportDeclaration = 237,
ImportEqualsDeclaration = 238,
ImportDeclaration = 239,
ImportClause = 240,
NamespaceImport = 241,
NamedImports = 242,
ImportSpecifier = 243,
ExportAssignment = 244,
ExportDeclaration = 245,
NamedExports = 246,
ExportSpecifier = 247,
MissingDeclaration = 248,
ExternalModuleReference = 249,
JsxElement = 250,
JsxSelfClosingElement = 251,
JsxOpeningElement = 252,
JsxClosingElement = 253,
JsxAttribute = 254,
JsxAttributes = 255,
JsxSpreadAttribute = 256,
JsxExpression = 257,
CaseClause = 258,
DefaultClause = 259,
HeritageClause = 260,
CatchClause = 261,
PropertyAssignment = 262,
ShorthandPropertyAssignment = 263,
SpreadAssignment = 264,
EnumMember = 265,
SourceFile = 266,
Bundle = 267,
JSDocTypeExpression = 268,
JSDocAllType = 269,
JSDocUnknownType = 270,
JSDocNullableType = 271,
JSDocNonNullableType = 272,
JSDocOptionalType = 273,
JSDocFunctionType = 274,
JSDocVariadicType = 275,
JSDocComment = 276,
JSDocTag = 277,
JSDocAugmentsTag = 278,
JSDocClassTag = 279,
JSDocParameterTag = 280,
JSDocReturnTag = 281,
JSDocTypeTag = 282,
JSDocTemplateTag = 283,
JSDocTypedefTag = 284,
JSDocPropertyTag = 285,
JSDocTypeLiteral = 286,
SyntaxList = 287,
NotEmittedStatement = 288,
PartiallyEmittedExpression = 289,
CommaListExpression = 290,
MergeDeclarationMarker = 291,
EndOfDeclarationMarker = 292,
Count = 293,
FirstAssignment = 58,
LastAssignment = 70,
FirstCompoundAssignment = 59,
@@ -364,7 +365,7 @@ declare namespace ts {
FirstFutureReservedWord = 108,
LastFutureReservedWord = 116,
FirstTypeNode = 158,
LastTypeNode = 173,
LastTypeNode = 174,
FirstPunctuation = 17,
LastPunctuation = 70,
FirstToken = 0,
@@ -378,10 +379,10 @@ declare namespace ts {
FirstBinaryOperator = 27,
LastBinaryOperator = 70,
FirstNode = 143,
FirstJSDocNode = 267,
LastJSDocNode = 285,
FirstJSDocTagNode = 276,
LastJSDocTagNode = 285,
FirstJSDocNode = 268,
LastJSDocNode = 286,
FirstJSDocTagNode = 277,
LastJSDocTagNode = 286,
}
enum NodeFlags {
None = 0,
@@ -755,6 +756,9 @@ declare namespace ts {
kind: SyntaxKind.LiteralType;
literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression;
}
interface ESSymbolTypeNode extends TypeNode {
kind: SyntaxKind.ESSymbolType;
}
interface StringLiteral extends LiteralExpression {
kind: SyntaxKind.StringLiteral;
}
@@ -1772,6 +1776,7 @@ declare namespace ts {
IgnoreErrors = 60416,
InObjectTypeLiteral = 1048576,
InTypeAlias = 8388608,
IsDeclarationOfUniqueESSymbolType = 16777216,
}
interface SymbolDisplayBuilder {
buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
@@ -1871,6 +1876,7 @@ declare namespace ts {
ExportStar = 8388608,
Optional = 16777216,
Transient = 33554432,
Late = 67108864,
Enum = 384,
Variable = 3,
Value = 107455,
@@ -1973,32 +1979,34 @@ declare namespace ts {
BooleanLiteral = 128,
EnumLiteral = 256,
ESSymbol = 512,
Void = 1024,
Undefined = 2048,
Null = 4096,
Never = 8192,
TypeParameter = 16384,
Object = 32768,
Union = 65536,
Intersection = 131072,
Index = 262144,
IndexedAccess = 524288,
NonPrimitive = 16777216,
MarkerType = 67108864,
Literal = 224,
Unit = 6368,
UniqueESSymbol = 1024,
Void = 2048,
Undefined = 4096,
Null = 8192,
Never = 16384,
TypeParameter = 32768,
Object = 65536,
Union = 131072,
Intersection = 262144,
Index = 524288,
IndexedAccess = 1048576,
NonPrimitive = 33554432,
MarkerType = 134217728,
Literal = 1248,
Unit = 13536,
StringOrNumberLiteral = 96,
PossiblyFalsy = 7406,
StringLike = 262178,
PossiblyFalsy = 14574,
StringLike = 524322,
NumberLike = 84,
BooleanLike = 136,
EnumLike = 272,
UnionOrIntersection = 196608,
StructuredType = 229376,
StructuredOrTypeVariable = 1032192,
TypeVariable = 540672,
Narrowable = 17810175,
NotUnionOrUnit = 16810497,
ESSymbolLike = 1536,
UnionOrIntersection = 393216,
StructuredType = 458752,
StructuredOrTypeVariable = 2064384,
TypeVariable = 1081344,
Narrowable = 35620607,
NotUnionOrUnit = 33620481,
}
type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression;
interface Type {
@@ -2013,6 +2021,9 @@ declare namespace ts {
freshType?: LiteralType;
regularType?: LiteralType;
}
interface UniqueESSymbolType extends Type {
symbol: Symbol;
}
interface StringLiteralType extends LiteralType {
value: string;
}
@@ -3325,6 +3336,7 @@ declare namespace ts {
function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | undefined, type: TypeNode | undefined): MappedTypeNode;
function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode;
function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode;
function createESSymbolTypeNode(): ESSymbolTypeNode;
function createObjectBindingPattern(elements: ReadonlyArray<BindingElement>): ObjectBindingPattern;
function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray<BindingElement>): ObjectBindingPattern;
function createArrayBindingPattern(elements: ReadonlyArray<ArrayBindingElement>): ArrayBindingPattern;
+158 -146
View File
@@ -234,125 +234,126 @@ declare namespace ts {
IndexedAccessType = 171,
MappedType = 172,
LiteralType = 173,
ObjectBindingPattern = 174,
ArrayBindingPattern = 175,
BindingElement = 176,
ArrayLiteralExpression = 177,
ObjectLiteralExpression = 178,
PropertyAccessExpression = 179,
ElementAccessExpression = 180,
CallExpression = 181,
NewExpression = 182,
TaggedTemplateExpression = 183,
TypeAssertionExpression = 184,
ParenthesizedExpression = 185,
FunctionExpression = 186,
ArrowFunction = 187,
DeleteExpression = 188,
TypeOfExpression = 189,
VoidExpression = 190,
AwaitExpression = 191,
PrefixUnaryExpression = 192,
PostfixUnaryExpression = 193,
BinaryExpression = 194,
ConditionalExpression = 195,
TemplateExpression = 196,
YieldExpression = 197,
SpreadElement = 198,
ClassExpression = 199,
OmittedExpression = 200,
ExpressionWithTypeArguments = 201,
AsExpression = 202,
NonNullExpression = 203,
MetaProperty = 204,
TemplateSpan = 205,
SemicolonClassElement = 206,
Block = 207,
VariableStatement = 208,
EmptyStatement = 209,
ExpressionStatement = 210,
IfStatement = 211,
DoStatement = 212,
WhileStatement = 213,
ForStatement = 214,
ForInStatement = 215,
ForOfStatement = 216,
ContinueStatement = 217,
BreakStatement = 218,
ReturnStatement = 219,
WithStatement = 220,
SwitchStatement = 221,
LabeledStatement = 222,
ThrowStatement = 223,
TryStatement = 224,
DebuggerStatement = 225,
VariableDeclaration = 226,
VariableDeclarationList = 227,
FunctionDeclaration = 228,
ClassDeclaration = 229,
InterfaceDeclaration = 230,
TypeAliasDeclaration = 231,
EnumDeclaration = 232,
ModuleDeclaration = 233,
ModuleBlock = 234,
CaseBlock = 235,
NamespaceExportDeclaration = 236,
ImportEqualsDeclaration = 237,
ImportDeclaration = 238,
ImportClause = 239,
NamespaceImport = 240,
NamedImports = 241,
ImportSpecifier = 242,
ExportAssignment = 243,
ExportDeclaration = 244,
NamedExports = 245,
ExportSpecifier = 246,
MissingDeclaration = 247,
ExternalModuleReference = 248,
JsxElement = 249,
JsxSelfClosingElement = 250,
JsxOpeningElement = 251,
JsxClosingElement = 252,
JsxAttribute = 253,
JsxAttributes = 254,
JsxSpreadAttribute = 255,
JsxExpression = 256,
CaseClause = 257,
DefaultClause = 258,
HeritageClause = 259,
CatchClause = 260,
PropertyAssignment = 261,
ShorthandPropertyAssignment = 262,
SpreadAssignment = 263,
EnumMember = 264,
SourceFile = 265,
Bundle = 266,
JSDocTypeExpression = 267,
JSDocAllType = 268,
JSDocUnknownType = 269,
JSDocNullableType = 270,
JSDocNonNullableType = 271,
JSDocOptionalType = 272,
JSDocFunctionType = 273,
JSDocVariadicType = 274,
JSDocComment = 275,
JSDocTag = 276,
JSDocAugmentsTag = 277,
JSDocClassTag = 278,
JSDocParameterTag = 279,
JSDocReturnTag = 280,
JSDocTypeTag = 281,
JSDocTemplateTag = 282,
JSDocTypedefTag = 283,
JSDocPropertyTag = 284,
JSDocTypeLiteral = 285,
SyntaxList = 286,
NotEmittedStatement = 287,
PartiallyEmittedExpression = 288,
CommaListExpression = 289,
MergeDeclarationMarker = 290,
EndOfDeclarationMarker = 291,
Count = 292,
ESSymbolType = 174,
ObjectBindingPattern = 175,
ArrayBindingPattern = 176,
BindingElement = 177,
ArrayLiteralExpression = 178,
ObjectLiteralExpression = 179,
PropertyAccessExpression = 180,
ElementAccessExpression = 181,
CallExpression = 182,
NewExpression = 183,
TaggedTemplateExpression = 184,
TypeAssertionExpression = 185,
ParenthesizedExpression = 186,
FunctionExpression = 187,
ArrowFunction = 188,
DeleteExpression = 189,
TypeOfExpression = 190,
VoidExpression = 191,
AwaitExpression = 192,
PrefixUnaryExpression = 193,
PostfixUnaryExpression = 194,
BinaryExpression = 195,
ConditionalExpression = 196,
TemplateExpression = 197,
YieldExpression = 198,
SpreadElement = 199,
ClassExpression = 200,
OmittedExpression = 201,
ExpressionWithTypeArguments = 202,
AsExpression = 203,
NonNullExpression = 204,
MetaProperty = 205,
TemplateSpan = 206,
SemicolonClassElement = 207,
Block = 208,
VariableStatement = 209,
EmptyStatement = 210,
ExpressionStatement = 211,
IfStatement = 212,
DoStatement = 213,
WhileStatement = 214,
ForStatement = 215,
ForInStatement = 216,
ForOfStatement = 217,
ContinueStatement = 218,
BreakStatement = 219,
ReturnStatement = 220,
WithStatement = 221,
SwitchStatement = 222,
LabeledStatement = 223,
ThrowStatement = 224,
TryStatement = 225,
DebuggerStatement = 226,
VariableDeclaration = 227,
VariableDeclarationList = 228,
FunctionDeclaration = 229,
ClassDeclaration = 230,
InterfaceDeclaration = 231,
TypeAliasDeclaration = 232,
EnumDeclaration = 233,
ModuleDeclaration = 234,
ModuleBlock = 235,
CaseBlock = 236,
NamespaceExportDeclaration = 237,
ImportEqualsDeclaration = 238,
ImportDeclaration = 239,
ImportClause = 240,
NamespaceImport = 241,
NamedImports = 242,
ImportSpecifier = 243,
ExportAssignment = 244,
ExportDeclaration = 245,
NamedExports = 246,
ExportSpecifier = 247,
MissingDeclaration = 248,
ExternalModuleReference = 249,
JsxElement = 250,
JsxSelfClosingElement = 251,
JsxOpeningElement = 252,
JsxClosingElement = 253,
JsxAttribute = 254,
JsxAttributes = 255,
JsxSpreadAttribute = 256,
JsxExpression = 257,
CaseClause = 258,
DefaultClause = 259,
HeritageClause = 260,
CatchClause = 261,
PropertyAssignment = 262,
ShorthandPropertyAssignment = 263,
SpreadAssignment = 264,
EnumMember = 265,
SourceFile = 266,
Bundle = 267,
JSDocTypeExpression = 268,
JSDocAllType = 269,
JSDocUnknownType = 270,
JSDocNullableType = 271,
JSDocNonNullableType = 272,
JSDocOptionalType = 273,
JSDocFunctionType = 274,
JSDocVariadicType = 275,
JSDocComment = 276,
JSDocTag = 277,
JSDocAugmentsTag = 278,
JSDocClassTag = 279,
JSDocParameterTag = 280,
JSDocReturnTag = 281,
JSDocTypeTag = 282,
JSDocTemplateTag = 283,
JSDocTypedefTag = 284,
JSDocPropertyTag = 285,
JSDocTypeLiteral = 286,
SyntaxList = 287,
NotEmittedStatement = 288,
PartiallyEmittedExpression = 289,
CommaListExpression = 290,
MergeDeclarationMarker = 291,
EndOfDeclarationMarker = 292,
Count = 293,
FirstAssignment = 58,
LastAssignment = 70,
FirstCompoundAssignment = 59,
@@ -364,7 +365,7 @@ declare namespace ts {
FirstFutureReservedWord = 108,
LastFutureReservedWord = 116,
FirstTypeNode = 158,
LastTypeNode = 173,
LastTypeNode = 174,
FirstPunctuation = 17,
LastPunctuation = 70,
FirstToken = 0,
@@ -378,10 +379,10 @@ declare namespace ts {
FirstBinaryOperator = 27,
LastBinaryOperator = 70,
FirstNode = 143,
FirstJSDocNode = 267,
LastJSDocNode = 285,
FirstJSDocTagNode = 276,
LastJSDocTagNode = 285,
FirstJSDocNode = 268,
LastJSDocNode = 286,
FirstJSDocTagNode = 277,
LastJSDocTagNode = 286,
}
enum NodeFlags {
None = 0,
@@ -755,6 +756,9 @@ declare namespace ts {
kind: SyntaxKind.LiteralType;
literal: BooleanLiteral | LiteralExpression | PrefixUnaryExpression;
}
interface ESSymbolTypeNode extends TypeNode {
kind: SyntaxKind.ESSymbolType;
}
interface StringLiteral extends LiteralExpression {
kind: SyntaxKind.StringLiteral;
}
@@ -1772,6 +1776,7 @@ declare namespace ts {
IgnoreErrors = 60416,
InObjectTypeLiteral = 1048576,
InTypeAlias = 8388608,
IsDeclarationOfUniqueESSymbolType = 16777216,
}
interface SymbolDisplayBuilder {
buildTypeDisplay(type: Type, writer: SymbolWriter, enclosingDeclaration?: Node, flags?: TypeFormatFlags): void;
@@ -1871,6 +1876,7 @@ declare namespace ts {
ExportStar = 8388608,
Optional = 16777216,
Transient = 33554432,
Late = 67108864,
Enum = 384,
Variable = 3,
Value = 107455,
@@ -1973,32 +1979,34 @@ declare namespace ts {
BooleanLiteral = 128,
EnumLiteral = 256,
ESSymbol = 512,
Void = 1024,
Undefined = 2048,
Null = 4096,
Never = 8192,
TypeParameter = 16384,
Object = 32768,
Union = 65536,
Intersection = 131072,
Index = 262144,
IndexedAccess = 524288,
NonPrimitive = 16777216,
MarkerType = 67108864,
Literal = 224,
Unit = 6368,
UniqueESSymbol = 1024,
Void = 2048,
Undefined = 4096,
Null = 8192,
Never = 16384,
TypeParameter = 32768,
Object = 65536,
Union = 131072,
Intersection = 262144,
Index = 524288,
IndexedAccess = 1048576,
NonPrimitive = 33554432,
MarkerType = 134217728,
Literal = 1248,
Unit = 13536,
StringOrNumberLiteral = 96,
PossiblyFalsy = 7406,
StringLike = 262178,
PossiblyFalsy = 14574,
StringLike = 524322,
NumberLike = 84,
BooleanLike = 136,
EnumLike = 272,
UnionOrIntersection = 196608,
StructuredType = 229376,
StructuredOrTypeVariable = 1032192,
TypeVariable = 540672,
Narrowable = 17810175,
NotUnionOrUnit = 16810497,
ESSymbolLike = 1536,
UnionOrIntersection = 393216,
StructuredType = 458752,
StructuredOrTypeVariable = 2064384,
TypeVariable = 1081344,
Narrowable = 35620607,
NotUnionOrUnit = 33620481,
}
type DestructuringPattern = BindingPattern | ObjectLiteralExpression | ArrayLiteralExpression;
interface Type {
@@ -2013,6 +2021,9 @@ declare namespace ts {
freshType?: LiteralType;
regularType?: LiteralType;
}
interface UniqueESSymbolType extends Type {
symbol: Symbol;
}
interface StringLiteralType extends LiteralType {
value: string;
}
@@ -3272,6 +3283,7 @@ declare namespace ts {
function updateMappedTypeNode(node: MappedTypeNode, readonlyToken: ReadonlyToken | undefined, typeParameter: TypeParameterDeclaration, questionToken: QuestionToken | undefined, type: TypeNode | undefined): MappedTypeNode;
function createLiteralTypeNode(literal: LiteralTypeNode["literal"]): LiteralTypeNode;
function updateLiteralTypeNode(node: LiteralTypeNode, literal: LiteralTypeNode["literal"]): LiteralTypeNode;
function createESSymbolTypeNode(): ESSymbolTypeNode;
function createObjectBindingPattern(elements: ReadonlyArray<BindingElement>): ObjectBindingPattern;
function updateObjectBindingPattern(node: ObjectBindingPattern, elements: ReadonlyArray<BindingElement>): ObjectBindingPattern;
function createArrayBindingPattern(elements: ReadonlyArray<ArrayBindingElement>): ArrayBindingPattern;