A Promise proxy for the result of PostCSS transformations. This lazy result instance doesn't parse css unless NoWorkResult#root or Result#root are accessed. See the example below for details. A NoWork instance is returned by Processor#process ONLY when no plugins defined.

const noWorkResult = postcss().process(css) // No plugins are defined.
// CSS is not parsed
let root = noWorkResult.root // now css is parsed because we accessed the root

Implements

Constructors

Properties

catch: (<TResult>(onrejected?) => Promise<Result_<Root_> | TResult>)

Processes input CSS through synchronous and asynchronous plugins and calls onRejected for each error thrown in any plugin.

It implements standard Promise API.

postcss([autoprefixer]).process(css).then(result => {
console.log(result.css)
}).catch(error => {
console.error(error)
})

Type declaration

finally: ((onfinally?) => Promise<Result_<Root_>>)

Processes input CSS through synchronous and asynchronous plugins and calls onFinally on any error or when all plugins will finish work.

It implements standard Promise API.

postcss([autoprefixer]).process(css).finally(() => {
console.log('processing ended')
})

Type declaration

    • (onfinally?): Promise<Result_<Root_>>
    • Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The resolved value cannot be modified from the callback.

      Parameters

      • Optional onfinally: null | (() => void)

        The callback to execute when the Promise is settled (fulfilled or rejected).

      Returns Promise<Result_<Root_>>

      A Promise for the completion of the callback.

then: (<TResult1, TResult2>(onfulfilled?, onrejected?) => Promise<TResult1 | TResult2>)

Processes input CSS through synchronous and asynchronous plugins and calls onFulfilled with a Result instance. If a plugin throws an error, the onRejected callback will be executed.

It implements standard Promise API.

postcss([autoprefixer]).process(css, { from: cssPath }).then(result => {
console.log(result.css)
})

Type declaration

Accessors

  • get [toStringTag](): string
  • Returns the default string description of an object. Required to implement the Promise interface.

    Returns string

  • get content(): string
  • An alias for the css property. Use it with syntaxes that generate non-CSS output.

    This property will only work with synchronous plugins. If the processor contains any asynchronous plugins it will throw an error.

    PostCSS runners should always use LazyResult#then.

    Returns string

  • get css(): string
  • Processes input CSS through synchronous plugins, converts Root to a CSS string and returns Result#css.

    This property will only work with synchronous plugins. If the processor contains any asynchronous plugins it will throw an error.

    PostCSS runners should always use LazyResult#then.

    Returns string

  • get map(): SourceMap
  • Processes input CSS through synchronous plugins and returns Result#map.

    This property will only work with synchronous plugins. If the processor contains any asynchronous plugins it will throw an error.

    PostCSS runners should always use LazyResult#then.

    Returns SourceMap

  • get messages(): Message[]
  • Processes input CSS through synchronous plugins and returns Result#messages.

    This property will only work with synchronous plugins. If the processor contains any asynchronous plugins it will throw an error.

    PostCSS runners should always use LazyResult#then.

    Returns Message[]

  • get opts(): ResultOptions
  • Options from the Processor#process call.

    Returns ResultOptions

  • get processor(): Processor_
  • Returns a Processor instance, which will be used for CSS transformations.

    Returns Processor_

  • get root(): Root_
  • Processes input CSS through synchronous plugins and returns Result#root.

    This property will only work with synchronous plugins. If the processor contains any asynchronous plugins it will throw an error.

    PostCSS runners should always use LazyResult#then.

    Returns Root_

Methods

  • Run plugin in sync way and return Result.

    Returns Result_<Root_>

    Result with output content.

  • Alias for the LazyResult#css property.

    lazy + '' === lazy.css
    

    Returns string

    Output CSS.

  • Processes input CSS through synchronous plugins and calls Result#warnings.

    Returns Warning_[]

    Warnings from plugins.