UNPKG

ts-simple-ast

Version:

TypeScript compiler wrapper for static analysis and code manipulation.

32 lines (31 loc) 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var utils_1 = require("../../utils"); var ArrayUtils_1 = require("../ArrayUtils"); function getNodeByNameOrFindFunction(items, nameOrFindFunc) { var findFunc; if (typeof nameOrFindFunc === "string") findFunc = function (dec) { return nodeHasName(dec, nameOrFindFunc); }; else findFunc = nameOrFindFunc; return ArrayUtils_1.ArrayUtils.find(items, findFunc); } exports.getNodeByNameOrFindFunction = getNodeByNameOrFindFunction; function nodeHasName(node, name) { if (node.getNameNode == null) return false; var nameNode = node.getNameNode(); if (nameNode == null) return false; if (utils_1.TypeGuards.isArrayBindingPattern(nameNode) || utils_1.TypeGuards.isObjectBindingPattern(nameNode)) return nameNode.getElements().some(function (element) { return nodeHasName(element, name); }); var nodeName = node.getName != null ? node.getName() : nameNode.getText(); return nodeName === name; } exports.nodeHasName = nodeHasName; function getNotFoundErrorMessageForNameOrFindFunction(findName, nameOrFindFunction) { if (typeof nameOrFindFunction === "string") return "Expected to find " + findName + " named '" + nameOrFindFunction + "'."; return "Expected to find " + findName + " that matched the provided condition."; } exports.getNotFoundErrorMessageForNameOrFindFunction = getNotFoundErrorMessageForNameOrFindFunction;