// Code generated by _scripts/generate-ts-ast.ts. DO NOT EDIT.
import { SyntaxKind } from "#enums/syntaxKind";
export function isToken(node) {
    return isTokenKind(node.kind);
}
export function isIdentifier(node) {
    return node.kind === SyntaxKind.Identifier;
}
export function isPrivateIdentifier(node) {
    return node.kind === SyntaxKind.PrivateIdentifier;
}
export function isQualifiedName(node) {
    return node.kind === SyntaxKind.QualifiedName;
}
export function isComputedPropertyName(node) {
    return node.kind === SyntaxKind.ComputedPropertyName;
}
export function isDecorator(node) {
    return node.kind === SyntaxKind.Decorator;
}
export function isEmptyStatement(node) {
    return node.kind === SyntaxKind.EmptyStatement;
}
export function isIfStatement(node) {
    return node.kind === SyntaxKind.IfStatement;
}
export function isDoStatement(node) {
    return node.kind === SyntaxKind.DoStatement;
}
export function isWhileStatement(node) {
    return node.kind === SyntaxKind.WhileStatement;
}
export function isForStatement(node) {
    return node.kind === SyntaxKind.ForStatement;
}
export function isBreakStatement(node) {
    return node.kind === SyntaxKind.BreakStatement;
}
export function isContinueStatement(node) {
    return node.kind === SyntaxKind.ContinueStatement;
}
export function isReturnStatement(node) {
    return node.kind === SyntaxKind.ReturnStatement;
}
export function isWithStatement(node) {
    return node.kind === SyntaxKind.WithStatement;
}
export function isSwitchStatement(node) {
    return node.kind === SyntaxKind.SwitchStatement;
}
export function isCaseBlock(node) {
    return node.kind === SyntaxKind.CaseBlock;
}
export function isThrowStatement(node) {
    return node.kind === SyntaxKind.ThrowStatement;
}
export function isTryStatement(node) {
    return node.kind === SyntaxKind.TryStatement;
}
export function isCatchClause(node) {
    return node.kind === SyntaxKind.CatchClause;
}
export function isDebuggerStatement(node) {
    return node.kind === SyntaxKind.DebuggerStatement;
}
export function isLabeledStatement(node) {
    return node.kind === SyntaxKind.LabeledStatement;
}
export function isExpressionStatement(node) {
    return node.kind === SyntaxKind.ExpressionStatement;
}
export function isBlock(node) {
    return node.kind === SyntaxKind.Block;
}
export function isVariableStatement(node) {
    return node.kind === SyntaxKind.VariableStatement;
}
export function isVariableDeclaration(node) {
    return node.kind === SyntaxKind.VariableDeclaration;
}
export function isVariableDeclarationList(node) {
    return node.kind === SyntaxKind.VariableDeclarationList;
}
export function isParameterDeclaration(node) {
    return node.kind === SyntaxKind.Parameter;
}
export function isBindingElement(node) {
    return node.kind === SyntaxKind.BindingElement;
}
export function isMissingDeclaration(node) {
    return node.kind === SyntaxKind.MissingDeclaration;
}
export function isFunctionDeclaration(node) {
    return node.kind === SyntaxKind.FunctionDeclaration;
}
export function isClassDeclaration(node) {
    return node.kind === SyntaxKind.ClassDeclaration;
}
export function isClassExpression(node) {
    return node.kind === SyntaxKind.ClassExpression;
}
export function isHeritageClause(node) {
    return node.kind === SyntaxKind.HeritageClause;
}
export function isInterfaceDeclaration(node) {
    return node.kind === SyntaxKind.InterfaceDeclaration;
}
export function isTypeAliasDeclaration(node) {
    switch (node.kind) {
        case SyntaxKind.TypeAliasDeclaration:
        case SyntaxKind.JSTypeAliasDeclaration:
            return true;
        default:
            return false;
    }
}
export function isEnumMember(node) {
    return node.kind === SyntaxKind.EnumMember;
}
export function isEnumDeclaration(node) {
    return node.kind === SyntaxKind.EnumDeclaration;
}
export function isModuleBlock(node) {
    return node.kind === SyntaxKind.ModuleBlock;
}
export function isNotEmittedStatement(node) {
    return node.kind === SyntaxKind.NotEmittedStatement;
}
export function isNotEmittedTypeElement(node) {
    return node.kind === SyntaxKind.NotEmittedTypeElement;
}
export function isImportDeclaration(node) {
    switch (node.kind) {
        case SyntaxKind.ImportDeclaration:
        case SyntaxKind.JSImportDeclaration:
            return true;
        default:
            return false;
    }
}
export function isExternalModuleReference(node) {
    return node.kind === SyntaxKind.ExternalModuleReference;
}
export function isNamespaceImport(node) {
    return node.kind === SyntaxKind.NamespaceImport;
}
export function isNamedImports(node) {
    return node.kind === SyntaxKind.NamedImports;
}
export function isExportAssignment(node) {
    return node.kind === SyntaxKind.ExportAssignment;
}
export function isNamespaceExportDeclaration(node) {
    return node.kind === SyntaxKind.NamespaceExportDeclaration;
}
export function isNamespaceExport(node) {
    return node.kind === SyntaxKind.NamespaceExport;
}
export function isNamedExports(node) {
    return node.kind === SyntaxKind.NamedExports;
}
export function isExportSpecifier(node) {
    return node.kind === SyntaxKind.ExportSpecifier;
}
export function isCallSignatureDeclaration(node) {
    return node.kind === SyntaxKind.CallSignature;
}
export function isConstructSignatureDeclaration(node) {
    return node.kind === SyntaxKind.ConstructSignature;
}
export function isConstructorDeclaration(node) {
    return node.kind === SyntaxKind.Constructor;
}
export function isGetAccessorDeclaration(node) {
    return node.kind === SyntaxKind.GetAccessor;
}
export function isSetAccessorDeclaration(node) {
    return node.kind === SyntaxKind.SetAccessor;
}
export function isIndexSignatureDeclaration(node) {
    return node.kind === SyntaxKind.IndexSignature;
}
export function isMethodSignatureDeclaration(node) {
    return node.kind === SyntaxKind.MethodSignature;
}
export function isMethodDeclaration(node) {
    return node.kind === SyntaxKind.MethodDeclaration;
}
export function isPropertySignatureDeclaration(node) {
    return node.kind === SyntaxKind.PropertySignature;
}
export function isPropertyDeclaration(node) {
    return node.kind === SyntaxKind.PropertyDeclaration;
}
export function isSemicolonClassElement(node) {
    return node.kind === SyntaxKind.SemicolonClassElement;
}
export function isClassStaticBlockDeclaration(node) {
    return node.kind === SyntaxKind.ClassStaticBlockDeclaration;
}
export function isOmittedExpression(node) {
    return node.kind === SyntaxKind.OmittedExpression;
}
export function isKeywordExpression(node) {
    return isKeywordExpressionKind(node.kind);
}
export function isStringLiteral(node) {
    return node.kind === SyntaxKind.StringLiteral;
}
export function isNumericLiteral(node) {
    return node.kind === SyntaxKind.NumericLiteral;
}
export function isBigIntLiteral(node) {
    return node.kind === SyntaxKind.BigIntLiteral;
}
export function isRegularExpressionLiteral(node) {
    return node.kind === SyntaxKind.RegularExpressionLiteral;
}
export function isNoSubstitutionTemplateLiteral(node) {
    return node.kind === SyntaxKind.NoSubstitutionTemplateLiteral;
}
export function isBinaryExpression(node) {
    return node.kind === SyntaxKind.BinaryExpression;
}
export function isPrefixUnaryExpression(node) {
    return node.kind === SyntaxKind.PrefixUnaryExpression;
}
export function isPostfixUnaryExpression(node) {
    return node.kind === SyntaxKind.PostfixUnaryExpression;
}
export function isYieldExpression(node) {
    return node.kind === SyntaxKind.YieldExpression;
}
export function isArrowFunction(node) {
    return node.kind === SyntaxKind.ArrowFunction;
}
export function isFunctionExpression(node) {
    return node.kind === SyntaxKind.FunctionExpression;
}
export function isAsExpression(node) {
    return node.kind === SyntaxKind.AsExpression;
}
export function isSatisfiesExpression(node) {
    return node.kind === SyntaxKind.SatisfiesExpression;
}
export function isConditionalExpression(node) {
    return node.kind === SyntaxKind.ConditionalExpression;
}
export function isPropertyAccessExpression(node) {
    return node.kind === SyntaxKind.PropertyAccessExpression;
}
export function isElementAccessExpression(node) {
    return node.kind === SyntaxKind.ElementAccessExpression;
}
export function isCallExpression(node) {
    return node.kind === SyntaxKind.CallExpression;
}
export function isNewExpression(node) {
    return node.kind === SyntaxKind.NewExpression;
}
export function isMetaProperty(node) {
    return node.kind === SyntaxKind.MetaProperty;
}
export function isNonNullExpression(node) {
    return node.kind === SyntaxKind.NonNullExpression;
}
export function isSpreadElement(node) {
    return node.kind === SyntaxKind.SpreadElement;
}
export function isTemplateExpression(node) {
    return node.kind === SyntaxKind.TemplateExpression;
}
export function isTemplateSpan(node) {
    return node.kind === SyntaxKind.TemplateSpan;
}
export function isTaggedTemplateExpression(node) {
    return node.kind === SyntaxKind.TaggedTemplateExpression;
}
export function isParenthesizedExpression(node) {
    return node.kind === SyntaxKind.ParenthesizedExpression;
}
export function isArrayLiteralExpression(node) {
    return node.kind === SyntaxKind.ArrayLiteralExpression;
}
export function isObjectLiteralExpression(node) {
    return node.kind === SyntaxKind.ObjectLiteralExpression;
}
export function isSpreadAssignment(node) {
    return node.kind === SyntaxKind.SpreadAssignment;
}
export function isPropertyAssignment(node) {
    return node.kind === SyntaxKind.PropertyAssignment;
}
export function isShorthandPropertyAssignment(node) {
    return node.kind === SyntaxKind.ShorthandPropertyAssignment;
}
export function isDeleteExpression(node) {
    return node.kind === SyntaxKind.DeleteExpression;
}
export function isTypeOfExpression(node) {
    return node.kind === SyntaxKind.TypeOfExpression;
}
export function isVoidExpression(node) {
    return node.kind === SyntaxKind.VoidExpression;
}
export function isAwaitExpression(node) {
    return node.kind === SyntaxKind.AwaitExpression;
}
export function isTypeAssertion(node) {
    return node.kind === SyntaxKind.TypeAssertionExpression;
}
export function isKeywordTypeNode(node) {
    return isKeywordTypeKind(node.kind);
}
export function isUnionTypeNode(node) {
    return node.kind === SyntaxKind.UnionType;
}
export function isIntersectionTypeNode(node) {
    return node.kind === SyntaxKind.IntersectionType;
}
export function isConditionalTypeNode(node) {
    return node.kind === SyntaxKind.ConditionalType;
}
export function isTypeOperatorNode(node) {
    return node.kind === SyntaxKind.TypeOperator;
}
export function isInferTypeNode(node) {
    return node.kind === SyntaxKind.InferType;
}
export function isArrayTypeNode(node) {
    return node.kind === SyntaxKind.ArrayType;
}
export function isIndexedAccessTypeNode(node) {
    return node.kind === SyntaxKind.IndexedAccessType;
}
export function isTypeReferenceNode(node) {
    return node.kind === SyntaxKind.TypeReference;
}
export function isExpressionWithTypeArguments(node) {
    return node.kind === SyntaxKind.ExpressionWithTypeArguments;
}
export function isLiteralTypeNode(node) {
    return node.kind === SyntaxKind.LiteralType;
}
export function isThisTypeNode(node) {
    return node.kind === SyntaxKind.ThisType;
}
export function isTypePredicateNode(node) {
    return node.kind === SyntaxKind.TypePredicate;
}
export function isImportAttribute(node) {
    return node.kind === SyntaxKind.ImportAttribute;
}
export function isImportAttributes(node) {
    return node.kind === SyntaxKind.ImportAttributes;
}
export function isTypeQueryNode(node) {
    return node.kind === SyntaxKind.TypeQuery;
}
export function isMappedTypeNode(node) {
    return node.kind === SyntaxKind.MappedType;
}
export function isTypeLiteralNode(node) {
    return node.kind === SyntaxKind.TypeLiteral;
}
export function isTupleTypeNode(node) {
    return node.kind === SyntaxKind.TupleType;
}
export function isNamedTupleMember(node) {
    return node.kind === SyntaxKind.NamedTupleMember;
}
export function isOptionalTypeNode(node) {
    return node.kind === SyntaxKind.OptionalType;
}
export function isRestTypeNode(node) {
    return node.kind === SyntaxKind.RestType;
}
export function isParenthesizedTypeNode(node) {
    return node.kind === SyntaxKind.ParenthesizedType;
}
export function isFunctionTypeNode(node) {
    return node.kind === SyntaxKind.FunctionType;
}
export function isConstructorTypeNode(node) {
    return node.kind === SyntaxKind.ConstructorType;
}
export function isTemplateHead(node) {
    return node.kind === SyntaxKind.TemplateHead;
}
export function isTemplateMiddle(node) {
    return node.kind === SyntaxKind.TemplateMiddle;
}
export function isTemplateTail(node) {
    return node.kind === SyntaxKind.TemplateTail;
}
export function isTemplateLiteralTypeNode(node) {
    return node.kind === SyntaxKind.TemplateLiteralType;
}
export function isTemplateLiteralTypeSpan(node) {
    return node.kind === SyntaxKind.TemplateLiteralTypeSpan;
}
export function isSyntheticExpression(node) {
    return node.kind === SyntaxKind.SyntheticExpression;
}
export function isPartiallyEmittedExpression(node) {
    return node.kind === SyntaxKind.PartiallyEmittedExpression;
}
export function isJsxElement(node) {
    return node.kind === SyntaxKind.JsxElement;
}
export function isJsxAttributes(node) {
    return node.kind === SyntaxKind.JsxAttributes;
}
export function isJsxNamespacedName(node) {
    return node.kind === SyntaxKind.JsxNamespacedName;
}
export function isJsxOpeningElement(node) {
    return node.kind === SyntaxKind.JsxOpeningElement;
}
export function isJsxSelfClosingElement(node) {
    return node.kind === SyntaxKind.JsxSelfClosingElement;
}
export function isJsxFragment(node) {
    return node.kind === SyntaxKind.JsxFragment;
}
export function isJsxOpeningFragment(node) {
    return node.kind === SyntaxKind.JsxOpeningFragment;
}
export function isJsxClosingFragment(node) {
    return node.kind === SyntaxKind.JsxClosingFragment;
}
export function isJsxAttribute(node) {
    return node.kind === SyntaxKind.JsxAttribute;
}
export function isJsxSpreadAttribute(node) {
    return node.kind === SyntaxKind.JsxSpreadAttribute;
}
export function isJsxClosingElement(node) {
    return node.kind === SyntaxKind.JsxClosingElement;
}
export function isJsxExpression(node) {
    return node.kind === SyntaxKind.JsxExpression;
}
export function isJsxText(node) {
    return node.kind === SyntaxKind.JsxText;
}
export function isSyntaxList(node) {
    return node.kind === SyntaxKind.SyntaxList;
}
export function isJSDoc(node) {
    return node.kind === SyntaxKind.JSDoc;
}
export function isJSDocTypeExpression(node) {
    return node.kind === SyntaxKind.JSDocTypeExpression;
}
export function isJSDocNonNullableType(node) {
    return node.kind === SyntaxKind.JSDocNonNullableType;
}
export function isJSDocNullableType(node) {
    return node.kind === SyntaxKind.JSDocNullableType;
}
export function isJSDocAllType(node) {
    return node.kind === SyntaxKind.JSDocAllType;
}
export function isJSDocVariadicType(node) {
    return node.kind === SyntaxKind.JSDocVariadicType;
}
export function isJSDocOptionalType(node) {
    return node.kind === SyntaxKind.JSDocOptionalType;
}
export function isJSDocTypeTag(node) {
    return node.kind === SyntaxKind.JSDocTypeTag;
}
export function isJSDocUnknownTag(node) {
    return node.kind === SyntaxKind.JSDocUnknownTag;
}
export function isJSDocTemplateTag(node) {
    return node.kind === SyntaxKind.JSDocTemplateTag;
}
export function isJSDocReturnTag(node) {
    return node.kind === SyntaxKind.JSDocReturnTag;
}
export function isJSDocPublicTag(node) {
    return node.kind === SyntaxKind.JSDocPublicTag;
}
export function isJSDocPrivateTag(node) {
    return node.kind === SyntaxKind.JSDocPrivateTag;
}
export function isJSDocProtectedTag(node) {
    return node.kind === SyntaxKind.JSDocProtectedTag;
}
export function isJSDocReadonlyTag(node) {
    return node.kind === SyntaxKind.JSDocReadonlyTag;
}
export function isJSDocOverrideTag(node) {
    return node.kind === SyntaxKind.JSDocOverrideTag;
}
export function isJSDocDeprecatedTag(node) {
    return node.kind === SyntaxKind.JSDocDeprecatedTag;
}
export function isJSDocSeeTag(node) {
    return node.kind === SyntaxKind.JSDocSeeTag;
}
export function isJSDocImplementsTag(node) {
    return node.kind === SyntaxKind.JSDocImplementsTag;
}
export function isJSDocAugmentsTag(node) {
    return node.kind === SyntaxKind.JSDocAugmentsTag;
}
export function isJSDocSatisfiesTag(node) {
    return node.kind === SyntaxKind.JSDocSatisfiesTag;
}
export function isJSDocThrowsTag(node) {
    return node.kind === SyntaxKind.JSDocThrowsTag;
}
export function isJSDocThisTag(node) {
    return node.kind === SyntaxKind.JSDocThisTag;
}
export function isJSDocImportTag(node) {
    return node.kind === SyntaxKind.JSDocImportTag;
}
export function isJSDocCallbackTag(node) {
    return node.kind === SyntaxKind.JSDocCallbackTag;
}
export function isJSDocOverloadTag(node) {
    return node.kind === SyntaxKind.JSDocOverloadTag;
}
export function isJSDocTypedefTag(node) {
    return node.kind === SyntaxKind.JSDocTypedefTag;
}
export function isJSDocSignature(node) {
    return node.kind === SyntaxKind.JSDocSignature;
}
export function isJSDocNameReference(node) {
    return node.kind === SyntaxKind.JSDocNameReference;
}
export function isModuleDeclaration(node) {
    return node.kind === SyntaxKind.ModuleDeclaration;
}
export function isImportEqualsDeclaration(node) {
    return node.kind === SyntaxKind.ImportEqualsDeclaration;
}
export function isExportDeclaration(node) {
    return node.kind === SyntaxKind.ExportDeclaration;
}
export function isImportTypeNode(node) {
    return node.kind === SyntaxKind.ImportType;
}
export function isImportClause(node) {
    return node.kind === SyntaxKind.ImportClause;
}
export function isImportSpecifier(node) {
    return node.kind === SyntaxKind.ImportSpecifier;
}
export function isJSDocText(node) {
    return node.kind === SyntaxKind.JSDocText;
}
export function isJSDocLink(node) {
    return node.kind === SyntaxKind.JSDocLink;
}
export function isJSDocLinkPlain(node) {
    return node.kind === SyntaxKind.JSDocLinkPlain;
}
export function isJSDocLinkCode(node) {
    return node.kind === SyntaxKind.JSDocLinkCode;
}
export function isTypeParameterDeclaration(node) {
    return node.kind === SyntaxKind.TypeParameter;
}
export function isSyntheticReferenceExpression(node) {
    return node.kind === SyntaxKind.SyntheticReferenceExpression;
}
export function isJSDocTypeLiteral(node) {
    return node.kind === SyntaxKind.JSDocTypeLiteral;
}
export function isForInStatement(node) {
    return node.kind === SyntaxKind.ForInStatement;
}
export function isForOfStatement(node) {
    return node.kind === SyntaxKind.ForOfStatement;
}
export function isCaseClause(node) {
    return node.kind === SyntaxKind.CaseClause;
}
export function isDefaultClause(node) {
    return node.kind === SyntaxKind.DefaultClause;
}
export function isObjectBindingPattern(node) {
    return node.kind === SyntaxKind.ObjectBindingPattern;
}
export function isArrayBindingPattern(node) {
    return node.kind === SyntaxKind.ArrayBindingPattern;
}
export function isJSDocParameterTag(node) {
    return node.kind === SyntaxKind.JSDocParameterTag;
}
export function isJSDocPropertyTag(node) {
    return node.kind === SyntaxKind.JSDocPropertyTag;
}
export function isAccessExpression(node) {
    return node.kind === SyntaxKind.PropertyAccessExpression || node.kind === SyntaxKind.ElementAccessExpression;
}
export function isDeclarationName(node) {
    const kind = node.kind;
    return kind === SyntaxKind.Identifier || kind === SyntaxKind.PrivateIdentifier || kind === SyntaxKind.StringLiteral || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral || kind === SyntaxKind.NoSubstitutionTemplateLiteral || kind === SyntaxKind.ComputedPropertyName || kind === SyntaxKind.ObjectBindingPattern || kind === SyntaxKind.ArrayBindingPattern || kind === SyntaxKind.ElementAccessExpression;
}
export function isModuleName(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral;
}
export function isModuleExportName(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral;
}
export function isPropertyName(node) {
    const kind = node.kind;
    return kind === SyntaxKind.Identifier || kind === SyntaxKind.StringLiteral || kind === SyntaxKind.NoSubstitutionTemplateLiteral || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.ComputedPropertyName || kind === SyntaxKind.PrivateIdentifier || kind === SyntaxKind.BigIntLiteral;
}
export function isModuleBody(node) {
    return node.kind === SyntaxKind.ModuleBlock || node.kind === SyntaxKind.ModuleDeclaration;
}
export function isModuleReference(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.QualifiedName || node.kind === SyntaxKind.ExternalModuleReference;
}
export function isNamedImportBindings(node) {
    return node.kind === SyntaxKind.NamespaceImport || node.kind === SyntaxKind.NamedImports;
}
export function isNamedExportBindings(node) {
    return node.kind === SyntaxKind.NamespaceExport || node.kind === SyntaxKind.NamedExports;
}
export function isMemberName(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.PrivateIdentifier;
}
export function isEntityName(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.QualifiedName;
}
export function isBindingName(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.ObjectBindingPattern || node.kind === SyntaxKind.ArrayBindingPattern;
}
export function isModifierLike(node) {
    const kind = node.kind;
    return kind === SyntaxKind.AbstractKeyword || kind === SyntaxKind.AccessorKeyword || kind === SyntaxKind.AsyncKeyword || kind === SyntaxKind.ConstKeyword || kind === SyntaxKind.DeclareKeyword || kind === SyntaxKind.DefaultKeyword || kind === SyntaxKind.ExportKeyword || kind === SyntaxKind.InKeyword || kind === SyntaxKind.PrivateKeyword || kind === SyntaxKind.ProtectedKeyword || kind === SyntaxKind.PublicKeyword || kind === SyntaxKind.ReadonlyKeyword || kind === SyntaxKind.OutKeyword || kind === SyntaxKind.OverrideKeyword || kind === SyntaxKind.StaticKeyword || kind === SyntaxKind.Decorator;
}
export function isJsxChild(node) {
    const kind = node.kind;
    return kind === SyntaxKind.JsxText || kind === SyntaxKind.JsxExpression || kind === SyntaxKind.JsxElement || kind === SyntaxKind.JsxSelfClosingElement || kind === SyntaxKind.JsxFragment;
}
export function isJsxAttributeLike(node) {
    return node.kind === SyntaxKind.JsxAttribute || node.kind === SyntaxKind.JsxSpreadAttribute;
}
export function isJsxAttributeName(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.JsxNamespacedName;
}
export function isJsxAttributeValue(node) {
    const kind = node.kind;
    return kind === SyntaxKind.StringLiteral || kind === SyntaxKind.JsxExpression || kind === SyntaxKind.JsxElement || kind === SyntaxKind.JsxSelfClosingElement || kind === SyntaxKind.JsxFragment;
}
export function isJsxTagNameExpression(node) {
    const kind = node.kind;
    return kind === SyntaxKind.Identifier || kind === SyntaxKind.NullKeyword || kind === SyntaxKind.TrueKeyword || kind === SyntaxKind.FalseKeyword || kind === SyntaxKind.ThisKeyword || kind === SyntaxKind.SuperKeyword || kind === SyntaxKind.ImportKeyword || kind === SyntaxKind.PropertyAccessExpression || kind === SyntaxKind.JsxNamespacedName;
}
export function isClassLikeDeclaration(node) {
    return node.kind === SyntaxKind.ClassDeclaration || node.kind === SyntaxKind.ClassExpression;
}
export function isAccessorDeclaration(node) {
    return node.kind === SyntaxKind.GetAccessor || node.kind === SyntaxKind.SetAccessor;
}
export function isLiteralLikeNode(node) {
    const kind = node.kind;
    return kind === SyntaxKind.StringLiteral || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral || kind === SyntaxKind.RegularExpressionLiteral || kind === SyntaxKind.TemplateHead || kind === SyntaxKind.TemplateMiddle || kind === SyntaxKind.TemplateTail || kind === SyntaxKind.JsxText;
}
export function isLiteralExpression(node) {
    const kind = node.kind;
    return kind === SyntaxKind.StringLiteral || kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral || kind === SyntaxKind.RegularExpressionLiteral || kind === SyntaxKind.NoSubstitutionTemplateLiteral;
}
export function isUnionOrIntersectionTypeNode(node) {
    return node.kind === SyntaxKind.UnionType || node.kind === SyntaxKind.IntersectionType;
}
export function isTemplateLiteralLikeNode(node) {
    const kind = node.kind;
    return isPseudoLiteralKind(kind);
}
export function isTemplateMiddleOrTail(node) {
    return node.kind === SyntaxKind.TemplateMiddle || node.kind === SyntaxKind.TemplateTail;
}
export function isTemplateLiteral(node) {
    return node.kind === SyntaxKind.TemplateExpression || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral;
}
export function isTypePredicateParameterName(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.ThisType;
}
export function isImportAttributeName(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral;
}
export function isJSDocComment(node) {
    const kind = node.kind;
    return kind === SyntaxKind.JSDocText || kind === SyntaxKind.JSDocLink || kind === SyntaxKind.JSDocLinkCode || kind === SyntaxKind.JSDocLinkPlain;
}
export function isSignatureDeclaration(node) {
    const kind = node.kind;
    return kind === SyntaxKind.CallSignature || kind === SyntaxKind.ConstructSignature || kind === SyntaxKind.MethodSignature || kind === SyntaxKind.IndexSignature || kind === SyntaxKind.FunctionType || kind === SyntaxKind.ConstructorType || kind === SyntaxKind.FunctionDeclaration || kind === SyntaxKind.MethodDeclaration || kind === SyntaxKind.Constructor || kind === SyntaxKind.GetAccessor || kind === SyntaxKind.SetAccessor || kind === SyntaxKind.FunctionExpression || kind === SyntaxKind.ArrowFunction;
}
export function isStringLiteralLikeNode(node) {
    return node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral;
}
export function isNumericOrStringLikeLiteral(node) {
    return node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NoSubstitutionTemplateLiteral || node.kind === SyntaxKind.NumericLiteral;
}
export function isObjectLiteralLikeNode(node) {
    return node.kind === SyntaxKind.ObjectLiteralExpression || node.kind === SyntaxKind.ObjectBindingPattern;
}
export function isObjectTypeDeclaration(node) {
    const kind = node.kind;
    return kind === SyntaxKind.ClassDeclaration || kind === SyntaxKind.ClassExpression || kind === SyntaxKind.InterfaceDeclaration || kind === SyntaxKind.TypeLiteral;
}
export function isJsxOpeningLikeElement(node) {
    return node.kind === SyntaxKind.JsxOpeningElement || node.kind === SyntaxKind.JsxSelfClosingElement;
}
export function isNamedImportsOrExports(node) {
    return node.kind === SyntaxKind.NamedImports || node.kind === SyntaxKind.NamedExports;
}
export function isBreakOrContinueStatement(node) {
    return node.kind === SyntaxKind.BreakStatement || node.kind === SyntaxKind.ContinueStatement;
}
export function isCallLikeExpression(node) {
    const kind = node.kind;
    return kind === SyntaxKind.CallExpression || kind === SyntaxKind.NewExpression || kind === SyntaxKind.TaggedTemplateExpression || kind === SyntaxKind.Decorator || kind === SyntaxKind.JsxOpeningElement || kind === SyntaxKind.JsxSelfClosingElement || kind === SyntaxKind.BinaryExpression;
}
export function isFunctionLikeDeclaration(node) {
    const kind = node.kind;
    return kind === SyntaxKind.FunctionDeclaration || kind === SyntaxKind.MethodDeclaration || kind === SyntaxKind.GetAccessor || kind === SyntaxKind.SetAccessor || kind === SyntaxKind.Constructor || kind === SyntaxKind.FunctionExpression || kind === SyntaxKind.ArrowFunction;
}
export function isVariableOrParameterDeclaration(node) {
    return node.kind === SyntaxKind.VariableDeclaration || node.kind === SyntaxKind.Parameter;
}
export function isVariableOrPropertyDeclaration(node) {
    return node.kind === SyntaxKind.VariableDeclaration || node.kind === SyntaxKind.PropertyDeclaration;
}
export function isCallOrNewExpression(node) {
    return node.kind === SyntaxKind.CallExpression || node.kind === SyntaxKind.NewExpression;
}
export function isImportClauseOrBindingPattern(node) {
    return node.kind === SyntaxKind.ImportClause || node.kind === SyntaxKind.ObjectBindingPattern || node.kind === SyntaxKind.ArrayBindingPattern;
}
export function isAnyImportSyntax(node) {
    return node.kind === SyntaxKind.ImportDeclaration || node.kind === SyntaxKind.JSImportDeclaration || node.kind === SyntaxKind.ImportEqualsDeclaration;
}
export function isArrayBindingElement(node) {
    return node.kind === SyntaxKind.BindingElement || node.kind === SyntaxKind.OmittedExpression;
}
export function isAssertionExpression(node) {
    return node.kind === SyntaxKind.TypeAssertionExpression || node.kind === SyntaxKind.AsExpression;
}
export function isBooleanLiteral(node) {
    return node.kind === SyntaxKind.TrueKeyword || node.kind === SyntaxKind.FalseKeyword;
}
export function isDestructuringAssignment(node) {
    return node.kind === SyntaxKind.BinaryExpression;
}
export function isLiteralToken(node) {
    const kind = node.kind;
    return kind === SyntaxKind.NumericLiteral || kind === SyntaxKind.BigIntLiteral || kind === SyntaxKind.StringLiteral || kind === SyntaxKind.JsxText || kind === SyntaxKind.RegularExpressionLiteral || kind === SyntaxKind.NoSubstitutionTemplateLiteral;
}
export function isModifier(node) {
    const kind = node.kind;
    return isModifierKind(kind);
}
export function isObjectLiteralElementLike(node) {
    const kind = node.kind;
    return kind === SyntaxKind.PropertyAssignment || kind === SyntaxKind.ShorthandPropertyAssignment || kind === SyntaxKind.SpreadAssignment || kind === SyntaxKind.MethodDeclaration || kind === SyntaxKind.GetAccessor || kind === SyntaxKind.SetAccessor;
}
export function isPropertyNameLiteral(node) {
    return node.kind === SyntaxKind.Identifier || node.kind === SyntaxKind.StringLiteral || node.kind === SyntaxKind.NumericLiteral;
}
export function isPseudoLiteralToken(node) {
    const kind = node.kind;
    return isPseudoLiteralKind(kind);
}
export function isTemplateLiteralToken(node) {
    const kind = node.kind;
    return kind === SyntaxKind.NoSubstitutionTemplateLiteral || kind === SyntaxKind.TemplateHead || kind === SyntaxKind.TemplateMiddle || kind === SyntaxKind.TemplateTail;
}
export function isArrayDestructuringAssignment(node) {
    return node.kind === SyntaxKind.BinaryExpression;
}
export function isObjectDestructuringAssignment(node) {
    return node.kind === SyntaxKind.BinaryExpression;
}
export function isFunctionBody(node) {
    return node.kind === SyntaxKind.Block;
}
export function isTriviaKind(kind) {
    return kind === SyntaxKind.SingleLineCommentTrivia
        || kind === SyntaxKind.MultiLineCommentTrivia
        || kind === SyntaxKind.NewLineTrivia
        || kind === SyntaxKind.WhitespaceTrivia
        || kind === SyntaxKind.ConflictMarkerTrivia;
}
export function isPseudoLiteralKind(kind) {
    return kind === SyntaxKind.TemplateHead
        || kind === SyntaxKind.TemplateMiddle
        || kind === SyntaxKind.TemplateTail;
}
export function isModifierKind(kind) {
    return kind === SyntaxKind.AbstractKeyword
        || kind === SyntaxKind.AccessorKeyword
        || kind === SyntaxKind.AsyncKeyword
        || kind === SyntaxKind.ConstKeyword
        || kind === SyntaxKind.DeclareKeyword
        || kind === SyntaxKind.DefaultKeyword
        || kind === SyntaxKind.ExportKeyword
        || kind === SyntaxKind.InKeyword
        || kind === SyntaxKind.PrivateKeyword
        || kind === SyntaxKind.ProtectedKeyword
        || kind === SyntaxKind.PublicKeyword
        || kind === SyntaxKind.ReadonlyKeyword
        || kind === SyntaxKind.OutKeyword
        || kind === SyntaxKind.OverrideKeyword
        || kind === SyntaxKind.StaticKeyword;
}
export function isKeywordTypeKind(kind) {
    return kind === SyntaxKind.AnyKeyword
        || kind === SyntaxKind.BigIntKeyword
        || kind === SyntaxKind.BooleanKeyword
        || kind === SyntaxKind.IntrinsicKeyword
        || kind === SyntaxKind.NeverKeyword
        || kind === SyntaxKind.NumberKeyword
        || kind === SyntaxKind.ObjectKeyword
        || kind === SyntaxKind.StringKeyword
        || kind === SyntaxKind.SymbolKeyword
        || kind === SyntaxKind.UndefinedKeyword
        || kind === SyntaxKind.UnknownKeyword
        || kind === SyntaxKind.VoidKeyword;
}
export function isKeywordExpressionKind(kind) {
    return kind === SyntaxKind.NullKeyword
        || kind === SyntaxKind.TrueKeyword
        || kind === SyntaxKind.FalseKeyword
        || kind === SyntaxKind.ThisKeyword
        || kind === SyntaxKind.SuperKeyword
        || kind === SyntaxKind.ImportKeyword;
}
export function isJsxTokenKind(kind) {
    return kind === SyntaxKind.LessThanSlashToken
        || kind === SyntaxKind.EndOfFile
        || kind === SyntaxKind.ConflictMarkerTrivia
        || kind === SyntaxKind.JsxText
        || kind === SyntaxKind.JsxTextAllWhiteSpaces
        || kind === SyntaxKind.OpenBraceToken
        || kind === SyntaxKind.LessThanToken;
}
export function isImportPhaseModifierKind(kind) {
    return kind === SyntaxKind.TypeKeyword
        || kind === SyntaxKind.DeferKeyword;
}
export function isPostfixUnaryOperator(kind) {
    return kind === SyntaxKind.PlusPlusToken
        || kind === SyntaxKind.MinusMinusToken;
}
export function isPrefixUnaryOperator(kind) {
    return kind === SyntaxKind.PlusToken
        || kind === SyntaxKind.MinusToken
        || kind === SyntaxKind.TildeToken
        || kind === SyntaxKind.ExclamationToken
        || kind === SyntaxKind.PlusPlusToken
        || kind === SyntaxKind.MinusMinusToken;
}
export function isAssignmentOperator(kind) {
    return kind === SyntaxKind.EqualsToken
        || isCompoundAssignmentOperator(kind);
}
export function isBinaryOperator(kind) {
    return isAssignmentOperatorOrHigher(kind)
        || kind === SyntaxKind.CommaToken;
}
export function isExponentiationOperator(kind) {
    return kind === SyntaxKind.AsteriskAsteriskToken;
}
export function isMultiplicativeOperator(kind) {
    return kind === SyntaxKind.AsteriskToken
        || kind === SyntaxKind.SlashToken
        || kind === SyntaxKind.PercentToken;
}
export function isMultiplicativeOperatorOrHigher(kind) {
    return isExponentiationOperator(kind)
        || isMultiplicativeOperator(kind);
}
export function isAdditiveOperator(kind) {
    return kind === SyntaxKind.PlusToken
        || kind === SyntaxKind.MinusToken;
}
export function isAdditiveOperatorOrHigher(kind) {
    return isMultiplicativeOperatorOrHigher(kind)
        || isAdditiveOperator(kind);
}
export function isShiftOperator(kind) {
    return kind === SyntaxKind.LessThanLessThanToken
        || kind === SyntaxKind.GreaterThanGreaterThanToken
        || kind === SyntaxKind.GreaterThanGreaterThanGreaterThanToken;
}
export function isShiftOperatorOrHigher(kind) {
    return isAdditiveOperatorOrHigher(kind)
        || isShiftOperator(kind);
}
export function isRelationalOperator(kind) {
    return kind === SyntaxKind.LessThanToken
        || kind === SyntaxKind.LessThanEqualsToken
        || kind === SyntaxKind.GreaterThanToken
        || kind === SyntaxKind.GreaterThanEqualsToken
        || kind === SyntaxKind.InstanceOfKeyword
        || kind === SyntaxKind.InKeyword;
}
export function isRelationalOperatorOrHigher(kind) {
    return isShiftOperatorOrHigher(kind)
        || isRelationalOperator(kind);
}
export function isEqualityOperator(kind) {
    return kind === SyntaxKind.EqualsEqualsToken
        || kind === SyntaxKind.EqualsEqualsEqualsToken
        || kind === SyntaxKind.ExclamationEqualsEqualsToken
        || kind === SyntaxKind.ExclamationEqualsToken;
}
export function isEqualityOperatorOrHigher(kind) {
    return isRelationalOperatorOrHigher(kind)
        || isEqualityOperator(kind);
}
export function isBitwiseOperator(kind) {
    return kind === SyntaxKind.AmpersandToken
        || kind === SyntaxKind.BarToken
        || kind === SyntaxKind.CaretToken;
}
export function isBitwiseOperatorOrHigher(kind) {
    return isEqualityOperatorOrHigher(kind)
        || isBitwiseOperator(kind);
}
export function isLogicalOperator(kind) {
    return kind === SyntaxKind.AmpersandAmpersandToken
        || kind === SyntaxKind.BarBarToken;
}
export function isLogicalOperatorOrHigher(kind) {
    return isBitwiseOperatorOrHigher(kind)
        || isLogicalOperator(kind);
}
export function isCompoundAssignmentOperator(kind) {
    return kind === SyntaxKind.PlusEqualsToken
        || kind === SyntaxKind.MinusEqualsToken
        || kind === SyntaxKind.AsteriskAsteriskEqualsToken
        || kind === SyntaxKind.AsteriskEqualsToken
        || kind === SyntaxKind.SlashEqualsToken
        || kind === SyntaxKind.PercentEqualsToken
        || kind === SyntaxKind.AmpersandEqualsToken
        || kind === SyntaxKind.BarEqualsToken
        || kind === SyntaxKind.CaretEqualsToken
        || kind === SyntaxKind.LessThanLessThanEqualsToken
        || kind === SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken
        || kind === SyntaxKind.GreaterThanGreaterThanEqualsToken
        || kind === SyntaxKind.BarBarEqualsToken
        || kind === SyntaxKind.AmpersandAmpersandEqualsToken
        || kind === SyntaxKind.QuestionQuestionEqualsToken;
}
export function isAssignmentOperatorOrHigher(kind) {
    return kind === SyntaxKind.QuestionQuestionToken
        || isLogicalOperatorOrHigher(kind)
        || isAssignmentOperator(kind);
}
export function isLogicalOrCoalescingAssignmentOperator(kind) {
    return kind === SyntaxKind.AmpersandAmpersandEqualsToken
        || kind === SyntaxKind.BarBarEqualsToken
        || kind === SyntaxKind.QuestionQuestionEqualsToken;
}
export function isLiteralKind(kind) {
    return kind >= SyntaxKind.FirstLiteralToken && kind <= SyntaxKind.LastLiteralToken;
}
export function isPunctuationKind(kind) {
    return kind >= SyntaxKind.FirstPunctuation && kind <= SyntaxKind.LastPunctuation;
}
export function isKeywordKind(kind) {
    return kind >= SyntaxKind.FirstKeyword && kind <= SyntaxKind.LastKeyword;
}
export function isTokenKind(kind) {
    return kind >= SyntaxKind.FirstToken && kind <= SyntaxKind.LastToken;
}
export function isJSDocNodeKind(kind) {
    return kind >= SyntaxKind.FirstJSDocNode && kind <= SyntaxKind.LastJSDocNode;
}
export function isEndOfFile(node) {
    return node.kind === SyntaxKind.EndOfFile;
}
export function isDotToken(node) {
    return node.kind === SyntaxKind.DotToken;
}
export function isDotDotDotToken(node) {
    return node.kind === SyntaxKind.DotDotDotToken;
}
export function isQuestionToken(node) {
    return node.kind === SyntaxKind.QuestionToken;
}
export function isExclamationToken(node) {
    return node.kind === SyntaxKind.ExclamationToken;
}
export function isColonToken(node) {
    return node.kind === SyntaxKind.ColonToken;
}
export function isEqualsToken(node) {
    return node.kind === SyntaxKind.EqualsToken;
}
export function isAsteriskToken(node) {
    return node.kind === SyntaxKind.AsteriskToken;
}
export function isEqualsGreaterThanToken(node) {
    return node.kind === SyntaxKind.EqualsGreaterThanToken;
}
export function isPlusToken(node) {
    return node.kind === SyntaxKind.PlusToken;
}
export function isMinusToken(node) {
    return node.kind === SyntaxKind.MinusToken;
}
export function isQuestionDotToken(node) {
    return node.kind === SyntaxKind.QuestionDotToken;
}
export function isAssertsKeyword(node) {
    return node.kind === SyntaxKind.AssertsKeyword;
}
export function isAssertKeyword(node) {
    return node.kind === SyntaxKind.AssertKeyword;
}
export function isAwaitKeyword(node) {
    return node.kind === SyntaxKind.AwaitKeyword;
}
export function isCaseKeyword(node) {
    return node.kind === SyntaxKind.CaseKeyword;
}
export function isAbstractKeyword(node) {
    return node.kind === SyntaxKind.AbstractKeyword;
}
export function isAccessorKeyword(node) {
    return node.kind === SyntaxKind.AccessorKeyword;
}
export function isAsyncKeyword(node) {
    return node.kind === SyntaxKind.AsyncKeyword;
}
export function isConstKeyword(node) {
    return node.kind === SyntaxKind.ConstKeyword;
}
export function isDeclareKeyword(node) {
    return node.kind === SyntaxKind.DeclareKeyword;
}
export function isDefaultKeyword(node) {
    return node.kind === SyntaxKind.DefaultKeyword;
}
export function isExportKeyword(node) {
    return node.kind === SyntaxKind.ExportKeyword;
}
export function isInKeyword(node) {
    return node.kind === SyntaxKind.InKeyword;
}
export function isPrivateKeyword(node) {
    return node.kind === SyntaxKind.PrivateKeyword;
}
export function isProtectedKeyword(node) {
    return node.kind === SyntaxKind.ProtectedKeyword;
}
export function isPublicKeyword(node) {
    return node.kind === SyntaxKind.PublicKeyword;
}
export function isReadonlyKeyword(node) {
    return node.kind === SyntaxKind.ReadonlyKeyword;
}
export function isOutKeyword(node) {
    return node.kind === SyntaxKind.OutKeyword;
}
export function isOverrideKeyword(node) {
    return node.kind === SyntaxKind.OverrideKeyword;
}
export function isStaticKeyword(node) {
    return node.kind === SyntaxKind.StaticKeyword;
}
export function isBinaryOperatorToken(node) {
    return isBinaryOperator(node.kind);
}
export function isAssignmentOperatorToken(node) {
    return isAssignmentOperator(node.kind);
}
export function isNullLiteral(node) {
    return node.kind === SyntaxKind.NullKeyword;
}
export function isTrueLiteral(node) {
    return node.kind === SyntaxKind.TrueKeyword;
}
export function isFalseLiteral(node) {
    return node.kind === SyntaxKind.FalseKeyword;
}
export function isThisExpression(node) {
    return node.kind === SyntaxKind.ThisKeyword;
}
export function isSuperExpression(node) {
    return node.kind === SyntaxKind.SuperKeyword;
}
export function isImportExpression(node) {
    return node.kind === SyntaxKind.ImportKeyword;
}
//# sourceMappingURL=is.generated.js.map