@segment/mysql-query-validator
Version:
This is just a simple wrapper over [this Golang executable](https://github.com/xwb1989/sqlparser) to validate SQL queries.
44 lines • 1.2 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const execute_1 = __importDefault(require("./execute"));
const format_1 = __importDefault(require("./format"));
function validate(query) {
const output = execute_1.default('validate', query);
if (output === 'valid') {
return;
}
throw new Error(output);
}
exports.validate = validate;
function runQuery(query, type) {
const output = execute_1.default(type, query);
let json = null;
try {
json = JSON.parse(output);
}
catch (err) {
// assume sql parsing failed
throw new Error(output);
}
return json;
}
function parse(query) {
const tree = runQuery(query, 'parse');
if (!tree) {
return null;
}
return format_1.default(tree);
}
exports.parse = parse;
function getTables(query) {
return runQuery(query, 'tables');
}
exports.getTables = getTables;
function getColumns(query) {
return runQuery(query, 'columns');
}
exports.getColumns = getColumns;
//# sourceMappingURL=index.js.map