1234567891011121314151617181920212223242526272829 |
- 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;
- }
- };
|