Files
grafana/public/app/plugins/panel/geomap/utils/checkFeatureMatchesStyleRule.ts
Josh Hunt 3c6e0e8ef8 Chore: ESlint import order (#44959)
* Add and configure eslint-plugin-import

* Fix the lint:ts npm command

* Autofix + prettier all the files

* Manually fix remaining files

* Move jquery code in jest-setup to external file to safely reorder imports

* Resolve issue caused by circular dependencies within Prometheus

* Update .betterer.results

* Fix missing // @ts-ignore

* ignore iconBundle.ts

* Fix missing // @ts-ignore
2022-04-22 14:33:13 +01:00

30 lines
933 B
TypeScript

import { FeatureLike } from 'ol/Feature';
import { FeatureRuleConfig, ComparisonOperation } from '../types';
/**
* Check whether feature has property value that matches rule
* @param rule - style rule with an operation, property, and value
* @param feature - feature with properties and values
* @returns boolean
*/
export const checkFeatureMatchesStyleRule = (rule: FeatureRuleConfig, feature: FeatureLike) => {
const val = feature.get(rule.property);
switch (rule.operation) {
case ComparisonOperation.EQ:
return `${val}` === `${rule.value}`;
case ComparisonOperation.NEQ:
return val !== rule.value;
case ComparisonOperation.GT:
return val > rule.value;
case ComparisonOperation.GTE:
return val >= rule.value;
case ComparisonOperation.LT:
return val < rule.value;
case ComparisonOperation.LTE:
return val <= rule.value;
default:
return false;
}
};