| import { | |
| Document, | |
| Node, | |
| Plugin, | |
| ProcessOptions, | |
| Root, | |
| SourceMap, | |
| TransformCallback, | |
| Warning, | |
| WarningOptions | |
| } from './postcss.js' | |
| import Processor from './processor.js' | |
| declare namespace Result { | |
| export interface Message { | |
| [others: string]: any | |
| /** | |
| * Source PostCSS plugin name. | |
| */ | |
| plugin?: string | |
| /** | |
| * Message type. | |
| */ | |
| type: string | |
| } | |
| export interface ResultOptions extends ProcessOptions { | |
| /** | |
| * The CSS node that was the source of the warning. | |
| */ | |
| node?: Node | |
| /** | |
| * Name of plugin that created this warning. `Result#warn` will fill it | |
| * automatically with `Plugin#postcssPlugin` value. | |
| */ | |
| plugin?: string | |
| } | |
| // eslint-disable-next-line @typescript-eslint/no-use-before-define | |
| export { Result_ as default } | |
| } | |
| /** | |
| * Provides the result of the PostCSS transformations. | |
| * | |
| * A Result instance is returned by `LazyResult#then` | |
| * or `Root#toResult` methods. | |
| * | |
| * ```js | |
| * postcss([autoprefixer]).process(css).then(result => { | |
| * console.log(result.css) | |
| * }) | |
| * ``` | |
| * | |
| * ```js | |
| * const result2 = postcss.parse(css).toResult() | |
| * ``` | |
| */ | |
| declare class Result_<RootNode = Document | Root> { | |
| /** | |
| * A CSS string representing of `Result#root`. | |
| * | |
| * ```js | |
| * postcss.parse('a{}').toResult().css //=> "a{}" | |
| * ``` | |
| */ | |
| css: string | |
| /** | |
| * Last runned PostCSS plugin. | |
| */ | |
| lastPlugin: Plugin | TransformCallback | |
| /** | |
| * An instance of `SourceMapGenerator` class from the `source-map` library, | |
| * representing changes to the `Result#root` instance. | |
| * | |
| * ```js | |
| * result.map.toJSON() //=> { version: 3, file: 'a.css', … } | |
| * ``` | |
| * | |
| * ```js | |
| * if (result.map) { | |
| * fs.writeFileSync(result.opts.to + '.map', result.map.toString()) | |
| * } | |
| * ``` | |
| */ | |
| map: SourceMap | |
| /** | |
| * Contains messages from plugins (e.g., warnings or custom messages). | |
| * Each message should have type and plugin properties. | |
| * | |
| * ```js | |
| * AtRule: { | |
| * import: (atRule, { result }) { | |
| * const importedFile = parseImport(atRule) | |
| * result.messages.push({ | |
| * type: 'dependency', | |
| * plugin: 'postcss-import', | |
| * file: importedFile, | |
| * parent: result.opts.from | |
| * }) | |
| * } | |
| * } | |
| * ``` | |
| */ | |
| messages: Result.Message[] | |
| /** | |
| * Options from the `Processor#process` or `Root#toResult` call | |
| * that produced this Result instance.] | |
| * | |
| * ```js | |
| * root.toResult(opts).opts === opts | |
| * ``` | |
| */ | |
| opts: Result.ResultOptions | |
| /** | |
| * The Processor instance used for this transformation. | |
| * | |
| * ```js | |
| * for (const plugin of result.processor.plugins) { | |
| * if (plugin.postcssPlugin === 'postcss-bad') { | |
| * throw 'postcss-good is incompatible with postcss-bad' | |
| * } | |
| * }) | |
| * ``` | |
| */ | |
| processor: Processor | |
| /** | |
| * Root node after all transformations. | |
| * | |
| * ```js | |
| * root.toResult().root === root | |
| * ``` | |
| */ | |
| root: RootNode | |
| /** | |
| * @param processor Processor used for this transformation. | |
| * @param root Root node after all transformations. | |
| * @param opts Options from the `Processor#process` or `Root#toResult`. | |
| */ | |
| constructor(processor: Processor, root: RootNode, opts: Result.ResultOptions) | |
| /** | |
| * Returns for `Result#css` content. | |
| * | |
| * ```js | |
| * result + '' === result.css | |
| * ``` | |
| * | |
| * @return String representing of `Result#root`. | |
| */ | |
| toString(): string | |
| /** | |
| * Creates an instance of `Warning` and adds it to `Result#messages`. | |
| * | |
| * ```js | |
| * if (decl.important) { | |
| * result.warn('Avoid !important', { node: decl, word: '!important' }) | |
| * } | |
| * ``` | |
| * | |
| * @param text Warning message. | |
| * @param opts Warning options. | |
| * @return Created warning. | |
| */ | |
| warn(message: string, options?: WarningOptions): Warning | |
| /** | |
| * Returns warnings from plugins. Filters `Warning` instances | |
| * from `Result#messages`. | |
| * | |
| * ```js | |
| * result.warnings().forEach(warn => { | |
| * console.warn(warn.toString()) | |
| * }) | |
| * ``` | |
| * | |
| * @return Warnings from plugins. | |
| */ | |
| warnings(): Warning[] | |
| /** | |
| * An alias for the `Result#css` property. | |
| * Use it with syntaxes that generate non-CSS output. | |
| * | |
| * ```js | |
| * result.css === result.content | |
| * ``` | |
| */ | |
| get content(): string | |
| } | |
| declare class Result<RootNode = Document | Root> extends Result_<RootNode> {} | |
| export = Result | |