@workday/canvas-kit-docs
Version:
Documentation components of Canvas Kit components
993 lines (992 loc) • 35.5 kB
JavaScript
// This file is auto-generated from the createTraversals.ts file. Do not modify contents
import ts from 'typescript';
export const guards = {
isNumericLiteral(node) {
return node.kind === ts.SyntaxKind.NumericLiteral;
},
isBigIntLiteral(node) {
return node.kind === ts.SyntaxKind.BigIntLiteral;
},
isStringLiteral(node) {
return node.kind === ts.SyntaxKind.StringLiteral;
},
isJsxText(node) {
return node.kind === ts.SyntaxKind.JsxText;
},
isRegularExpressionLiteral(node) {
return node.kind === ts.SyntaxKind.RegularExpressionLiteral;
},
isNoSubstitutionTemplateLiteral(node) {
return node.kind === ts.SyntaxKind.NoSubstitutionTemplateLiteral;
},
isTemplateHead(node) {
return node.kind === ts.SyntaxKind.TemplateHead;
},
isTemplateMiddle(node) {
return node.kind === ts.SyntaxKind.TemplateMiddle;
},
isTemplateTail(node) {
return node.kind === ts.SyntaxKind.TemplateTail;
},
isIdentifier(node) {
return node.kind === ts.SyntaxKind.Identifier;
},
isPrivateIdentifier(node) {
return node.kind === ts.SyntaxKind.PrivateIdentifier;
},
isFalseKeyword(node) {
return node.kind === ts.SyntaxKind.FalseKeyword;
},
isImportKeyword(node) {
return node.kind === ts.SyntaxKind.ImportKeyword;
},
isNullKeyword(node) {
return node.kind === ts.SyntaxKind.NullKeyword;
},
isSuperKeyword(node) {
return node.kind === ts.SyntaxKind.SuperKeyword;
},
isThisKeyword(node) {
return node.kind === ts.SyntaxKind.ThisKeyword;
},
isTrueKeyword(node) {
return node.kind === ts.SyntaxKind.TrueKeyword;
},
isQualifiedName(node) {
return node.kind === ts.SyntaxKind.QualifiedName;
},
isComputedPropertyName(node) {
return node.kind === ts.SyntaxKind.ComputedPropertyName;
},
isTypeParameter(node) {
return node.kind === ts.SyntaxKind.TypeParameter;
},
isParameter(node) {
return node.kind === ts.SyntaxKind.Parameter;
},
isDecorator(node) {
return node.kind === ts.SyntaxKind.Decorator;
},
isPropertySignature(node) {
return node.kind === ts.SyntaxKind.PropertySignature;
},
isPropertyDeclaration(node) {
return node.kind === ts.SyntaxKind.PropertyDeclaration;
},
isMethodSignature(node) {
return node.kind === ts.SyntaxKind.MethodSignature;
},
isMethodDeclaration(node) {
return node.kind === ts.SyntaxKind.MethodDeclaration;
},
isConstructor(node) {
return node.kind === ts.SyntaxKind.Constructor;
},
isGetAccessor(node) {
return node.kind === ts.SyntaxKind.GetAccessor;
},
isSetAccessor(node) {
return node.kind === ts.SyntaxKind.SetAccessor;
},
isCallSignature(node) {
return node.kind === ts.SyntaxKind.CallSignature;
},
isConstructSignature(node) {
return node.kind === ts.SyntaxKind.ConstructSignature;
},
isIndexSignature(node) {
return node.kind === ts.SyntaxKind.IndexSignature;
},
isTypePredicate(node) {
return node.kind === ts.SyntaxKind.TypePredicate;
},
isTypeReference(node) {
return node.kind === ts.SyntaxKind.TypeReference;
},
isFunctionType(node) {
return node.kind === ts.SyntaxKind.FunctionType;
},
isConstructorType(node) {
return node.kind === ts.SyntaxKind.ConstructorType;
},
isTypeQuery(node) {
return node.kind === ts.SyntaxKind.TypeQuery;
},
isTypeLiteral(node) {
return node.kind === ts.SyntaxKind.TypeLiteral;
},
isArrayType(node) {
return node.kind === ts.SyntaxKind.ArrayType;
},
isTupleType(node) {
return node.kind === ts.SyntaxKind.TupleType;
},
isOptionalType(node) {
return node.kind === ts.SyntaxKind.OptionalType;
},
isRestType(node) {
return node.kind === ts.SyntaxKind.RestType;
},
isUnionType(node) {
return node.kind === ts.SyntaxKind.UnionType;
},
isIntersectionType(node) {
return node.kind === ts.SyntaxKind.IntersectionType;
},
isConditionalType(node) {
return node.kind === ts.SyntaxKind.ConditionalType;
},
isInferType(node) {
return node.kind === ts.SyntaxKind.InferType;
},
isParenthesizedType(node) {
return node.kind === ts.SyntaxKind.ParenthesizedType;
},
isThisType(node) {
return node.kind === ts.SyntaxKind.ThisType;
},
isTypeOperator(node) {
return node.kind === ts.SyntaxKind.TypeOperator;
},
isIndexedAccessType(node) {
return node.kind === ts.SyntaxKind.IndexedAccessType;
},
isMappedType(node) {
return node.kind === ts.SyntaxKind.MappedType;
},
isLiteralType(node) {
return node.kind === ts.SyntaxKind.LiteralType;
},
isNamedTupleMember(node) {
return node.kind === ts.SyntaxKind.NamedTupleMember;
},
isTemplateLiteralType(node) {
return node.kind === ts.SyntaxKind.TemplateLiteralType;
},
isTemplateLiteralTypeSpan(node) {
return node.kind === ts.SyntaxKind.TemplateLiteralTypeSpan;
},
isImportType(node) {
return node.kind === ts.SyntaxKind.ImportType;
},
isObjectBindingPattern(node) {
return node.kind === ts.SyntaxKind.ObjectBindingPattern;
},
isArrayBindingPattern(node) {
return node.kind === ts.SyntaxKind.ArrayBindingPattern;
},
isBindingElement(node) {
return node.kind === ts.SyntaxKind.BindingElement;
},
isArrayLiteralExpression(node) {
return node.kind === ts.SyntaxKind.ArrayLiteralExpression;
},
isObjectLiteralExpression(node) {
return node.kind === ts.SyntaxKind.ObjectLiteralExpression;
},
isPropertyAccessExpression(node) {
return node.kind === ts.SyntaxKind.PropertyAccessExpression;
},
isElementAccessExpression(node) {
return node.kind === ts.SyntaxKind.ElementAccessExpression;
},
isCallExpression(node) {
return node.kind === ts.SyntaxKind.CallExpression;
},
isNewExpression(node) {
return node.kind === ts.SyntaxKind.NewExpression;
},
isTaggedTemplateExpression(node) {
return node.kind === ts.SyntaxKind.TaggedTemplateExpression;
},
isTypeAssertionExpression(node) {
return node.kind === ts.SyntaxKind.TypeAssertionExpression;
},
isParenthesizedExpression(node) {
return node.kind === ts.SyntaxKind.ParenthesizedExpression;
},
isFunctionExpression(node) {
return node.kind === ts.SyntaxKind.FunctionExpression;
},
isArrowFunction(node) {
return node.kind === ts.SyntaxKind.ArrowFunction;
},
isDeleteExpression(node) {
return node.kind === ts.SyntaxKind.DeleteExpression;
},
isTypeOfExpression(node) {
return node.kind === ts.SyntaxKind.TypeOfExpression;
},
isVoidExpression(node) {
return node.kind === ts.SyntaxKind.VoidExpression;
},
isAwaitExpression(node) {
return node.kind === ts.SyntaxKind.AwaitExpression;
},
isPrefixUnaryExpression(node) {
return node.kind === ts.SyntaxKind.PrefixUnaryExpression;
},
isPostfixUnaryExpression(node) {
return node.kind === ts.SyntaxKind.PostfixUnaryExpression;
},
isBinaryExpression(node) {
return node.kind === ts.SyntaxKind.BinaryExpression;
},
isConditionalExpression(node) {
return node.kind === ts.SyntaxKind.ConditionalExpression;
},
isTemplateExpression(node) {
return node.kind === ts.SyntaxKind.TemplateExpression;
},
isYieldExpression(node) {
return node.kind === ts.SyntaxKind.YieldExpression;
},
isSpreadElement(node) {
return node.kind === ts.SyntaxKind.SpreadElement;
},
isClassExpression(node) {
return node.kind === ts.SyntaxKind.ClassExpression;
},
isOmittedExpression(node) {
return node.kind === ts.SyntaxKind.OmittedExpression;
},
isExpressionWithTypeArguments(node) {
return node.kind === ts.SyntaxKind.ExpressionWithTypeArguments;
},
isAsExpression(node) {
return node.kind === ts.SyntaxKind.AsExpression;
},
isNonNullExpression(node) {
return node.kind === ts.SyntaxKind.NonNullExpression;
},
isMetaProperty(node) {
return node.kind === ts.SyntaxKind.MetaProperty;
},
isSyntheticExpression(node) {
return node.kind === ts.SyntaxKind.SyntheticExpression;
},
isTemplateSpan(node) {
return node.kind === ts.SyntaxKind.TemplateSpan;
},
isSemicolonClassElement(node) {
return node.kind === ts.SyntaxKind.SemicolonClassElement;
},
isBlock(node) {
return node.kind === ts.SyntaxKind.Block;
},
isEmptyStatement(node) {
return node.kind === ts.SyntaxKind.EmptyStatement;
},
isVariableStatement(node) {
return node.kind === ts.SyntaxKind.VariableStatement;
},
isExpressionStatement(node) {
return node.kind === ts.SyntaxKind.ExpressionStatement;
},
isIfStatement(node) {
return node.kind === ts.SyntaxKind.IfStatement;
},
isDoStatement(node) {
return node.kind === ts.SyntaxKind.DoStatement;
},
isWhileStatement(node) {
return node.kind === ts.SyntaxKind.WhileStatement;
},
isForStatement(node) {
return node.kind === ts.SyntaxKind.ForStatement;
},
isForInStatement(node) {
return node.kind === ts.SyntaxKind.ForInStatement;
},
isForOfStatement(node) {
return node.kind === ts.SyntaxKind.ForOfStatement;
},
isContinueStatement(node) {
return node.kind === ts.SyntaxKind.ContinueStatement;
},
isBreakStatement(node) {
return node.kind === ts.SyntaxKind.BreakStatement;
},
isReturnStatement(node) {
return node.kind === ts.SyntaxKind.ReturnStatement;
},
isWithStatement(node) {
return node.kind === ts.SyntaxKind.WithStatement;
},
isSwitchStatement(node) {
return node.kind === ts.SyntaxKind.SwitchStatement;
},
isLabeledStatement(node) {
return node.kind === ts.SyntaxKind.LabeledStatement;
},
isThrowStatement(node) {
return node.kind === ts.SyntaxKind.ThrowStatement;
},
isTryStatement(node) {
return node.kind === ts.SyntaxKind.TryStatement;
},
isDebuggerStatement(node) {
return node.kind === ts.SyntaxKind.DebuggerStatement;
},
isVariableDeclaration(node) {
return node.kind === ts.SyntaxKind.VariableDeclaration;
},
isVariableDeclarationList(node) {
return node.kind === ts.SyntaxKind.VariableDeclarationList;
},
isFunctionDeclaration(node) {
return node.kind === ts.SyntaxKind.FunctionDeclaration;
},
isClassDeclaration(node) {
return node.kind === ts.SyntaxKind.ClassDeclaration;
},
isInterfaceDeclaration(node) {
return node.kind === ts.SyntaxKind.InterfaceDeclaration;
},
isTypeAliasDeclaration(node) {
return node.kind === ts.SyntaxKind.TypeAliasDeclaration;
},
isEnumDeclaration(node) {
return node.kind === ts.SyntaxKind.EnumDeclaration;
},
isModuleDeclaration(node) {
return node.kind === ts.SyntaxKind.ModuleDeclaration;
},
isModuleBlock(node) {
return node.kind === ts.SyntaxKind.ModuleBlock;
},
isCaseBlock(node) {
return node.kind === ts.SyntaxKind.CaseBlock;
},
isNamespaceExportDeclaration(node) {
return node.kind === ts.SyntaxKind.NamespaceExportDeclaration;
},
isImportEqualsDeclaration(node) {
return node.kind === ts.SyntaxKind.ImportEqualsDeclaration;
},
isImportDeclaration(node) {
return node.kind === ts.SyntaxKind.ImportDeclaration;
},
isImportClause(node) {
return node.kind === ts.SyntaxKind.ImportClause;
},
isNamespaceImport(node) {
return node.kind === ts.SyntaxKind.NamespaceImport;
},
isNamedImports(node) {
return node.kind === ts.SyntaxKind.NamedImports;
},
isImportSpecifier(node) {
return node.kind === ts.SyntaxKind.ImportSpecifier;
},
isExportAssignment(node) {
return node.kind === ts.SyntaxKind.ExportAssignment;
},
isExportDeclaration(node) {
return node.kind === ts.SyntaxKind.ExportDeclaration;
},
isNamedExports(node) {
return node.kind === ts.SyntaxKind.NamedExports;
},
isNamespaceExport(node) {
return node.kind === ts.SyntaxKind.NamespaceExport;
},
isExportSpecifier(node) {
return node.kind === ts.SyntaxKind.ExportSpecifier;
},
isMissingDeclaration(node) {
return node.kind === ts.SyntaxKind.MissingDeclaration;
},
isExternalModuleReference(node) {
return node.kind === ts.SyntaxKind.ExternalModuleReference;
},
isJsxElement(node) {
return node.kind === ts.SyntaxKind.JsxElement;
},
isJsxSelfClosingElement(node) {
return node.kind === ts.SyntaxKind.JsxSelfClosingElement;
},
isJsxOpeningElement(node) {
return node.kind === ts.SyntaxKind.JsxOpeningElement;
},
isJsxClosingElement(node) {
return node.kind === ts.SyntaxKind.JsxClosingElement;
},
isJsxFragment(node) {
return node.kind === ts.SyntaxKind.JsxFragment;
},
isJsxOpeningFragment(node) {
return node.kind === ts.SyntaxKind.JsxOpeningFragment;
},
isJsxClosingFragment(node) {
return node.kind === ts.SyntaxKind.JsxClosingFragment;
},
isJsxAttribute(node) {
return node.kind === ts.SyntaxKind.JsxAttribute;
},
isJsxAttributes(node) {
return node.kind === ts.SyntaxKind.JsxAttributes;
},
isJsxSpreadAttribute(node) {
return node.kind === ts.SyntaxKind.JsxSpreadAttribute;
},
isJsxExpression(node) {
return node.kind === ts.SyntaxKind.JsxExpression;
},
isCaseClause(node) {
return node.kind === ts.SyntaxKind.CaseClause;
},
isDefaultClause(node) {
return node.kind === ts.SyntaxKind.DefaultClause;
},
isHeritageClause(node) {
return node.kind === ts.SyntaxKind.HeritageClause;
},
isCatchClause(node) {
return node.kind === ts.SyntaxKind.CatchClause;
},
isPropertyAssignment(node) {
return node.kind === ts.SyntaxKind.PropertyAssignment;
},
isShorthandPropertyAssignment(node) {
return node.kind === ts.SyntaxKind.ShorthandPropertyAssignment;
},
isSpreadAssignment(node) {
return node.kind === ts.SyntaxKind.SpreadAssignment;
},
isEnumMember(node) {
return node.kind === ts.SyntaxKind.EnumMember;
},
isUnparsedPrologue(node) {
return node.kind === ts.SyntaxKind.UnparsedPrologue;
},
isUnparsedPrepend(node) {
return node.kind === ts.SyntaxKind.UnparsedPrepend;
},
isUnparsedSyntheticReference(node) {
return node.kind === ts.SyntaxKind.UnparsedSyntheticReference;
},
isSourceFile(node) {
return node.kind === ts.SyntaxKind.SourceFile;
},
isBundle(node) {
return node.kind === ts.SyntaxKind.Bundle;
},
isUnparsedSource(node) {
return node.kind === ts.SyntaxKind.UnparsedSource;
},
isInputFiles(node) {
return node.kind === ts.SyntaxKind.InputFiles;
},
isJSDocTypeExpression(node) {
return node.kind === ts.SyntaxKind.JSDocTypeExpression;
},
isJSDocNameReference(node) {
return node.kind === ts.SyntaxKind.JSDocNameReference;
},
isJSDocAllType(node) {
return node.kind === ts.SyntaxKind.JSDocAllType;
},
isJSDocUnknownType(node) {
return node.kind === ts.SyntaxKind.JSDocUnknownType;
},
isJSDocNullableType(node) {
return node.kind === ts.SyntaxKind.JSDocNullableType;
},
isJSDocNonNullableType(node) {
return node.kind === ts.SyntaxKind.JSDocNonNullableType;
},
isJSDocOptionalType(node) {
return node.kind === ts.SyntaxKind.JSDocOptionalType;
},
isJSDocFunctionType(node) {
return node.kind === ts.SyntaxKind.JSDocFunctionType;
},
isJSDocVariadicType(node) {
return node.kind === ts.SyntaxKind.JSDocVariadicType;
},
isJSDocNamepathType(node) {
return node.kind === ts.SyntaxKind.JSDocNamepathType;
},
isJSDocComment(node) {
return node.kind === ts.SyntaxKind.JSDocComment;
},
isJSDocTypeLiteral(node) {
return node.kind === ts.SyntaxKind.JSDocTypeLiteral;
},
isJSDocSignature(node) {
return node.kind === ts.SyntaxKind.JSDocSignature;
},
isJSDocTag(node) {
return node.kind === ts.SyntaxKind.JSDocTag;
},
isJSDocAugmentsTag(node) {
return node.kind === ts.SyntaxKind.JSDocAugmentsTag;
},
isJSDocImplementsTag(node) {
return node.kind === ts.SyntaxKind.JSDocImplementsTag;
},
isJSDocAuthorTag(node) {
return node.kind === ts.SyntaxKind.JSDocAuthorTag;
},
isJSDocDeprecatedTag(node) {
return node.kind === ts.SyntaxKind.JSDocDeprecatedTag;
},
isJSDocClassTag(node) {
return node.kind === ts.SyntaxKind.JSDocClassTag;
},
isJSDocPublicTag(node) {
return node.kind === ts.SyntaxKind.JSDocPublicTag;
},
isJSDocPrivateTag(node) {
return node.kind === ts.SyntaxKind.JSDocPrivateTag;
},
isJSDocProtectedTag(node) {
return node.kind === ts.SyntaxKind.JSDocProtectedTag;
},
isJSDocReadonlyTag(node) {
return node.kind === ts.SyntaxKind.JSDocReadonlyTag;
},
isJSDocCallbackTag(node) {
return node.kind === ts.SyntaxKind.JSDocCallbackTag;
},
isJSDocEnumTag(node) {
return node.kind === ts.SyntaxKind.JSDocEnumTag;
},
isJSDocParameterTag(node) {
return node.kind === ts.SyntaxKind.JSDocParameterTag;
},
isJSDocReturnTag(node) {
return node.kind === ts.SyntaxKind.JSDocReturnTag;
},
isJSDocThisTag(node) {
return node.kind === ts.SyntaxKind.JSDocThisTag;
},
isJSDocTypeTag(node) {
return node.kind === ts.SyntaxKind.JSDocTypeTag;
},
isJSDocTemplateTag(node) {
return node.kind === ts.SyntaxKind.JSDocTemplateTag;
},
isJSDocTypedefTag(node) {
return node.kind === ts.SyntaxKind.JSDocTypedefTag;
},
isJSDocSeeTag(node) {
return node.kind === ts.SyntaxKind.JSDocSeeTag;
},
isJSDocPropertyTag(node) {
return node.kind === ts.SyntaxKind.JSDocPropertyTag;
},
isSyntaxList(node) {
return node.kind === ts.SyntaxKind.SyntaxList;
},
isNotEmittedStatement(node) {
return node.kind === ts.SyntaxKind.NotEmittedStatement;
},
isPartiallyEmittedExpression(node) {
return node.kind === ts.SyntaxKind.PartiallyEmittedExpression;
},
isCommaListExpression(node) {
return node.kind === ts.SyntaxKind.CommaListExpression;
},
};
export const kindsMap = {
NumericLiteral: {},
BigIntLiteral: {},
StringLiteral: {},
JsxText: {},
RegularExpressionLiteral: {},
NoSubstitutionTemplateLiteral: {},
TemplateHead: {},
TemplateMiddle: {},
TemplateTail: {},
Identifier: {},
PrivateIdentifier: {},
FalseKeyword: {},
ImportKeyword: {},
NullKeyword: {},
SuperKeyword: {},
ThisKeyword: {},
TrueKeyword: {},
QualifiedName: {},
ComputedPropertyName: {},
TypeParameter: {},
Parameter: {},
Decorator: {},
PropertySignature: {},
PropertyDeclaration: {},
MethodSignature: {},
MethodDeclaration: {},
Constructor: {},
GetAccessor: {},
SetAccessor: {},
CallSignature: {},
ConstructSignature: {},
IndexSignature: {},
TypePredicate: {},
TypeReference: {},
FunctionType: {},
ConstructorType: {},
TypeQuery: {},
TypeLiteral: {},
ArrayType: {},
TupleType: {},
OptionalType: {},
RestType: {},
UnionType: {},
IntersectionType: {},
ConditionalType: {},
InferType: {},
ParenthesizedType: {},
ThisType: {},
TypeOperator: {},
IndexedAccessType: {},
MappedType: {},
LiteralType: {},
NamedTupleMember: {},
TemplateLiteralType: {},
TemplateLiteralTypeSpan: {},
ImportType: {},
ObjectBindingPattern: {},
ArrayBindingPattern: {},
BindingElement: {},
ArrayLiteralExpression: {},
ObjectLiteralExpression: {},
PropertyAccessExpression: {},
ElementAccessExpression: {},
CallExpression: {},
NewExpression: {},
TaggedTemplateExpression: {},
TypeAssertionExpression: {},
ParenthesizedExpression: {},
FunctionExpression: {},
ArrowFunction: {},
DeleteExpression: {},
TypeOfExpression: {},
VoidExpression: {},
AwaitExpression: {},
PrefixUnaryExpression: {},
PostfixUnaryExpression: {},
BinaryExpression: {},
ConditionalExpression: {},
TemplateExpression: {},
YieldExpression: {},
SpreadElement: {},
ClassExpression: {},
OmittedExpression: {},
ExpressionWithTypeArguments: {},
AsExpression: {},
NonNullExpression: {},
MetaProperty: {},
SyntheticExpression: {},
TemplateSpan: {},
SemicolonClassElement: {},
Block: {},
EmptyStatement: {},
VariableStatement: {},
ExpressionStatement: {},
IfStatement: {},
DoStatement: {},
WhileStatement: {},
ForStatement: {},
ForInStatement: {},
ForOfStatement: {},
ContinueStatement: {},
BreakStatement: {},
ReturnStatement: {},
WithStatement: {},
SwitchStatement: {},
LabeledStatement: {},
ThrowStatement: {},
TryStatement: {},
DebuggerStatement: {},
VariableDeclaration: {},
VariableDeclarationList: {},
FunctionDeclaration: {},
ClassDeclaration: {},
InterfaceDeclaration: {},
TypeAliasDeclaration: {},
EnumDeclaration: {},
ModuleDeclaration: {},
ModuleBlock: {},
CaseBlock: {},
NamespaceExportDeclaration: {},
ImportEqualsDeclaration: {},
ImportDeclaration: {},
ImportClause: {},
NamespaceImport: {},
NamedImports: {},
ImportSpecifier: {},
ExportAssignment: {},
ExportDeclaration: {},
NamedExports: {},
NamespaceExport: {},
ExportSpecifier: {},
MissingDeclaration: {},
ExternalModuleReference: {},
JsxElement: {},
JsxSelfClosingElement: {},
JsxOpeningElement: {},
JsxClosingElement: {},
JsxFragment: {},
JsxOpeningFragment: {},
JsxClosingFragment: {},
JsxAttribute: {},
JsxAttributes: {},
JsxSpreadAttribute: {},
JsxExpression: {},
CaseClause: {},
DefaultClause: {},
HeritageClause: {},
CatchClause: {},
PropertyAssignment: {},
ShorthandPropertyAssignment: {},
SpreadAssignment: {},
EnumMember: {},
UnparsedPrologue: {},
UnparsedPrepend: {},
UnparsedSyntheticReference: {},
SourceFile: {},
Bundle: {},
UnparsedSource: {},
InputFiles: {},
JSDocTypeExpression: {},
JSDocNameReference: {},
JSDocAllType: {},
JSDocUnknownType: {},
JSDocNullableType: {},
JSDocNonNullableType: {},
JSDocOptionalType: {},
JSDocFunctionType: {},
JSDocVariadicType: {},
JSDocNamepathType: {},
JSDocComment: {},
JSDocTypeLiteral: {},
JSDocSignature: {},
JSDocTag: {},
JSDocAugmentsTag: {},
JSDocImplementsTag: {},
JSDocAuthorTag: {},
JSDocDeprecatedTag: {},
JSDocClassTag: {},
JSDocPublicTag: {},
JSDocPrivateTag: {},
JSDocProtectedTag: {},
JSDocReadonlyTag: {},
JSDocCallbackTag: {},
JSDocEnumTag: {},
JSDocParameterTag: {},
JSDocReturnTag: {},
JSDocThisTag: {},
JSDocTypeTag: {},
JSDocTemplateTag: {},
JSDocTypedefTag: {},
JSDocSeeTag: {},
JSDocPropertyTag: {},
SyntaxList: {},
NotEmittedStatement: {},
PartiallyEmittedExpression: {},
CommaListExpression: {},
};
const kindToString = {
[ts.SyntaxKind.NumericLiteral]: 'NumericLiteral',
[ts.SyntaxKind.BigIntLiteral]: 'BigIntLiteral',
[ts.SyntaxKind.StringLiteral]: 'StringLiteral',
[ts.SyntaxKind.JsxText]: 'JsxText',
[ts.SyntaxKind.RegularExpressionLiteral]: 'RegularExpressionLiteral',
[ts.SyntaxKind.NoSubstitutionTemplateLiteral]: 'NoSubstitutionTemplateLiteral',
[ts.SyntaxKind.TemplateHead]: 'TemplateHead',
[ts.SyntaxKind.TemplateMiddle]: 'TemplateMiddle',
[ts.SyntaxKind.TemplateTail]: 'TemplateTail',
[ts.SyntaxKind.Identifier]: 'Identifier',
[ts.SyntaxKind.PrivateIdentifier]: 'PrivateIdentifier',
[ts.SyntaxKind.FalseKeyword]: 'FalseKeyword',
[ts.SyntaxKind.ImportKeyword]: 'ImportKeyword',
[ts.SyntaxKind.NullKeyword]: 'NullKeyword',
[ts.SyntaxKind.SuperKeyword]: 'SuperKeyword',
[ts.SyntaxKind.ThisKeyword]: 'ThisKeyword',
[ts.SyntaxKind.TrueKeyword]: 'TrueKeyword',
[ts.SyntaxKind.QualifiedName]: 'QualifiedName',
[ts.SyntaxKind.ComputedPropertyName]: 'ComputedPropertyName',
[ts.SyntaxKind.TypeParameter]: 'TypeParameter',
[ts.SyntaxKind.Parameter]: 'Parameter',
[ts.SyntaxKind.Decorator]: 'Decorator',
[ts.SyntaxKind.PropertySignature]: 'PropertySignature',
[ts.SyntaxKind.PropertyDeclaration]: 'PropertyDeclaration',
[ts.SyntaxKind.MethodSignature]: 'MethodSignature',
[ts.SyntaxKind.MethodDeclaration]: 'MethodDeclaration',
[ts.SyntaxKind.Constructor]: 'Constructor',
[ts.SyntaxKind.GetAccessor]: 'GetAccessor',
[ts.SyntaxKind.SetAccessor]: 'SetAccessor',
[ts.SyntaxKind.CallSignature]: 'CallSignature',
[ts.SyntaxKind.ConstructSignature]: 'ConstructSignature',
[ts.SyntaxKind.IndexSignature]: 'IndexSignature',
[ts.SyntaxKind.TypePredicate]: 'TypePredicate',
[ts.SyntaxKind.TypeReference]: 'TypeReference',
[ts.SyntaxKind.FunctionType]: 'FunctionType',
[ts.SyntaxKind.ConstructorType]: 'ConstructorType',
[ts.SyntaxKind.TypeQuery]: 'TypeQuery',
[ts.SyntaxKind.TypeLiteral]: 'TypeLiteral',
[ts.SyntaxKind.ArrayType]: 'ArrayType',
[ts.SyntaxKind.TupleType]: 'TupleType',
[ts.SyntaxKind.OptionalType]: 'OptionalType',
[ts.SyntaxKind.RestType]: 'RestType',
[ts.SyntaxKind.UnionType]: 'UnionType',
[ts.SyntaxKind.IntersectionType]: 'IntersectionType',
[ts.SyntaxKind.ConditionalType]: 'ConditionalType',
[ts.SyntaxKind.InferType]: 'InferType',
[ts.SyntaxKind.ParenthesizedType]: 'ParenthesizedType',
[ts.SyntaxKind.ThisType]: 'ThisType',
[ts.SyntaxKind.TypeOperator]: 'TypeOperator',
[ts.SyntaxKind.IndexedAccessType]: 'IndexedAccessType',
[ts.SyntaxKind.MappedType]: 'MappedType',
[ts.SyntaxKind.LiteralType]: 'LiteralType',
[ts.SyntaxKind.NamedTupleMember]: 'NamedTupleMember',
[ts.SyntaxKind.TemplateLiteralType]: 'TemplateLiteralType',
[ts.SyntaxKind.TemplateLiteralTypeSpan]: 'TemplateLiteralTypeSpan',
[ts.SyntaxKind.ImportType]: 'ImportType',
[ts.SyntaxKind.ObjectBindingPattern]: 'ObjectBindingPattern',
[ts.SyntaxKind.ArrayBindingPattern]: 'ArrayBindingPattern',
[ts.SyntaxKind.BindingElement]: 'BindingElement',
[ts.SyntaxKind.ArrayLiteralExpression]: 'ArrayLiteralExpression',
[ts.SyntaxKind.ObjectLiteralExpression]: 'ObjectLiteralExpression',
[ts.SyntaxKind.PropertyAccessExpression]: 'PropertyAccessExpression',
[ts.SyntaxKind.ElementAccessExpression]: 'ElementAccessExpression',
[ts.SyntaxKind.CallExpression]: 'CallExpression',
[ts.SyntaxKind.NewExpression]: 'NewExpression',
[ts.SyntaxKind.TaggedTemplateExpression]: 'TaggedTemplateExpression',
[ts.SyntaxKind.TypeAssertionExpression]: 'TypeAssertionExpression',
[ts.SyntaxKind.ParenthesizedExpression]: 'ParenthesizedExpression',
[ts.SyntaxKind.FunctionExpression]: 'FunctionExpression',
[ts.SyntaxKind.ArrowFunction]: 'ArrowFunction',
[ts.SyntaxKind.DeleteExpression]: 'DeleteExpression',
[ts.SyntaxKind.TypeOfExpression]: 'TypeOfExpression',
[ts.SyntaxKind.VoidExpression]: 'VoidExpression',
[ts.SyntaxKind.AwaitExpression]: 'AwaitExpression',
[ts.SyntaxKind.PrefixUnaryExpression]: 'PrefixUnaryExpression',
[ts.SyntaxKind.PostfixUnaryExpression]: 'PostfixUnaryExpression',
[ts.SyntaxKind.BinaryExpression]: 'BinaryExpression',
[ts.SyntaxKind.ConditionalExpression]: 'ConditionalExpression',
[ts.SyntaxKind.TemplateExpression]: 'TemplateExpression',
[ts.SyntaxKind.YieldExpression]: 'YieldExpression',
[ts.SyntaxKind.SpreadElement]: 'SpreadElement',
[ts.SyntaxKind.ClassExpression]: 'ClassExpression',
[ts.SyntaxKind.OmittedExpression]: 'OmittedExpression',
[ts.SyntaxKind.ExpressionWithTypeArguments]: 'ExpressionWithTypeArguments',
[ts.SyntaxKind.AsExpression]: 'AsExpression',
[ts.SyntaxKind.NonNullExpression]: 'NonNullExpression',
[ts.SyntaxKind.MetaProperty]: 'MetaProperty',
[ts.SyntaxKind.SyntheticExpression]: 'SyntheticExpression',
[ts.SyntaxKind.TemplateSpan]: 'TemplateSpan',
[ts.SyntaxKind.SemicolonClassElement]: 'SemicolonClassElement',
[ts.SyntaxKind.Block]: 'Block',
[ts.SyntaxKind.EmptyStatement]: 'EmptyStatement',
[ts.SyntaxKind.VariableStatement]: 'VariableStatement',
[ts.SyntaxKind.ExpressionStatement]: 'ExpressionStatement',
[ts.SyntaxKind.IfStatement]: 'IfStatement',
[ts.SyntaxKind.DoStatement]: 'DoStatement',
[ts.SyntaxKind.WhileStatement]: 'WhileStatement',
[ts.SyntaxKind.ForStatement]: 'ForStatement',
[ts.SyntaxKind.ForInStatement]: 'ForInStatement',
[ts.SyntaxKind.ForOfStatement]: 'ForOfStatement',
[ts.SyntaxKind.ContinueStatement]: 'ContinueStatement',
[ts.SyntaxKind.BreakStatement]: 'BreakStatement',
[ts.SyntaxKind.ReturnStatement]: 'ReturnStatement',
[ts.SyntaxKind.WithStatement]: 'WithStatement',
[ts.SyntaxKind.SwitchStatement]: 'SwitchStatement',
[ts.SyntaxKind.LabeledStatement]: 'LabeledStatement',
[ts.SyntaxKind.ThrowStatement]: 'ThrowStatement',
[ts.SyntaxKind.TryStatement]: 'TryStatement',
[ts.SyntaxKind.DebuggerStatement]: 'DebuggerStatement',
[ts.SyntaxKind.VariableDeclaration]: 'VariableDeclaration',
[ts.SyntaxKind.VariableDeclarationList]: 'VariableDeclarationList',
[ts.SyntaxKind.FunctionDeclaration]: 'FunctionDeclaration',
[ts.SyntaxKind.ClassDeclaration]: 'ClassDeclaration',
[ts.SyntaxKind.InterfaceDeclaration]: 'InterfaceDeclaration',
[ts.SyntaxKind.TypeAliasDeclaration]: 'TypeAliasDeclaration',
[ts.SyntaxKind.EnumDeclaration]: 'EnumDeclaration',
[ts.SyntaxKind.ModuleDeclaration]: 'ModuleDeclaration',
[ts.SyntaxKind.ModuleBlock]: 'ModuleBlock',
[ts.SyntaxKind.CaseBlock]: 'CaseBlock',
[ts.SyntaxKind.NamespaceExportDeclaration]: 'NamespaceExportDeclaration',
[ts.SyntaxKind.ImportEqualsDeclaration]: 'ImportEqualsDeclaration',
[ts.SyntaxKind.ImportDeclaration]: 'ImportDeclaration',
[ts.SyntaxKind.ImportClause]: 'ImportClause',
[ts.SyntaxKind.NamespaceImport]: 'NamespaceImport',
[ts.SyntaxKind.NamedImports]: 'NamedImports',
[ts.SyntaxKind.ImportSpecifier]: 'ImportSpecifier',
[ts.SyntaxKind.ExportAssignment]: 'ExportAssignment',
[ts.SyntaxKind.ExportDeclaration]: 'ExportDeclaration',
[ts.SyntaxKind.NamedExports]: 'NamedExports',
[ts.SyntaxKind.NamespaceExport]: 'NamespaceExport',
[ts.SyntaxKind.ExportSpecifier]: 'ExportSpecifier',
[ts.SyntaxKind.MissingDeclaration]: 'MissingDeclaration',
[ts.SyntaxKind.ExternalModuleReference]: 'ExternalModuleReference',
[ts.SyntaxKind.JsxElement]: 'JsxElement',
[ts.SyntaxKind.JsxSelfClosingElement]: 'JsxSelfClosingElement',
[ts.SyntaxKind.JsxOpeningElement]: 'JsxOpeningElement',
[ts.SyntaxKind.JsxClosingElement]: 'JsxClosingElement',
[ts.SyntaxKind.JsxFragment]: 'JsxFragment',
[ts.SyntaxKind.JsxOpeningFragment]: 'JsxOpeningFragment',
[ts.SyntaxKind.JsxClosingFragment]: 'JsxClosingFragment',
[ts.SyntaxKind.JsxAttribute]: 'JsxAttribute',
[ts.SyntaxKind.JsxAttributes]: 'JsxAttributes',
[ts.SyntaxKind.JsxSpreadAttribute]: 'JsxSpreadAttribute',
[ts.SyntaxKind.JsxExpression]: 'JsxExpression',
[ts.SyntaxKind.CaseClause]: 'CaseClause',
[ts.SyntaxKind.DefaultClause]: 'DefaultClause',
[ts.SyntaxKind.HeritageClause]: 'HeritageClause',
[ts.SyntaxKind.CatchClause]: 'CatchClause',
[ts.SyntaxKind.PropertyAssignment]: 'PropertyAssignment',
[ts.SyntaxKind.ShorthandPropertyAssignment]: 'ShorthandPropertyAssignment',
[ts.SyntaxKind.SpreadAssignment]: 'SpreadAssignment',
[ts.SyntaxKind.EnumMember]: 'EnumMember',
[ts.SyntaxKind.UnparsedPrologue]: 'UnparsedPrologue',
[ts.SyntaxKind.UnparsedPrepend]: 'UnparsedPrepend',
[ts.SyntaxKind.UnparsedSyntheticReference]: 'UnparsedSyntheticReference',
[ts.SyntaxKind.SourceFile]: 'SourceFile',
[ts.SyntaxKind.Bundle]: 'Bundle',
[ts.SyntaxKind.UnparsedSource]: 'UnparsedSource',
[ts.SyntaxKind.InputFiles]: 'InputFiles',
[ts.SyntaxKind.JSDocTypeExpression]: 'JSDocTypeExpression',
[ts.SyntaxKind.JSDocNameReference]: 'JSDocNameReference',
[ts.SyntaxKind.JSDocAllType]: 'JSDocAllType',
[ts.SyntaxKind.JSDocUnknownType]: 'JSDocUnknownType',
[ts.SyntaxKind.JSDocNullableType]: 'JSDocNullableType',
[ts.SyntaxKind.JSDocNonNullableType]: 'JSDocNonNullableType',
[ts.SyntaxKind.JSDocOptionalType]: 'JSDocOptionalType',
[ts.SyntaxKind.JSDocFunctionType]: 'JSDocFunctionType',
[ts.SyntaxKind.JSDocVariadicType]: 'JSDocVariadicType',
[ts.SyntaxKind.JSDocNamepathType]: 'JSDocNamepathType',
[ts.SyntaxKind.JSDocComment]: 'JSDocComment',
[ts.SyntaxKind.JSDocTypeLiteral]: 'JSDocTypeLiteral',
[ts.SyntaxKind.JSDocSignature]: 'JSDocSignature',
[ts.SyntaxKind.JSDocTag]: 'JSDocTag',
[ts.SyntaxKind.JSDocAugmentsTag]: 'JSDocAugmentsTag',
[ts.SyntaxKind.JSDocImplementsTag]: 'JSDocImplementsTag',
[ts.SyntaxKind.JSDocAuthorTag]: 'JSDocAuthorTag',
[ts.SyntaxKind.JSDocDeprecatedTag]: 'JSDocDeprecatedTag',
[ts.SyntaxKind.JSDocClassTag]: 'JSDocClassTag',
[ts.SyntaxKind.JSDocPublicTag]: 'JSDocPublicTag',
[ts.SyntaxKind.JSDocPrivateTag]: 'JSDocPrivateTag',
[ts.SyntaxKind.JSDocProtectedTag]: 'JSDocProtectedTag',
[ts.SyntaxKind.JSDocReadonlyTag]: 'JSDocReadonlyTag',
[ts.SyntaxKind.JSDocCallbackTag]: 'JSDocCallbackTag',
[ts.SyntaxKind.JSDocEnumTag]: 'JSDocEnumTag',
[ts.SyntaxKind.JSDocParameterTag]: 'JSDocParameterTag',
[ts.SyntaxKind.JSDocReturnTag]: 'JSDocReturnTag',
[ts.SyntaxKind.JSDocThisTag]: 'JSDocThisTag',
[ts.SyntaxKind.JSDocTypeTag]: 'JSDocTypeTag',
[ts.SyntaxKind.JSDocTemplateTag]: 'JSDocTemplateTag',
[ts.SyntaxKind.JSDocTypedefTag]: 'JSDocTypedefTag',
[ts.SyntaxKind.JSDocSeeTag]: 'JSDocSeeTag',
[ts.SyntaxKind.JSDocPropertyTag]: 'JSDocPropertyTag',
[ts.SyntaxKind.SyntaxList]: 'SyntaxList',
[ts.SyntaxKind.NotEmittedStatement]: 'NotEmittedStatement',
[ts.SyntaxKind.PartiallyEmittedExpression]: 'PartiallyEmittedExpression',
[ts.SyntaxKind.CommaListExpression]: 'CommaListExpression',
};
export function getKindNameFromNode(node) {
// @ts-ignore
return kindToString[node.kind] || String(node.kind);
}