UNPKG

stylelint-css-in-js-syntax

Version:

This plugin provides [ESLint](https://eslint.org/) rules that limit the line length of your comments. Furthermore, an **automatic fix** is included such that you can save time manually formatting your comments. As such it is recommended to apply this rule

1 lines 2.31 kB
{"version":3,"file":"util.extract-quasis-and-expressions.mjs","sources":["../../../src/syntax.parser/util.extract-quasis-and-expressions.ts"],"sourcesContent":["export function extractQuasisAndExpressions(css: string): {\n quasis: Array<{ value: { cooked: string } }>;\n expressions: string[];\n} {\n const quasis = [] as Array<{ value: { cooked: string } }>;\n const expressions = [] as string[];\n\n let current = \"\";\n let indentation = 0;\n\n for (let cursor = 0; cursor < css.length; cursor++) {\n const currentChar = css[cursor];\n const nextChar = css[cursor + 1];\n\n if (!indentation && currentChar === \"$\" && nextChar === \"{\") {\n indentation++;\n\n quasis.push({ value: { cooked: current } });\n current = \"\";\n\n cursor += 1;\n continue;\n }\n\n if (indentation && currentChar === \"{\") {\n indentation++;\n }\n\n if (indentation && currentChar === \"}\") {\n indentation--;\n\n if (indentation === 0) {\n expressions.push(current);\n current = \"\";\n continue;\n }\n }\n\n current += css[cursor];\n }\n\n quasis.push({ value: { cooked: current } });\n\n return { quasis, expressions };\n}\n"],"names":[],"mappings":"AAAO,SAAS,4BAA4B,GAG1C,EAAA;AACA,EAAA,MAAM,SAAS,EAAC,CAAA;AAChB,EAAA,MAAM,cAAc,EAAC,CAAA;AAErB,EAAA,IAAI,OAAU,GAAA,EAAA,CAAA;AACd,EAAA,IAAI,WAAc,GAAA,CAAA,CAAA;AAElB,EAAA,KAAA,IAAS,MAAS,GAAA,CAAA,EAAG,MAAS,GAAA,GAAA,CAAI,QAAQ,MAAU,EAAA,EAAA;AAClD,IAAM,MAAA,WAAA,GAAc,IAAI,MAAM,CAAA,CAAA;AAC9B,IAAM,MAAA,QAAA,GAAW,GAAI,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AAE/B,IAAA,IAAI,CAAC,WAAA,IAAe,WAAgB,KAAA,GAAA,IAAO,aAAa,GAAK,EAAA;AAC3D,MAAA,WAAA,EAAA,CAAA;AAEA,MAAA,MAAA,CAAO,KAAK,EAAE,KAAA,EAAO,EAAE,MAAQ,EAAA,OAAA,IAAW,CAAA,CAAA;AAC1C,MAAU,OAAA,GAAA,EAAA,CAAA;AAEV,MAAU,MAAA,IAAA,CAAA,CAAA;AACV,MAAA,SAAA;AAAA,KACF;AAEA,IAAI,IAAA,WAAA,IAAe,gBAAgB,GAAK,EAAA;AACtC,MAAA,WAAA,EAAA,CAAA;AAAA,KACF;AAEA,IAAI,IAAA,WAAA,IAAe,gBAAgB,GAAK,EAAA;AACtC,MAAA,WAAA,EAAA,CAAA;AAEA,MAAA,IAAI,gBAAgB,CAAG,EAAA;AACrB,QAAA,WAAA,CAAY,KAAK,OAAO,CAAA,CAAA;AACxB,QAAU,OAAA,GAAA,EAAA,CAAA;AACV,QAAA,SAAA;AAAA,OACF;AAAA,KACF;AAEA,IAAA,OAAA,IAAW,IAAI,MAAM,CAAA,CAAA;AAAA,GACvB;AAEA,EAAA,MAAA,CAAO,KAAK,EAAE,KAAA,EAAO,EAAE,MAAQ,EAAA,OAAA,IAAW,CAAA,CAAA;AAE1C,EAAO,OAAA,EAAE,QAAQ,WAAY,EAAA,CAAA;AAC/B;;;;"}