filter-query-parser
Version:
Library for parsing the query string to an Object form and stringify Object to query string.
70 lines (69 loc) • 2.98 kB
HTML
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Filter Query Parser/Stringify</title>
</head>
<body>
<script src="dist/FQP.js"></script>
<script>
const query = `Country = "India" OR (State = "Tamil Nadu" OR State = "Andhra Pradesh")`;
const query1 = `Country = "India" AND State = "Tamil Nadu"`;
const query2 = `Age <= 25 AND (Gender = "Male" OR School contains "School")`;
const query3 = `Age <= 25`;
const query4 = `Country STARTS WITH "I"`;
const query5 = `Country ENDS WITH "a"`;
const query6 = `CustomerName LIKE "a%"`;
const query7 = `Name DOES NOT CONTAIN "A"`;
const query8 = `Name EXACTLY MATCHES "Vijay"`;
const query9 = `Price BETWEEN (10 AND 30)`;
const query10 = `Price NOT BETWEEN (10 AND 30)`;
const query11 = `Price IN (10, 20,30)`;
const query12 = `Price NOT IN (10, 20,30)`;
console.log(FQP.parser(query));
console.log(FQP.parser(query1));
console.log(FQP.parser(query2));
console.log(FQP.parser(query3));
console.log(FQP.parser(query4));
console.log(FQP.parser(query5));
console.log(FQP.parser(query6));
console.log(FQP.parser(query7));
console.log(FQP.parser(query8));
console.log(FQP.parser(query9));
console.log(FQP.parser(query10));
console.log(FQP.parser(query11));
console.log(FQP.parser(query12));
const res = {
"condition":"AND",
"rules": [
{"name":"Age","operator":"<=","value":25},
{
"condition":"OR",
"rules": [
{"name":"Gender","operator":"=","value":"Male"},
{"name":"School","operator":"CONTAINS","value":"School"}
],
"not":false
}
],
"not":false
};
console.log(FQP.stringify(FQP.parser(query)));
console.log(FQP.stringify(FQP.parser(query1)));
console.log(FQP.stringify(FQP.parser(query2)));
console.log(FQP.stringify(FQP.parser(query3)));
console.log(FQP.stringify(FQP.parser(query4)));
console.log(FQP.stringify(FQP.parser(query5)));
console.log(FQP.stringify(res, 'name'));
console.log(FQP.stringify(FQP.parser(query6)));
console.log(FQP.stringify(FQP.parser(query7)));
console.log(FQP.stringify(FQP.parser(query8)));
console.log(FQP.stringify(FQP.parser(query9)));
console.log(FQP.stringify(FQP.parser(query10)));
console.log(FQP.stringify(FQP.parser(query11)));
console.log(FQP.stringify(FQP.parser(query12)));
</script>
</body>
</html>