Urara-Blog/node_modules/.pnpm-store/v3/files/bc/ac267d1e1b09748b7ebe633a7b8c12f5d014433adaabc61d7eecde874450333c41da4c145ebf814eb883f0503d6e927e51dcca925723e55f7848618d621459
2022-08-14 01:14:53 +08:00

28 lines
686 B
Text

export default function cloneNodes(nodes, source = undefined, raws = undefined) {
return nodes.map((node) => {
let cloned = node.clone()
// We always want override the source map
// except when explicitly told not to
let shouldOverwriteSource = node.raws.tailwind?.preserveSource !== true || !cloned.source
if (source !== undefined && shouldOverwriteSource) {
cloned.source = source
if ('walk' in cloned) {
cloned.walk((child) => {
child.source = source
})
}
}
if (raws !== undefined) {
cloned.raws.tailwind = {
...cloned.raws.tailwind,
...raws,
}
}
return cloned
})
}