Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var getFeatureValidator = function getFeatureValidator(query){
- var validateFeature = function validateFeature(feature)
- {
- var properties = feature.properties;
- var config = {
- 'Equal':function reduceForEqualsCondition(result,value,key)
- {
- result = result && properties[key] === value;
- return result;
- },
- 'Not Equal':function reduceForNotEqualsCondition(result,value,key)
- {
- result = result && properties[key] != value;
- return result;
- },
- 'Not initial':function reduceForNotInitialCondition(result,value,key)
- {
- result = result && properties[key] != null;
- console.log("Result of performing Not Equals condition on ",key,"for value",value,"is ",result);
- return result;
- },
- 'Greater Than':function reduceForGreaterThanCondition(result,value,key)
- {
- result = result && properties[key] > value;
- return result;
- },
- 'Less Than':function reduceForLessThanCondition(result,value,key)
- {
- result = result && properties[key] < value;
- return result;
- },
- 'Between': function reduceForBetweenCondition(result,value,key)
- {
- result = result && properties[key] > value.start && properties[key] < value.end;
- return result;
- }
- };
- var reduceQuery = function reduceQuery(result,value,key){
- var iterator = config[key];
- result = result && _.reduce(value,iterator,true);
- console.log("The result of checking query for key:",key,"value:",value,"is",result);
- return result;
- };
- var matchesCondition = _.reduce(query,reduceQuery,true);
- return matchesCondition;
- };
- return validateFeature;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement