UNPKG

@linaria/core

Version:

Blazing fast zero-runtime CSS in JS library

1 lines 2.1 kB
{"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":[]}