1.0.3 • Published 3 years ago
mydata-filter-postgresql v1.0.3
myData Filter - PostgreSql Transformer
Postgre transformer for mydata-filter package
Installation
npm install mydata-filter-postgresql
Usage
Transform a filter query string into a MySQL WHERE clause query
import { ParseSync } from "mydata-filter";
import PostgreSqlTransformer from "mydata-filter-postgresql";
const filter = `(user.username == "Ana") or (username == "Mari")`;
try {
const query = ParseSync(filter, {
transformer: new PostgreSqlTransformer({
clause: "WHERE"
})
});
console.log(query); // (`user`.`username" = 'Ana') OR (`username` = 'Ana')
} catch (error) {
console.error(error);
}
Transform a filter query string into a MySQL ORDER BY clause query
import { ParseSync } from "mydata-filter";
import PostgreSqlTransformer from "mydata-filter-postgresql";
const filter = `person.age ASC`;
try {
const query = ParseSync(filter, {
transformer: new PostgreSqlTransformer({
clause: "ORDER"
})
});
console.log(query); // "person"."age" ASC
} catch (error) {
console.error(error);
}
Transform a filter query string into a MySQL query with specific features
import { ParseSync } from "mydata-filter";
import PostgreSqlTransformer from "mydata-filter-postgresql";
const filter = `"ana" == "Ana"`;
try {
const query = ParseSync(filter, {
transformer: new PostgreSqlTransformer({
features: [
"EQ",
"NEQ",
"BOOLEAN",
"NUMBER",
"STRING",
],
root_features: [
"EQ",
"NEQ",
]
})
});
console.log(query); // "ana" == "Ana"
} catch (error) {
console.error(error);
}
Constructor optional options
Name | Type | Description |
---|---|---|
max_inline_functions | number | Define max inline call functions |
scope | string | Define scope with available identifiers |
clause | "WHERE" | "ORDER" | Specify pre-available features model |
features | string[] | Defines all available features |
root_features | string[] | Defines the specific features available in the root |
Supported Inline Functions
Name | Arguments |
---|---|
ROUND | Number | Identifier |
CEIL | Number | Identifier |
FLOOR | Number | Identifier |
LOWER | String | Identifier |
UPPER | String | Identifier |
TRIM | String | Identifier |
CONTAINS | String | Identifier, String | Identifier | Number |
STARTS_WITH | String | Identifier, String | Identifier | Number |
ENDS_WITH | String | Identifier, String | Identifier | Number |
CONCAT | String | Identifier | Number, ... |
YEAR | String | Identifier |
MONTH | String | Identifier |
HOUR | String | Identifier |
MINUTE | String | Identifier |
SECOND | String | Identifier |
Supported Sorting
Name | Alias |
---|---|
Ascending | ASC |
Descending | DESC |