"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.lintCallExpression = lintCallExpression; exports.lintNewExpression = lintNewExpression; exports.lintMemberExpression = lintMemberExpression; function lintCallExpression(reporter, rules, node) { if (!node.callee) return; const calleeName = node.callee.name; const failingRule = rules.find(rule => rule.object === calleeName); if (failingRule) reporter(failingRule, node); } function lintNewExpression(reporter, rules, node) { if (!node.callee) return; const calleeName = node.callee.name; const failingRule = rules.find(rule => rule.object === calleeName); if (failingRule) reporter(failingRule, node); } function lintMemberExpression(reporter, rules, node) { if (!node.object || !node.property) return; const objectName = node.object.name; const propertyName = node.property.name; const failingRule = rules.find(rule => rule.object === objectName && (rule.property == null || rule.property === propertyName)); if (failingRule) reporter(failingRule, node); } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9MaW50LmpzIl0sIm5hbWVzIjpbImxpbnRDYWxsRXhwcmVzc2lvbiIsInJlcG9ydGVyIiwicnVsZXMiLCJub2RlIiwiY2FsbGVlIiwiY2FsbGVlTmFtZSIsIm5hbWUiLCJmYWlsaW5nUnVsZSIsImZpbmQiLCJydWxlIiwib2JqZWN0IiwibGludE5ld0V4cHJlc3Npb24iLCJsaW50TWVtYmVyRXhwcmVzc2lvbiIsInByb3BlcnR5Iiwib2JqZWN0TmFtZSIsInByb3BlcnR5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBR08sU0FBU0Esa0JBQVQsQ0FDTEMsUUFESyxFQUVMQyxLQUZLLEVBR0xDLElBSEssRUFJTDtBQUNBLE1BQUksQ0FBQ0EsSUFBSSxDQUFDQyxNQUFWLEVBQWtCO0FBQ2xCLFFBQU1DLFVBQVUsR0FBR0YsSUFBSSxDQUFDQyxNQUFMLENBQVlFLElBQS9CO0FBQ0EsUUFBTUMsV0FBVyxHQUFHTCxLQUFLLENBQUNNLElBQU4sQ0FBV0MsSUFBSSxJQUFJQSxJQUFJLENBQUNDLE1BQUwsS0FBZ0JMLFVBQW5DLENBQXBCO0FBQ0EsTUFBSUUsV0FBSixFQUFpQk4sUUFBUSxDQUFDTSxXQUFELEVBQWNKLElBQWQsQ0FBUjtBQUNsQjs7QUFFTSxTQUFTUSxpQkFBVCxDQUNMVixRQURLLEVBRUxDLEtBRkssRUFHTEMsSUFISyxFQUlMO0FBQ0EsTUFBSSxDQUFDQSxJQUFJLENBQUNDLE1BQVYsRUFBa0I7QUFDbEIsUUFBTUMsVUFBVSxHQUFHRixJQUFJLENBQUNDLE1BQUwsQ0FBWUUsSUFBL0I7QUFDQSxRQUFNQyxXQUFXLEdBQUdMLEtBQUssQ0FBQ00sSUFBTixDQUFXQyxJQUFJLElBQUlBLElBQUksQ0FBQ0MsTUFBTCxLQUFnQkwsVUFBbkMsQ0FBcEI7QUFDQSxNQUFJRSxXQUFKLEVBQWlCTixRQUFRLENBQUNNLFdBQUQsRUFBY0osSUFBZCxDQUFSO0FBQ2xCOztBQUVNLFNBQVNTLG9CQUFULENBQ0xYLFFBREssRUFFTEMsS0FGSyxFQUdMQyxJQUhLLEVBSUw7QUFDQSxNQUFJLENBQUNBLElBQUksQ0FBQ08sTUFBTixJQUFnQixDQUFDUCxJQUFJLENBQUNVLFFBQTFCLEVBQW9DO0FBQ3BDLFFBQU1DLFVBQVUsR0FBR1gsSUFBSSxDQUFDTyxNQUFMLENBQVlKLElBQS9CO0FBQ0EsUUFBTVMsWUFBWSxHQUFHWixJQUFJLENBQUNVLFFBQUwsQ0FBY1AsSUFBbkM7QUFDQSxRQUFNQyxXQUFXLEdBQUdMLEtBQUssQ0FBQ00sSUFBTixDQUNsQkMsSUFBSSxJQUNGQSxJQUFJLENBQUNDLE1BQUwsS0FBZ0JJLFVBQWhCLEtBQ0NMLElBQUksQ0FBQ0ksUUFBTCxJQUFpQixJQUFqQixJQUF5QkosSUFBSSxDQUFDSSxRQUFMLEtBQWtCRSxZQUQ1QyxDQUZnQixDQUFwQjtBQUtBLE1BQUlSLFdBQUosRUFBaUJOLFFBQVEsQ0FBQ00sV0FBRCxFQUFjSixJQUFkLENBQVI7QUFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZmxvd1xuaW1wb3J0IHR5cGUgeyBOb2RlLCBFU0xpbnROb2RlIH0gZnJvbSBcIi4vTGludFR5cGVzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW50Q2FsbEV4cHJlc3Npb24oXG4gIHJlcG9ydGVyOiBGdW5jdGlvbixcbiAgcnVsZXM6IEFycmF5PE5vZGU+LFxuICBub2RlOiBFU0xpbnROb2RlXG4pIHtcbiAgaWYgKCFub2RlLmNhbGxlZSkgcmV0dXJuO1xuICBjb25zdCBjYWxsZWVOYW1lID0gbm9kZS5jYWxsZWUubmFtZTtcbiAgY29uc3QgZmFpbGluZ1J1bGUgPSBydWxlcy5maW5kKHJ1bGUgPT4gcnVsZS5vYmplY3QgPT09IGNhbGxlZU5hbWUpO1xuICBpZiAoZmFpbGluZ1J1bGUpIHJlcG9ydGVyKGZhaWxpbmdSdWxlLCBub2RlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpbnROZXdFeHByZXNzaW9uKFxuICByZXBvcnRlcjogRnVuY3Rpb24sXG4gIHJ1bGVzOiBBcnJheTxOb2RlPixcbiAgbm9kZTogRVNMaW50Tm9kZVxuKSB7XG4gIGlmICghbm9kZS5jYWxsZWUpIHJldHVybjtcbiAgY29uc3QgY2FsbGVlTmFtZSA9IG5vZGUuY2FsbGVlLm5hbWU7XG4gIGNvbnN0IGZhaWxpbmdSdWxlID0gcnVsZXMuZmluZChydWxlID0+IHJ1bGUub2JqZWN0ID09PSBjYWxsZWVOYW1lKTtcbiAgaWYgKGZhaWxpbmdSdWxlKSByZXBvcnRlcihmYWlsaW5nUnVsZSwgbm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaW50TWVtYmVyRXhwcmVzc2lvbihcbiAgcmVwb3J0ZXI6IEZ1bmN0aW9uLFxuICBydWxlczogQXJyYXk8Tm9kZT4sXG4gIG5vZGU6IEVTTGludE5vZGVcbikge1xuICBpZiAoIW5vZGUub2JqZWN0IHx8ICFub2RlLnByb3BlcnR5KSByZXR1cm47XG4gIGNvbnN0IG9iamVjdE5hbWUgPSBub2RlLm9iamVjdC5uYW1lO1xuICBjb25zdCBwcm9wZXJ0eU5hbWUgPSBub2RlLnByb3BlcnR5Lm5hbWU7XG4gIGNvbnN0IGZhaWxpbmdSdWxlID0gcnVsZXMuZmluZChcbiAgICBydWxlID0+XG4gICAgICBydWxlLm9iamVjdCA9PT0gb2JqZWN0TmFtZSAmJlxuICAgICAgKHJ1bGUucHJvcGVydHkgPT0gbnVsbCB8fCBydWxlLnByb3BlcnR5ID09PSBwcm9wZXJ0eU5hbWUpXG4gICk7XG4gIGlmIChmYWlsaW5nUnVsZSkgcmVwb3J0ZXIoZmFpbGluZ1J1bGUsIG5vZGUpO1xufVxuIl19