{"version":3,"sources":["../../src/processors/css.ts"],"sourcesContent":["import type { SourceLocation, StringLiteral } from '@babel/types';\nimport type { Rules, ValueCache } from '@wyw-in-js/processor-utils';\nimport { TaggedTemplateProcessor } from '@wyw-in-js/processor-utils';\n\nexport default class CssProcessor extends TaggedTemplateProcessor {\n  public override get asSelector(): string {\n    return this.className;\n  }\n\n  public override get value(): StringLiteral {\n    return this.astService.stringLiteral(this.className);\n  }\n\n  // eslint-disable-next-line class-methods-use-this\n  public override addInterpolation(\n    node: unknown,\n    precedingCss: string,\n    source: string\n  ): string {\n    throw new Error(\n      `css tag cannot handle '${source}' as an interpolated value`\n    );\n  }\n\n  public override doEvaltimeReplacement(): void {\n    this.replacer(this.value, false);\n  }\n\n  public override doRuntimeReplacement(): void {\n    this.replacer(this.astService.stringLiteral(this.className), false);\n  }\n\n  public override extractRules(\n    valueCache: ValueCache,\n    cssText: string,\n    loc?: SourceLocation | null\n  ): Rules {\n    const rules: Rules = {};\n\n    const selector = `.${this.className}`;\n\n    rules[selector] = {\n      cssText,\n      className: this.className,\n      displayName: this.displayName,\n      start: loc?.start ?? null,\n    };\n\n    return rules;\n  }\n}\n"],"mappings":";AAEA,SAAS,+BAA+B;AAExC,IAAqB,eAArB,cAA0C,wBAAwB;AAAA,EAChE,IAAoB,aAAqB;AACvC,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAoB,QAAuB;AACzC,WAAO,KAAK,WAAW,cAAc,KAAK,SAAS;AAAA,EACrD;AAAA;AAAA,EAGgB,iBACd,MACA,cACA,QACQ;AACR,UAAM,IAAI;AAAA,MACR,0BAA0B,MAAM;AAAA,IAClC;AAAA,EACF;AAAA,EAEgB,wBAA8B;AAC5C,SAAK,SAAS,KAAK,OAAO,KAAK;AAAA,EACjC;AAAA,EAEgB,uBAA6B;AAC3C,SAAK,SAAS,KAAK,WAAW,cAAc,KAAK,SAAS,GAAG,KAAK;AAAA,EACpE;AAAA,EAEgB,aACd,YACA,SACA,KACO;AACP,UAAM,QAAe,CAAC;AAEtB,UAAM,WAAW,IAAI,KAAK,SAAS;AAEnC,UAAM,QAAQ,IAAI;AAAA,MAChB;AAAA,MACA,WAAW,KAAK;AAAA,MAChB,aAAa,KAAK;AAAA,MAClB,OAAO,KAAK,SAAS;AAAA,IACvB;AAEA,WAAO;AAAA,EACT;AACF;","names":[]}