{"version":3,"file":"refId.mjs","sources":["../../../src/query/refId.ts"],"sourcesContent":["import { DataQuery } from '@grafana/schema';\n\n/**\n * Finds the next available refId for a query\n */\nexport const getNextRefId = (queries: DataQuery[]): string => {\n  for (let num = 0; ; num++) {\n    const refId = getRefId(num);\n    if (!queries.some((query) => query.refId === refId)) {\n      return refId;\n    }\n  }\n};\n\nfunction getRefId(num: number): string {\n  const letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';\n\n  if (num < letters.length) {\n    return letters[num];\n  } else {\n    return getRefId(Math.floor(num / letters.length) - 1) + letters[num % letters.length];\n  }\n}\n"],"names":[],"mappings":";AAKO,MAAM,YAAA,GAAe,CAAC,OAAA,KAAiC;AAC5D,EAAA,KAAA,IAAS,GAAA,GAAM,KAAK,GAAA,EAAA,EAAO;AACzB,IAAA,MAAM,KAAA,GAAQ,SAAS,GAAG,CAAA;AAC1B,IAAA,IAAI,CAAC,QAAQ,IAAA,CAAK,CAAC,UAAU,KAAA,CAAM,KAAA,KAAU,KAAK,CAAA,EAAG;AACnD,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACF;AAEA,SAAS,SAAS,GAAA,EAAqB;AACrC,EAAA,MAAM,OAAA,GAAU,4BAAA;AAEhB,EAAA,IAAI,GAAA,GAAM,QAAQ,MAAA,EAAQ;AACxB,IAAA,OAAO,QAAQ,GAAG,CAAA;AAAA,EACpB,CAAA,MAAO;AACL,IAAA,OAAO,QAAA,CAAS,IAAA,CAAK,KAAA,CAAM,GAAA,GAAM,OAAA,CAAQ,MAAM,CAAA,GAAI,CAAC,CAAA,GAAI,OAAA,CAAQ,GAAA,GAAM,OAAA,CAAQ,MAAM,CAAA;AAAA,EACtF;AACF;;;;"}