UNPKG

@coocoon/react-awesome-query-builder

Version:

User-friendly query builder for React. Demo: https://ukrbublik.github.io/react-awesome-query-builder

80 lines (77 loc) 2.65 kB
import * as configs from "../support/configs"; import * as inits from "../support/inits"; import { export_checks } from "../support/utils"; describe("query with ops", () => { describe("export", () => { export_checks(configs.with_all_types, inits.with_ops, "JsonLogic", { "spel": "(num != 2 && str.contains('abc') && !(str.contains('xyz')) && num >= 1 && num <= 2 && (num < 3 || num > 4) && num == null && {'yellow'}.?[true].contains(color) && !({'green'}.?[true].contains(color)) && !(multicolor.equals({'yellow'})))", "query": "(num != 2 && str Contains \"abc\" && str Not Contains \"xyz\" && num >= 1 && num <= 2 && (num < 3 || num > 4) && !num && color IN (\"yellow\") && color NOT IN (\"green\") && multicolor != [\"yellow\"])", "queryHuman": "(Number != 2 AND String Contains abc AND String Not Contains xyz AND Number BETWEEN 1 AND 2 AND Number NOT BETWEEN 3 AND 4 AND Number IS NULL AND Color IN (Yellow) AND Color NOT IN (Green) AND Colors != [Yellow])", "sql": "(num <> 2 AND str LIKE '%abc%' AND str NOT LIKE '%xyz%' AND num BETWEEN 1 AND 2 AND num NOT BETWEEN 3 AND 4 AND num IS NULL AND color IN ('yellow') AND color NOT IN ('green') AND multicolor != 'yellow')", "mongo": { "num": { "$ne": 2, "$gte": 1, "$lte": 2, "$not": { "$gte": 3, "$lte": 4 }, "$eq": null }, "str": { "$regex": "abc", "$not": { "$regex": "xyz" } }, "color": { "$in": [ "yellow" ], "$nin": [ "green" ] }, "multicolor": { "$ne": [ "yellow" ] } }, "logic": { "and": [ { "!=": [ { "var": "num" }, 2 ] }, { "in": [ "abc", { "var": "str" } ] }, { "!": { "in": [ "xyz", { "var": "str" } ] } }, { "<=": [ 1, { "var": "num" }, 2 ] }, { "!": { "<=": [ 3, { "var": "num" }, 4 ] } }, { "==": [ { "var": "num" }, null ] }, { "in": [ { "var": "color" }, [ "yellow" ] ] }, { "!": { "in": [ { "var": "color" }, [ "green" ] ] } }, { "!": { "all": [ { "var": "multicolor" }, { "in": [ { "var": "" }, [ "yellow" ] ] } ] } } ] } }); }); });