You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
'use strict'
let MapGenerator = require('./map-generator') let stringify = require('./stringify') let warnOnce = require('./warn-once') let parse = require('./parse') const Result = require('./result')
class NoWorkResult { constructor(processor, css, opts) { css = css.toString() this.stringified = false
this._processor = processor this._css = css this._opts = opts this._map = undefined let root
let str = stringify this.result = new Result(this._processor, root, this._opts) this.result.css = css
let self = this Object.defineProperty(this.result, 'root', { get() { return self.root } })
let map = new MapGenerator(str, root, this._opts, css) if (map.isMap()) { let [generatedCSS, generatedMap] = map.generate() if (generatedCSS) { this.result.css = generatedCSS } if (generatedMap) { this.result.map = generatedMap } } }
get [Symbol.toStringTag]() { return 'NoWorkResult' }
get processor() { return this.result.processor }
get opts() { return this.result.opts }
get css() { return this.result.css }
get content() { return this.result.css }
get map() { return this.result.map }
get root() { if (this._root) { return this._root }
let root let parser = parse
try { root = parser(this._css, this._opts) } catch (error) { this.error = error }
if (this.error) { throw this.error } else { this._root = root return root } }
get messages() { return [] }
warnings() { return [] }
toString() { return this._css }
then(onFulfilled, onRejected) { if (process.env.NODE_ENV !== 'production') { if (!('from' in this._opts)) { warnOnce( 'Without `from` option PostCSS could generate wrong source map ' + 'and will not find Browserslist config. Set it to CSS file path ' + 'or to `undefined` to prevent this warning.' ) } }
return this.async().then(onFulfilled, onRejected) }
catch(onRejected) { return this.async().catch(onRejected) }
finally(onFinally) { return this.async().then(onFinally, onFinally) }
async() { if (this.error) return Promise.reject(this.error) return Promise.resolve(this.result) }
sync() { if (this.error) throw this.error return this.result } }
module.exports = NoWorkResult NoWorkResult.default = NoWorkResult
|