{"version":3,"file":"flotPairs.cjs","sources":["../../../src/utils/flotPairs.ts"],"sourcesContent":["import { NullValueMode } from '../types/data';\nimport { Field } from '../types/dataFrame';\nimport { GraphSeriesValue } from '../types/graph';\nimport { TimeRange } from '../types/time';\n\nexport interface FlotPairsOptions {\n  xField: Field;\n  yField: Field;\n  nullValueMode?: NullValueMode;\n}\n\nexport function getFlotPairs({ xField, yField, nullValueMode }: FlotPairsOptions): GraphSeriesValue[][] {\n  const vX = xField.values;\n  const vY = yField.values;\n  const length = vX.length;\n  if (vY.length !== length) {\n    throw new Error('Unexpected field length');\n  }\n\n  const ignoreNulls = nullValueMode === NullValueMode.Ignore;\n  const nullAsZero = nullValueMode === NullValueMode.AsZero;\n\n  const pairs: any[][] = [];\n\n  for (let i = 0; i < length; i++) {\n    const x = vX[i];\n    let y = vY[i];\n\n    if (y === null) {\n      if (ignoreNulls) {\n        continue;\n      }\n      if (nullAsZero) {\n        y = 0;\n      }\n    }\n\n    // X must be a value\n    if (x === null) {\n      continue;\n    }\n\n    pairs.push([x, y]);\n  }\n  return pairs;\n}\n\n/**\n * Returns a constant series based on the first value from the provide series.\n * @param seriesData Series\n * @param range Start and end time for the constant series\n */\nexport function getFlotPairsConstant(seriesData: GraphSeriesValue[][], range: TimeRange): GraphSeriesValue[][] {\n  if (!range.from || !range.to || !seriesData || seriesData.length === 0) {\n    return [];\n  }\n\n  const from = range.from.valueOf();\n  const to = range.to.valueOf();\n  const value = seriesData[0][1];\n  return [\n    [from, value],\n    [to, value],\n  ];\n}\n"],"names":["NullValueMode"],"mappings":";;;;;;;AAWO,SAAS,YAAA,CAAa,EAAE,MAAA,EAAQ,MAAA,EAAQ,eAAc,EAA2C;AACtG,EAAA,MAAM,KAAK,MAAA,CAAO,MAAA;AAClB,EAAA,MAAM,KAAK,MAAA,CAAO,MAAA;AAClB,EAAA,MAAM,SAAS,EAAA,CAAG,MAAA;AAClB,EAAA,IAAI,EAAA,CAAG,WAAW,MAAA,EAAQ;AACxB,IAAA,MAAM,IAAI,MAAM,yBAAyB,CAAA;AAAA,EAC3C;AAEA,EAAA,MAAM,WAAA,GAAc,kBAAkBA,kBAAA,CAAc,MAAA;AACpD,EAAA,MAAM,UAAA,GAAa,kBAAkBA,kBAAA,CAAc,MAAA;AAEnD,EAAA,MAAM,QAAiB,EAAC;AAExB,EAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,EAAQ,CAAA,EAAA,EAAK;AAC/B,IAAA,MAAM,CAAA,GAAI,GAAG,CAAC,CAAA;AACd,IAAA,IAAI,CAAA,GAAI,GAAG,CAAC,CAAA;AAEZ,IAAA,IAAI,MAAM,IAAA,EAAM;AACd,MAAA,IAAI,WAAA,EAAa;AACf,QAAA;AAAA,MACF;AACA,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,CAAA,GAAI,CAAA;AAAA,MACN;AAAA,IACF;AAGA,IAAA,IAAI,MAAM,IAAA,EAAM;AACd,MAAA;AAAA,IACF;AAEA,IAAA,KAAA,CAAM,IAAA,CAAK,CAAC,CAAA,EAAG,CAAC,CAAC,CAAA;AAAA,EACnB;AACA,EAAA,OAAO,KAAA;AACT;AAOO,SAAS,oBAAA,CAAqB,YAAkC,KAAA,EAAwC;AAC7G,EAAA,IAAI,CAAC,KAAA,CAAM,IAAA,IAAQ,CAAC,KAAA,CAAM,MAAM,CAAC,UAAA,IAAc,UAAA,CAAW,MAAA,KAAW,CAAA,EAAG;AACtE,IAAA,OAAO,EAAC;AAAA,EACV;AAEA,EAAA,MAAM,IAAA,GAAO,KAAA,CAAM,IAAA,CAAK,OAAA,EAAQ;AAChC,EAAA,MAAM,EAAA,GAAK,KAAA,CAAM,EAAA,CAAG,OAAA,EAAQ;AAC5B,EAAA,MAAM,KAAA,GAAQ,UAAA,CAAW,CAAC,CAAA,CAAE,CAAC,CAAA;AAC7B,EAAA,OAAO;AAAA,IACL,CAAC,MAAM,KAAK,CAAA;AAAA,IACZ,CAAC,IAAI,KAAK;AAAA,GACZ;AACF;;;;;"}