ntts
Version:
A CLI tool for refactoring an existing NodeJs application to a fully functional TypeScript application.
23 lines (22 loc) • 1.34 kB
JavaScript
;
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;