Skip to content

jaovitubr/mydata-filter-postgresql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

myData Filter - PostgreSql Transformer

Postgre transformer for mydata-filter package

npm version GitHub issues GitHub license

GitHub stars GitHub forks

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

About

Postgre query transformer for odata-filter package

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published