Security News
OpenJS: “XZ Utils Cyberattack Likely Not an Isolated Incident”
OpenJS is warning of social engineering takeovers targeting open source projects after receiving a credible attempt on the foundation.
json-sql
Advanced tools
Weekly downloads
Readme
Node.js library for mapping mongo-style query objects to SQL queries.
This library is not a driver, it is only translator, you should use specific driver for your db (for example https://github.com/brianc/node-postgres for PostgreSQL) to execute result query.
Install it with NPM or add it to your package.json:
$ npm install json-sql
Then:
var jsonSql = require('json-sql')();
var sql = jsonSql.build({
type: 'select',
table: 'users',
fields: ['name', 'age'],
condition: {name: 'Max', id: 6}
});
sql.query
// sql string:
// select name, age from users where name = $p1 && id = 6;
sql.values
// hash of values:
// { p1: 'Max' }
Documentation is available at the ./docs directory.
Select with join:
var sql = jsonSql.build({
type: 'select',
table: 'users',
join: {
documents: {
on: {'user.id': 'documents.userId'}
}
}
});
sql.query
// select * from users join documents on user.id = documents.userId;
sql.values
// {}
Insert:
var sql = jsonSql.build({
type: 'insert',
table: 'users',
values: {
name: 'John',
lastname: 'Snow',
age: 24,
gender: 'male'
}
});
sql.query
// insert into users (name, lastname, age, gender) values ($p1, $p2, 24, $p3);
sql.values
// { p1: 'John', p2: 'Snow', p3: 'male' }
Update:
var sql = jsonSql.build({
type: 'update',
table: 'users',
condition: {
id: 5
},
modifier: {
role: 'admin'
age: 33
}
});
sql.query
// update users set role = $p1, age = 33 where id = 5;
sql.values
// { p1: 'admin' }
Remove:
var sql = jsonSql.build({
type: 'remove',
table: 'users',
condition: {
id: 5
}
});
sql.query
// delete from users where id = 5;
sql.values
// {}
For more examples, take a look at the ./docs directory or ./tests directory.
Clone repository from github, cd
into cloned dir and install dev dependencies:
$ npm install
Then run tests with command:
$ gulp test
Or run tests coverage with command:
$ gulp coverage
FAQs
node.js json to sql queries mapper
The npm package json-sql receives a total of 407 weekly downloads. As such, json-sql popularity was classified as not popular.
We found that json-sql demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
OpenJS is warning of social engineering takeovers targeting open source projects after receiving a credible attempt on the foundation.
Company News
Come meet the Socket team at BSidesSF and RSA! We're sponsoring several fun networking events and we would love to see you there.
Security News
OSI is starting a conversation aimed at removing the excuse of the SaaS loophole for companies navigating licensing and the complexities of doing business with open source.