UNPKG

eslint-plugin-codelyzer

Version:

39 lines (38 loc) 1.46 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var create_eslint_rule_1 = require("../util/create-eslint-rule"); var selectors_1 = require("../util/selectors"); var utils_1 = require("../util/utils"); exports.RULE_NAME = 'use-pipe-transform-interface'; var PIPE_TRANSFORM = 'PipeTransform'; exports.default = create_eslint_rule_1.createESLintRule({ name: exports.RULE_NAME, meta: { type: 'suggestion', docs: { description: "Ensures tht classes decorated with @" + utils_1.AngularClassDecorators.Pipe + " implement " + PIPE_TRANSFORM + " interface", category: 'Best Practices', recommended: false }, schema: [], messages: { usePipeTransformInterface: "Classes decorated with @" + utils_1.AngularClassDecorators.Pipe + " decorator should implement " + PIPE_TRANSFORM + " interface" } }, defaultOptions: [], create: function (context) { var _a; return _a = {}, _a[selectors_1.PIPE_CLASS_DECORATOR] = function (node) { var classParent = node.parent; if (utils_1.getDeclaredInterfaceName(classParent, PIPE_TRANSFORM)) { return; } context.report({ node: classParent, messageId: 'usePipeTransformInterface' }); }, _a; } });