UNPKG

rxjs-tslint-rules

Version:
48 lines (47 loc) 1.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AddedWalker = void 0; var tslib_1 = require("tslib"); var Lint = tslib_1.__importStar(require("tslint")); var tsutils = tslib_1.__importStar(require("tsutils")); var knowns_1 = require("./knowns"); var AddedWalker = (function (_super) { tslib_1.__extends(AddedWalker, _super); function AddedWalker() { var _this = _super !== null && _super.apply(this, arguments) || this; _this.addedObservables = {}; _this.addedOperators = {}; return _this; } AddedWalker.add = function (map, key, node) { var nodes = map[key]; if (nodes === undefined) { map[key] = nodes = []; } nodes.push(node); }; AddedWalker.prototype.onSourceFileEnd = function () { }; AddedWalker.prototype.visitImportDeclaration = function (node) { var moduleSpecifier = node.moduleSpecifier.getText(); var match = moduleSpecifier.match(/["']rxjs\/add\/observable\/(\w+)["']/); if (match && knowns_1.knownObservables[match[1]]) { AddedWalker.add(this.addedObservables, match[1], node); } else { match = moduleSpecifier.match(/["']rxjs\/add\/operator\/(\w+)["']/); if (match && knowns_1.knownOperators[match[1]]) { AddedWalker.add(this.addedOperators, match[1], node); } } _super.prototype.visitImportDeclaration.call(this, node); }; AddedWalker.prototype.visitNode = function (node) { _super.prototype.visitNode.call(this, node); if (tsutils.isSourceFile(node)) { this.sourceFilePath = node["path"]; this.onSourceFileEnd(); } }; return AddedWalker; }(Lint.ProgramAwareRuleWalker)); exports.AddedWalker = AddedWalker;