# sql-criteria-parser

> sql criteria expression parser.

Latest version **0.1.1** (published 2017-04-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install sql-criteria-parser
pnpm add sql-criteria-parser
yarn add sql-criteria-parser
bun add sql-criteria-parser
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.1 |
| Published | 2017-04-22 |
| First published | 2017-04-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 5 |
| Author | yichen |
| Maintainers | unicreators |
| Keywords | expression-parser, sql |

## Links

- npm: https://www.npmjs.com/package/sql-criteria-parser
- Repository: https://github.com/unicreators/sql-criteria-parser
- Homepage: https://github.com/unicreators/sql-criteria-parser#readme
- Issues: https://github.com/unicreators/sql-criteria-parser/issues
- npm.io page: https://npm.io/package/sql-criteria-parser

## Dependencies (1)

- [object-expression-parser](https://npm.io/package/object-expression-parser.md) ~0.1.0

## Recent versions

- 0.1.1 (latest) — 2017-04-22
- 0.1.0 — 2017-04-17

## README

## SqlCriteriaParser

一个可以将 javascript 对象表达式转换为 T-SQL 条件语句的转换器。


```js
let e = {
    '$or': {
        '$or': {
            'name': {
                '$or': { '$=': 'yichen', '$endsWith': 'a' }
            },
            'age': { '$>': 10, '$<': 22 }
        },
        'gender': 1,
        'level': [1, 2, 3],
        'size': { '$in': [18, 19] }
    }
};

let { segment, values } = sqlCriteriaParser.parse(e);


console.log(segment);
// (((name = ?) OR (name LIKE ?)) OR ((age > ?) AND (age < ?))) OR (gender = ?) OR (level IN (?)) OR (size IN (?))

console.log(values);
// ['yichen', '%a', 10, 22, 1, [1, 2, 3], [18, 19]]

```


## Install

```sh
$ npm install sql-criteria-parser
```


## Usage

```js
const SqlCriteriaParser = require('sql-criteria-parser');

let parser = new SqlCriteriaParser('?');

let e = { '$or': { 'name': 'yichen', 'age': 22 } };
let { segment, values } = parser.parse(e);

console.log(segment);
// '(name = ?) OR (age = ?)'

console.log(values);
// ['yichen', 22]

```

## Operator

- `$=` to `=`
- `$>` to `>`
- `$<` to `<`
- `$>=` to `>=`
- `$<=` to `<=`
- `$<>` to `<>`
- `$startsWith` to `LIKE`
- `$endsWith` to `LIKE`
- `$contains` to `LIKE`
- `$in` to `IN`
  
  
- `$and` to `AND`
- `$or` to `OR`




### License

[MIT](LICENSE)

---
_Source: https://npm.io/package/sql-criteria-parser · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
