{"version":3,"file":"util.ast-to-key-segments.mjs","sources":["../../../../../src/rules/css/grouped-declarations/util.ast-to-key-segments.ts"],"sourcesContent":["import type { AtRule, Root, Rule } from \"postcss\";\n\nexport function astToKeySegments(ast: Root | AtRule | Rule): string[] {\n  const keySegments: string[] = [];\n\n  for (const child of ast.nodes ?? []) {\n    switch (child.type) {\n      case \"comment\":\n        keySegments.push(`comment-${child.text}-${child.raws.before}`);\n        break;\n\n      case \"decl\":\n        keySegments.push(\n          `decl-${child.prop}-${child.value}-${child.raws.before}`,\n        );\n        break;\n\n      case \"rule\":\n      case \"atrule\":\n        keySegments.push(`${child.type}-${child.raws.before}--`);\n        keySegments.push(...astToKeySegments(child));\n        break;\n    }\n  }\n\n  return keySegments;\n}\n"],"names":[],"mappings":"AAEO,SAAS,iBAAiB,GAAA,EAAqC;AACpE,EAAA,MAAM,cAAwB,EAAC;AAE/B,EAAA,KAAA,MAAW,KAAA,IAAS,GAAA,CAAI,KAAA,IAAS,EAAC,EAAG;AACnC,IAAA,QAAQ,MAAM,IAAA;AAAM,MAClB,KAAK,SAAA;AACH,QAAA,WAAA,CAAY,IAAA,CAAK,WAAW,KAAA,CAAM,IAAI,IAAI,KAAA,CAAM,IAAA,CAAK,MAAM,CAAA,CAAE,CAAA;AAC7D,QAAA;AAAA,MAEF,KAAK,MAAA;AACH,QAAA,WAAA,CAAY,IAAA;AAAA,UACV,CAAA,KAAA,EAAQ,MAAM,IAAI,CAAA,CAAA,EAAI,MAAM,KAAK,CAAA,CAAA,EAAI,KAAA,CAAM,IAAA,CAAK,MAAM,CAAA;AAAA,SACxD;AACA,QAAA;AAAA,MAEF,KAAK,MAAA;AAAA,MACL,KAAK,QAAA;AACH,QAAA,WAAA,CAAY,IAAA,CAAK,GAAG,KAAA,CAAM,IAAI,IAAI,KAAA,CAAM,IAAA,CAAK,MAAM,CAAA,EAAA,CAAI,CAAA;AACvD,QAAA,WAAA,CAAY,IAAA,CAAK,GAAG,gBAAA,CAAiB,KAAK,CAAC,CAAA;AAC3C,QAAA;AAAA;AACJ,EACF;AAEA,EAAA,OAAO,WAAA;AACT;;;;"}