rollup-plugin-data-qa
Version:
[](https://www.npmjs.com/package/rollup-plugin-data-qa) [](https://github.com/semantic-releas
41 lines (40 loc) • 1.73 kB
JavaScript
const require_pluginConstants = require("../../pluginConstants.cjs");
const require_index = require("../../utils/magicString/appendObject/index.cjs");
const require_index$1 = require("../../utils/magicString/chainFunctionWithProps/index.cjs");
let lodash_es = require("lodash-es");
//#region src/core/injectStyledComponent/index.ts
function injectStyledComponent({ styledComponentName, styledComponentNames, node, parent, code, childOverrideParent = false }) {
if (node?.type === "MemberExpression" && styledComponentNames.has(node?.object.name) && parent?.property?.name !== "attrs") {
require_index$1.default({
code,
startPosition: node.property?.end,
functionName: "attrs",
attrs: { [require_pluginConstants.DATA_QA]: styledComponentName },
childOverrideParent
});
return true;
}
if (parent?.callee?.property?.name === "attrs" && node.type === "ArrowFunctionExpression" && !(0, lodash_es.isEmpty)(node.body.properties)) {
const properties = node.body.properties;
require_index.default({
code,
startPosition: childOverrideParent ? (0, lodash_es.last)(properties).end : properties[0].start,
attrs: { [require_pluginConstants.DATA_QA]: styledComponentName },
childOverrideParent
});
return true;
}
if (parent?.callee?.property?.name === "attrs" && node.type === "ObjectExpression" && !(0, lodash_es.isEmpty)(node.properties)) {
const properties = node.properties;
require_index.default({
code,
startPosition: childOverrideParent ? (0, lodash_es.last)(properties).end : properties[0].start,
attrs: { [require_pluginConstants.DATA_QA]: styledComponentName },
childOverrideParent
});
return true;
}
return false;
}
//#endregion
exports.default = injectStyledComponent;