{"version":3,"file":"numericMatchers.cjs","sources":["../../../../../src/transformations/matchers/valueMatchers/numericMatchers.ts"],"sourcesContent":["import { Field, FieldType } from '../../../types/dataFrame';\nimport { ValueMatcherInfo } from '../../../types/transformations';\nimport { ValueMatcherID } from '../ids';\n\nimport { BasicValueMatcherOptions } from './types';\n\nconst isGreaterValueMatcher: ValueMatcherInfo<BasicValueMatcherOptions> = {\n  id: ValueMatcherID.greater,\n  name: 'Is greater',\n  description: 'Match when field value is greater than option.',\n  get: (options) => {\n    return (valueIndex: number, field: Field) => {\n      const value = field.values[valueIndex];\n      if (isNaN(value)) {\n        return false;\n      }\n      return value > options.value;\n    };\n  },\n  getOptionsDisplayText: (options) => {\n    return `Matches all rows where field value is greater than: ${options.value}.`;\n  },\n  isApplicable: (field) => field.type === FieldType.number,\n  getDefaultOptions: () => ({ value: 0 }),\n};\n\nconst isGreaterOrEqualValueMatcher: ValueMatcherInfo<BasicValueMatcherOptions> = {\n  id: ValueMatcherID.greaterOrEqual,\n  name: 'Is greater or equal',\n  description: 'Match when field value is greater than or equal to option.',\n  get: (options) => {\n    return (valueIndex: number, field: Field) => {\n      const value = field.values[valueIndex];\n      if (isNaN(value)) {\n        return false;\n      }\n      return value >= options.value;\n    };\n  },\n  getOptionsDisplayText: (options) => {\n    return `Matches all rows where field value is greater than or equal to: ${options.value}.`;\n  },\n  isApplicable: (field) => field.type === FieldType.number,\n  getDefaultOptions: () => ({ value: 0 }),\n};\n\nconst isLowerValueMatcher: ValueMatcherInfo<BasicValueMatcherOptions> = {\n  id: ValueMatcherID.lower,\n  name: 'Is lower',\n  description: 'Match when field value is lower than option.',\n  get: (options) => {\n    return (valueIndex: number, field: Field) => {\n      const value = field.values[valueIndex];\n      if (isNaN(value)) {\n        return false;\n      }\n      return value < options.value;\n    };\n  },\n  getOptionsDisplayText: (options) => {\n    return `Matches all rows where field value is lower than: ${options.value}.`;\n  },\n  isApplicable: (field) => field.type === FieldType.number,\n  getDefaultOptions: () => ({ value: 0 }),\n};\n\nconst isLowerOrEqualValueMatcher: ValueMatcherInfo<BasicValueMatcherOptions> = {\n  id: ValueMatcherID.lowerOrEqual,\n  name: 'Is lower or equal',\n  description: 'Match when field value is lower or equal than option.',\n  get: (options) => {\n    return (valueIndex: number, field: Field) => {\n      const value = field.values[valueIndex];\n      if (isNaN(value)) {\n        return false;\n      }\n      return value <= options.value;\n    };\n  },\n  getOptionsDisplayText: (options) => {\n    return `Matches all rows where field value is lower or equal than: ${options.value}.`;\n  },\n  isApplicable: (field) => field.type === FieldType.number,\n  getDefaultOptions: () => ({ value: 0 }),\n};\n\nexport const getNumericValueMatchers = (): ValueMatcherInfo[] => [\n  isGreaterValueMatcher,\n  isGreaterOrEqualValueMatcher,\n  isLowerValueMatcher,\n  isLowerOrEqualValueMatcher,\n];\n"],"names":["ValueMatcherID","FieldType"],"mappings":";;;;;;;;AAMA,MAAM,qBAAA,GAAoE;AAAA,EACxE,IAAIA,kBAAA,CAAe,OAAA;AAAA,EACnB,IAAA,EAAM,YAAA;AAAA,EACN,WAAA,EAAa,gDAAA;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;AACA,MAAA,OAAO,QAAQ,OAAA,CAAQ,KAAA;AAAA,IACzB,CAAA;AAAA,EACF,CAAA;AAAA,EACA,qBAAA,EAAuB,CAAC,OAAA,KAAY;AAClC,IAAA,OAAO,CAAA,oDAAA,EAAuD,QAAQ,KAAK,CAAA,CAAA,CAAA;AAAA,EAC7E,CAAA;AAAA,EACA,YAAA,EAAc,CAAC,KAAA,KAAU,KAAA,CAAM,SAASC,mBAAA,CAAU,MAAA;AAAA,EAClD,iBAAA,EAAmB,OAAO,EAAE,KAAA,EAAO,CAAA,EAAE;AACvC,CAAA;AAEA,MAAM,4BAAA,GAA2E;AAAA,EAC/E,IAAID,kBAAA,CAAe,cAAA;AAAA,EACnB,IAAA,EAAM,qBAAA;AAAA,EACN,WAAA,EAAa,4DAAA;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;AACA,MAAA,OAAO,SAAS,OAAA,CAAQ,KAAA;AAAA,IAC1B,CAAA;AAAA,EACF,CAAA;AAAA,EACA,qBAAA,EAAuB,CAAC,OAAA,KAAY;AAClC,IAAA,OAAO,CAAA,gEAAA,EAAmE,QAAQ,KAAK,CAAA,CAAA,CAAA;AAAA,EACzF,CAAA;AAAA,EACA,YAAA,EAAc,CAAC,KAAA,KAAU,KAAA,CAAM,SAASC,mBAAA,CAAU,MAAA;AAAA,EAClD,iBAAA,EAAmB,OAAO,EAAE,KAAA,EAAO,CAAA,EAAE;AACvC,CAAA;AAEA,MAAM,mBAAA,GAAkE;AAAA,EACtE,IAAID,kBAAA,CAAe,KAAA;AAAA,EACnB,IAAA,EAAM,UAAA;AAAA,EACN,WAAA,EAAa,8CAAA;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;AACA,MAAA,OAAO,QAAQ,OAAA,CAAQ,KAAA;AAAA,IACzB,CAAA;AAAA,EACF,CAAA;AAAA,EACA,qBAAA,EAAuB,CAAC,OAAA,KAAY;AAClC,IAAA,OAAO,CAAA,kDAAA,EAAqD,QAAQ,KAAK,CAAA,CAAA,CAAA;AAAA,EAC3E,CAAA;AAAA,EACA,YAAA,EAAc,CAAC,KAAA,KAAU,KAAA,CAAM,SAASC,mBAAA,CAAU,MAAA;AAAA,EAClD,iBAAA,EAAmB,OAAO,EAAE,KAAA,EAAO,CAAA,EAAE;AACvC,CAAA;AAEA,MAAM,0BAAA,GAAyE;AAAA,EAC7E,IAAID,kBAAA,CAAe,YAAA;AAAA,EACnB,IAAA,EAAM,mBAAA;AAAA,EACN,WAAA,EAAa,uDAAA;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;AACA,MAAA,OAAO,SAAS,OAAA,CAAQ,KAAA;AAAA,IAC1B,CAAA;AAAA,EACF,CAAA;AAAA,EACA,qBAAA,EAAuB,CAAC,OAAA,KAAY;AAClC,IAAA,OAAO,CAAA,2DAAA,EAA8D,QAAQ,KAAK,CAAA,CAAA,CAAA;AAAA,EACpF,CAAA;AAAA,EACA,YAAA,EAAc,CAAC,KAAA,KAAU,KAAA,CAAM,SAASC,mBAAA,CAAU,MAAA;AAAA,EAClD,iBAAA,EAAmB,OAAO,EAAE,KAAA,EAAO,CAAA,EAAE;AACvC,CAAA;AAEO,MAAM,0BAA0B,MAA0B;AAAA,EAC/D,qBAAA;AAAA,EACA,4BAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF;;;;"}