/
home
/
techb158
/
balavpn.abdallabala.com
/
node_modules
/
postcss
/
lib
/
/home/techb158/balavpn.abdallabala.com/node_modules/postcss/lib
mkdir
upload
Name
Size
Mode
Actions
at-rule.d.ts
2817
0666
edit
dl
rm
at-rule.js
471
0666
edit
dl
rm
comment.d.ts
1727
0666
edit
dl
rm
comment.js
203
0666
edit
dl
rm
container.d.ts
13157
0666
edit
dl
rm
container.js
10502
0666
edit
dl
rm
css-syntax-error.d.ts
6503
0666
edit
dl
rm
css-syntax-error.js
2524
0666
edit
dl
rm
declaration.d.ts
3787
0666
edit
dl
rm
declaration.js
495
0666
edit
dl
rm
document.d.ts
1941
0666
edit
dl
rm
document.js
654
0666
edit
dl
rm
fromJSON.d.ts
162
0666
edit
dl
rm
fromJSON.js
1506
0666
edit
dl
rm
input.d.ts
4424
0666
edit
dl
rm
input.js
6190
0666
edit
dl
rm
lazy-result.d.ts
5007
0666
edit
dl
rm
lazy-result.js
13562
0666
edit
dl
rm
list.d.ts
1453
0666
edit
dl
rm
list.js
1227
0666
edit
dl
rm
map-generator.js
9575
0666
edit
dl
rm
no-work-result.d.ts
1573
0666
edit
dl
rm
no-work-result.js
2551
0666
edit
dl
rm
node.d.ts
13851
0666
edit
dl
rm
node.js
8733
0666
edit
dl
rm
parse.d.ts
135
0666
edit
dl
rm
parse.js
1147
0666
edit
dl
rm
parser.js
14757
0666
edit
dl
rm
postcss.d.mts
1053
0666
edit
dl
rm
postcss.d.ts
11243
0666
edit
dl
rm
postcss.js
2898
0666
edit
dl
rm
postcss.mjs
980
0666
edit
dl
rm
previous-map.d.ts
1827
0666
edit
dl
rm
previous-map.js
3923
0666
edit
dl
rm
processor.d.ts
3406
0666
edit
dl
rm
processor.js
1810
0666
edit
dl
rm
result.d.ts
4417
0666
edit
dl
rm
result.js
745
0666
edit
dl
rm
root.d.ts
2279
0666
edit
dl
rm
root.js
1239
0666
edit
dl
rm
rule.d.ts
2682
0666
edit
dl
rm
rule.js
569
0666
edit
dl
rm
stringifier.d.ts
1411
0666
edit
dl
rm
stringifier.js
8220
0666
edit
dl
rm
stringify.d.ts
165
0666
edit
dl
rm
stringify.js
213
0666
edit
dl
rm
symbols.js
91
0666
edit
dl
rm
terminal-highlight.js
1399
0666
edit
dl
rm
tokenize.js
6538
0666
edit
dl
rm
warn-once.js
256
0666
edit
dl
rm
warning.d.ts
2994
0666
edit
dl
rm
warning.js
739
0666
edit
dl
rm
Edit:
/home/techb158/balavpn.abdallabala.com/node_modules/postcss/lib/stringifier.js
(8220B)
'use strict' const DEFAULT_RAW = { after: '\n', beforeClose: '\n', beforeComment: '\n', beforeDecl: '\n', beforeOpen: ' ', beforeRule: '\n', colon: ': ', commentLeft: ' ', commentRight: ' ', emptyBody: '', indent: ' ', semicolon: false } function capitalize(str) { return str[0].toUpperCase() + str.slice(1) } class Stringifier { constructor(builder) { this.builder = builder } atrule(node, semicolon) { let name = '@' + node.name let params = node.params ? this.rawValue(node, 'params') : '' if (typeof node.raws.afterName !== 'undefined') { name += node.raws.afterName } else if (params) { name += ' ' } if (node.nodes) { this.block(node, name + params) } else { let end = (node.raws.between || '') + (semicolon ? ';' : '') this.builder(name + params + end, node) } } beforeAfter(node, detect) { let value if (node.type === 'decl') { value = this.raw(node, null, 'beforeDecl') } else if (node.type === 'comment') { value = this.raw(node, null, 'beforeComment') } else if (detect === 'before') { value = this.raw(node, null, 'beforeRule') } else { value = this.raw(node, null, 'beforeClose') } let buf = node.parent let depth = 0 while (buf && buf.type !== 'root') { depth += 1 buf = buf.parent } if (value.includes('\n')) { let indent = this.raw(node, null, 'indent') if (indent.length) { for (let step = 0; step < depth; step++) value += indent } } return value } block(node, start) { let between = this.raw(node, 'between', 'beforeOpen') this.builder(start + between + '{', node, 'start') let after if (node.nodes && node.nodes.length) { this.body(node) after = this.raw(node, 'after') } else { after = this.raw(node, 'after', 'emptyBody') } if (after) this.builder(after) this.builder('}', node, 'end') } body(node) { let last = node.nodes.length - 1 while (last > 0) { if (node.nodes[last].type !== 'comment') break last -= 1 } let semicolon = this.raw(node, 'semicolon') for (let i = 0; i < node.nodes.length; i++) { let child = node.nodes[i] let before = this.raw(child, 'before') if (before) this.builder(before) this.stringify(child, last !== i || semicolon) } } comment(node) { let left = this.raw(node, 'left', 'commentLeft') let right = this.raw(node, 'right', 'commentRight') this.builder('/*' + left + node.text + right + '*/', node) } decl(node, semicolon) { let between = this.raw(node, 'between', 'colon') let string = node.prop + between + this.rawValue(node, 'value') if (node.important) { string += node.raws.important || ' !important' } if (semicolon) string += ';' this.builder(string, node) } document(node) { this.body(node) } raw(node, own, detect) { let value if (!detect) detect = own // Already had if (own) { value = node.raws[own] if (typeof value !== 'undefined') return value } let parent = node.parent if (detect === 'before') { // Hack for first rule in CSS if (!parent || (parent.type === 'root' && parent.first === node)) { return '' } // `root` nodes in `document` should use only their own raws if (parent && parent.type === 'document') { return '' } } // Floating child without parent if (!parent) return DEFAULT_RAW[detect] // Detect style by other nodes let root = node.root() if (!root.rawCache) root.rawCache = {} if (typeof root.rawCache[detect] !== 'undefined') { return root.rawCache[detect] } if (detect === 'before' || detect === 'after') { return this.beforeAfter(node, detect) } else { let method = 'raw' + capitalize(detect) if (this[method]) { value = this[method](root, node) } else { root.walk(i => { value = i.raws[own] if (typeof value !== 'undefined') return false }) } } if (typeof value === 'undefined') value = DEFAULT_RAW[detect] root.rawCache[detect] = value return value } rawBeforeClose(root) { let value root.walk(i => { if (i.nodes && i.nodes.length > 0) { if (typeof i.raws.after !== 'undefined') { value = i.raws.after if (value.includes('\n')) { value = value.replace(/[^\n]+$/, '') } return false } } }) if (value) value = value.replace(/\S/g, '') return value } rawBeforeComment(root, node) { let value root.walkComments(i => { if (typeof i.raws.before !== 'undefined') { value = i.raws.before if (value.includes('\n')) { value = value.replace(/[^\n]+$/, '') } return false } }) if (typeof value === 'undefined') { value = this.raw(node, null, 'beforeDecl') } else if (value) { value = value.replace(/\S/g, '') } return value } rawBeforeDecl(root, node) { let value root.walkDecls(i => { if (typeof i.raws.before !== 'undefined') { value = i.raws.before if (value.includes('\n')) { value = value.replace(/[^\n]+$/, '') } return false } }) if (typeof value === 'undefined') { value = this.raw(node, null, 'beforeRule') } else if (value) { value = value.replace(/\S/g, '') } return value } rawBeforeOpen(root) { let value root.walk(i => { if (i.type !== 'decl') { value = i.raws.between if (typeof value !== 'undefined') return false } }) return value } rawBeforeRule(root) { let value root.walk(i => { if (i.nodes && (i.parent !== root || root.first !== i)) { if (typeof i.raws.before !== 'undefined') { value = i.raws.before if (value.includes('\n')) { value = value.replace(/[^\n]+$/, '') } return false } } }) if (value) value = value.replace(/\S/g, '') return value } rawColon(root) { let value root.walkDecls(i => { if (typeof i.raws.between !== 'undefined') { value = i.raws.between.replace(/[^\s:]/g, '') return false } }) return value } rawEmptyBody(root) { let value root.walk(i => { if (i.nodes && i.nodes.length === 0) { value = i.raws.after if (typeof value !== 'undefined') return false } }) return value } rawIndent(root) { if (root.raws.indent) return root.raws.indent let value root.walk(i => { let p = i.parent if (p && p !== root && p.parent && p.parent === root) { if (typeof i.raws.before !== 'undefined') { let parts = i.raws.before.split('\n') value = parts[parts.length - 1] value = value.replace(/\S/g, '') return false } } }) return value } rawSemicolon(root) { let value root.walk(i => { if (i.nodes && i.nodes.length && i.last.type === 'decl') { value = i.raws.semicolon if (typeof value !== 'undefined') return false } }) return value } rawValue(node, prop) { let value = node[prop] let raw = node.raws[prop] if (raw && raw.value === value) { return raw.raw } return value } root(node) { this.body(node) if (node.raws.after) this.builder(node.raws.after) } rule(node) { this.block(node, this.rawValue(node, 'selector')) if (node.raws.ownSemicolon) { this.builder(node.raws.ownSemicolon, node, 'end') } } stringify(node, semicolon) { /* c8 ignore start */ if (!this[node.type]) { throw new Error( 'Unknown AST node type ' + node.type + '. ' + 'Maybe you need to change PostCSS stringifier.' ) } /* c8 ignore stop */ this[node.type](node, semicolon) } } module.exports = Stringifier Stringifier.default = Stringifier
Save
cmd:
run