UNPKG

ntts

Version:

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

37 lines (36 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ts_morph_1 = require("ts-morph"); var VariableParser = /** @class */ (function () { function VariableParser() { } var _a; _a = VariableParser; VariableParser.getIdentifiers = function (nameNode, result) { if (result === void 0) { result = []; } if (ts_morph_1.Node.isObjectBindingPattern(nameNode)) { return _a.parseBindingPattern(nameNode, result); } if (ts_morph_1.Node.isArrayBindingPattern(nameNode)) { return _a.parseBindingPattern(nameNode, result); } if (ts_morph_1.Node.isIdentifier(nameNode)) { return result.concat(nameNode); } return []; }; VariableParser.parseBindingPattern = function (nameNode, result) { var arrayIdentifiers = nameNode .getElements() .reduce(function (identifiers, element) { if (ts_morph_1.Node.isBindingElement(element)) { var res = _a.getIdentifiers(element.getNameNode(), result); return identifiers.concat(res); } return identifiers; }, []); return result.concat(arrayIdentifiers); }; return VariableParser; }()); exports.default = VariableParser;