UNPKG

eslint-plugin-next-route-params

Version:

eslint rule to enforce correct route parameters for Next.js

25 lines (24 loc) 1.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findReferencedType = findReferencedType; const utils_1 = require("@typescript-eslint/utils"); function findReferencedType(typeReference, { ruleContext }) { if (typeReference.typeName.type !== utils_1.AST_NODE_TYPES.Identifier) { ruleContext.report({ loc: typeReference.loc, messageId: "issue:isNoLiteral", }); return null; } const nameOfReferencedType = typeReference.typeName.name; const node = ruleContext.sourceCode.scopeManager?.variables?.find(({ name, isTypeVariable }) => name === nameOfReferencedType && isTypeVariable)?.defs[0]?.node; if (node?.type !== utils_1.AST_NODE_TYPES.TSTypeAliasDeclaration || node.typeAnnotation.type !== utils_1.AST_NODE_TYPES.TSTypeLiteral) { ruleContext.report({ loc: typeReference.loc, messageId: "issue:isNoLiteral", }); return null; } return node.typeAnnotation; }