summaryrefslogtreecommitdiff
path: root/node_modules/postcss/lib/result.d.ts
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/postcss/lib/result.d.ts')
-rw-r--r--node_modules/postcss/lib/result.d.ts206
1 files changed, 206 insertions, 0 deletions
diff --git a/node_modules/postcss/lib/result.d.ts b/node_modules/postcss/lib/result.d.ts
new file mode 100644
index 0000000..c3dcbda
--- /dev/null
+++ b/node_modules/postcss/lib/result.d.ts
@@ -0,0 +1,206 @@
+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