UNPKG

eslint-plugin-codelyzer

Version:

39 lines (38 loc) 1.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var create_eslint_rule_1 = require("../util/create-eslint-rule"); var utils_1 = require("../../util/utils"); var utils_2 = require("../util/utils"); exports.RULE_NAME = 'use-pipe-decorator'; var PIPE_TRANSFORM = 'PipeTransform'; exports.default = create_eslint_rule_1.createESLintRule({ name: exports.RULE_NAME, meta: { type: 'suggestion', docs: { description: "Ensures that classes implementing " + PIPE_TRANSFORM + " interface use @" + utils_1.AngularClassDecorators.Pipe + " decorator", category: 'Best Practices', recommended: false }, schema: [], messages: { usePipeDecorator: "Classes that implement the " + PIPE_TRANSFORM + " interface should be decorated with @" + utils_1.AngularClassDecorators.Pipe } }, defaultOptions: [], create: function (context) { var _a; return _a = {}, _a['ClassDeclaration > TSClassImplements:matches([expression.name="PipeTransform"], [expression.property.name="PipeTransform"])'] = function (node) { var classParent = node.parent; if (utils_2.getPipeDecorator(classParent)) { return; } context.report({ node: classParent, messageId: 'usePipeDecorator' }); }, _a; } });