{"version":3,"file":"expressionRef.cjs","sources":["../../../src/utils/expressionRef.ts"],"sourcesContent":["import { type DataSourceRef } from '@grafana/data';\n\n/**\n * @internal\n */\nexport const ExpressionDatasourceRef = Object.freeze({\n  type: '__expr__',\n  uid: '__expr__',\n  name: 'Expression',\n});\n\n/**\n * @public\n */\nexport function isExpressionReference(ref?: DataSourceRef | string | null): boolean {\n  if (!ref) {\n    return false;\n  }\n  if (typeof ref === 'string') {\n    return isExpressionValue(ref);\n  }\n  // Check the uid as well as the type: dashboards exist with refs like `{uid: '__expr__'}`\n  // that carry no type, which the legacy DataSourceSrv resolves by uid alone.\n  return isExpressionValue(ref.type) || isExpressionValue(ref.uid);\n}\n\nfunction isExpressionValue(value: string | undefined): boolean {\n  return (\n    value === ExpressionDatasourceRef.type || value === ExpressionDatasourceRef.name || value === '-100' // -100 was a legacy accident that should be removed\n  );\n}\n"],"names":[],"mappings":";;;;;AAKO,MAAM,uBAAA,GAA0B,OAAO,MAAA,CAAO;AAAA,EACnD,IAAA,EAAM,UAAA;AAAA,EACN,GAAA,EAAK,UAAA;AAAA,EACL,IAAA,EAAM;AACR,CAAC;AAKM,SAAS,sBAAsB,GAAA,EAA8C;AAClF,EAAA,IAAI,CAAC,GAAA,EAAK;AACR,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,IAAI,OAAO,QAAQ,QAAA,EAAU;AAC3B,IAAA,OAAO,kBAAkB,GAAG,CAAA;AAAA,EAC9B;AAGA,EAAA,OAAO,kBAAkB,GAAA,CAAI,IAAI,CAAA,IAAK,iBAAA,CAAkB,IAAI,GAAG,CAAA;AACjE;AAEA,SAAS,kBAAkB,KAAA,EAAoC;AAC7D,EAAA,OACE,UAAU,uBAAA,CAAwB,IAAA,IAAQ,KAAA,KAAU,uBAAA,CAAwB,QAAQ,KAAA,KAAU,MAAA;AAElG;;;;;"}