{"version":3,"file":"substringMatchers.cjs","sources":["../../../../../src/transformations/matchers/valueMatchers/substringMatchers.ts"],"sourcesContent":["import { Field, FieldType } from '../../../types/dataFrame';\nimport { ValueMatcherInfo } from '../../../types/transformations';\nimport { ValueMatcherID } from '../ids';\n\nimport { BasicValueMatcherOptions } from './types';\n\nconst isSubstringMatcher: ValueMatcherInfo<BasicValueMatcherOptions> = {\n  id: ValueMatcherID.substring,\n  name: 'Contains substring',\n  description: 'Match where value for given field is a substring to options value.',\n  get: (options) => {\n    return (valueIndex: number, field: Field) => {\n      const value = field.values[valueIndex];\n      return (\n        (value &&\n          options.value &&\n          typeof value === 'string' &&\n          value.toLowerCase().includes(options.value.toLowerCase())) ||\n        options.value === ''\n      );\n    };\n  },\n  getOptionsDisplayText: () => {\n    return `Matches all rows where field is similar to the value.`;\n  },\n  isApplicable: (field) => field.type === FieldType.string,\n  getDefaultOptions: () => ({ value: '' }),\n};\n\nconst isNotSubstringValueMatcher: ValueMatcherInfo<BasicValueMatcherOptions> = {\n  id: ValueMatcherID.notSubstring,\n  name: 'Does not contain substring',\n  description: 'Match where value for given field is not a substring to options value.',\n  get: (options) => {\n    return (valueIndex: number, field: Field) => {\n      const value = field.values[valueIndex];\n      return (\n        typeof value === 'string' &&\n        options.value &&\n        value &&\n        options.value !== '' &&\n        !value.toLowerCase().includes(options.value.toLowerCase())\n      );\n    };\n  },\n  getOptionsDisplayText: () => {\n    return `Matches all rows where field is not similar to the value.`;\n  },\n  isApplicable: (field) => field.type === FieldType.string,\n  getDefaultOptions: () => ({ value: '' }),\n};\n\nexport const getSubstringValueMatchers = (): ValueMatcherInfo[] => [isSubstringMatcher, isNotSubstringValueMatcher];\n"],"names":["ValueMatcherID","FieldType"],"mappings":";;;;;;;;AAMA,MAAM,kBAAA,GAAiE;AAAA,EACrE,IAAIA,kBAAA,CAAe,SAAA;AAAA,EACnB,IAAA,EAAM,oBAAA;AAAA,EACN,WAAA,EAAa,oEAAA;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,OACG,SACC,OAAA,CAAQ,KAAA,IACR,OAAO,KAAA,KAAU,YACjB,KAAA,CAAM,WAAA,EAAY,CAAE,QAAA,CAAS,QAAQ,KAAA,CAAM,WAAA,EAAa,CAAA,IAC1D,QAAQ,KAAA,KAAU,EAAA;AAAA,IAEtB,CAAA;AAAA,EACF,CAAA;AAAA,EACA,uBAAuB,MAAM;AAC3B,IAAA,OAAO,CAAA,qDAAA,CAAA;AAAA,EACT,CAAA;AAAA,EACA,YAAA,EAAc,CAAC,KAAA,KAAU,KAAA,CAAM,SAASC,mBAAA,CAAU,MAAA;AAAA,EAClD,iBAAA,EAAmB,OAAO,EAAE,KAAA,EAAO,EAAA,EAAG;AACxC,CAAA;AAEA,MAAM,0BAAA,GAAyE;AAAA,EAC7E,IAAID,kBAAA,CAAe,YAAA;AAAA,EACnB,IAAA,EAAM,4BAAA;AAAA,EACN,WAAA,EAAa,wEAAA;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,OACE,OAAO,KAAA,KAAU,QAAA,IACjB,OAAA,CAAQ,KAAA,IACR,SACA,OAAA,CAAQ,KAAA,KAAU,EAAA,IAClB,CAAC,MAAM,WAAA,EAAY,CAAE,SAAS,OAAA,CAAQ,KAAA,CAAM,aAAa,CAAA;AAAA,IAE7D,CAAA;AAAA,EACF,CAAA;AAAA,EACA,uBAAuB,MAAM;AAC3B,IAAA,OAAO,CAAA,yDAAA,CAAA;AAAA,EACT,CAAA;AAAA,EACA,YAAA,EAAc,CAAC,KAAA,KAAU,KAAA,CAAM,SAASC,mBAAA,CAAU,MAAA;AAAA,EAClD,iBAAA,EAAmB,OAAO,EAAE,KAAA,EAAO,EAAA,EAAG;AACxC,CAAA;AAEO,MAAM,yBAAA,GAA4B,MAA0B,CAAC,kBAAA,EAAoB,0BAA0B;;;;"}