diff options
Diffstat (limited to 'node_modules/tailwindcss/src/util/cloneNodes.js')
| -rw-r--r-- | node_modules/tailwindcss/src/util/cloneNodes.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/node_modules/tailwindcss/src/util/cloneNodes.js b/node_modules/tailwindcss/src/util/cloneNodes.js new file mode 100644 index 0000000..299dd63 --- /dev/null +++ b/node_modules/tailwindcss/src/util/cloneNodes.js @@ -0,0 +1,28 @@ +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 + }) +} |