import postcss from 'postcss'; export type DiagnosticType = 'error' | 'warning'; export interface Diagnostic { type: DiagnosticType; node: postcss.Node; message: string; options: postcss.NodeErrorOptions; } export class Diagnostics { constructor(public reports: Diagnostic[] = []) {} public add( type: DiagnosticType, node: postcss.Node, message: string, options: postcss.NodeErrorOptions = {} ) { this.reports.push({ type, node, message, options }); } public error(node: postcss.Node, message: string, options?: postcss.NodeErrorOptions) { this.add('error', node, message, options); } public warn(node: postcss.Node, message: string, options?: postcss.NodeErrorOptions) { this.add('warning', node, message, options); } }