{"version":3,"file":"rangeMatchers.cjs","sources":["../../../../../src/transformations/matchers/valueMatchers/rangeMatchers.ts"],"sourcesContent":["import { Field, FieldType } from '../../../types/dataFrame';\nimport { ValueMatcherInfo } from '../../../types/transformations';\nimport { ValueMatcherID } from '../ids';\n\nimport { RangeValueMatcherOptions } from './types';\n\nconst isBetweenValueMatcher: ValueMatcherInfo<RangeValueMatcherOptions> = {\n  id: ValueMatcherID.between,\n  name: 'Is between',\n  description: 'Match when field value is between given option values.',\n  get: (options) => {\n    return (valueIndex: number, field: Field) => {\n      const value = field.values[valueIndex];\n      if (isNaN(value)) {\n        return false;\n      }\n\n      // if it is a time, it is interpolated as a string, so convert before comparing\n      const fromVal = typeof options.from !== 'number' ? parseInt(options.from, 10) : options.from;\n      const toVal = typeof options.to !== 'number' ? parseInt(options.to, 10) : options.to;\n\n      return value > fromVal && value < toVal;\n    };\n  },\n  getOptionsDisplayText: (options) => {\n    return `Matches all rows where field value is between ${options.from} and ${options.to}.`;\n  },\n  isApplicable: (field) => field.type === FieldType.number || field.type === FieldType.time,\n  getDefaultOptions: (field) => {\n    if (field.type === FieldType.time) {\n      return { from: '$__from', to: '$__to' };\n    } else {\n      return { from: 0, to: 100 };\n    }\n  },\n};\n\nexport const getRangeValueMatchers = (): ValueMatcherInfo[] => [isBetweenValueMatcher];\n"],"names":["ValueMatcherID","FieldType"],"mappings":";;;;;;;;AAMA,MAAM,qBAAA,GAAoE;AAAA,EACxE,IAAIA,kBAAA,CAAe,OAAA;AAAA,EACnB,IAAA,EAAM,YAAA;AAAA,EACN,WAAA,EAAa,wDAAA;AAAA,EACb,GAAA,EAAK,CAAC,OAAA,KAAY;AAChB,IAAA,OAAO,CAAC,YAAoB,KAAA,KAAiB;AAC3C,MAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,MAAA,CAAO,UAAU,CAAA;AACrC,MAAA,IAAI,KAAA,CAAM,KAAK,CAAA,EAAG;AAChB,QAAA,OAAO,KAAA;AAAA,MACT;AAGA,MAAA,MAAM,OAAA,GAAU,OAAO,OAAA,CAAQ,IAAA,KAAS,QAAA,GAAW,SAAS,OAAA,CAAQ,IAAA,EAAM,EAAE,CAAA,GAAI,OAAA,CAAQ,IAAA;AACxF,MAAA,MAAM,KAAA,GAAQ,OAAO,OAAA,CAAQ,EAAA,KAAO,QAAA,GAAW,SAAS,OAAA,CAAQ,EAAA,EAAI,EAAE,CAAA,GAAI,OAAA,CAAQ,EAAA;AAElF,MAAA,OAAO,KAAA,GAAQ,WAAW,KAAA,GAAQ,KAAA;AAAA,IACpC,CAAA;AAAA,EACF,CAAA;AAAA,EACA,qBAAA,EAAuB,CAAC,OAAA,KAAY;AAClC,IAAA,OAAO,CAAA,8CAAA,EAAiD,OAAA,CAAQ,IAAI,CAAA,KAAA,EAAQ,QAAQ,EAAE,CAAA,CAAA,CAAA;AAAA,EACxF,CAAA;AAAA,EACA,YAAA,EAAc,CAAC,KAAA,KAAU,KAAA,CAAM,SAASC,mBAAA,CAAU,MAAA,IAAU,KAAA,CAAM,IAAA,KAASA,mBAAA,CAAU,IAAA;AAAA,EACrF,iBAAA,EAAmB,CAAC,KAAA,KAAU;AAC5B,IAAA,IAAI,KAAA,CAAM,IAAA,KAASA,mBAAA,CAAU,IAAA,EAAM;AACjC,MAAA,OAAO,EAAE,IAAA,EAAM,SAAA,EAAW,EAAA,EAAI,OAAA,EAAQ;AAAA,IACxC,CAAA,MAAO;AACL,MAAA,OAAO,EAAE,IAAA,EAAM,CAAA,EAAG,EAAA,EAAI,GAAA,EAAI;AAAA,IAC5B;AAAA,EACF;AACF,CAAA;AAEO,MAAM,qBAAA,GAAwB,MAA0B,CAAC,qBAAqB;;;;"}