UNPKG

aws-sdk-js-codemod

Version:

Collection of codemod scripts that help update AWS SDK for JavaScript APIs

42 lines (41 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getRequireDeclarators = void 0; const config_1 = require("../../config"); const isValidRequireCallExpression = (callExpression, path) => { if (callExpression.arguments.length !== 1) { return false; } const callExpressionArg = callExpression.arguments[0]; if (callExpressionArg.type !== "Literal" && callExpressionArg.type !== "StringLiteral") { return false; } const sourceValue = callExpressionArg.value; if (typeof sourceValue !== "string") { return false; } if (path) { return sourceValue === path; } return sourceValue.startsWith(config_1.PACKAGE_NAME); }; const getRequireDeclarators = (j, source, path) => source.find(j.VariableDeclarator).filter((varDeclarator) => { const declaratorInit = varDeclarator.value.init; if (!declaratorInit) { return false; } switch (declaratorInit.type) { case "CallExpression": return isValidRequireCallExpression(declaratorInit, path); case "MemberExpression": { const declaratorInitObject = declaratorInit.object; if (declaratorInitObject.type !== "CallExpression") { return false; } return isValidRequireCallExpression(declaratorInitObject, path); } default: return false; } }); exports.getRequireDeclarators = getRequireDeclarators;