{"version":3,"file":"util.stringify-expressions.mjs","sources":["../../../../../src/rules/css/grouped-declarations/util.stringify-expressions.ts"],"sourcesContent":["export function stringifyExpressions(\n  quasis: Array<{ value: { cooked: string | null } }>,\n  expressions: string[],\n) {\n  let cssString = \"\";\n\n  for (let i = 0; i < quasis.length; i++) {\n    const currentQuasi = quasis[i]?.value.cooked;\n    cssString += currentQuasi;\n\n    const nextExpression = expressions[i];\n\n    if (nextExpression) {\n      const nearestChar = cssString?.replace(/\\n/g, \"\").trimEnd().at(-1);\n      const hasCommentBefore =\n        `${cssString?.replace(/\\n/g, \"\").trimEnd().at(-2)}${nearestChar}` ===\n        \"*/\";\n\n      const nextQuasi = quasis[i + 1]?.value.cooked;\n      const newlineCount = nextExpression.split(\"\\n\").length - 1;\n\n      const currentQuasiEndsWithNewLine = /\\n( |\\t\\r)*?/.test(\n        currentQuasi ?? \"\",\n      );\n\n      if (\n        (!nearestChar ||\n          [\"{\", \";\", \"}\"].includes(nearestChar) ||\n          hasCommentBefore) &&\n        !nextQuasi?.startsWith(\"&\") &&\n        !nextQuasi?.startsWith(\".\") &&\n        !nextQuasi?.startsWith(\"[\") &&\n        !nextQuasi?.startsWith(\" \") &&\n        ((currentQuasiEndsWithNewLine && !nextQuasi?.trim().startsWith(\":\")) ||\n          nextQuasi?.startsWith(\"\\n\") ||\n          nextQuasi?.startsWith(\";\"))\n      ) {\n        cssString += `custom-js__${newlineCount}_${Buffer.from(\n          nextExpression,\n        ).toString(\"base64\")}__:ignore${\"\\n\".repeat(newlineCount)}${\n          nextQuasi?.startsWith(\";\") || nextQuasi?.startsWith(\"{\") ? \"\" : \";\"\n        }`;\n      } else {\n        cssString += `custom-prop__${newlineCount}_${Buffer.from(\n          nextExpression,\n        ).toString(\"base64\")}__${\"\\n\".repeat(newlineCount)}`;\n      }\n    }\n  }\n\n  return cssString;\n}\n"],"names":[],"mappings":"AAAO,SAAS,oBAAA,CACd,QACA,WAAA,EACA;AACA,EAAA,IAAI,SAAA,GAAY,EAAA;AAEhB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,CAAO,QAAQ,CAAA,EAAA,EAAK;AACtC,IAAA,MAAM,YAAA,GAAe,MAAA,CAAO,CAAC,CAAA,EAAG,KAAA,CAAM,MAAA;AACtC,IAAA,SAAA,IAAa,YAAA;AAEb,IAAA,MAAM,cAAA,GAAiB,YAAY,CAAC,CAAA;AAEpC,IAAA,IAAI,cAAA,EAAgB;AAClB,MAAA,MAAM,WAAA,GAAc,WAAW,OAAA,CAAQ,KAAA,EAAO,EAAE,CAAA,CAAE,OAAA,EAAQ,CAAE,EAAA,CAAG,EAAE,CAAA;AACjE,MAAA,MAAM,gBAAA,GACJ,CAAA,EAAG,SAAA,EAAW,OAAA,CAAQ,OAAO,EAAE,CAAA,CAAE,OAAA,EAAQ,CAAE,EAAA,CAAG,EAAE,CAAC,CAAA,EAAG,WAAW,CAAA,CAAA,KAC/D,IAAA;AAEF,MAAA,MAAM,SAAA,GAAY,MAAA,CAAO,CAAA,GAAI,CAAC,GAAG,KAAA,CAAM,MAAA;AACvC,MAAA,MAAM,YAAA,GAAe,cAAA,CAAe,KAAA,CAAM,IAAI,EAAE,MAAA,GAAS,CAAA;AAEzD,MAAA,MAAM,8BAA8B,cAAA,CAAe,IAAA;AAAA,QACjD,YAAA,IAAgB;AAAA,OAClB;AAEA,MAAA,IAAA,CACG,CAAC,eACA,CAAC,GAAA,EAAK,KAAK,GAAG,CAAA,CAAE,SAAS,WAAW,CAAA,IACpC,qBACF,CAAC,SAAA,EAAW,WAAW,GAAG,CAAA,IAC1B,CAAC,SAAA,EAAW,UAAA,CAAW,GAAG,CAAA,IAC1B,CAAC,SAAA,EAAW,WAAW,GAAG,CAAA,IAC1B,CAAC,SAAA,EAAW,UAAA,CAAW,GAAG,CAAA,KACxB,2BAAA,IAA+B,CAAC,SAAA,EAAW,IAAA,GAAO,UAAA,CAAW,GAAG,KAChE,SAAA,EAAW,UAAA,CAAW,IAAI,CAAA,IAC1B,SAAA,EAAW,UAAA,CAAW,GAAG,CAAA,CAAA,EAC3B;AACA,QAAA,SAAA,IAAa,CAAA,WAAA,EAAc,YAAY,CAAA,CAAA,EAAI,MAAA,CAAO,IAAA;AAAA,UAChD;AAAA,UACA,QAAA,CAAS,QAAQ,CAAC,CAAA,SAAA,EAAY,IAAA,CAAK,OAAO,YAAY,CAAC,GACvD,SAAA,EAAW,UAAA,CAAW,GAAG,CAAA,IAAK,SAAA,EAAW,WAAW,GAAG,CAAA,GAAI,KAAK,GAClE,CAAA,CAAA;AAAA,MACF,CAAA,MAAO;AACL,QAAA,SAAA,IAAa,CAAA,aAAA,EAAgB,YAAY,CAAA,CAAA,EAAI,MAAA,CAAO,IAAA;AAAA,UAClD;AAAA,SACF,CAAE,SAAS,QAAQ,CAAC,KAAK,IAAA,CAAK,MAAA,CAAO,YAAY,CAAC,CAAA,CAAA;AAAA,MACpD;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAO,SAAA;AACT;;;;"}