{"version":3,"file":"labels.cjs","sources":["../../../../../src/querybuilder/shared/rendering/labels.ts"],"sourcesContent":["import { config } from '@grafana/runtime';\n\nimport { prometheusRegularEscape } from '../../../escaping';\nimport { utf8Support } from '../../../utf8_support';\nimport { type QueryBuilderLabelFilter } from '../types';\n\n/**\n * Renders label filters in the format: {label1=\"value1\", label2=\"value2\"}\n */\nexport function renderLabels(labels: QueryBuilderLabelFilter[]): string {\n  if (labels.length === 0) {\n    return '';\n  }\n\n  let expr = '{';\n  for (const filter of labels) {\n    if (expr !== '{') {\n      expr += ', ';\n    }\n\n    let labelValue = filter.value;\n    const usingRegexOperator = filter.op === '=~' || filter.op === '!~';\n\n    if (config.featureToggles.prometheusSpecialCharsInLabelValues && !usingRegexOperator) {\n      labelValue = prometheusRegularEscape(labelValue);\n    }\n    expr += `${utf8Support(filter.label)}${filter.op}\"${labelValue}\"`;\n  }\n\n  return expr + `}`;\n}\n\nexport function renderLabelsWithoutBrackets(labels: QueryBuilderLabelFilter[]): string[] {\n  if (labels.length === 0) {\n    return [];\n  }\n\n  const renderedLabels: string[] = [];\n  for (const filter of labels) {\n    let labelValue = filter.value;\n    const usingRegexOperator = filter.op === '=~' || filter.op === '!~';\n\n    if (config.featureToggles.prometheusSpecialCharsInLabelValues && !usingRegexOperator) {\n      labelValue = prometheusRegularEscape(labelValue);\n    }\n    renderedLabels.push(`${utf8Support(filter.label)}${filter.op}\"${labelValue}\"`);\n  }\n\n  return renderedLabels;\n}\n"],"names":["config","prometheusRegularEscape","utf8Support"],"mappings":";;;;;;;;;AASO,SAAS,aAAa,MAAA,EAA2C;AACtE,EAAA,IAAI,MAAA,CAAO,WAAW,CAAA,EAAG;AACvB,IAAA,OAAO,EAAA;AAAA,EACT;AAEA,EAAA,IAAI,IAAA,GAAO,GAAA;AACX,EAAA,KAAA,MAAW,UAAU,MAAA,EAAQ;AAC3B,IAAA,IAAI,SAAS,GAAA,EAAK;AAChB,MAAA,IAAA,IAAQ,IAAA;AAAA,IACV;AAEA,IAAA,IAAI,aAAa,MAAA,CAAO,KAAA;AACxB,IAAA,MAAM,kBAAA,GAAqB,MAAA,CAAO,EAAA,KAAO,IAAA,IAAQ,OAAO,EAAA,KAAO,IAAA;AAE/D,IAAA,IAAIA,cAAA,CAAO,cAAA,CAAe,mCAAA,IAAuC,CAAC,kBAAA,EAAoB;AACpF,MAAA,UAAA,GAAaC,iCAAwB,UAAU,CAAA;AAAA,IACjD;AACA,IAAA,IAAA,IAAQ,CAAA,EAAGC,yBAAY,MAAA,CAAO,KAAK,CAAC,CAAA,EAAG,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA,CAAA;AAAA,EAChE;AAEA,EAAA,OAAO,IAAA,GAAO,CAAA,CAAA,CAAA;AAChB;AAEO,SAAS,4BAA4B,MAAA,EAA6C;AACvF,EAAA,IAAI,MAAA,CAAO,WAAW,CAAA,EAAG;AACvB,IAAA,OAAO,EAAC;AAAA,EACV;AAEA,EAAA,MAAM,iBAA2B,EAAC;AAClC,EAAA,KAAA,MAAW,UAAU,MAAA,EAAQ;AAC3B,IAAA,IAAI,aAAa,MAAA,CAAO,KAAA;AACxB,IAAA,MAAM,kBAAA,GAAqB,MAAA,CAAO,EAAA,KAAO,IAAA,IAAQ,OAAO,EAAA,KAAO,IAAA;AAE/D,IAAA,IAAIF,cAAA,CAAO,cAAA,CAAe,mCAAA,IAAuC,CAAC,kBAAA,EAAoB;AACpF,MAAA,UAAA,GAAaC,iCAAwB,UAAU,CAAA;AAAA,IACjD;AACA,IAAA,cAAA,CAAe,IAAA,CAAK,CAAA,EAAGC,wBAAA,CAAY,MAAA,CAAO,KAAK,CAAC,CAAA,EAAG,MAAA,CAAO,EAAE,CAAA,CAAA,EAAI,UAAU,CAAA,CAAA,CAAG,CAAA;AAAA,EAC/E;AAEA,EAAA,OAAO,cAAA;AACT;;;;;"}