aws-sdk-js-codemod
Version:
Collection of codemod scripts that help update AWS SDK for JavaScript APIs
36 lines (35 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getClientIdThisExpressions = void 0;
const thisMemberExpression = { type: "MemberExpression", object: { type: "ThisExpression" } };
const getClientIdThisExpressions = (j, source, clientIdentifiers) => clientIdentifiers.flatMap((clientIdentifier) => {
const clientIdsFromThisExpressionAssignment = source
.find(j.AssignmentExpression, {
left: thisMemberExpression,
right: clientIdentifier,
})
.nodes()
.map((assignmentExpression) => ({
...thisMemberExpression,
property: {
type: "Identifier",
name: assignmentExpression.left.property.name,
},
}));
const clientIdsFromThisExpression = source
.find(j.MemberExpression, {
type: "MemberExpression",
object: { type: "ThisExpression" },
property: clientIdentifier,
})
.nodes()
.map((memberExpression) => ({
...thisMemberExpression,
property: {
type: "Identifier",
name: memberExpression.property.name,
},
}))[0];
return [...clientIdsFromThisExpressionAssignment, clientIdsFromThisExpression];
});
exports.getClientIdThisExpressions = getClientIdThisExpressions;