Transform Mapbox GL style specification decision expressions to SQL WHERE
clause conditions.
npm i mapbox-expressions-to-sql
const parse = require('mapbox-expressions-to-sql');
parse(["has", "key"]) === 'key IS NOT NULL';
parse(["==", "key", "value"]) === "key = 'value'";
parse(["!=", "key", "value"]) === "key <> 'value'";
parse([">", "key", "value"]) === "key > 'value'";
parse([">=", "key", "value"]) === "key >= 'value'";
parse(["<", "key", "value"]) === "key < 'value'";
parse(["<=", "key", "value"]) === "key <= 'value'";
parse(["in", "key", "v0", "v1", "v2"]) === "key IN ('v0', 'v1', 'v2')";
parse(["all", ["==", "key0", "value0"], ["==", "key1", "value1"]]) === "key0 = 'value0' AND key1 = 'value1'";
See tests for more examples.