create-next-flask
Version:
Create a Next + Flask app
928 lines (913 loc) • 113 kB
JavaScript
"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __accessCheck = (obj, member, msg) => {
if (!member.has(obj))
throw TypeError("Cannot " + msg);
};
var __privateGet = (obj, member, getter) => {
__accessCheck(obj, member, "read from private field");
return getter ? getter.call(obj) : member.get(obj);
};
var __privateAdd = (obj, member, value) => {
if (member.has(obj))
throw TypeError("Cannot add the same private member more than once");
member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
};
var __privateSet = (obj, member, value, setter) => {
__accessCheck(obj, member, "write to private field");
setter ? setter.call(obj, value) : member.set(obj, value);
return value;
};
var __privateMethod = (obj, member, method) => {
__accessCheck(obj, member, "access private method");
return method;
};
// src/index.ts
var src_exports = {};
__export(src_exports, {
AccessKind: () => AccessKind,
DeclarationDomain: () => DeclarationDomain,
UsageDomain: () => UsageDomain,
collectVariableUsage: () => collectVariableUsage,
forEachComment: () => forEachComment,
forEachToken: () => forEachToken,
getAccessKind: () => getAccessKind,
getCallSignaturesOfType: () => getCallSignaturesOfType,
getPropertyOfType: () => getPropertyOfType,
getWellKnownSymbolPropertyOfType: () => getWellKnownSymbolPropertyOfType,
hasDecorators: () => hasDecorators,
hasExpressionInitializer: () => hasExpressionInitializer,
hasInitializer: () => hasInitializer,
hasJSDoc: () => hasJSDoc,
hasModifiers: () => hasModifiers,
hasType: () => hasType,
hasTypeArguments: () => hasTypeArguments,
includesModifier: () => includesModifier,
intersectionTypeParts: () => intersectionTypeParts,
isAbstractKeyword: () => isAbstractKeyword,
isAccessExpression: () => isAccessExpression,
isAccessibilityModifier: () => isAccessibilityModifier,
isAccessorDeclaration: () => isAccessorDeclaration,
isAccessorKeyword: () => isAccessorKeyword,
isAnyKeyword: () => isAnyKeyword,
isArrayBindingElement: () => isArrayBindingElement,
isArrayBindingOrAssignmentPattern: () => isArrayBindingOrAssignmentPattern,
isAssertKeyword: () => isAssertKeyword,
isAssertsKeyword: () => isAssertsKeyword,
isAssignmentKind: () => isAssignmentKind,
isAssignmentPattern: () => isAssignmentPattern,
isAsyncKeyword: () => isAsyncKeyword,
isAwaitKeyword: () => isAwaitKeyword,
isBigIntKeyword: () => isBigIntKeyword,
isBigIntLiteralType: () => isBigIntLiteralType,
isBindingOrAssignmentElementRestIndicator: () => isBindingOrAssignmentElementRestIndicator,
isBindingOrAssignmentElementTarget: () => isBindingOrAssignmentElementTarget,
isBindingOrAssignmentPattern: () => isBindingOrAssignmentPattern,
isBindingPattern: () => isBindingPattern,
isBlockLike: () => isBlockLike,
isBooleanKeyword: () => isBooleanKeyword,
isBooleanLiteral: () => isBooleanLiteral,
isBooleanLiteralType: () => isBooleanLiteralType,
isClassLikeDeclaration: () => isClassLikeDeclaration,
isClassMemberModifier: () => isClassMemberModifier,
isColonToken: () => isColonToken,
isCompilerOptionEnabled: () => isCompilerOptionEnabled,
isConditionalType: () => isConditionalType,
isConstAssertionExpression: () => isConstAssertionExpression,
isConstKeyword: () => isConstKeyword,
isDeclarationName: () => isDeclarationName,
isDeclarationWithTypeParameterChildren: () => isDeclarationWithTypeParameterChildren,
isDeclarationWithTypeParameters: () => isDeclarationWithTypeParameters,
isDeclareKeyword: () => isDeclareKeyword,
isDefaultKeyword: () => isDefaultKeyword,
isDestructuringPattern: () => isDestructuringPattern,
isDotToken: () => isDotToken,
isEndOfFileToken: () => isEndOfFileToken,
isEntityNameExpression: () => isEntityNameExpression,
isEntityNameOrEntityNameExpression: () => isEntityNameOrEntityNameExpression,
isEnumType: () => isEnumType,
isEqualsGreaterThanToken: () => isEqualsGreaterThanToken,
isEqualsToken: () => isEqualsToken,
isEvolvingArrayType: () => isEvolvingArrayType,
isExclamationToken: () => isExclamationToken,
isExportKeyword: () => isExportKeyword,
isFalseKeyword: () => isFalseKeyword,
isFalseLiteral: () => isFalseLiteral,
isFalseLiteralType: () => isFalseLiteralType,
isFalsyType: () => isFalsyType,
isForInOrOfStatement: () => isForInOrOfStatement,
isFreshableIntrinsicType: () => isFreshableIntrinsicType,
isFreshableType: () => isFreshableType,
isFunctionLikeDeclaration: () => isFunctionLikeDeclaration,
isFunctionScopeBoundary: () => isFunctionScopeBoundary,
isImportExpression: () => isImportExpression,
isImportKeyword: () => isImportKeyword,
isInKeyword: () => isInKeyword,
isIndexType: () => isIndexType,
isIndexedAccessType: () => isIndexedAccessType,
isInputFiles: () => isInputFiles,
isInstantiableType: () => isInstantiableType,
isIntersectionType: () => isIntersectionType,
isIntrinsicAnyType: () => isIntrinsicAnyType,
isIntrinsicBigIntType: () => isIntrinsicBigIntType,
isIntrinsicBooleanType: () => isIntrinsicBooleanType,
isIntrinsicESSymbolType: () => isIntrinsicESSymbolType,
isIntrinsicErrorType: () => isIntrinsicErrorType,
isIntrinsicNeverType: () => isIntrinsicNeverType,
isIntrinsicNonPrimitiveType: () => isIntrinsicNonPrimitiveType,
isIntrinsicNullType: () => isIntrinsicNullType,
isIntrinsicNumberType: () => isIntrinsicNumberType,
isIntrinsicStringType: () => isIntrinsicStringType,
isIntrinsicType: () => isIntrinsicType,
isIntrinsicUndefinedType: () => isIntrinsicUndefinedType,
isIntrinsicUnknownType: () => isIntrinsicUnknownType,
isIntrinsicVoidType: () => isIntrinsicVoidType,
isIterationStatement: () => isIterationStatement,
isJSDocComment: () => isJSDocComment,
isJSDocNamespaceBody: () => isJSDocNamespaceBody,
isJSDocNamespaceDeclaration: () => isJSDocNamespaceDeclaration,
isJSDocText: () => isJSDocText,
isJSDocTypeReferencingNode: () => isJSDocTypeReferencingNode,
isJsonMinusNumericLiteral: () => isJsonMinusNumericLiteral,
isJsonObjectExpression: () => isJsonObjectExpression,
isJsxAttributeLike: () => isJsxAttributeLike,
isJsxAttributeValue: () => isJsxAttributeValue,
isJsxChild: () => isJsxChild,
isJsxTagNameExpression: () => isJsxTagNameExpression,
isJsxTagNamePropertyAccess: () => isJsxTagNamePropertyAccess,
isLiteralToken: () => isLiteralToken,
isLiteralType: () => isLiteralType,
isModifierFlagSet: () => isModifierFlagSet,
isModuleBody: () => isModuleBody,
isModuleName: () => isModuleName,
isModuleReference: () => isModuleReference,
isNamedDeclarationWithName: () => isNamedDeclarationWithName,
isNamedImportBindings: () => isNamedImportBindings,
isNamedImportsOrExports: () => isNamedImportsOrExports,
isNamespaceBody: () => isNamespaceBody,
isNamespaceDeclaration: () => isNamespaceDeclaration,
isNeverKeyword: () => isNeverKeyword,
isNodeFlagSet: () => isNodeFlagSet,
isNullKeyword: () => isNullKeyword,
isNullLiteral: () => isNullLiteral,
isNumberKeyword: () => isNumberKeyword,
isNumberLiteralType: () => isNumberLiteralType,
isNumericOrStringLikeLiteral: () => isNumericOrStringLikeLiteral,
isNumericPropertyName: () => isNumericPropertyName,
isObjectBindingOrAssignmentElement: () => isObjectBindingOrAssignmentElement,
isObjectBindingOrAssignmentPattern: () => isObjectBindingOrAssignmentPattern,
isObjectFlagSet: () => isObjectFlagSet,
isObjectKeyword: () => isObjectKeyword,
isObjectType: () => isObjectType,
isObjectTypeDeclaration: () => isObjectTypeDeclaration,
isOutKeyword: () => isOutKeyword,
isOverrideKeyword: () => isOverrideKeyword,
isParameterPropertyModifier: () => isParameterPropertyModifier,
isPrivateKeyword: () => isPrivateKeyword,
isPropertyAccessEntityNameExpression: () => isPropertyAccessEntityNameExpression,
isPropertyNameLiteral: () => isPropertyNameLiteral,
isPropertyReadonlyInType: () => isPropertyReadonlyInType,
isProtectedKeyword: () => isProtectedKeyword,
isPseudoLiteralToken: () => isPseudoLiteralToken,
isPublicKeyword: () => isPublicKeyword,
isQuestionDotToken: () => isQuestionDotToken,
isQuestionToken: () => isQuestionToken,
isReadonlyKeyword: () => isReadonlyKeyword,
isSignatureDeclaration: () => isSignatureDeclaration,
isStaticKeyword: () => isStaticKeyword,
isStrictCompilerOptionEnabled: () => isStrictCompilerOptionEnabled,
isStringKeyword: () => isStringKeyword,
isStringLiteralType: () => isStringLiteralType,
isStringMappingType: () => isStringMappingType,
isSubstitutionType: () => isSubstitutionType,
isSuperElementAccessExpression: () => isSuperElementAccessExpression,
isSuperExpression: () => isSuperExpression,
isSuperKeyword: () => isSuperKeyword,
isSuperProperty: () => isSuperProperty,
isSuperPropertyAccessExpression: () => isSuperPropertyAccessExpression,
isSymbolFlagSet: () => isSymbolFlagSet,
isSymbolKeyword: () => isSymbolKeyword,
isSyntaxList: () => isSyntaxList,
isTemplateLiteralType: () => isTemplateLiteralType,
isThenableType: () => isThenableType,
isThisExpression: () => isThisExpression,
isThisKeyword: () => isThisKeyword,
isTrueKeyword: () => isTrueKeyword,
isTrueLiteral: () => isTrueLiteral,
isTrueLiteralType: () => isTrueLiteralType,
isTupleType: () => isTupleType,
isTupleTypeReference: () => isTupleTypeReference,
isTypeFlagSet: () => isTypeFlagSet,
isTypeOnlyCompatibleAliasDeclaration: () => isTypeOnlyCompatibleAliasDeclaration,
isTypeParameter: () => isTypeParameter,
isTypeReference: () => isTypeReference,
isTypeReferenceType: () => isTypeReferenceType,
isTypeVariable: () => isTypeVariable,
isUndefinedKeyword: () => isUndefinedKeyword,
isUnionOrIntersectionType: () => isUnionOrIntersectionType,
isUnionOrIntersectionTypeNode: () => isUnionOrIntersectionTypeNode,
isUnionType: () => isUnionType,
isUniqueESSymbolType: () => isUniqueESSymbolType,
isUnknownKeyword: () => isUnknownKeyword,
isUnknownLiteralType: () => isUnknownLiteralType,
isUnparsedPrologue: () => isUnparsedPrologue,
isUnparsedSourceText: () => isUnparsedSourceText,
isUnparsedSyntheticReference: () => isUnparsedSyntheticReference,
isValidPropertyAccess: () => isValidPropertyAccess,
isVariableLikeDeclaration: () => isVariableLikeDeclaration,
isVoidKeyword: () => isVoidKeyword,
symbolHasReadonlyDeclaration: () => symbolHasReadonlyDeclaration,
typeParts: () => typeParts,
unionTypeParts: () => unionTypeParts
});
module.exports = __toCommonJS(src_exports);
// src/comments.ts
var import_typescript2 = __toESM(require("typescript"), 1);
// src/tokens.ts
var import_typescript = __toESM(require("typescript"), 1);
function forEachToken(node, callback, sourceFile = node.getSourceFile()) {
const queue = [];
while (true) {
if (import_typescript.default.isTokenKind(node.kind)) {
callback(node);
} else if (
// eslint-disable-next-line deprecation/deprecation -- need for support of TS < 4.7
node.kind !== import_typescript.default.SyntaxKind.JSDocComment
) {
const children = node.getChildren(sourceFile);
if (children.length === 1) {
node = children[0];
continue;
}
for (let i = children.length - 1; i >= 0; --i) {
queue.push(children[i]);
}
}
if (queue.length === 0) {
break;
}
node = queue.pop();
}
}
// src/comments.ts
function canHaveTrailingTrivia(token) {
switch (token.kind) {
case import_typescript2.default.SyntaxKind.CloseBraceToken:
return token.parent.kind !== import_typescript2.default.SyntaxKind.JsxExpression || !isJsxElementOrFragment(token.parent.parent);
case import_typescript2.default.SyntaxKind.GreaterThanToken:
switch (token.parent.kind) {
case import_typescript2.default.SyntaxKind.JsxOpeningElement:
return token.end !== token.parent.end;
case import_typescript2.default.SyntaxKind.JsxOpeningFragment:
return false;
case import_typescript2.default.SyntaxKind.JsxSelfClosingElement:
return token.end !== token.parent.end || // if end is not equal, this is part of the type arguments list
!isJsxElementOrFragment(token.parent.parent);
case import_typescript2.default.SyntaxKind.JsxClosingElement:
case import_typescript2.default.SyntaxKind.JsxClosingFragment:
return !isJsxElementOrFragment(token.parent.parent.parent);
}
}
return true;
}
function isJsxElementOrFragment(node) {
return node.kind === import_typescript2.default.SyntaxKind.JsxElement || node.kind === import_typescript2.default.SyntaxKind.JsxFragment;
}
function forEachComment(node, callback, sourceFile = node.getSourceFile()) {
const fullText = sourceFile.text;
const notJsx = sourceFile.languageVariant !== import_typescript2.default.LanguageVariant.JSX;
return forEachToken(
node,
(token) => {
if (token.pos === token.end) {
return;
}
if (token.kind !== import_typescript2.default.SyntaxKind.JsxText) {
import_typescript2.default.forEachLeadingCommentRange(
fullText,
// skip shebang at position 0
token.pos === 0 ? (import_typescript2.default.getShebang(fullText) ?? "").length : token.pos,
commentCallback
);
}
if (notJsx || canHaveTrailingTrivia(token)) {
return import_typescript2.default.forEachTrailingCommentRange(
fullText,
token.end,
commentCallback
);
}
},
sourceFile
);
function commentCallback(pos, end, kind) {
callback(fullText, { end, kind, pos });
}
}
// src/compilerOptions.ts
var import_typescript3 = __toESM(require("typescript"), 1);
function isCompilerOptionEnabled(options, option) {
switch (option) {
case "stripInternal":
case "declarationMap":
case "emitDeclarationOnly":
return options[option] === true && isCompilerOptionEnabled(options, "declaration");
case "declaration":
return options.declaration || isCompilerOptionEnabled(options, "composite");
case "incremental":
return options.incremental === void 0 ? isCompilerOptionEnabled(options, "composite") : options.incremental;
case "skipDefaultLibCheck":
return options.skipDefaultLibCheck || isCompilerOptionEnabled(options, "skipLibCheck");
case "suppressImplicitAnyIndexErrors":
return options.suppressImplicitAnyIndexErrors === true && isCompilerOptionEnabled(options, "noImplicitAny");
case "allowSyntheticDefaultImports":
return options.allowSyntheticDefaultImports !== void 0 ? options.allowSyntheticDefaultImports : isCompilerOptionEnabled(options, "esModuleInterop") || options.module === import_typescript3.default.ModuleKind.System;
case "noUncheckedIndexedAccess":
return options.noUncheckedIndexedAccess === true && isCompilerOptionEnabled(options, "strictNullChecks");
case "allowJs":
return options.allowJs === void 0 ? isCompilerOptionEnabled(options, "checkJs") : options.allowJs;
case "noImplicitAny":
case "noImplicitThis":
case "strictNullChecks":
case "strictFunctionTypes":
case "strictPropertyInitialization":
case "alwaysStrict":
case "strictBindCallApply":
return isStrictCompilerOptionEnabled(
options,
option
);
}
return options[option] === true;
}
function isStrictCompilerOptionEnabled(options, option) {
return (options.strict ? options[option] !== false : options[option] === true) && (option !== "strictPropertyInitialization" || isStrictCompilerOptionEnabled(options, "strictNullChecks"));
}
// src/flags.ts
var import_typescript4 = __toESM(require("typescript"), 1);
function isFlagSet(allFlags, flag) {
return (allFlags & flag) !== 0;
}
function isFlagSetOnObject(obj, flag) {
return isFlagSet(obj.flags, flag);
}
function isModifierFlagSet(node, flag) {
return isFlagSet(import_typescript4.default.getCombinedModifierFlags(node), flag);
}
var isNodeFlagSet = isFlagSetOnObject;
function isObjectFlagSet(objectType, flag) {
return isFlagSet(objectType.objectFlags, flag);
}
var isSymbolFlagSet = isFlagSetOnObject;
var isTypeFlagSet = isFlagSetOnObject;
// src/modifiers.ts
function includesModifier(modifiers, ...kinds) {
if (modifiers === void 0) {
return false;
}
for (const modifier of modifiers) {
if (kinds.includes(modifier.kind)) {
return true;
}
}
return false;
}
// src/nodes/access.ts
var import_typescript6 = __toESM(require("typescript"), 1);
// src/syntax.ts
var import_typescript5 = __toESM(require("typescript"), 1);
function isAssignmentKind(kind) {
return kind >= import_typescript5.default.SyntaxKind.FirstAssignment && kind <= import_typescript5.default.SyntaxKind.LastAssignment;
}
function isNumericPropertyName(name) {
return String(+name) === name;
}
function charSize(ch) {
return ch >= 65536 ? 2 : 1;
}
function isValidPropertyAccess(text, languageVersion = import_typescript5.default.ScriptTarget.Latest) {
if (text.length === 0) {
return false;
}
let ch = text.codePointAt(0);
if (!import_typescript5.default.isIdentifierStart(ch, languageVersion)) {
return false;
}
for (let i = charSize(ch); i < text.length; i += charSize(ch)) {
ch = text.codePointAt(i);
if (!import_typescript5.default.isIdentifierPart(ch, languageVersion)) {
return false;
}
}
return true;
}
// src/nodes/access.ts
var AccessKind = /* @__PURE__ */ ((AccessKind2) => {
AccessKind2[AccessKind2["None"] = 0] = "None";
AccessKind2[AccessKind2["Read"] = 1] = "Read";
AccessKind2[AccessKind2["Write"] = 2] = "Write";
AccessKind2[AccessKind2["Delete"] = 4] = "Delete";
AccessKind2[AccessKind2["ReadWrite"] = 3] = "ReadWrite";
return AccessKind2;
})(AccessKind || {});
function getAccessKind(node) {
const parent = node.parent;
switch (parent.kind) {
case import_typescript6.default.SyntaxKind.DeleteExpression:
return 4 /* Delete */;
case import_typescript6.default.SyntaxKind.PostfixUnaryExpression:
return 3 /* ReadWrite */;
case import_typescript6.default.SyntaxKind.PrefixUnaryExpression:
return parent.operator === import_typescript6.default.SyntaxKind.PlusPlusToken || parent.operator === import_typescript6.default.SyntaxKind.MinusMinusToken ? 3 /* ReadWrite */ : 1 /* Read */;
case import_typescript6.default.SyntaxKind.BinaryExpression:
return parent.right === node ? 1 /* Read */ : !isAssignmentKind(parent.operatorToken.kind) ? 1 /* Read */ : parent.operatorToken.kind === import_typescript6.default.SyntaxKind.EqualsToken ? 2 /* Write */ : 3 /* ReadWrite */;
case import_typescript6.default.SyntaxKind.ShorthandPropertyAssignment:
return parent.objectAssignmentInitializer === node ? 1 /* Read */ : isInDestructuringAssignment(parent) ? 2 /* Write */ : 1 /* Read */;
case import_typescript6.default.SyntaxKind.PropertyAssignment:
return parent.name === node ? 0 /* None */ : isInDestructuringAssignment(parent) ? 2 /* Write */ : 1 /* Read */;
case import_typescript6.default.SyntaxKind.ArrayLiteralExpression:
case import_typescript6.default.SyntaxKind.SpreadElement:
case import_typescript6.default.SyntaxKind.SpreadAssignment:
return isInDestructuringAssignment(
parent
) ? 2 /* Write */ : 1 /* Read */;
case import_typescript6.default.SyntaxKind.ParenthesizedExpression:
case import_typescript6.default.SyntaxKind.NonNullExpression:
case import_typescript6.default.SyntaxKind.TypeAssertionExpression:
case import_typescript6.default.SyntaxKind.AsExpression:
return getAccessKind(parent);
case import_typescript6.default.SyntaxKind.ForOfStatement:
case import_typescript6.default.SyntaxKind.ForInStatement:
return parent.initializer === node ? 2 /* Write */ : 1 /* Read */;
case import_typescript6.default.SyntaxKind.ExpressionWithTypeArguments:
return parent.parent.token === import_typescript6.default.SyntaxKind.ExtendsKeyword && parent.parent.parent.kind !== import_typescript6.default.SyntaxKind.InterfaceDeclaration ? 1 /* Read */ : 0 /* None */;
case import_typescript6.default.SyntaxKind.ComputedPropertyName:
case import_typescript6.default.SyntaxKind.ExpressionStatement:
case import_typescript6.default.SyntaxKind.TypeOfExpression:
case import_typescript6.default.SyntaxKind.ElementAccessExpression:
case import_typescript6.default.SyntaxKind.ForStatement:
case import_typescript6.default.SyntaxKind.IfStatement:
case import_typescript6.default.SyntaxKind.DoStatement:
case import_typescript6.default.SyntaxKind.WhileStatement:
case import_typescript6.default.SyntaxKind.SwitchStatement:
case import_typescript6.default.SyntaxKind.WithStatement:
case import_typescript6.default.SyntaxKind.ThrowStatement:
case import_typescript6.default.SyntaxKind.CallExpression:
case import_typescript6.default.SyntaxKind.NewExpression:
case import_typescript6.default.SyntaxKind.TaggedTemplateExpression:
case import_typescript6.default.SyntaxKind.JsxExpression:
case import_typescript6.default.SyntaxKind.Decorator:
case import_typescript6.default.SyntaxKind.TemplateSpan:
case import_typescript6.default.SyntaxKind.JsxOpeningElement:
case import_typescript6.default.SyntaxKind.JsxSelfClosingElement:
case import_typescript6.default.SyntaxKind.JsxSpreadAttribute:
case import_typescript6.default.SyntaxKind.VoidExpression:
case import_typescript6.default.SyntaxKind.ReturnStatement:
case import_typescript6.default.SyntaxKind.AwaitExpression:
case import_typescript6.default.SyntaxKind.YieldExpression:
case import_typescript6.default.SyntaxKind.ConditionalExpression:
case import_typescript6.default.SyntaxKind.CaseClause:
case import_typescript6.default.SyntaxKind.JsxElement:
return 1 /* Read */;
case import_typescript6.default.SyntaxKind.ArrowFunction:
return parent.body === node ? 1 /* Read */ : 2 /* Write */;
case import_typescript6.default.SyntaxKind.PropertyDeclaration:
case import_typescript6.default.SyntaxKind.VariableDeclaration:
case import_typescript6.default.SyntaxKind.Parameter:
case import_typescript6.default.SyntaxKind.EnumMember:
case import_typescript6.default.SyntaxKind.BindingElement:
case import_typescript6.default.SyntaxKind.JsxAttribute:
return parent.initializer === node ? 1 /* Read */ : 0 /* None */;
case import_typescript6.default.SyntaxKind.PropertyAccessExpression:
return parent.expression === node ? 1 /* Read */ : 0 /* None */;
case import_typescript6.default.SyntaxKind.ExportAssignment:
return parent.isExportEquals ? 1 /* Read */ : 0 /* None */;
}
return 0 /* None */;
}
function isInDestructuringAssignment(node) {
switch (node.kind) {
case import_typescript6.default.SyntaxKind.ShorthandPropertyAssignment:
if (node.objectAssignmentInitializer !== void 0) {
return true;
}
case import_typescript6.default.SyntaxKind.PropertyAssignment:
case import_typescript6.default.SyntaxKind.SpreadAssignment:
node = node.parent;
break;
case import_typescript6.default.SyntaxKind.SpreadElement:
if (node.parent.kind !== import_typescript6.default.SyntaxKind.ArrayLiteralExpression) {
return false;
}
node = node.parent;
}
while (true) {
switch (node.parent.kind) {
case import_typescript6.default.SyntaxKind.BinaryExpression:
return node.parent.left === node && node.parent.operatorToken.kind === import_typescript6.default.SyntaxKind.EqualsToken;
case import_typescript6.default.SyntaxKind.ForOfStatement:
return node.parent.initializer === node;
case import_typescript6.default.SyntaxKind.ArrayLiteralExpression:
case import_typescript6.default.SyntaxKind.ObjectLiteralExpression:
node = node.parent;
break;
case import_typescript6.default.SyntaxKind.SpreadAssignment:
case import_typescript6.default.SyntaxKind.PropertyAssignment:
node = node.parent.parent;
break;
case import_typescript6.default.SyntaxKind.SpreadElement:
if (node.parent.parent.kind !== import_typescript6.default.SyntaxKind.ArrayLiteralExpression) {
return false;
}
node = node.parent.parent;
break;
default:
return false;
}
}
}
// src/nodes/typeGuards/compound.ts
var import_typescript10 = __toESM(require("typescript"), 1);
// src/nodes/typeGuards/single.ts
var import_typescript7 = __toESM(require("typescript"), 1);
function isAbstractKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.AbstractKeyword;
}
function isAccessorKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.AccessorKeyword;
}
function isAnyKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.AnyKeyword;
}
function isAssertKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.AssertKeyword;
}
function isAssertsKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.AssertsKeyword;
}
function isAsyncKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.AsyncKeyword;
}
function isAwaitKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.AwaitKeyword;
}
function isBigIntKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.BigIntKeyword;
}
function isBooleanKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.BooleanKeyword;
}
function isColonToken(node) {
return node.kind === import_typescript7.default.SyntaxKind.ColonToken;
}
function isConstKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.ConstKeyword;
}
function isDeclareKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.DeclareKeyword;
}
function isDefaultKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.DefaultKeyword;
}
function isDotToken(node) {
return node.kind === import_typescript7.default.SyntaxKind.DotToken;
}
function isEndOfFileToken(node) {
return node.kind === import_typescript7.default.SyntaxKind.EndOfFileToken;
}
function isEqualsGreaterThanToken(node) {
return node.kind === import_typescript7.default.SyntaxKind.EqualsGreaterThanToken;
}
function isEqualsToken(node) {
return node.kind === import_typescript7.default.SyntaxKind.EqualsToken;
}
function isExclamationToken(node) {
return node.kind === import_typescript7.default.SyntaxKind.ExclamationToken;
}
function isExportKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.ExportKeyword;
}
function isFalseKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.FalseKeyword;
}
function isFalseLiteral(node) {
return node.kind === import_typescript7.default.SyntaxKind.FalseKeyword;
}
function isImportExpression(node) {
return node.kind === import_typescript7.default.SyntaxKind.ImportKeyword;
}
function isImportKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.ImportKeyword;
}
function isInKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.InKeyword;
}
function isInputFiles(node) {
return node.kind === import_typescript7.default.SyntaxKind.InputFiles;
}
function isJSDocText(node) {
return node.kind === import_typescript7.default.SyntaxKind.JSDocText;
}
function isJsonMinusNumericLiteral(node) {
return node.kind === import_typescript7.default.SyntaxKind.PrefixUnaryExpression;
}
function isNeverKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.NeverKeyword;
}
function isNullKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.NullKeyword;
}
function isNullLiteral(node) {
return node.kind === import_typescript7.default.SyntaxKind.NullKeyword;
}
function isNumberKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.NumberKeyword;
}
function isObjectKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.ObjectKeyword;
}
function isOutKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.OutKeyword;
}
function isOverrideKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.OverrideKeyword;
}
function isPrivateKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.PrivateKeyword;
}
function isProtectedKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.ProtectedKeyword;
}
function isPublicKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.PublicKeyword;
}
function isQuestionDotToken(node) {
return node.kind === import_typescript7.default.SyntaxKind.QuestionDotToken;
}
function isQuestionToken(node) {
return node.kind === import_typescript7.default.SyntaxKind.QuestionToken;
}
function isReadonlyKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.ReadonlyKeyword;
}
function isStaticKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.StaticKeyword;
}
function isStringKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.StringKeyword;
}
function isSuperExpression(node) {
return node.kind === import_typescript7.default.SyntaxKind.SuperKeyword;
}
function isSuperKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.SuperKeyword;
}
function isSymbolKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.SymbolKeyword;
}
function isSyntaxList(node) {
return node.kind === import_typescript7.default.SyntaxKind.SyntaxList;
}
function isThisExpression(node) {
return node.kind === import_typescript7.default.SyntaxKind.ThisKeyword;
}
function isThisKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.ThisKeyword;
}
function isTrueKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.TrueKeyword;
}
function isTrueLiteral(node) {
return node.kind === import_typescript7.default.SyntaxKind.TrueKeyword;
}
function isUndefinedKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.UndefinedKeyword;
}
function isUnknownKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.UnknownKeyword;
}
function isUnparsedPrologue(node) {
return node.kind === import_typescript7.default.SyntaxKind.UnparsedPrologue;
}
function isUnparsedSyntheticReference(node) {
return node.kind === import_typescript7.default.SyntaxKind.UnparsedSyntheticReference;
}
function isVoidKeyword(node) {
return node.kind === import_typescript7.default.SyntaxKind.VoidKeyword;
}
// src/nodes/typeGuards/union.ts
var import_typescript9 = __toESM(require("typescript"), 1);
// src/utils.ts
var import_typescript8 = __toESM(require("typescript"), 1);
var [tsMajor, tsMinor] = import_typescript8.default.versionMajorMinor.split(".").map((raw) => Number.parseInt(raw, 10));
function isTsVersionAtLeast(major, minor = 0) {
return tsMajor > major || tsMajor === major && tsMinor >= minor;
}
// src/nodes/typeGuards/union.ts
function isAccessExpression(node) {
return import_typescript9.default.isPropertyAccessExpression(node) || import_typescript9.default.isElementAccessExpression(node);
}
function isAccessibilityModifier(node) {
return isPublicKeyword(node) || isPrivateKeyword(node) || isProtectedKeyword(node);
}
function isAccessorDeclaration(node) {
return import_typescript9.default.isGetAccessorDeclaration(node) || import_typescript9.default.isSetAccessorDeclaration(node);
}
function isArrayBindingElement(node) {
return import_typescript9.default.isBindingElement(node) || import_typescript9.default.isOmittedExpression(node);
}
function isArrayBindingOrAssignmentPattern(node) {
return import_typescript9.default.isArrayBindingPattern(node) || import_typescript9.default.isArrayLiteralExpression(node);
}
function isAssignmentPattern(node) {
return import_typescript9.default.isObjectLiteralExpression(node) || import_typescript9.default.isArrayLiteralExpression(node);
}
function isBindingOrAssignmentElementRestIndicator(node) {
if (import_typescript9.default.isSpreadElement(node) || import_typescript9.default.isSpreadAssignment(node)) {
return true;
}
if (isTsVersionAtLeast(4, 4)) {
return import_typescript9.default.isDotDotDotToken(node);
}
return false;
}
function isBindingOrAssignmentElementTarget(node) {
return isBindingOrAssignmentPattern(node) || import_typescript9.default.isIdentifier(node) || import_typescript9.default.isPropertyAccessExpression(node) || import_typescript9.default.isElementAccessExpression(node) || import_typescript9.default.isOmittedExpression(node);
}
function isBindingOrAssignmentPattern(node) {
return isObjectBindingOrAssignmentPattern(node) || isArrayBindingOrAssignmentPattern(node);
}
function isBindingPattern(node) {
return import_typescript9.default.isObjectBindingPattern(node) || import_typescript9.default.isArrayBindingPattern(node);
}
function isBlockLike(node) {
return import_typescript9.default.isSourceFile(node) || import_typescript9.default.isBlock(node) || import_typescript9.default.isModuleBlock(node) || import_typescript9.default.isCaseOrDefaultClause(node);
}
function isBooleanLiteral(node) {
return isTrueLiteral(node) || isFalseLiteral(node);
}
function isClassLikeDeclaration(node) {
return import_typescript9.default.isClassDeclaration(node) || import_typescript9.default.isClassExpression(node);
}
function isClassMemberModifier(node) {
return isAccessibilityModifier(node) || isReadonlyKeyword(node) || isStaticKeyword(node) || isAccessorKeyword(node);
}
function isDeclarationName(node) {
return import_typescript9.default.isIdentifier(node) || import_typescript9.default.isPrivateIdentifier(node) || import_typescript9.default.isStringLiteralLike(node) || import_typescript9.default.isNumericLiteral(node) || import_typescript9.default.isComputedPropertyName(node) || import_typescript9.default.isElementAccessExpression(node) || isBindingPattern(node) || isEntityNameExpression(node);
}
function isDeclarationWithTypeParameterChildren(node) {
return isSignatureDeclaration(node) || // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5
isClassLikeDeclaration(node) || import_typescript9.default.isInterfaceDeclaration(node) || import_typescript9.default.isTypeAliasDeclaration(node) || import_typescript9.default.isJSDocTemplateTag(node);
}
function isDeclarationWithTypeParameters(node) {
return isDeclarationWithTypeParameterChildren(node) || import_typescript9.default.isJSDocTypedefTag(node) || import_typescript9.default.isJSDocCallbackTag(node) || import_typescript9.default.isJSDocSignature(node);
}
function isDestructuringPattern(node) {
return isBindingPattern(node) || import_typescript9.default.isObjectLiteralExpression(node) || import_typescript9.default.isArrayLiteralExpression(node);
}
function isEntityNameExpression(node) {
return import_typescript9.default.isIdentifier(node) || isPropertyAccessEntityNameExpression(node);
}
function isEntityNameOrEntityNameExpression(node) {
return import_typescript9.default.isEntityName(node) || isEntityNameExpression(node);
}
function isForInOrOfStatement(node) {
return import_typescript9.default.isForInStatement(node) || import_typescript9.default.isForOfStatement(node);
}
function isFunctionLikeDeclaration(node) {
return import_typescript9.default.isFunctionDeclaration(node) || import_typescript9.default.isMethodDeclaration(node) || import_typescript9.default.isGetAccessorDeclaration(node) || import_typescript9.default.isSetAccessorDeclaration(node) || import_typescript9.default.isConstructorDeclaration(node) || import_typescript9.default.isFunctionExpression(node) || import_typescript9.default.isArrowFunction(node);
}
function hasDecorators(node) {
return import_typescript9.default.isParameter(node) || import_typescript9.default.isPropertyDeclaration(node) || import_typescript9.default.isMethodDeclaration(node) || import_typescript9.default.isGetAccessorDeclaration(node) || import_typescript9.default.isSetAccessorDeclaration(node) || import_typescript9.default.isClassExpression(node) || import_typescript9.default.isClassDeclaration(node);
}
function hasExpressionInitializer(node) {
return import_typescript9.default.isVariableDeclaration(node) || import_typescript9.default.isParameter(node) || import_typescript9.default.isBindingElement(node) || import_typescript9.default.isPropertyDeclaration(node) || import_typescript9.default.isPropertyAssignment(node) || import_typescript9.default.isEnumMember(node);
}
function hasInitializer(node) {
return hasExpressionInitializer(node) || import_typescript9.default.isForStatement(node) || import_typescript9.default.isForInStatement(node) || import_typescript9.default.isForOfStatement(node) || import_typescript9.default.isJsxAttribute(node);
}
function hasJSDoc(node) {
if (
// eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5
isAccessorDeclaration(node) || import_typescript9.default.isArrowFunction(node) || import_typescript9.default.isBlock(node) || import_typescript9.default.isBreakStatement(node) || import_typescript9.default.isCallSignatureDeclaration(node) || import_typescript9.default.isCaseClause(node) || // eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5
isClassLikeDeclaration(node) || import_typescript9.default.isConstructorDeclaration(node) || import_typescript9.default.isConstructorTypeNode(node) || import_typescript9.default.isConstructSignatureDeclaration(node) || import_typescript9.default.isContinueStatement(node) || import_typescript9.default.isDebuggerStatement(node) || import_typescript9.default.isDoStatement(node) || import_typescript9.default.isEmptyStatement(node) || isEndOfFileToken(node) || import_typescript9.default.isEnumDeclaration(node) || import_typescript9.default.isEnumMember(node) || import_typescript9.default.isExportAssignment(node) || import_typescript9.default.isExportDeclaration(node) || import_typescript9.default.isExportSpecifier(node) || import_typescript9.default.isExpressionStatement(node) || import_typescript9.default.isForInStatement(node) || import_typescript9.default.isForOfStatement(node) || import_typescript9.default.isForStatement(node) || import_typescript9.default.isFunctionDeclaration(node) || import_typescript9.default.isFunctionExpression(node) || import_typescript9.default.isFunctionTypeNode(node) || import_typescript9.default.isIfStatement(node) || import_typescript9.default.isImportDeclaration(node) || import_typescript9.default.isImportEqualsDeclaration(node) || import_typescript9.default.isIndexSignatureDeclaration(node) || import_typescript9.default.isInterfaceDeclaration(node) || import_typescript9.default.isJSDocFunctionType(node) || import_typescript9.default.isLabeledStatement(node) || import_typescript9.default.isMethodDeclaration(node) || import_typescript9.default.isMethodSignature(node) || import_typescript9.default.isModuleDeclaration(node) || import_typescript9.default.isNamedTupleMember(node) || import_typescript9.default.isNamespaceExportDeclaration(node) || import_typescript9.default.isParameter(node) || import_typescript9.default.isParenthesizedExpression(node) || import_typescript9.default.isPropertyAssignment(node) || import_typescript9.default.isPropertyDeclaration(node) || import_typescript9.default.isPropertySignature(node) || import_typescript9.default.isReturnStatement(node) || import_typescript9.default.isShorthandPropertyAssignment(node) || import_typescript9.default.isSpreadAssignment(node) || import_typescript9.default.isSwitchStatement(node) || import_typescript9.default.isThrowStatement(node) || import_typescript9.default.isTryStatement(node) || import_typescript9.default.isTypeAliasDeclaration(node) || import_typescript9.default.isVariableDeclaration(node) || import_typescript9.default.isVariableStatement(node) || import_typescript9.default.isWhileStatement(node) || import_typescript9.default.isWithStatement(node)
) {
return true;
}
if (isTsVersionAtLeast(4, 4) && import_typescript9.default.isClassStaticBlockDeclaration(node)) {
return true;
}
if (isTsVersionAtLeast(5, 0) && (import_typescript9.default.isBinaryExpression(node) || import_typescript9.default.isElementAccessExpression(node) || import_typescript9.default.isIdentifier(node) || import_typescript9.default.isJSDocSignature(node) || import_typescript9.default.isObjectLiteralExpression(node) || import_typescript9.default.isPropertyAccessExpression(node) || import_typescript9.default.isTypeParameterDeclaration(node))) {
return true;
}
return false;
}
function hasModifiers(node) {
return import_typescript9.default.isTypeParameterDeclaration(node) || import_typescript9.default.isParameter(node) || import_typescript9.default.isConstructorTypeNode(node) || import_typescript9.default.isPropertySignature(node) || import_typescript9.default.isPropertyDeclaration(node) || import_typescript9.default.isMethodSignature(node) || import_typescript9.default.isMethodDeclaration(node) || import_typescript9.default.isConstructorDeclaration(node) || import_typescript9.default.isGetAccessorDeclaration(node) || import_typescript9.default.isSetAccessorDeclaration(node) || import_typescript9.default.isIndexSignatureDeclaration(node) || import_typescript9.default.isFunctionExpression(node) || import_typescript9.default.isArrowFunction(node) || import_typescript9.default.isClassExpression(node) || import_typescript9.default.isVariableStatement(node) || import_typescript9.default.isFunctionDeclaration(node) || import_typescript9.default.isClassDeclaration(node) || import_typescript9.default.isInterfaceDeclaration(node) || import_typescript9.default.isTypeAliasDeclaration(node) || import_typescript9.default.isEnumDeclaration(node) || import_typescript9.default.isModuleDeclaration(node) || import_typescript9.default.isImportEqualsDeclaration(node) || import_typescript9.default.isImportDeclaration(node) || import_typescript9.default.isExportAssignment(node) || import_typescript9.default.isExportDeclaration(node);
}
function hasType(node) {
return isSignatureDeclaration(node) || import_typescript9.default.isVariableDeclaration(node) || import_typescript9.default.isParameter(node) || import_typescript9.default.isPropertySignature(node) || import_typescript9.default.isPropertyDeclaration(node) || import_typescript9.default.isTypePredicateNode(node) || import_typescript9.default.isParenthesizedTypeNode(node) || import_typescript9.default.isTypeOperatorNode(node) || import_typescript9.default.isMappedTypeNode(node) || import_typescript9.default.isAssertionExpression(node) || import_typescript9.default.isTypeAliasDeclaration(node) || import_typescript9.default.isJSDocTypeExpression(node) || import_typescript9.default.isJSDocNonNullableType(node) || import_typescript9.default.isJSDocNullableType(node) || import_typescript9.default.isJSDocOptionalType(node) || import_typescript9.default.isJSDocVariadicType(node);
}
function hasTypeArguments(node) {
return import_typescript9.default.isCallExpression(node) || import_typescript9.default.isNewExpression(node) || import_typescript9.default.isTaggedTemplateExpression(node) || import_typescript9.default.isJsxOpeningElement(node) || import_typescript9.default.isJsxSelfClosingElement(node);
}
function isJSDocComment(node) {
if (isJSDocText(node)) {
return true;
}
if (isTsVersionAtLeast(4, 4)) {
return import_typescript9.default.isJSDocLink(node) || import_typescript9.default.isJSDocLinkCode(node) || import_typescript9.default.isJSDocLinkPlain(node);
}
return false;
}
function isJSDocNamespaceBody(node) {
return import_typescript9.default.isIdentifier(node) || isJSDocNamespaceDeclaration(node);
}
function isJSDocTypeReferencingNode(node) {
return import_typescript9.default.isJSDocVariadicType(node) || import_typescript9.default.isJSDocOptionalType(node) || import_typescript9.default.isJSDocNullableType(node) || import_typescript9.default.isJSDocNonNullableType(node);
}
function isJsonObjectExpression(node) {
return import_typescript9.default.isObjectLiteralExpression(node) || import_typescript9.default.isArrayLiteralExpression(node) || isJsonMinusNumericLiteral(node) || import_typescript9.default.isNumericLiteral(node) || import_typescript9.default.isStringLiteral(node) || isBooleanLiteral(node) || isNullLiteral(node);
}
function isJsxAttributeLike(node) {
return import_typescript9.default.isJsxAttribute(node) || import_typescript9.default.isJsxSpreadAttribute(node);
}
function isJsxAttributeValue(node) {
return import_typescript9.default.isStringLiteral(node) || import_typescript9.default.isJsxExpression(node) || import_typescript9.default.isJsxElement(node) || import_typescript9.default.isJsxSelfClosingElement(node) || import_typescript9.default.isJsxFragment(node);
}
function isJsxChild(node) {
return import_typescript9.default.isJsxText(node) || import_typescript9.default.isJsxExpression(node) || import_typescript9.default.isJsxElement(node) || import_typescript9.default.isJsxSelfClosingElement(node) || import_typescript9.default.isJsxFragment(node);
}
function isJsxTagNameExpression(node) {
return import_typescript9.default.isIdentifier(node) || isThisExpression(node) || isJsxTagNamePropertyAccess(node);
}
function isLiteralToken(node) {
return import_typescript9.default.isNumericLiteral(node) || import_typescript9.default.isBigIntLiteral(node) || import_typescript9.default.isStringLiteral(node) || import_typescript9.default.isJsxText(node) || import_typescript9.default.isRegularExpressionLiteral(node) || import_typescript9.default.isNoSubstitutionTemplateLiteral(node);
}
function isModuleBody(node) {
return isNamespaceBody(node) || isJSDocNamespaceBody(node);
}
function isModuleName(node) {
return import_typescript9.default.isIdentifier(node) || import_typescript9.default.isStringLiteral(node);
}
function isModuleReference(node) {
return import_typescript9.default.isEntityName(node) || import_typescript9.default.isExternalModuleReference(node);
}
function isNamedImportBindings(node) {
return import_typescript9.default.isNamespaceImport(node) || import_typescript9.default.isNamedImports(node);
}
function isNamedImportsOrExports(node) {
return import_typescript9.default.isNamedImports(node) || import_typescript9.default.isNamedExports(node);
}
function isNamespaceBody(node) {
return import_typescript9.default.isModuleBlock(node) || isNamespaceDeclaration(node);
}
function isObjectBindingOrAssignmentElement(node) {
return import_typescript9.default.isBindingElement(node) || import_typescript9.default.isPropertyAssignment(node) || import_typescript9.default.isShorthandPropertyAssignment(node) || import_typescript9.default.isSpreadAssignment(node);
}
function isObjectBindingOrAssignmentPattern(node) {
return import_typescript9.default.isObjectBindingPattern(node) || import_typescript9.default.isObjectLiteralExpression(node);
}
function isObjectTypeDeclaration(node) {
return (
// eslint-disable-next-line deprecation/deprecation -- Keep compatibility with ts <5
isClassLikeDeclaration(node) || import_typescript9.default.isInterfaceDeclaration(node) || import_typescript9.default.isTypeLiteralNode(node)
);
}
function isParameterPropertyModifier(node) {
return isAccessibilityModifier(node) || isReadonlyKeyword(node);
}
function isPropertyNameLiteral(node) {
return import_typescript9.default.isIdentifier(node) || import_typescript9.default.isStringLiteralLike(node) || import_typescript9.default.isNumericLiteral(node);
}
function isPseudoLiteralToken(node) {
return import_typescript9.default.isTemplateHead(node) || import_typescript9.default.isTemplateMiddle(node) || import_typescript9.default.isTemplateTail(node);
}
function isSignatureDeclaration(node) {
return import_typescript9.default.isCallSignatureDeclaration(node) || import_typescript9.default.isConstructSignatureDeclaration(node) || import_typescript9.default.isMethodSignature(node) || import_typescript9.default.isIndexSignatureDeclaration(node) || import_typescript9.default.isFunctionTypeNode(node) || import_typescript9.default.isConstructorTypeNode(node) || import_typescript9.default.isJSDocFunctionType(node) || import_typescript9.default.isFunctionDeclaration(node) || import_typescript9.default.isMethodDeclar