aboutsummaryrefslogtreecommitdiffstats
path: root/vanilla/node_modules/postcss/lib/root.js
diff options
context:
space:
mode:
authorAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
committerAdam Mathes <adam@adammathes.com>2026-02-13 21:34:48 -0800
commit76cb9c2a39d477a64824a985ade40507e3bbade1 (patch)
tree41e997aa9c6f538d3a136af61dae9424db2005a9 /vanilla/node_modules/postcss/lib/root.js
parent819a39a21ac992b1393244a4c283bbb125208c69 (diff)
downloadneko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.gz
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.tar.bz2
neko-76cb9c2a39d477a64824a985ade40507e3bbade1.zip
feat(vanilla): add testing infrastructure and tests (NK-wjnczv)
Diffstat (limited to 'vanilla/node_modules/postcss/lib/root.js')
-rw-r--r--vanilla/node_modules/postcss/lib/root.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/vanilla/node_modules/postcss/lib/root.js b/vanilla/node_modules/postcss/lib/root.js
new file mode 100644
index 0000000..ea574ed
--- /dev/null
+++ b/vanilla/node_modules/postcss/lib/root.js
@@ -0,0 +1,61 @@
+'use strict'
+
+let Container = require('./container')
+
+let LazyResult, Processor
+
+class Root extends Container {
+ constructor(defaults) {
+ super(defaults)
+ this.type = 'root'
+ if (!this.nodes) this.nodes = []
+ }
+
+ normalize(child, sample, type) {
+ let nodes = super.normalize(child)
+
+ if (sample) {
+ if (type === 'prepend') {
+ if (this.nodes.length > 1) {
+ sample.raws.before = this.nodes[1].raws.before
+ } else {
+ delete sample.raws.before
+ }
+ } else if (this.first !== sample) {
+ for (let node of nodes) {
+ node.raws.before = sample.raws.before
+ }
+ }
+ }
+
+ return nodes
+ }
+
+ removeChild(child, ignore) {
+ let index = this.index(child)
+
+ if (!ignore && index === 0 && this.nodes.length > 1) {
+ this.nodes[1].raws.before = this.nodes[index].raws.before
+ }
+
+ return super.removeChild(child)
+ }
+
+ toResult(opts = {}) {
+ let lazy = new LazyResult(new Processor(), this, opts)
+ return lazy.stringify()
+ }
+}
+
+Root.registerLazyResult = dependant => {
+ LazyResult = dependant
+}
+
+Root.registerProcessor = dependant => {
+ Processor = dependant
+}
+
+module.exports = Root
+Root.default = Root
+
+Container.registerRoot(Root)