-
Notifications
You must be signed in to change notification settings - Fork 29
Expand file tree
/
Copy pathsimpleSqlParser.withoutDeps.min.js
More file actions
1 lines (1 loc) · 7.5 KB
/
simpleSqlParser.withoutDeps.min.js
File metadata and controls
1 lines (1 loc) · 7.5 KB
1
!function(n){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.simpleSqlParser=n()}}(function(){return function n(e,t,r){function i(o,s){if(!t[o]){if(!e[o]){var l="function"==typeof require&&require;if(!s&&l)return l(o,!0);if(u)return u(o,!0);var p=new Error("Cannot find module '"+o+"'");throw p.code="MODULE_NOT_FOUND",p}var a=t[o]={exports:{}};e[o][0].call(a.exports,function(n){var t=e[o][1][n];return i(t?t:n)},a,a.exports,n,e,t,r)}return t[o].exports}for(var u="function"==typeof require&&require,o=0;o<r.length;o++)i(r[o]);return i}({1:[function(n,e,t){"use strict";e.exports.sql2ast=n("./src/sql2ast.js"),e.exports.ast2sql=n("./src/ast2sql.js")},{"./src/ast2sql.js":2,"./src/sql2ast.js":3}],2:[function(n,e,t){"use strict";e.exports=function(n){function e(n){var e="SELECT ";return e+=n.select.map(function(n){return n.expression}).join(", ")}function t(n){var e="";return n.from.length>0&&(e+="FROM ",e+=n.from.map(function(n){return n.expression}).join(", ")),e}function r(n){return n.join.map(function(n){var e="";if("inner"===n.type)e+="INNER JOIN ";else if("left"===n.type)e+="LEFT JOIN ";else{if("right"!==n.type)return"";e+="RIGHT JOIN "}return e+=n.table,null!==n.alias&&(e+=" AS "+n.alias),e+=" ON ",e+=n.condition.expression}).join(" ")}function i(n){var e="";return null!==n.where&&(e+="WHERE "+n.where.expression),e}function u(n){var e="";return n.group.length>0&&(e+="GROUP BY ",e+=n.group.map(function(n){return n.expression}).join(", ")),e}function o(n){var e="";return n.order.length>0&&(e+="ORDER BY ",e+=n.order.map(function(n){return n.expression}).join(", ")),e}function s(n){var e="";return null!==n.limit&&(e+="LIMIT ",null!==n.limit.from&&(e+=n.limit.from+", "),e+=n.limit.nb),e}function l(n){return"INSERT INTO "+n.into.expression}function p(n){var e="",t=n.values.filter(function(n){return null!==n.target});return t.length>0&&(e+="(",e+=t.map(function(n){return n.target.expression}).join(", "),e+=") "),e+="VALUES (",e+=n.values.map(function(n){return n.value}).join(", "),e+=")"}function a(n){return"UPDATE "+n.table.expression}function f(n){var e="SET ";return e+=n.values.map(function(n){return n.target.expression+" = "+n.value}).join(", ")}if("object"!=typeof n||n.status!==!0)return!1;var c=n.value,m=[];if("select"===c.type)m.push(e(c)),m.push(t(c)),m.push(r(c)),m.push(i(c)),m.push(u(c)),m.push(o(c)),m.push(s(c));else if("insert"===c.type)m.push(l(c)),m.push(p(c));else if("update"===c.type)m.push(a(c)),m.push(f(c)),m.push(i(c));else{if("delete"!==c.type)return!1;m.push("DELETE"),m.push(t(c)),m.push(i(c))}return m.filter(function(n){return""!==n}).join(" ")}},{}],3:[function(n,e,t){(function(n){"use strict";function t(n,e){return"undefined"==typeof e?n.or(l.succeed([])):n.or(l.succeed(e))}function r(n){return n.join("")}function i(n){return n[0].push(n[1]),n[0]}function u(n){return p(n.skip(m).skip(c(",")).skip(m).many(),n.skip(m)).map(i)}function o(n){return n.replace(/^([`'"])(.*)\1$/,"$2")}function s(n){return p(l.index,n,l.index).map(function(n){var e={start:n[0],end:n[2]};if("object"==typeof n[1]){var t=n[1];return t.position=e,t}return e.out=n[1],e})}var l="undefined"!=typeof window?window.parsimmon:"undefined"!=typeof n?n.parsimmon:null,p=l.seq,a=l.alt,f=l.regex,c=l.string,m=l.optWhitespace,d=l.whitespace,E=l.lazy,x=a(f(/(?!(FROM|WHERE|GROUP BY|ORDER BY|LIMIT|INNER|LEFT|RIGHT|JOIN|ON|VALUES|SET)\s)[a-z*][a-z0-9_:]*/i),f(/`[^`\\]*(?:\\.[^`\\]*)*`/)),h=a(f(/"[^"\\]*(?:\\.[^"\\]*)*"/),f(/'[^'\\]*(?:\\.[^'\\]*)*'/)),v=p(a(f(/[a-zA-Z0-9_]+\(/),c("(")),t(E(function(){return D})).map(r),c(")")).map(r),y=p(x,c("."),x),I=a(c("+"),c("-"),c("*"),c("/"),c("&&"),c("&"),c("~"),c("||"),c("|"),c("^"),f(/XOR/i),c("<=>"),c("="),c("!="),c(">="),c(">>"),c(">"),c("<="),c("<<"),c("<"),f(/IS NULL/i),f(/IS NOT/i),f(/IS NOT NULL/i),f(/IS/i),f(/LIKE/i),f(/NOT LIKE/i),f(/BETWEEN/i),f(/NOT BETWEEN/i),c("%"),f(/MOD/i),f(/NOT/i),f(/OR\s/i),f(/AND/i),f(/IN/i)),N=f(/[-]?\d+\.?\d*/),O=p(c("("),m,p(a(N,h),m,t(c(",")),m,t(a(N,h))).map(r),m,c(")")).map(r),T=p(a(y.map(function(n){return{expression:n.join(""),table:o(n[0]),column:o(n[2])}}),v.map(function(n){return{expression:n,table:null,column:null}}),x.map(function(n){return{expression:n,table:null,column:o(n)}}),h.map(function(n){return{expression:n,table:null,column:null}}),N.map(function(n){return{expression:n,table:null,column:null}}),O.map(function(n){return{expression:n,table:null,column:null}})),t(p(m,I,t(p(m,E(function(){return T}).map(function(n){return n.expression})).map(r),null)).map(r),null)).map(function(n){return null!==n[1]?(n[0]=n[0].expression,{expression:n.join(""),table:null,column:null}):n[0]}),R=p(T,t(p(m,t(f(/AS\s/i)),a(x,h)).map(function(n){var e={};return e.alias=o(n[2]),e.expression=n.join(""),e}),null)).map(function(n){var e=n[0];return e.alias=null!==n[1]?n[1].alias:null,e.expression+=null!==n[1]?n[1].expression:"",e}),b=T.map(function(n){return n.expression}),j=p(a(y.map(r),x),t(p(m,t(f(/AS\s/i)),a(x,h)).map(function(n){return{alias:o(n[2]),expression:n.join("")}}),null)).map(function(n){var e={};return e.table=n[0],e.alias=null!==n[1]?n[1].alias:null,e.expression=n[0]+(null!==n[1]?n[1].expression:""),e}),g=p(t(p(f(/INNER|LEFT|RIGHT/i),d).map(function(n){return n[0].toLowerCase()}),null),f(/JOIN/i),m,s(j),m,f(/ON/i),m,s(T)).map(function(n){var e={};return e.type=n[0]||"inner",e.table=n[3].table,e.alias=n[3].alias,e.position=n[3].position,e.condition={expression:n[7].expression,position:n[7].position},e}),w=s(T).map(function(n){return{expression:n.expression,position:n.position}}),L=p(T,t(p(m,f(/ASC|DESC/i)),null)).map(function(n){return{expression:n[0].expression+(null!==n[1]?n[1].join(""):""),order:null!==n[1]?n[1][1]:"ASC",table:n[0].table,column:n[0].column}}),S=p(N,t(p(m,c(","),m,N),null)).map(function(n){return null===n[1]?{from:null,nb:parseInt(n[0],10)}:{from:parseInt(n[0],10),nb:parseInt(n[1][3],10)}}),k=a(y.map(function(n){return{expression:n.join(""),column:o(n[2])}}),x.map(function(n){return{expression:n,column:o(n)}})),q=T.map(function(n){return n.expression}),A=p(k,m,c("="),m,T).map(function(n){return{target:n[0],value:n[4].expression}}),D=p(p(b,m,c(","),m).map(r).many(),b.skip(m)).map(i),U=u(s(R)),M=u(s(j)),B=u(s(T)),F=u(s(L)),H=m.then(g).skip(m).many(),W=u(k),C=u(q),G=u(A),P=p(f(/SELECT/i).skip(m).then(t(U)),t(f(/FROM/i).skip(m).then(t(M)),[]),t(H),t(f(/WHERE/i).skip(m).then(t(w)),null),t(f(/\s?GROUP BY/i).skip(m).then(t(B))),t(f(/\s?ORDER BY/i).skip(m).then(t(F))),t(f(/\s?LIMIT/i).skip(m).then(t(S)),null)).map(function(n){return{type:"select",select:n[0],from:n[1],join:n[2],where:n[3],group:n[4],order:n[5],limit:n[6]}}),Y=p(f(/INSERT INTO/i).skip(m).then(j),m,t(p(c("("),W,c(")")).map(function(n){return n[1]})),m,f(/VALUES\s?\(/i).skip(m).then(C),c(")")).map(function(n){for(var e=[],t=Math.max(n[2].length,n[4].length),r=0;t>r;++r)e[r]={target:n[2][r]||null,value:n[4][r]||null};return{type:"insert",into:n[0],values:e}}),J=p(f(/UPDATE/i).skip(m).then(j),m,f(/SET/i).skip(m).then(G),m,t(f(/WHERE/i).skip(m).then(t(w)),null)).map(function(n){return{type:"update",table:n[0],values:n[2],where:n[4]}}),z=p(f(/DELETE FROM/i).skip(m).then(t(M)),t(f(/WHERE/i).skip(m).then(t(w)),null)).map(function(n){return{type:"delete",from:n[0],where:n[1]}}),_=a(P,Y,J,z);e.exports=function(n){var e=_.parse(n);return e.status===!1&&(e.error=l.formatError(n,e)),e}}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[1])(1)});