: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
if (this.error) return Promise.reject(this.error)
return Promise.resolve(this.result)
return this.async().catch(onRejected)
return this.async().then(onFinally, onFinally)
if (this.error) throw this.error
then(onFulfilled, onRejected) {
return this.async().then(onFulfilled, onRejected)
return this.result.processor
root = parser(this._css, this._opts)
get [Symbol.toStringTag]() {
module.exports = NoWorkResult
NoWorkResult.default = NoWorkResult
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
let { isClean, my } = __webpack_require__(1381)
let CssSyntaxError = __webpack_require__(356)
let Stringifier = __webpack_require__(346)
let stringify = __webpack_require__(633)
function cloneNode(obj, parent) {
let cloned = new obj.constructor()
if (!Object.prototype.hasOwnProperty.call(obj, i)) {
if (i === 'proxyCache') continue
if (i === 'parent' && type === 'object') {
if (parent) cloned[i] = parent
} else if (i === 'source') {
} else if (Array.isArray(value)) {
cloned[i] = value.map(j => cloneNode(j, cloned))
if (type === 'object' && value !== null) value = cloneNode(value)
constructor(defaults = {}) {
for (let name in defaults) {
for (let node of defaults[name]) {
if (typeof node.clone === 'function') {
this.append(node.clone())
this[name] = defaults[name]
if (error.stack && this.source && /\n\s{4}at /.test(error.stack)) {
error.stack = error.stack.replace(
`$&${s.input.from}:${s.start.line}:${s.start.column}$&`
this.parent.insertAfter(this, add)
for (let name in overrides) {
this[name] = overrides[name]
this.parent.insertBefore(this, add)
if (!keepBetween) delete this.raws.between
let cloned = cloneNode(this)
for (let name in overrides) {
cloned[name] = overrides[name]
cloneAfter(overrides = {}) {
let cloned = this.clone(overrides)
this.parent.insertAfter(this, cloned)
cloneBefore(overrides = {}) {
let cloned = this.clone(overrides)
this.parent.insertBefore(this, cloned)
error(message, opts = {}) {
let { end, start } = this.rangeBy(opts)
return this.source.input.error(
{ column: start.column, line: start.line },
{ column: end.column, line: end.line },
return new CssSyntaxError(message)
if (prop === 'proxyOf') {
} else if (prop === 'root') {
return () => node.root().toProxy()
if (node[prop] === value) return true
while ((next = next.parent)) {
if (!this.parent) return undefined
let index = this.parent.index(this)
return this.parent.nodes[index + 1]
positionBy(opts, stringRepresentation) {
let pos = this.source.start
pos = this.positionInside(opts.index, stringRepresentation)
stringRepresentation = this.toString()
let index = stringRepresentation.indexOf(opts.word)
if (index !== -1) pos = this.positionInside(index, stringRepresentation)
positionInside(index, stringRepresentation) {
let string = stringRepresentation || this.toString()
let column = this.source.start.column
let line = this.source.start.line
for (let i = 0; i < index; i++) {
if (string[i] === '\n') {
if (!this.parent) return undefined
let index = this.parent.index(this)
return this.parent.nodes[index - 1]
column: this.source.start.column,
line: this.source.start.line
let end = this.source.end
column: this.source.end.column + 1,
line: this.source.end.line
column: start.column + 1,
let stringRepresentation = this.toString()
let index = stringRepresentation.indexOf(opts.word)
start = this.positionInside(index, stringRepresentation)
end = this.positionInside(index + opts.word.length, stringRepresentation)
column: opts.start.column,
start = this.positionInside(opts.index)
} else if (typeof opts.endIndex === 'number') {
end = this.positionInside(opts.endIndex)
end = this.positionInside(opts.index + 1)
(end.line === start.line && end.column <= start.column)
end = { column: start.column + 1, line: start.line }
let str = new Stringifier()
return str.raw(this, prop, defaultType)
this.parent.removeChild(this)
for (let node of nodes) {
this.parent.insertAfter(bookmark, node)
this.parent.insertBefore(bookmark, node)
while (result.parent && result.parent.type !== 'document') {
let emitInputs = inputs == null
inputs = inputs || new Map()
if (!Object.prototype.hasOwnProperty.call(this, name)) {
if (name === 'parent' || name === 'proxyCache') continue
if (Array.isArray(value)) {
fixed[name] = value.map(i => {
if (typeof i === 'object' && i.toJSON) {
return i.toJSON(null, inputs)
} else if (typeof value === 'object' && value.toJSON) {
fixed[name] = value.toJSON(null, inputs)
} else if (name === 'source') {
let inputId = inputs.get(value.input)
inputId = inputsNextIndex
inputs.set(value.input, inputsNextIndex)
fixed.inputs = [...inputs.keys()].map(input => input.toJSON())
this.proxyCache = new Proxy(this, this.getProxyProcessor())
toString(stringifier = stringify) {
if (stringifier.stringify) stringifier = stringifier.stringify
warn(result, text, opts) {
let data = { node: this }
for (let i in opts) data[i] = opts[i]
return result.warn(text, data)
/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
let Container = __webpack_require__(683)
let Parser = __webpack_require__(3937)
let Input = __webpack_require__(5380)
function parse(css, opts) {
let input = new Input(css, opts)
let parser = new Parser(input)