1.0.3 • Published 4 years ago
mydata-filter-mysql v1.0.3
myData Filter - Mysql Transformer
MySql transformer for mydata-filter package
Installation
npm install mydata-filter-mysqlUsage
Transform a filter query string into a MySQL WHERE clause query
import { ParseSync } from "mydata-filter";
import MySqlTransformer from "mydata-filter-mysql";
const filter = `(user.username == "Ana") or (username == "Mari")`;
try {
const query = ParseSync(filter, {
transformer: new MySqlTransformer({
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 MySqlTransformer from "mydata-filter-mysql";
const filter = `person.age ASC`;
try {
const query = ParseSync(filter, {
transformer: new MySqlTransformer({
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 MySqlTransformer from "mydata-filter-mysql";
const filter = `"ana" == "Ana"`;
try {
const query = ParseSync(filter, {
transformer: new MySqlTransformer({
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 |