UNPKG

ntts

Version:

A CLI tool for refactoring an existing NodeJs application to a fully functional TypeScript application.

23 lines (22 loc) 1.34 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var variable_parser_1 = __importDefault(require("../variable-parser/variable-parser")); var reference_finder_1 = require("../reference-finder/reference-finder"); var WriteAccessChecker = /** @class */ (function () { function WriteAccessChecker() { } var _a; _a = WriteAccessChecker; WriteAccessChecker.hasValueChanged = function (declaration) { return variable_parser_1.default .getIdentifiers(declaration.getNameNode()) .reduce(function (acc, identifier) { return acc || _a.symbolsHaveWriteAccess((0, reference_finder_1.findReferences)(identifier)); }, false); }; WriteAccessChecker.symbolsHaveWriteAccess = function (referencedSymbols) { return referencedSymbols .reduce(function (acc, symbol) { return acc || _a.referencesHaveWriteAccess(symbol.getReferences()); }, false); }; WriteAccessChecker.referencesHaveWriteAccess = function (referenceEntries) { return referenceEntries .reduce(function (acc, entry) { return acc || (!entry.isDefinition() && entry.isWriteAccess()); }, false); }; return WriteAccessChecker; }()); exports.default = WriteAccessChecker;