{"version":3,"file":"ResponseParser.mjs","sources":["../../src/ResponseParser.ts"],"sourcesContent":["import { uniqBy } from 'lodash';\n\nimport { type DataFrame, type MetricFindValue } from '@grafana/data';\n\nimport type { ResponseParser as ResponseParserType } from './types';\n\nexport class ResponseParser implements ResponseParserType {\n  transformMetricFindResponse(frame: DataFrame): MetricFindValue[] {\n    const values: MetricFindValue[] = [];\n    const textField = frame.fields.find((f) => f.name === '__text');\n    const valueField = frame.fields.find((f) => f.name === '__value');\n\n    if (textField && valueField) {\n      for (let i = 0; i < textField.values.length; i++) {\n        values.push({ text: '' + textField.values[i], value: '' + valueField.values[i] });\n      }\n    } else {\n      for (const field of frame.fields) {\n        for (const value of field.values) {\n          values.push({ text: value });\n        }\n      }\n    }\n\n    return uniqBy(values, 'text');\n  }\n}\n"],"names":[],"mappings":";;;AAMO,MAAM,cAAA,CAA6C;AAAA,EACxD,4BAA4B,KAAA,EAAqC;AAC/D,IAAA,MAAM,SAA4B,EAAC;AACnC,IAAA,MAAM,SAAA,GAAY,MAAM,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,SAAS,QAAQ,CAAA;AAC9D,IAAA,MAAM,UAAA,GAAa,MAAM,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA,KAAM,CAAA,CAAE,SAAS,SAAS,CAAA;AAEhE,IAAA,IAAI,aAAa,UAAA,EAAY;AAC3B,MAAA,KAAA,IAAS,IAAI,CAAA,EAAG,CAAA,GAAI,SAAA,CAAU,MAAA,CAAO,QAAQ,CAAA,EAAA,EAAK;AAChD,QAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,EAAA,GAAK,UAAU,MAAA,CAAO,CAAC,CAAA,EAAG,KAAA,EAAO,EAAA,GAAK,UAAA,CAAW,MAAA,CAAO,CAAC,GAAG,CAAA;AAAA,MAClF;AAAA,IACF,CAAA,MAAO;AACL,MAAA,KAAA,MAAW,KAAA,IAAS,MAAM,MAAA,EAAQ;AAChC,QAAA,KAAA,MAAW,KAAA,IAAS,MAAM,MAAA,EAAQ;AAChC,UAAA,MAAA,CAAO,IAAA,CAAK,EAAE,IAAA,EAAM,KAAA,EAAO,CAAA;AAAA,QAC7B;AAAA,MACF;AAAA,IACF;AAEA,IAAA,OAAO,MAAA,CAAO,QAAQ,MAAM,CAAA;AAAA,EAC9B;AACF;;;;"}