unplugin-ast
Version:
Manipulate the AST to transform your code.
34 lines (31 loc) • 874 B
JavaScript
import { toArray } from "./dist-BUfbFn_l.js";
import { isCallOf, isTaggedFunctionCallOf } from "ast-kit";
//#region src/core/transformers/remove-wrapper-function.ts
/**
* Removes wrapper function. e.g `defineComponent`, `defineConfig`...
* @param functionNames - function names to remove
* @returns Transformer
*/
function RemoveWrapperFunction(functionNames) {
return {
onNode: (node) => isCallOf(node, toArray(functionNames)) || isTaggedFunctionCallOf(node, toArray(functionNames)),
transform(node) {
if (node.type === "TaggedTemplateExpression") return node.quasi;
return node.arguments[0];
}
};
}
//#endregion
//#region src/core/transformers/remove-node.ts
/**
* Removes arbitrary nodes.
* @returns Transformer
*/
function RemoveNode(onNode) {
return {
onNode,
transform: () => false
};
}
//#endregion
export { RemoveNode, RemoveWrapperFunction };