UNPKG

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
<!DOCTYPE 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>