mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-24 09:25:15 +00:00
131 lines
5.6 KiB
JavaScript
131 lines
5.6 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.getVariableReferences = exports.isPromiseResolved = exports.isAwaited = exports.isArrayExpression = exports.isReturnStatement = exports.isArrowFunctionExpression = exports.isAwaitExpression = exports.hasThenProperty = exports.isObjectExpression = exports.findClosestCallNode = exports.findClosestCallExpressionNode = exports.isJSXAttribute = exports.isProperty = exports.isObjectPattern = exports.isRenderFunction = exports.isVariableDeclarator = exports.isBlockStatement = exports.isImportDefaultSpecifier = exports.isImportNamespaceSpecifier = exports.isImportSpecifier = exports.isLiteral = exports.isMemberExpression = exports.isIdentifier = exports.isCallExpression = void 0;
|
||
|
var experimental_utils_1 = require("@typescript-eslint/experimental-utils");
|
||
|
function isCallExpression(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.CallExpression;
|
||
|
}
|
||
|
exports.isCallExpression = isCallExpression;
|
||
|
function isIdentifier(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.Identifier;
|
||
|
}
|
||
|
exports.isIdentifier = isIdentifier;
|
||
|
function isMemberExpression(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.MemberExpression;
|
||
|
}
|
||
|
exports.isMemberExpression = isMemberExpression;
|
||
|
function isLiteral(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.Literal;
|
||
|
}
|
||
|
exports.isLiteral = isLiteral;
|
||
|
function isImportSpecifier(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.ImportSpecifier;
|
||
|
}
|
||
|
exports.isImportSpecifier = isImportSpecifier;
|
||
|
function isImportNamespaceSpecifier(node) {
|
||
|
return (node === null || node === void 0 ? void 0 : node.type) === experimental_utils_1.AST_NODE_TYPES.ImportNamespaceSpecifier;
|
||
|
}
|
||
|
exports.isImportNamespaceSpecifier = isImportNamespaceSpecifier;
|
||
|
function isImportDefaultSpecifier(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.ImportDefaultSpecifier;
|
||
|
}
|
||
|
exports.isImportDefaultSpecifier = isImportDefaultSpecifier;
|
||
|
function isBlockStatement(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.BlockStatement;
|
||
|
}
|
||
|
exports.isBlockStatement = isBlockStatement;
|
||
|
function isVariableDeclarator(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.VariableDeclarator;
|
||
|
}
|
||
|
exports.isVariableDeclarator = isVariableDeclarator;
|
||
|
function isRenderFunction(callNode, renderFunctions) {
|
||
|
return renderFunctions.some(function (name) {
|
||
|
return ((isIdentifier(callNode.callee) && name === callNode.callee.name) ||
|
||
|
(isMemberExpression(callNode.callee) &&
|
||
|
isIdentifier(callNode.callee.property) &&
|
||
|
name === callNode.callee.property.name));
|
||
|
});
|
||
|
}
|
||
|
exports.isRenderFunction = isRenderFunction;
|
||
|
function isObjectPattern(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.ObjectPattern;
|
||
|
}
|
||
|
exports.isObjectPattern = isObjectPattern;
|
||
|
function isProperty(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.Property;
|
||
|
}
|
||
|
exports.isProperty = isProperty;
|
||
|
function isJSXAttribute(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.JSXAttribute;
|
||
|
}
|
||
|
exports.isJSXAttribute = isJSXAttribute;
|
||
|
function findClosestCallExpressionNode(node) {
|
||
|
if (isCallExpression(node)) {
|
||
|
return node;
|
||
|
}
|
||
|
if (!node.parent)
|
||
|
return null;
|
||
|
return findClosestCallExpressionNode(node.parent);
|
||
|
}
|
||
|
exports.findClosestCallExpressionNode = findClosestCallExpressionNode;
|
||
|
function findClosestCallNode(node, name) {
|
||
|
if (!node.parent) {
|
||
|
return null;
|
||
|
}
|
||
|
if (isCallExpression(node) &&
|
||
|
isIdentifier(node.callee) &&
|
||
|
node.callee.name === name) {
|
||
|
return node;
|
||
|
}
|
||
|
else {
|
||
|
return findClosestCallNode(node.parent, name);
|
||
|
}
|
||
|
}
|
||
|
exports.findClosestCallNode = findClosestCallNode;
|
||
|
function isObjectExpression(node) {
|
||
|
return (node === null || node === void 0 ? void 0 : node.type) === experimental_utils_1.AST_NODE_TYPES.ObjectExpression;
|
||
|
}
|
||
|
exports.isObjectExpression = isObjectExpression;
|
||
|
function hasThenProperty(node) {
|
||
|
return (isMemberExpression(node) &&
|
||
|
isIdentifier(node.property) &&
|
||
|
node.property.name === 'then');
|
||
|
}
|
||
|
exports.hasThenProperty = hasThenProperty;
|
||
|
function isAwaitExpression(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.AwaitExpression;
|
||
|
}
|
||
|
exports.isAwaitExpression = isAwaitExpression;
|
||
|
function isArrowFunctionExpression(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.ArrowFunctionExpression;
|
||
|
}
|
||
|
exports.isArrowFunctionExpression = isArrowFunctionExpression;
|
||
|
function isReturnStatement(node) {
|
||
|
return node && node.type === experimental_utils_1.AST_NODE_TYPES.ReturnStatement;
|
||
|
}
|
||
|
exports.isReturnStatement = isReturnStatement;
|
||
|
function isArrayExpression(node) {
|
||
|
return (node === null || node === void 0 ? void 0 : node.type) === experimental_utils_1.AST_NODE_TYPES.ArrayExpression;
|
||
|
}
|
||
|
exports.isArrayExpression = isArrayExpression;
|
||
|
function isAwaited(node) {
|
||
|
return (isAwaitExpression(node) ||
|
||
|
isArrowFunctionExpression(node) ||
|
||
|
isReturnStatement(node));
|
||
|
}
|
||
|
exports.isAwaited = isAwaited;
|
||
|
function isPromiseResolved(node) {
|
||
|
var parent = node.parent;
|
||
|
if (isCallExpression(parent)) {
|
||
|
return hasThenProperty(parent.parent);
|
||
|
}
|
||
|
return hasThenProperty(parent);
|
||
|
}
|
||
|
exports.isPromiseResolved = isPromiseResolved;
|
||
|
function getVariableReferences(context, node) {
|
||
|
return ((isVariableDeclarator(node) &&
|
||
|
context.getDeclaredVariables(node)[0].references.slice(1)) ||
|
||
|
[]);
|
||
|
}
|
||
|
exports.getVariableReferences = getVariableReferences;
|