simple-sql-parser
Advanced tools
Comparing version 1.1.3 to 1.2.0
{ | ||
"name": "simple-sql-parser", | ||
"description": "Javascript library to parse CRUD (Create Retrieve Update Delete) SQL queries.", | ||
"version": "1.1.3", | ||
"version": "1.2.0", | ||
"main": "simpleSqlParser.js", | ||
@@ -6,0 +6,0 @@ "keywords": [ |
@@ -154,4 +154,6 @@ (function(exports) { | ||
var result = protect_split(',', str); | ||
result.forEach(function(item, key) { | ||
if (item === '') result.splice(key); | ||
result = result.filter(function(item) { | ||
return item !== ''; | ||
}).map(function(item) { | ||
return {expression: item}; | ||
}); | ||
@@ -161,3 +163,3 @@ return result; | ||
analysis['FROM'] = function (str) { | ||
analysis['FROM'] = analysis['DELETE FROM'] = analysis['UPDATE'] = function (str) { | ||
var result = str.split(','); | ||
@@ -179,13 +181,2 @@ result = result.map(function(item) { | ||
analysis['DELETE FROM'] = analysis['UPDATE'] = function (str) { | ||
var result = str.split(','); | ||
result = result.map(function(item) { | ||
return trim(item); | ||
}); | ||
result.forEach(function(item, key) { | ||
if (item === '') result.splice(key); | ||
}); | ||
return result; | ||
}; | ||
analysis['LEFT JOIN'] = analysis['JOIN'] = analysis['INNER JOIN'] = function (str) { | ||
@@ -571,16 +562,22 @@ str = str.split(' ON '); | ||
function select(ast) { | ||
return 'SELECT ' + ast['SELECT'].map(function(item) { | ||
return item.name; | ||
}).join(', '); | ||
if (typeof ast['SELECT'] != 'undefined') { | ||
return 'SELECT ' + ast['SELECT'].map(function(item) { | ||
return item.name; | ||
}).join(', '); | ||
} | ||
else return ''; | ||
} | ||
function from(ast) { | ||
var result = ' FROM '; | ||
var tmp = ast['FROM'].map(function (item) { | ||
var str = item.table; | ||
if (item.as !== '') str += ' AS ' + item.as; | ||
return str; | ||
}); | ||
result += tmp.join(', '); | ||
return result; | ||
if (typeof ast['FROM'] != 'undefined') { | ||
var result = ' FROM '; | ||
var tmp = ast['FROM'].map(function (item) { | ||
var str = item.table; | ||
if (item.as !== '') str += ' AS ' + item.as; | ||
return str; | ||
}); | ||
result += tmp.join(', '); | ||
return result; | ||
} | ||
else return ''; | ||
} | ||
@@ -643,30 +640,59 @@ | ||
function insert_into(ast) { | ||
var result = 'INSERT INTO ' + ast['INSERT INTO'].table; | ||
if (typeof ast['INSERT INTO'].columns != 'undefined') { | ||
result += ' ('; | ||
result += ast['INSERT INTO'].columns.join(', '); | ||
result += ')'; | ||
if (typeof ast['INSERT INTO'] != 'undefined') { | ||
var result = 'INSERT INTO ' + ast['INSERT INTO'].table; | ||
if (typeof ast['INSERT INTO'].columns != 'undefined') { | ||
result += ' ('; | ||
result += ast['INSERT INTO'].columns.join(', '); | ||
result += ')'; | ||
} | ||
return result; | ||
} | ||
return result; | ||
else return ''; | ||
} | ||
function values(ast) { | ||
var result = ' VALUES '; | ||
var vals = ast['VALUES'].map(function (item) { | ||
return '(' + item.join(', ') + ')'; | ||
}); | ||
result += vals.join(', '); | ||
return result; | ||
if (typeof ast['VALUES'] != 'undefined') { | ||
var result = ' VALUES '; | ||
var vals = ast['VALUES'].map(function (item) { | ||
return '(' + item.join(', ') + ')'; | ||
}); | ||
result += vals.join(', '); | ||
return result; | ||
} | ||
else return ''; | ||
} | ||
function delete_from(ast) { | ||
return 'DELETE FROM ' + ast['DELETE FROM'][0]; | ||
if (typeof ast['DELETE FROM'] != 'undefined') { | ||
var result = 'DELETE FROM '; | ||
result += ast['DELETE FROM'].map(function (item) { | ||
var str = item.table; | ||
if (item.as !== '') str += ' AS ' + item.as; | ||
return str; | ||
}).join(', '); | ||
return result; | ||
} | ||
else return ''; | ||
} | ||
function update(ast) { | ||
return 'UPDATE ' + ast['UPDATE'][0]; | ||
if (typeof ast['UPDATE'] != 'undefined') { | ||
var result = 'UPDATE '; | ||
result += ast['UPDATE'].map(function (item) { | ||
var str = item.table; | ||
if (item.as !== '') str += ' AS ' + item.as; | ||
return str; | ||
}).join(', '); | ||
return result; | ||
} | ||
else return ''; | ||
} | ||
function set(ast) { | ||
return ' SET ' + ast['SET'].join(', '); | ||
if (typeof ast['SET'] != 'undefined') { | ||
return ' SET ' + ast['SET'].map(function(item) { | ||
return item.expression; | ||
}).join(', '); | ||
} | ||
else return ''; | ||
} | ||
@@ -673,0 +699,0 @@ |
25256
666