{"version":3,"file":"query.cjs","sources":["../../../src/types/query.ts"],"sourcesContent":["import {\n  DataQuery as SchemaDataQuery,\n  DataSourceRef as SchemaDataSourceRef,\n  DataTopic as SchemaDataTopic,\n} from '@grafana/schema';\n\n/**\n * @deprecated use the type from @grafana/schema\n */\nexport interface DataQuery extends SchemaDataQuery {}\n\n/**\n * @deprecated use the type from @grafana/schema\n */\nexport interface DataSourceRef extends SchemaDataSourceRef {}\n\n/**\n * Attached to query results (not persisted)\n *\n * @deprecated use the type from @grafana/schema\n */\nexport { SchemaDataTopic as DataTopic };\n\n/**\n * Abstract representation of any label-based query\n * @internal\n */\nexport interface AbstractQuery extends SchemaDataQuery {\n  labelMatchers: AbstractLabelMatcher[];\n}\n\n/**\n * @internal\n */\nexport enum AbstractLabelOperator {\n  Equal = 'Equal',\n  NotEqual = 'NotEqual',\n  EqualRegEx = 'EqualRegEx',\n  NotEqualRegEx = 'NotEqualRegEx',\n}\n\n/**\n * @internal\n */\nexport type AbstractLabelMatcher = {\n  name: string;\n  value: string;\n  operator: AbstractLabelOperator;\n};\n\n/**\n * @internal\n */\nexport interface DataSourceWithQueryImportSupport<TQuery extends SchemaDataQuery> {\n  importFromAbstractQueries(labelBasedQuery: AbstractQuery[]): Promise<TQuery[]>;\n}\n\n/**\n * @internal\n */\nexport interface DataSourceWithQueryExportSupport<TQuery extends SchemaDataQuery> {\n  exportToAbstractQueries(query: TQuery[]): Promise<AbstractQuery[]>;\n}\n\n/**\n * @internal\n */\nexport const hasQueryImportSupport = <TQuery extends SchemaDataQuery>(\n  datasource: unknown\n): datasource is DataSourceWithQueryImportSupport<TQuery> => {\n  if (!datasource || typeof datasource !== 'object') {\n    return false;\n  }\n\n  return 'importFromAbstractQueries' in datasource;\n};\n\n/**\n * @internal\n */\nexport const hasQueryExportSupport = <TQuery extends SchemaDataQuery>(\n  datasource: unknown\n): datasource is DataSourceWithQueryExportSupport<TQuery> => {\n  if (!datasource || typeof datasource !== 'object') {\n    return false;\n  }\n  return 'exportToAbstractQueries' in datasource;\n};\n"],"names":["AbstractLabelOperator"],"mappings":";;;;;;;AAkCO,IAAK,qBAAA,qBAAAA,sBAAAA,KAAL;AACL,EAAAA,uBAAA,OAAA,CAAA,GAAQ,OAAA;AACR,EAAAA,uBAAA,UAAA,CAAA,GAAW,UAAA;AACX,EAAAA,uBAAA,YAAA,CAAA,GAAa,YAAA;AACb,EAAAA,uBAAA,eAAA,CAAA,GAAgB,eAAA;AAJN,EAAA,OAAAA,sBAAAA;AAAA,CAAA,EAAA,qBAAA,IAAA,EAAA;AAiCL,MAAM,qBAAA,GAAwB,CACnC,UAAA,KAC2D;AAC3D,EAAA,IAAI,CAAC,UAAA,IAAc,OAAO,UAAA,KAAe,QAAA,EAAU;AACjD,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,OAAO,2BAAA,IAA+B,UAAA;AACxC;AAKO,MAAM,qBAAA,GAAwB,CACnC,UAAA,KAC2D;AAC3D,EAAA,IAAI,CAAC,UAAA,IAAc,OAAO,UAAA,KAAe,QAAA,EAAU;AACjD,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,yBAAA,IAA6B,UAAA;AACtC;;;;;;;;;;"}