import type { CustomAtRules, Visitor } from 'lightningcss' import type { UniwindBundlerConfig } from '../config' import { FunctionVisitor } from './function-visitor' import { RuleVisitor } from './rule-visitor' export class UniwindCSSVisitor implements Visitor { Function: Visitor['Function'] Rule: Visitor['Rule'] StyleSheet: Visitor['StyleSheet'] constructor(bundlerConfig: UniwindBundlerConfig) { const ruleVisitor = new RuleVisitor(bundlerConfig) this.Function = new FunctionVisitor() this.Rule = ruleVisitor this.StyleSheet = () => { ruleVisitor.cleanup() } } }