@dbml/core 6.3.0-alpha.1 → 6.3.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs +1 -1
- package/lib/index.js +1 -1
- package/package.json +2 -2
- package/types/export/ModelExporter.d.ts +2 -2
- package/types/index.d.ts +2 -1
- package/types/model_structure/index.d.ts +2 -0
package/lib/index.cjs
CHANGED
|
@@ -134,4 +134,4 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
134
134
|
`+n.join(`, `)),`
|
|
135
135
|
`].join(``);var n}function Se(e){return e.flags===void 0?[e.global?`g`:``,e.ignoreCase?`i`:``,e.multiline?`m`:``,e.unicode?`u`:``,e.sticky?`y`:``].join(``):e.flags}function Ce(){for(var e=[].slice.call(arguments),t=e.length,n=0;n<t;n+=1)oe(e[n]);return r(function(n,r){for(var i,a=Array(t),o=0;o<t;o+=1){if(!(i=re(e[o]._(n,r),i)).status)return i;a[o]=i.value,r=i.index}return re(y(r,a),i)})}function we(){var e=[].slice.call(arguments);if(e.length===0)throw Error(`seqMap needs at least one argument`);var t=e.pop();return le(t),Ce.apply(null,e).map(function(e){return t.apply(null,e)})}function Te(){var e=[].slice.call(arguments),t=e.length;if(t===0)return je(`zero alternates`);for(var n=0;n<t;n+=1)oe(e[n]);return r(function(t,n){for(var r,i=0;i<e.length;i+=1)if((r=re(e[i]._(t,n),r)).status)return r;return r})}function Ee(e,t){return De(e,t).or(Ae([]))}function De(e,t){return oe(e),oe(t),we(e,t.then(e).many(),function(e,t){return[e].concat(t)})}function Oe(e){ue(e);var t=`'`+e+`'`;return r(function(n,r){var i=r+e.length,a=n.slice(r,i);return a===e?y(i,a):ne(r,t)})}function ke(e,t){(function(e){if(!(e instanceof RegExp))throw Error(`not a regexp: `+e);for(var t=Se(e),n=0;n<t.length;n++){var r=t.charAt(n);if(r!==`i`&&r!==`m`&&r!==`u`&&r!==`s`)throw Error(`unsupported regexp flag "`+r+`": `+e)}})(e),arguments.length>=2?ce(t):t=0;var n=function(e){return RegExp(`^(?:`+e.source+`)`,Se(e))}(e),i=``+e;return r(function(e,r){var a=n.exec(e.slice(r));if(a){if(0<=t&&t<=a.length){var o=a[0],s=a[t];return y(r+o.length,s)}return ne(r,`valid match group (0 to `+a.length+`) in `+i)}return ne(r,i)})}function Ae(e){return r(function(t,n){return y(n,e)})}function je(e){return r(function(t,n){return ne(n,e)})}function Me(e){if(ee(e))return r(function(t,n){var r=e._(t,n);return r.index=n,r.value=``,r});if(typeof e==`string`)return Me(Oe(e));if(e instanceof RegExp)return Me(ke(e));throw Error(`not a string, regexp, or parser: `+e)}function Ne(e){return oe(e),r(function(t,n){var r=e._(t,n),i=t.slice(n,r.index);return r.status?ne(n,`not "`+i+`"`):y(n,null)})}function Pe(e){return le(e),r(function(t,n){var r=se(t,n);return n<t.length&&e(r)?y(n+1,r):ne(n,`a character/byte matching `+e)})}function Fe(e,t){arguments.length<2&&(t=e,e=void 0);var n=r(function(e,r){return n._=t()._,n._(e,r)});return e?n.desc(e):n}function Ie(){return je(`fantasy-land/empty`)}i.parse=function(e){if(typeof e!=`string`&&!te(e))throw Error(`.parse must be called with a string or Buffer as its argument`);var t,n=this.skip(Be)._(e,0);return t=n.status?{status:!0,value:n.value}:{status:!1,index:ae(e,n.furthest),expected:n.expected},delete ie[e],t},i.tryParse=function(e){var t=this.parse(e);if(t.status)return t.value;var n=xe(e,t),r=Error(n);throw r.type=`ParsimmonError`,r.result=t,r},i.assert=function(e,t){return this.chain(function(n){return e(n)?Ae(n):je(t)})},i.or=function(e){return Te(this,e)},i.trim=function(e){return this.wrap(e,e)},i.wrap=function(e,t){return we(e,this,t,function(e,t){return t})},i.thru=function(e){return e(this)},i.then=function(e){return oe(e),Ce(this,e).map(function(e){return e[1]})},i.many=function(){var e=this;return r(function(t,n){for(var r=[],i=void 0;;){if(!(i=re(e._(t,n),i)).status)return re(y(n,r),i);if(n===i.index)throw Error(`infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause`);n=i.index,r.push(i.value)}})},i.tieWith=function(e){return ue(e),this.map(function(t){if(function(e){if(!v(e))throw Error(`not an array: `+e)}(t),t.length){ue(t[0]);for(var n=t[0],r=1;r<t.length;r++)ue(t[r]),n+=e+t[r];return n}return``})},i.tie=function(){return this.tieWith(``)},i.times=function(e,t){var n=this;return arguments.length<2&&(t=e),ce(e),ce(t),r(function(r,i){for(var a=[],o=void 0,s=void 0,c=0;c<e;c+=1){if(s=re(o=n._(r,i),s),!o.status)return s;i=o.index,a.push(o.value)}for(;c<t&&(s=re(o=n._(r,i),s),o.status);c+=1)i=o.index,a.push(o.value);return re(y(i,a),s)})},i.result=function(e){return this.map(function(){return e})},i.atMost=function(e){return this.times(0,e)},i.atLeast=function(e){return we(this.times(e),this.many(),function(e,t){return e.concat(t)})},i.map=function(e){le(e);var t=this;return r(function(n,r){var i=t._(n,r);return i.status?re(y(i.index,e(i.value)),i):i})},i.contramap=function(e){le(e);var t=this;return r(function(n,r){var i=t.parse(e(n.slice(r)));return i.status?y(r+n.length,i.value):i})},i.promap=function(e,t){return le(e),le(t),this.contramap(e).map(t)},i.skip=function(e){return Ce(this,e).map(function(e){return e[0]})},i.mark=function(){return we(Le,this,Le,function(e,t,n){return{start:e,value:t,end:n}})},i.node=function(e){return we(Le,this,Le,function(t,n,r){return{name:e,value:n,start:t,end:r}})},i.sepBy=function(e){return Ee(this,e)},i.sepBy1=function(e){return De(this,e)},i.lookahead=function(e){return this.skip(Me(e))},i.notFollowedBy=function(e){return this.skip(Ne(e))},i.desc=function(e){v(e)||(e=[e]);var t=this;return r(function(n,r){var i=t._(n,r);return i.status||(i.expected=e),i})},i.fallback=function(e){return this.or(Ae(e))},i.ap=function(e){return we(e,this,function(e,t){return e(t)})},i.chain=function(e){var t=this;return r(function(n,r){var i=t._(n,r);return i.status?re(e(i.value)._(n,i.index),i):i})},i.concat=i.or,i.empty=Ie,i.of=Ae,i[`fantasy-land/ap`]=i.ap,i[`fantasy-land/chain`]=i.chain,i[`fantasy-land/concat`]=i.concat,i[`fantasy-land/empty`]=i.empty,i[`fantasy-land/of`]=i.of,i[`fantasy-land/map`]=i.map;var Le=r(function(e,t){return y(t,ae(e,t))}),Re=r(function(e,t){return t>=e.length?ne(t,`any character/byte`):y(t+1,se(e,t))}),ze=r(function(e,t){return y(e.length,e.slice(t))}),Be=r(function(e,t){return t<e.length?ne(t,`EOF`):y(t,null)}),Ve=ke(/[0-9]/).desc(`a digit`),He=ke(/[0-9]*/).desc(`optional digits`),Ue=ke(/[a-z]/i).desc(`a letter`),We=ke(/[a-z]*/i).desc(`optional letters`),Ge=ke(/\s*/).desc(`optional whitespace`),Ke=ke(/\s+/).desc(`whitespace`),qe=Oe(`\r`),Je=Oe(`
|
|
136
136
|
`),Ye=Oe(`\r
|
|
137
|
-
`),Xe=Te(Ye,Je,qe).desc(`newline`),Ze=Te(Xe,Be);r.all=ze,r.alt=Te,r.any=Re,r.cr=qe,r.createLanguage=function(e){var t={};for(var n in e)({}).hasOwnProperty.call(e,n)&&function(n){t[n]=Fe(function(){return e[n](t)})}(n);return t},r.crlf=Ye,r.custom=function(e){return r(e(y,ne))},r.digit=Ve,r.digits=He,r.empty=Ie,r.end=Ze,r.eof=Be,r.fail=je,r.formatError=xe,r.index=Le,r.isParser=ee,r.lazy=Fe,r.letter=Ue,r.letters=We,r.lf=Je,r.lookahead=Me,r.makeFailure=ne,r.makeSuccess=y,r.newline=Xe,r.noneOf=function(e){return Pe(function(t){return e.indexOf(t)<0}).desc(`none of '`+e+`'`)},r.notFollowedBy=Ne,r.of=Ae,r.oneOf=function(e){for(var t=e.split(``),n=0;n<t.length;n++)t[n]=`'`+t[n]+`'`;return Pe(function(t){return e.indexOf(t)>=0}).desc(t)},r.optWhitespace=Ge,r.Parser=r,r.range=function(e,t){return Pe(function(n){return e<=n&&n<=t}).desc(e+`-`+t)},r.regex=ke,r.regexp=ke,r.sepBy=Ee,r.sepBy1=De,r.seq=Ce,r.seqMap=we,r.seqObj=function(){for(var e,t={},n=0,i=(e=arguments,Array.prototype.slice.call(e)),a=i.length,o=0;o<a;o+=1){var s=i[o];if(!ee(s)){if(v(s)&&s.length===2&&typeof s[0]==`string`&&ee(s[1])){var c=s[0];if(Object.prototype.hasOwnProperty.call(t,c))throw Error(`seqObj: duplicate key `+c);t[c]=!0,n++;continue}throw Error(`seqObj arguments must be parsers or [string, parser] array pairs.`)}}if(n===0)throw Error(`seqObj expects at least one named parser, found zero`);return r(function(e,t){for(var n,r={},o=0;o<a;o+=1){var s,c;if(v(i[o])?(s=i[o][0],c=i[o][1]):(s=null,c=i[o]),!(n=re(c._(e,t),n)).status)return n;s&&(r[s]=n.value),t=n.index}return re(y(t,r),n)})},r.string=Oe,r.succeed=Ae,r.takeWhile=function(e){return le(e),r(function(t,n){for(var r=n;r<t.length&&e(se(t,r));)r++;return y(r,t.slice(n,r))})},r.test=Pe,r.whitespace=Ke,r[`fantasy-land/empty`]=Ie,r[`fantasy-land/of`]=Ae,r.Binary={bitSeq:d,bitSeqObj:function(e){u();var t={},n=0,r=s(function(e){if(v(e)){var r=e;if(r.length!==2)throw Error(`[`+r.join(`, `)+`] should be length 2, got length `+r.length);if(ue(r[0]),ce(r[1]),Object.prototype.hasOwnProperty.call(t,r[0]))throw Error(`duplicate key in bitSeqObj: `+r[0]);return t[r[0]]=!0,n++,r}return ce(e),[null,e]},e);if(n<1)throw Error(`bitSeqObj expects at least one named pair, got [`+e.join(`, `)+`]`);var i=s(function(e){return e[0]},r);return d(s(function(e){return e[1]},r)).map(function(e){return o(function(e,t){return t[0]!==null&&(e[t[0]]=t[1]),e},{},s(function(t,n){return[t,e[n]]},i))})},byte:function(e){if(u(),ce(e),e>255)throw Error(`Value specified to byte constructor (`+e+`=0x`+e.toString(16)+`) is larger in value than a single byte.`);var t=(e>15?`0x`:`0x0`)+e.toString(16);return r(function(n,r){var i=se(n,r);return i===e?y(r+1,i):ne(r,t)})},buffer:function(e){return f(`buffer`,e).map(function(e){return Buffer.from(e)})},encodedString:function(e,t){return f(`string`,t).map(function(t){return t.toString(e)})},uintBE:m,uint8BE:m(1),uint16BE:m(2),uint32BE:m(4),uintLE:h,uint8LE:h(1),uint16LE:h(2),uint32LE:h(4),intBE:g,int8BE:g(1),int16BE:g(2),int32BE:g(4),intLE:_,int8LE:_(1),int16LE:_(2),int32LE:_(4),floatBE:f(`floatBE`,4).map(function(e){return e.readFloatBE(0)}),floatLE:f(`floatLE`,4).map(function(e){return e.readFloatLE(0)}),doubleBE:f(`doubleBE`,8).map(function(e){return e.readDoubleBE(0)}),doubleLE:f(`doubleLE`,8).map(function(e){return e.readDoubleLE(0)})},e.exports=r}])})})),n9,UJe,r9,i9=o((()=>{n9=u(t9(),1),UJe=n9.default.createLanguage({WhiteSpaces:e=>n9.default.alt(e.WhiteSpace,e.InlineComment,e.MulLineComment).many().desc(`whitespaces or comments`),WhiteSpace:()=>n9.default.regexp(/\s/).desc(`whitespaces`),InlineComment:()=>n9.default.seq(n9.default.string(`--`),n9.default.regexp(/[^\n\r]*/)).desc(`comments`),MulLineComment:()=>n9.default.regexp(/\/\*[\s\S]+?\*\//).desc(`comments`)}),r9=UJe.WhiteSpaces}));function a9(e){return GJe.default.string(e).skip(r9).desc(`"${e}"`)}function WJe(e){let t=String(e);t=t.replace(/[\s]+/g,`\\s+`);let n=t.lastIndexOf(`/`);return new RegExp(t.slice(1,n),t.slice(n+1))}function o9(e){let t=e,n=e.source;return t=WJe(e),GJe.default.regexp(t).skip(r9).desc(`"${n}"`)}var GJe,KJe=o((()=>{GJe=u(t9(),1),i9()})),qJe,s9,c9,JJe,YJe,XJe,ZJe,QJe,$Je,eYe,tYe,nYe,rYe,iYe,l9,aYe,oYe,u9,sYe,cYe,lYe,uYe,dYe,fYe,pYe,mYe,hYe,gYe,_Ye,vYe,yYe,bYe,xYe,SYe,CYe,wYe,TYe,EYe,DYe,OYe,kYe,AYe,jYe,MYe,NYe,d9,f9,PYe,FYe,IYe,LYe,RYe,zYe,BYe,VYe,HYe,UYe,WYe,GYe,KYe,qYe,JYe,YYe,XYe,ZYe,QYe,$Ye,p9,eXe,tXe,nXe,rXe,iXe,aXe,oXe,sXe,cXe,lXe,uXe,dXe,fXe,pXe,mXe,hXe,gXe,_Xe,vXe,yXe,bXe,xXe,SXe,CXe,wXe,TXe,EXe,m9,h9,g9,DXe,OXe,kXe,AXe,_9,v9,jXe,MXe,NXe,PXe,FXe,IXe,LXe,RXe,y9=o((()=>{KJe(),qJe=o9(/IDENTITY/i),s9=o9(/INDEX/i),c9=o9(/WITH/i),JJe=o9(/ON/i),o9(/OFF/i),XJe=o9(/FILESTREAM_ON/i),ZJe=o9(/PRIMARY KEY/i),QJe=o9(/CLUSTERED/i),$Je=o9(/NONCLUSTERED/i),eYe=o9(/COLUMNSTORE/i),tYe=o9(/REFERENCES/i),nYe=o9(/FOREIGN KEY/i),rYe=o9(/CHECK/i),iYe=o9(/CONSTRAINT/i),l9=o9(/UNIQUE/i),o9(/HASH/i),o9(/BUCKET_COUNT/i),u9=o9(/NOT FOR REPLICATION/),sYe=o9(/ON DELETE/i),cYe=o9(/ON UPDATE/i),lYe=o9(/SET NULL/i),uYe=o9(/SET DEFAULT/i),dYe=o9(/NO ACTION/i),fYe=o9(/CASCADE/i),pYe=o9(/CONTENT/i),mYe=o9(/DOCUMENT/i),hYe=o9(/NULL/i),gYe=o9(/NOT NULL/i),_Ye=o9(/DEFAULT/i),vYe=o9(/FILESTREAM/i),yYe=o9(/COLLATE/i),bYe=o9(/SPARSE/i),xYe=o9(/ROWGUIDCOL/i),SYe=o9(/MASKED/i),CYe=o9(/ENCRYPTED/i),o9(/FUNCTION/i),TYe=o9(/GENERATED ALWAYS AS ROW/i),EYe=o9(/START/i),DYe=o9(/END/i),OYe=o9(/HIDDEN/i),kYe=o9(/ASC/i),AYe=o9(/DESC/i),jYe=o9(/TEXTIMAGE_ON/i),MYe=o9(/PERIOD FOR SYSTEM_TIME/i),NYe=o9(/FILETABLE/i),d9=o9(/TABLE/i),f9=o9(/CREATE/i),PYe=o9(/AS/i),FYe=o9(/PERSISTED/i),IYe=o9(/XML COLUMN_SET FOR ALL_SPARSE_COLUMNS/i),LYe=o9(/INCLUDE/i),RYe=o9(/IN/i),zYe=o9(/WHERE/i),BYe=o9(/FOR/i),VYe=o9(/WITH VALUES/i),HYe=o9(/CONNECTION/i),UYe=o9(/TO/i),WYe=o9(/ALTER/i),GYe=o9(/ADD/i),KYe=o9(/SET/i),qYe=o9(/REBUILD/i),JYe=o9(/SWITCH/i),YYe=o9(/ENABLE/i),XYe=o9(/DISABLE/i),o9(/NOCHECK/i),QYe=o9(/DROP/i),$Ye=o9(/ALTER COLUMN/i),p9=o9(/GO/i),eXe=o9(/BULK INSERT/i),tXe=o9(/INSERT/i),nXe=o9(/UPDATE/i),rXe=o9(/MERGE/i),iXe=o9(/TRUNCATE TABLE/i),aXe=o9(/BACKUP/i),oXe=o9(/RESTORE/i),sXe=o9(/CLOSE/i),cXe=o9(/DENY/i),lXe=o9(/EXECUTE/i),uXe=o9(/EXEC/i),dXe=o9(/GRANT/i),fXe=o9(/OPEN/i),pXe=o9(/REVOKE/i),mXe=o9(/BEGIN/i),o9(/GET/i),gXe=o9(/MOVE/i),_Xe=o9(/RECEIVE/i),vXe=o9(/SEND/i),yXe=o9(/RENAME/i),bXe=o9(/DELETE/i),xXe=o9(/IF/i),SXe=o9(/sp_addextendedproperty/i),CXe=o9(/IN/i),wXe=o9(/AND/i),a9(`<`),a9(`>`),m9=a9(`(`),h9=a9(`,`),g9=a9(`)`),a9(`"`),OXe=a9(`'`),a9(`[`),a9(`]`),_9=a9(`=`),v9=a9(`;`),jXe=o9(/@name/i),MXe=o9(/@value/i),NXe=o9(/@level0type/i),PXe=o9(/@level0name/i),FXe=o9(/@level1type/i),IXe=o9(/@level1name/i),LXe=o9(/@level2type/i),RXe=o9(/@level2name/i)}));function b9(){return function(e){return w9.default.seqMap(w9.default.index,e,w9.default.index,(t,n,r)=>n?(typeof n.value!=`object`&&(n.value={value:n.value}),n.value.token={start:t,end:r},n):e).skip(r9)}}function x9(e,t=!1){let n=e.sepBy1(h9);return t&&(n=e.sepBy(h9)),w9.default.seq(m9,n,g9).map(e=>e[1])}function S9(e){return function(t){return t.skip(r9).map(t=>(t!==0&&!t&&(t=``),{type:e,value:t}))}}function C9(e){let t=null;return e.length>1&&(t=e[e.length-2]),{name:lu(e),schemaName:t}}var w9,T9=o((()=>{w9=u(t9(),1),Yu(),y9(),i9()})),E9,D9,O9,k9,A9,zXe,BXe,VXe,j9,M9,HXe,UXe,WXe,GXe,KXe,qXe,JXe,YXe,XXe,N9,ZXe,QXe,$Xe,eZe,tZe,P9,nZe,F9=o((()=>{E9=u(t9(),1),T9(),y9(),i9(),D9=(0,E9.default)((e,t)=>{let n=t,r=!1,i=``;for(;n<e.length&&(r||!e.slice(n,n+2).match(/GO|;/i));)for(r&&e[n].match(/\]|'|"/i)&&e[n]===i?r=!1:!r&&e[n].match(/\[|"|'/i)&&(r=!0,i=e[n],e[n]===`[`&&(i=`]`)),e[n].match(/\s/)||(n+=1);n<e.length&&e[n].match(/\s/);)n+=1;return e.slice(n,n+2).match(/GO/i)&&--n,E9.default.makeSuccess(n+1,``)}),O9=E9.default.createLanguage({pIgnore:()=>D9,pColumnNames:e=>x9(E9.default.seq(e.pIdentifier,e.pKeywordAscOrDesc.fallback(null)).map(e=>e[0])).desc(`list of column names`),pDotDelimitedName:e=>E9.default.sepBy1(e.pIdentifier,E9.default.string(`.`)).desc(`dot delimited identifier`),pOptionList:e=>x9(e.pOption),pOption:e=>E9.default.seq(e.pIdentifier,_9,E9.default.seq(E9.default.alt(e.pIdentifier,e.pString).many(),E9.default.alt(e.pOptionList,x9(e.pIdentifier.many())).fallback(null))).desc(`option`),pComparsionOp:()=>E9.default.regex(/IS|IS[^\S\r\n]+NOT|=|<>|!=|>|>=|!>|<|<=|!</i).skip(r9).desc(`comparsion operator`),pConst:e=>E9.default.alt(e.pString,e.pUnicode,e.pBinary,e.pScience,e.pMoney,e.pSigned,e.pNumber).desc(`constant`),pFunction:e=>E9.default.seq(e.pIdentifier,x9(e.pFunctionParam,!0)).map(e=>`${e[0]}(${e[1].join(`,`)})`).thru(S9(`function`)).desc(`function constant`),pFunctionParam:e=>E9.default.alt(e.pNumber,e.pIdentifier).desc(`identifier or number paremeter`),pMoney:e=>E9.default.seq(E9.default.regexp(/[+-]\$/),e.pNumber).thru(S9(`money`)).desc(`money constant`),pSigned:e=>E9.default.seq(E9.default.regexp(/[+-]/),e.pNumber).thru(S9(`signed`)).desc(`signed constant`),pUnicode:e=>E9.default.seq(E9.default.string(`N`),e.pString).thru(S9(`unicode`)).desc(`unicode constant`),pString:()=>E9.default.regexp(/'[^']*'/).thru(S9(`string`)).map(e=>{let t=e.value;return e.value=t.slice(1,t.length-1),e}).desc(`string constant`),pNumberList:e=>x9(e.pNumber).desc(`list of number`),pNumber:()=>E9.default.regexp(/[0-9]+(\.[0-9]+)?/).map(Number).thru(S9(`number`)).desc(`number constant`),pBinary:()=>E9.default.regexp(/0x[A-F0-9]*/).thru(S9(`binary`)).desc(`binary constant`),pScience:()=>E9.default.regexp(/[+-]+[0-9]+(\.[0-9E]+)?/).thru(S9(`science`)).desc(`science constant`),pIdentifier:e=>E9.default.alt(e.pRegularIdentifier,e.pDelimitedIdentifier).skip(r9).desc(`identifier`),pDelimitedIdentifier:e=>E9.default.alt(e.pDQDelimitedIdentifier,e.pBracketDelimitedIdentifier).skip(r9).desc(`delimited identifier`),pRegularIdentifier:()=>E9.default.regexp(/^[\w@#][\w@#$]*/).skip(r9),pDQDelimitedIdentifier:()=>E9.default.seq(E9.default.string(`"`),E9.default.regexp(/[^"]*/),E9.default.string(`"`)).map(e=>e[1]).skip(r9),pBracketDelimitedIdentifier:()=>E9.default.seq(E9.default.string(`[`),E9.default.regexp(/[^\]]*/),E9.default.string(`]`)).map(e=>e[1]).skip(r9),pKeywordPKOrUnique:()=>E9.default.alt(ZJe.result({type:`pk`,value:!0}),l9.result({type:`unique`,value:!0})),pKeywordClusteredOrNon:()=>E9.default.alt(QJe,$Je),pKeywordAscOrDesc:()=>E9.default.alt(kYe,AYe)}),k9=O9.pColumnNames,A9=O9.pDotDelimitedName,zXe=O9.pOptionList,BXe=O9.pOption,VXe=O9.pComparsionOp,j9=O9.pConst,M9=O9.pFunction,O9.pFunctionParam,O9.pMoney,O9.pSigned,O9.pUnicode,O9.pString,qXe=O9.pNumberList,O9.pNumber,O9.pBinary,O9.pScience,N9=O9.pIdentifier,O9.pDelimitedIdentifier,O9.pRegularIdentifier,O9.pDQDelimitedIdentifier,O9.pBracketDelimitedIdentifier,tZe=O9.pKeywordPKOrUnique,P9=O9.pKeywordClusteredOrNon,O9.pKeywordAscOrDesc}));function rZe(e,t){let n=t.value.endpoints.find(e=>!e.tableName);n.tableName=e.name,n.schemaName=e.schemaName}function iZe(e,t){t.value.tableName=e.name,t.value.schemaName=e.schemaName}function aZe(e,t,n){if(!n)return null;let r=C9(t);return n.forEach(e=>{if(e)switch(e.type){case`refs`:rZe(r,e);break;case`indexes`:case`dbdefault`:case`enums`:iZe(r,e);break;default:break}}),n}var oZe=o((()=>{T9()}));function sZe(e){return e.many().map(e=>e.join(``)).fallback(null).thru(S9(`token`))}function cZe(e){let t=g9.thru(sZe),n=m9.thru(sZe);return I9.default.seq(n,e,t)}function lZe(e){return I9.default.alt(cZe(e),e)}var I9,uZe,dZe,fZe=o((()=>{I9=u(t9(),1),F9(),y9(),i9(),T9(),Yu(),uZe=I9.default.createLanguage({ExpressionFinal:e=>e.Expression.map(e=>Su(e).map(e=>e?e.value:``).join(``)),Expression:e=>lZe(I9.default.seq(I9.default.alt(e.UnaryExpression,e.SimpleExpression),e.BinaryExpressionLR.fallback(null)).skip(r9)),UnaryExpression:e=>{let t=I9.default.regex(/[+\-~]/).thru(S9(`unary_operator`));return lZe(I9.default.seq(t,e.Expression).skip(r9))},BinaryExpressionLR:e=>{let t=I9.default.regexp(/[+\-*/%=!<>&^|]{1,2}/).map(e=>` ${e} `).thru(S9(`binary_operator`)).skip(r9);return I9.default.seq(t,e.Expression).skip(r9)},SimpleExpression:e=>lZe(I9.default.alt(M9,j9,e.ExpressionDDN).skip(r9)),ExpressionDDN:()=>A9.map(e=>e.join(`.`)).thru(S9(`identifier`))}),dZe=uZe.ExpressionFinal}));function pZe(e,t,n){return{tableName:e.name,schemaName:e.schemaName,fieldNames:t,relation:n}}function mZe(e,t){t.forEach(t=>{t.type.match(/ON[^\S\r\n]DELETE/i)&&(e.onDelete=t.setting),t.type.match(/ON[^\S\r\n]UPDATE/i)&&(e.onUpdate=t.setting)})}function hZe(e,t,n,r){let i={};return i.endpoint=pZe(C9(t),n,`1`),mZe(i,r),{type:`inline_refs`,value:[i]}}function gZe(e){return{type:`endpoint`,value:{fieldNames:e}}}function _Ze(e,t,n,r,i,a){let o={},s=C9(r);return i||={type:`endpoint`,value:{fieldNames:null}},t.value.relation=`*`,i.value.relation=`1`,i.value.tableName=s.name,i.value.schemaName=s.schemaName,o.endpoints=[t.value,i.value],mZe(o,a),{type:`refs`,value:o}}function vZe(e,t){return{type:e,setting:t.toLowerCase().trim().split(/[ ]+/).join(` `)}}var yZe=o((()=>{T9()})),L9,bZe,xZe,SZe,CZe=o((()=>{L9=u(t9(),1),y9(),F9(),T9(),yZe(),bZe=L9.default.createLanguage({TableConstraintFK:e=>L9.default.seqMap(nYe.fallback(null),e.TableEndpoint,tYe,A9,e.TableEndpoint.fallback(null),e.FKOptions.fallback(null),_Ze),TableEndpoint:()=>L9.default.seqMap(k9,gZe).thru(b9()),ColumnConstraintFK:e=>L9.default.seqMap(e.FKKeywords,A9,x9(N9).fallback(null),e.FKOptions.fallback(null),hZe),FKOptions:e=>L9.default.alt(e.FKOnDelete,e.FKOnUpdate,e.FKNFR).many(),FKKeywords:()=>L9.default.seq(nYe.fallback(null),tYe),FKOnDelete:e=>L9.default.seqMap(sYe,e.FKOnOptions,vZe),FKOnUpdate:e=>L9.default.seqMap(cYe,e.FKOnOptions,vZe),FKNFR:()=>u9.map(e=>({type:e})),FKOnOptions:()=>L9.default.alt(dYe,fYe,uYe,lYe)}),xZe=bZe.ColumnConstraintFK,SZe=bZe.TableConstraintFK}));function wZe(e,t,n,r=null){let i=[];return e.forEach(e=>{i.push({value:e,type:`column`})}),{type:`indexes`,value:{name:r,unique:t?!0:null,pk:n?!0:null,columns:i}}}function TZe(e,t){return{type:`indexes`,value:{name:t,columns:[]}}}function EZe(e,t,n,r,i,a){return wZe(a,n,null,t)}function DZe(e,t,n){let r=null,i=null;return e.type===`pk`?r=!0:e.type===`unique`&&(i=!0),wZe(n,i,r)}var OZe=o((()=>{})),R9,z9,kZe,AZe,jZe,MZe,NZe,B9=o((()=>{R9=u(t9(),1),y9(),F9(),T9(),OZe(),z9=R9.default.createLanguage({TableIndex:e=>R9.default.seqMap(s9,N9,l9.fallback(null),P9.fallback(null),eYe.fallback(null),k9,EZe).thru(b9()).skip(e.IgnoredIndexOptions),TableConstraintIndex:e=>R9.default.seqMap(tZe,P9.fallback(null),k9,DZe).thru(b9()).skip(e.IgnoredIndexOptions),ColumnConstraintIndex:e=>R9.default.seq(tZe).skip(e.IgnoredIndexOptions).map(e=>e[0]),ColumnIndex:e=>R9.default.seqMap(s9,N9,TZe).thru(b9()).skip(e.IgnoredIndexOptions),IgnoredIndexOptions:e=>R9.default.alt(P9,e.IgnoredIndexOption).many(),IgnoredIndexOption:e=>R9.default.alt(e.WithIndexOption,e.ColumnIndexFilestream,e.OnIndexOption,e.WithFillFactorOption),WithIndexOption:()=>R9.default.seq(c9,zXe),WithFillFactorOption:()=>R9.default.seq(c9,BXe),OnIndexOption:()=>R9.default.seq(JJe,R9.default.alt(N9,M9)),ColumnIndexFilestream:()=>R9.default.seq(XJe,N9)}),kZe=z9.ColumnIndex,AZe=z9.IgnoredIndexOption,jZe=z9.TableIndex,MZe=z9.ColumnConstraintIndex,NZe=z9.TableConstraintIndex}));function PZe(e,t){let n={};if(t.type)switch(t.type){case`string`:case`number`:case`boolean`:n.type=t.type;break;default:n.type=`expression`;break}else n.type=`expression`;return n.value=t.value,{type:`dbdefault`,value:n}}function FZe(e,t,n){let r=[];return n.forEach(e=>{r.push({name:e.value.value,token:e.value.token})}),{type:`enums`,value:{name:`${e}_enum`,values:r,fieldName:e}}}function IZe(e,t){return t?{type:t.type,value:{...t.value,name:t.type===`indexes`&&t.value.pk?null:e}}:null}var LZe=o((()=>{})),V9,H9,RZe,zZe,BZe,VZe,HZe,U9=o((()=>{V9=u(t9(),1),y9(),fZe(),F9(),T9(),CZe(),B9(),LZe(),H9=V9.default.createLanguage({TableConstraint:e=>V9.default.seqMap(e.ConstraintName.fallback(null),e.TableConstraintOption,IZe).thru(b9()),TableConstraintOption:e=>V9.default.alt(SZe,NZe,e.ConstraintCheck),ColumnConstraint:e=>V9.default.seq(e.ConstraintName.fallback(null),e.ColumnConstraintOption).map(e=>e[1]),ColumnConstraintOption:e=>V9.default.alt(MZe,xZe,e.ConstraintCheck,e.ConstraintDefault),ConstraintCheck:e=>V9.default.seq(rYe,u9.fallback(null),e.ConstraintCheckExpr).map(e=>e[2]),ConstraintCheckExpr:e=>V9.default.alt(V9.default.seq(m9.fallback(null),e.ConstraintCheckEnum,g9.fallback(null)).map(e=>e[1]),dZe.thru(S9(`expression`))),ConstraintCheckEnum:()=>V9.default.seqMap(N9,CXe,x9(j9.thru(b9())),FZe).thru(b9()),ConstraintDefault:e=>V9.default.seqMap(_Ye,e.ConstExpr,PZe),ConstExpr:e=>V9.default.alt(V9.default.seq(m9,e.ConstExpr,g9).map(e=>e[1]),M9,j9,hYe.thru(S9(`boolean`))),ConstraintName:()=>V9.default.seq(iYe,N9).map(e=>e[1])}),RZe=H9.ColumnConstraint,zZe=H9.TableConstraint,BZe=H9.ConstraintCheck,VZe=H9.ConstraintName,HZe=H9.ConstExpr}));function UZe(e,t,n,r,i){let a={};if(t.type)switch(t.type){case`string`:case`number`:case`boolean`:a.type=t.type;break;default:a.type=`expression`;break}else a.type=`expression`;return a.value=t.value,a.fieldName=r,{type:`dbdefault`,value:a}}var WZe=o((()=>{U9()}));function GZe(e,t){let n=t?t.join(`,`):null;return{type:`type`,value:{type_name:n?`${lu(e)}(${n})`:lu(e),schemaName:e.length>1?e[0]:null,args:n}}}function KZe(e,t,n){let r={};return r[t.type]=t.value,n.forEach(e=>{e&&(r[e.type]=e.value)}),r.name=e[0],r.inline_refs||=[],{type:`fields`,value:r}}var qZe=o((()=>{Yu()})),W9,G9,JZe,YZe,XZe,ZZe=o((()=>{W9=u(t9(),1),y9(),F9(),T9(),B9(),U9(),fZe(),qZe(),G9=W9.default.createLanguage({ColumnsDefinition:e=>W9.default.alt(e.ComputedColumnDefinition.result(null),e.ColumnSetDefinition.result(null),e.ColumnDefinition),ColumnDefinition:e=>W9.default.seqMap(A9,e.DataType,W9.default.alt(e.ColumnSetting,e.IgnoredColumnSetting.result(null)).many().fallback(null),KZe).thru(b9()),ColumnSetDefinition:()=>W9.default.seq(N9,IYe),ComputedColumnDefinition:()=>W9.default.seq(N9,PYe,dZe,W9.default.seq(FYe,gYe.fallback(null)).fallback(null),RZe.fallback(null)),ColumnSetting:e=>W9.default.alt(e.NullOrNot,e.Identity,kZe,RZe),IgnoredColumnSetting:e=>W9.default.alt(e.ColumnSetting1Word,e.ColumnSettingWith,e.ColumnSettingGAAR,e.ColumnSettingCollate),DataType:e=>W9.default.seqMap(A9,x9(W9.default.alt(e.DataTypeXML,N9)).fallback(null),GZe),DataTypeXML:()=>W9.default.seq(W9.default.alt(mYe,pYe),N9).tieWith(` `),NullOrNot:()=>W9.default.alt(hYe.result(!1),gYe.result(!0)).thru(S9(`not_null`)),Identity:()=>qJe.result(!0).skip(qXe.fallback(null)).thru(S9(`increment`)),ColumnSetting1Word:()=>W9.default.alt(vYe,u9,xYe,bYe),ColumnSettingWith:()=>W9.default.seq(W9.default.alt(SYe,CYe),c9,zXe),ColumnSettingCollate:()=>W9.default.seq(yYe,N9),ColumnSettingGAAR:()=>W9.default.seq(TYe,W9.default.alt(EYe,DYe),OYe.fallback(null))}),G9.Identity,G9.DataType,XZe=G9.ColumnsDefinition})),K9,QZe,$Ze,eQe=o((()=>{K9=u(t9(),1),y9(),F9(),T9(),WZe(),CZe(),B9(),U9(),ZZe(),QZe=K9.default.createLanguage({AddAction:e=>K9.default.seq(GYe,e.AddOption.sepBy1(h9)).map(e=>e[1]),AddOption:e=>K9.default.alt(e.AddConstraint,XZe.result(null),e.IgnoredAddSystemTimeOption.result(null)),IgnoredAddSystemTimeOption:()=>K9.default.alt(N9,K9.default.regexp(/[(),]/)).many(),AddConstraint:e=>K9.default.seqMap(VZe.fallback(null),e.AddConstraintOption,IZe).thru(b9()),AddConstraintOption:e=>K9.default.alt(SZe,NZe,BZe,e.AddConstraintDefault,e.IgnoredAddConstraintOption.result(null)),IgnoredAddConstraintOption:e=>K9.default.alt(e.AddConstraintConnection),AddConstraintDefault:()=>K9.default.seqMap(_Ye,HZe,BYe,N9,VYe.fallback(null),UZe),AddConstraintConnection:()=>K9.default.seq(HYe,x9(K9.default.seq(N9,UYe,N9)))}),$Ze=QZe.AddAction})),q9,tQe,nQe,rQe=o((()=>{q9=u(t9(),1),y9(),F9(),oZe(),eQe(),tQe=q9.default.createLanguage({AlterTable:e=>q9.default.seqMap(e.AlterTableKeywords,A9,e.AlterTableActions,aZe),AlterTableActions:e=>q9.default.alt($Ze,e.IgnoredAlterTableActions),AlterTableKeywords:()=>q9.default.seq(WYe,d9),IgnoredAlterTableActions:e=>q9.default.seq(e.IgnoredAlterTableActionKeywords,D9).result(null),IgnoredAlterTableActionKeywords:()=>q9.default.alt(c9,$Ye,QYe,YYe,XYe,rYe,JYe,KYe,qYe)}),nQe=tQe.AlterTable}));function iQe(e,t,n,r,i,a,o,s){let c=C9(o),l=[];return s.forEach(e=>{l.push({value:e,type:`column`})}),{type:`indexes`,value:{name:i,unique:t?!0:null,tableName:c.name,schemaName:c.schemaName,columns:l}}}var aQe=o((()=>{T9()})),J9,oQe,sQe,cQe=o((()=>{J9=u(t9(),1),y9(),F9(),T9(),aQe(),B9(),oQe=J9.default.createLanguage({CreateIndex:e=>J9.default.seqMap(f9,l9.fallback(null),P9.fallback(null),s9,N9,JJe,A9,k9,iQe).thru(b9()).skip(e.IgnoredCreateIndexOptions),IgnoredCreateIndexOptions:e=>J9.default.alt(AZe,e.IncludeIndexOption,e.WhereIndexOption).many(),IncludeIndexOption:()=>J9.default.seq(LYe,k9),WhereIndexOption:e=>J9.default.seq(zYe,e.FilterPredicate),FilterPredicate:e=>J9.default.seq(e.Conjunct,J9.default.seq(wXe,e.Conjunct).fallback(null)),Conjunct:e=>J9.default.alt(e.Disjunct,e.Comparsion),Disjunct:()=>J9.default.seq(N9,RYe,x9(j9)),Comparsion:()=>J9.default.seq(N9,VXe,j9)}),sQe=oQe.CreateIndex}));function lQe(e,t,n,r){if(!t||t.length===0)return;let i={},a=t[0];i.onUpdate=a.onUpdate,i.onDelete=a.onDelete,i.endpoints=[],i.endpoints.push({tableName:r.name,schemaName:r.schemaName,fieldNames:[n],relation:`*`}),a.endpoint.fieldNames||(a.endpoint.fieldNames=i.endpoints[0].fieldNames),i.endpoints.push(a.endpoint),e.push(i)}function uQe(e,t,n){if(t.enums){let r=t.enums,i=t.type;r.name=`${n.schemaName?`${n.schemaName}_`:``}${n.name}_${t.enums.name}`,i.type_name=r.name,i.args=r.values.map(e=>`'${e.name}'`).join(`, `),e.push(r),t.enums=null}}function dQe(e,t){t.indexes&&=(t.indexes.columns.push({value:t.name,type:`column`}),e.push(t.indexes),null)}function fQe(e,t){let n={fields:[],enums:[],refs:[],indexes:[]};return e.forEach(e=>{if(e&&n[e.type]){if(e.type===`fields`&&(uQe(n.enums,e.value,t),dQe(n.indexes,e.value),lQe(n.refs,e.value.inline_refs,e.value.name,t)),e.type===`refs`){let n=e.value;n.endpoints[0].tableName=t.name,n.endpoints[0].schemaName=t.schemaName}n[e.type].push(e.value)}}),{type:`lines`,value:n}}function pQe(e,t,n,r){let i=C9(t),a=fQe(r,i);return{type:`tables`,value:{...i,...a.value}}}var mQe=o((()=>{T9()})),Y9,hQe,gQe,_Qe=o((()=>{Y9=u(t9(),1),y9(),F9(),T9(),U9(),B9(),ZZe(),mQe(),hQe=Y9.default.createLanguage({CreateTable:e=>Y9.default.seqMap(e.CreateTableKeywords,A9,e.AsFileTableKeywords.fallback(null),x9(e.Line),pQe).thru(b9()).skip(e.IgnoredTableOptions),CreateTableKeywords:()=>Y9.default.seq(f9,d9),AsFileTableKeywords:()=>Y9.default.seq(PYe,NYe),Line:e=>Y9.default.alt(e.SystemTimeTableOption,zZe,jZe,XZe),SystemTimeTableOption:()=>Y9.default.seq(MYe,x9(N9)).result(null),IgnoredTableOptions:e=>Y9.default.alt(AZe,e.TextImageTableOption).many(),TextImageTableOption:()=>Y9.default.seq(jYe,N9)}),gQe=hQe.CreateTable}));function vQe({note:e,level:t}){let n=`unsupported`,r=null,i=null,a=null;return SQe(t)?(r=t[0].name,i=t[1].name,n=`table`):CQe(t)&&(r=t[0].name,i=t[1].name,a=t[2].name,n=`column`),{type:`comment`,value:{type:n,note:e,schemaName:r,tableName:i,columnName:a}}}var yQe,bQe,xQe,SQe,CQe,wQe=o((()=>{yQe=e=>e.toLowerCase()===`schema`,bQe=e=>e.toLowerCase()===`table`,xQe=e=>e.toLowerCase()===`column`,SQe=e=>e.length===2&&yQe(e[0].type)&&bQe(e[1].type),CQe=e=>e.length===3&&yQe(e[0].type)&&bQe(e[1].type)&&xQe(e[2].type)})),X9,TQe,EQe,DQe=o((()=>{X9=u(t9(),1),y9(),wQe(),T9(),TQe=X9.default.createLanguage({StartComment:()=>X9.default.seq(uXe,SXe),EndComment:()=>X9.default.seq(v9.atMost(1),p9),StartString:()=>X9.default.alt(OXe,X9.default.string(`N'`)),ManyDoubleSingleQuote:()=>X9.default.string(`''`),NoSingleQuote:()=>X9.default.regex(/[^']/),StringType:e=>X9.default.alt(e.NoSingleQuote,e.ManyDoubleSingleQuote).atLeast(1).map(e=>e.join(``)),NVarchar:e=>e.StartString.then(e.StringType).skip(OXe),NameOption:e=>jXe.skip(_9).then(e.NVarchar),ValueOption:e=>MXe.skip(_9).then(e.NVarchar),Level0Type:e=>NXe.skip(_9).then(e.NVarchar),Level0Name:e=>PXe.skip(_9).then(e.NVarchar),Level1Type:e=>FXe.skip(_9).then(e.NVarchar),Level1Name:e=>IXe.skip(_9).then(e.NVarchar),Level2Type:e=>LXe.skip(_9).then(e.NVarchar),Level2Name:e=>RXe.skip(_9).then(e.NVarchar),Level0Stmt:e=>X9.default.seqObj([`type`,e.Level0Type],h9,[`name`,e.Level0Name]),Level1Stmt:e=>X9.default.seqObj([`type`,e.Level1Type],h9,[`name`,e.Level1Name]),Level2Stmt:e=>X9.default.seqObj([`type`,e.Level2Type],h9,[`name`,e.Level2Name]),Level0Wrapper:e=>X9.default.alt(X9.default.seq(e.Level0Stmt.skip(h9),e.Level1Wrapper),e.Level0Stmt).map(e=>Array.isArray(e)?[e[0],...e[1]]:[e]).atMost(1).map(e=>e.length===1?e[0]:e),Level1Wrapper:e=>X9.default.alt(X9.default.seq(e.Level1Stmt.skip(h9),e.Level2Stmt),e.Level1Stmt).map(e=>Array.isArray(e)?e:[e]),CommentSyntax:e=>X9.default.seqObj(e.StartComment,[`name`,e.NameOption],h9,[`note`,e.ValueOption],h9,[`level`,e.Level0Wrapper],e.EndComment).map(vQe).thru(b9())}),EQe=TQe.CommentSyntax})),OQe=o((()=>{rQe(),cQe(),_Qe(),DQe()}));function Z9(e,t,n){let r=n||`public`;return e.tables.find(e=>(e.schemaName||`public`)===r&&e.name===t)}function kQe(e,t){return e.fields.find(e=>e.name===t)}function AQe(e,t){Z9(t,e.tableName,e.schemaName).indexes.push(e),e.tableName=null}function jQe(e,t){e.forEach(e=>{t.push(e)})}function MQe(e,t){jQe(e.enums,t.enums),jQe(e.refs,t.refs),e.enums.forEach(e=>{e.fieldName=null}),e.enums=null,e.refs=null}function NQe(e,t){let n=kQe(Z9(t,e.tableName,e.schemaName),e.fieldName);e.fieldName=null,e.tableName=null,n.dbdefault=e}function PQe(e,t){let n=kQe(Z9(t,e.tableName,e.schemaName),e.fieldName);e.name=`${e.tableName}_${e.fieldName}_enum`,e.fieldName=null,e.tableName=null,n.type.type_name=e.name,n.type.args=e.values.map(e=>`'${e.name}'`).join(`, `)}function FQe(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=Z9(t,e.tableName,n);r&&(r.note=e.note?{value:e.note}:null)}function IQe(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=Z9(t,e.tableName,n);if(r){let t=kQe(r,e.columnName);t&&(t.note=e.note?{value:e.note}:null)}}function LQe(e,t){e.type===`table`?FQe(e,t):e.type===`column`&&IQe(e,t)}function RQe(e){let t={tables:[],refs:[],indexes:[],enums:[]};return ao(e).forEach(e=>{if(e){switch(e.type){case`tables`:MQe(e.value,t);break;case`indexes`:AQe(e.value,t);break;case`dbdefault`:NQe(e.value,t);break;case`enums`:PQe(e.value,t);break;case`comment`:LQe(e.value,t);break;default:break}e.type&&t[e.type]&&t[e.type].push(e.value)}}),t.indexes=null,t}var zQe=o((()=>{Yu()})),Q9,BQe,$9,VQe=o((()=>{Q9=u(t9(),1),y9(),OQe(),i9(),zQe(),F9(),BQe=Q9.default.createLanguage({Statements:e=>r9.then(e.Seperator).then(Q9.default.sepBy(e.StatementTypes,e.Seperator)).skip(e.Seperator).map(RQe),StatementTypes:e=>Q9.default.alt(sQe,gQe,nQe,EQe,e.IgnoredStatementTypes),IgnoredStatementTypes:e=>Q9.default.seq(e.IgnoredStatementSyntax,D9),IgnoredStatementSyntax:e=>Q9.default.alt(e.IgnoredDDLSyntax,e.IgnoredDMLSyntax,e.IgnoredBackupAndRestoreSyntax,e.IgnoredServiceBrokerSyntax,e.IgnoredPermissionSyntax,GYe,sXe,KYe,xXe),IgnoredDDLSyntax:e=>Q9.default.alt(e.KeywordCreateWithoutTable,e.KeywordAlterWithoutTable,yYe,QYe,yXe,YYe,XYe),IgnoredDMLSyntax:()=>Q9.default.alt(eXe,tXe,nXe,rXe,iXe,bXe),IgnoredServiceBrokerSyntax:()=>Q9.default.alt(mXe,DYe,gXe,_Xe,vXe),IgnoredPermissionSyntax:()=>Q9.default.alt(cXe,lXe,dXe,fXe,pXe),IgnoredBackupAndRestoreSyntax:()=>Q9.default.alt(aXe,oXe),KeywordCreateWithoutTable:()=>f9.notFollowedBy(d9),KeywordAlterWithoutTable:()=>WYe.notFollowedBy(d9),Seperator:()=>Q9.default.alt(v9,p9,Q9.default.seq(v9,p9)).many()}),$9=BQe.Statements})),HQe=c({default:()=>UQe},1),UQe,WQe=o((()=>{VQe(),$9.parseWithPegError=function(e){try{return $9.tryParse(e)}catch(t){let n={name:`SyntaxError`};console.error(t),n.location={},n.location.start=t.result.index,n.found=e[n.location.start.offset];let r=t.result.expected.pop();throw n.message=`Expected ${`${t.result.expected.join(`, `)}, or ${r}`} but "${n.found}" found.`,n}},UQe=$9})),GQe=s(((e,t)=>{t.exports=(WQe(),d(HQe))})),KQe=u(zJe(),1),qQe=u(BJe(),1),JQe=u(VJe(),1),YQe=u(HJe(),1),XQe=u(GQe(),1),ZQe=class e{constructor(e){this.DBMLCompiler=e||new E_}static parseJSONToDatabase(e){return new Hme(e)}static parseMySQLToJSONv2(e){return Q7(e,`mysql`)}static parseMySQLToJSON(e){return KQe.default.parse(e)}static parsePostgresToJSONv2(e){return Q7(e,`postgres`)}static parsePostgresToJSON(e){return qQe.default.parse(e)}static parseDBMLToJSONv2(e,t){let n=t||new E_;n.setSource(e);let r=n.parse.errors().map(e=>({message:e.diagnostic,location:{start:{line:e.nodeOrToken.startPos.line+1,column:e.nodeOrToken.startPos.column+1},end:{line:e.nodeOrToken.endPos.line+1,column:e.nodeOrToken.endPos.column+1}},code:e.code}));if(r.length>0)throw K7.create(r);return n.parse.rawDb()}static parseDBMLToJSON(e){return JQe.default.parse(e)}static parseSchemaRbToJSON(e){return YQe.default.parse(e)}static parseMSSQLToJSON(e){return XQe.default.parseWithPegError(e)}static parseMSSQLToJSONv2(e){return Q7(e,`mssql`)}static parseSnowflakeToJSON(e){return Q7(e,`snowflake`)}static parseOracleToJSON(e){return Q7(e,`oracle`)}static parse(t,n){return new e().parse(t,n)}parse(t,n){try{let r={};switch(n){case`mysql`:r=e.parseMySQLToJSONv2(t);break;case`mysqlLegacy`:r=e.parseMySQLToJSON(t);break;case`postgres`:r=e.parsePostgresToJSONv2(t);break;case`snowflake`:r=e.parseSnowflakeToJSON(t);break;case`postgresLegacy`:r=e.parsePostgresToJSON(t);break;case`dbml`:r=e.parseDBMLToJSON(t);break;case`dbmlv2`:r=e.parseDBMLToJSONv2(t,this.DBMLCompiler);break;case`schemarb`:r=e.parseSchemaRbToJSON(t);break;case`mssqlLegacy`:r=e.parseMSSQLToJSON(t);break;case`mssql`:r=e.parseMSSQLToJSONv2(t);break;case`oracle`:r=e.parseOracleToJSON(t);break;case`json`:r=typeof t==`object`?t:JSON.parse(t);break;default:break}return e.parseJSONToDatabase(r)}catch(e){throw K7.create(e)}}},QQe=ZQe,$Qe=e=>new Hme(e),e$e=e=>e.map(e=>{let{name:t,endpoints:n,onDelete:r,onUpdate:i}=e;return new oE({name:t,endpoints:n.map(e=>new aE(e)),onDelete:r,onUpdate:i}).toJSON()}),t$e=e=>e.map(e=>{let{name:t,schemaName:n,values:r}=e;return new sE({name:t,schemaName:n,values:r})}),n$e=(e,t)=>e.map(e=>{let n=t[e.name]||{};return new rE({name:e.name,type:e.type,dbdefault:e.dbdefault,not_null:e.not_null,increment:e.increment,pk:n.pk||e.pk,unique:n.unique||e.unique,note:e.note,checks:n.checks})}),r$e=e=>e.map(e=>{let{name:t,unique:n,pk:r,type:i,columns:a}=e;return new nE({name:t,unique:n,pk:r,type:i,columns:a})}),i$e=(e,t,n,r,i)=>e.map(e=>{let{name:a,schemaName:o,note:s}=e,c=o?`${o}.${a}`:`${a}`,l=i[c]||{};return new iE({name:a,schemaName:o,fields:n$e(t[c],l),indexes:r$e(n[c]||[]),note:s,checks:r[c]})}),a$e=e=>{let{tables:t,fields:n,indexes:r,refs:i,enums:a,tableConstraints:o,checks:s}=e;try{let e=i$e(t,n,r,s,o),c=t$e(a);return $Qe({schemas:[],tables:e,refs:e$e(i),enums:c,tableGroups:[],aliases:[],project:{}})}catch(e){throw Error(e)}};function o$e(e,t){let n=new QQe().parse(e,t);return F_.export(n.normalize(),`dbml`)}function s$e(e){let t=a$e(e);return F_.export(t.normalize(),`dbml`)}var c$e={import:o$e,generateDbml:s$e};function l$e(e,t){let n=new QQe().parse(e,`dbmlv2`);return F_.export(n.normalize(),t)}var u$e={export:l$e};function d$e(e,t,n){let r=new E_;return r.setSource(n),r.renameTable(e,t)}const f$e=`6.3.0-alpha.1`,p$e=`6.3.0-alpha.1`;exports.CompilerError=K7,exports.ModelExporter=F_,exports.Parser=QQe,exports.VERSION=`6.3.0-alpha.1`,exports.addDoubleQuoteIfNeeded=u_,exports.exporter=u$e,exports.formatRecordValue=zfe,exports.importer=c$e,exports.isBinaryType=oh,exports.isBooleanType=ih,exports.isDateTimeType=sh,exports.isFloatType=nh,exports.isIntegerType=th,exports.isNumericType=rh,exports.isSerialType=ch,exports.isStringType=ah,exports.renameTable=d$e,exports.tryExtractBoolean=Xg,exports.tryExtractDateTime=Qg,exports.tryExtractEnum=cfe,exports.tryExtractInteger=afe,exports.tryExtractNumeric=Yg,exports.tryExtractString=Zg;
|
|
137
|
+
`),Xe=Te(Ye,Je,qe).desc(`newline`),Ze=Te(Xe,Be);r.all=ze,r.alt=Te,r.any=Re,r.cr=qe,r.createLanguage=function(e){var t={};for(var n in e)({}).hasOwnProperty.call(e,n)&&function(n){t[n]=Fe(function(){return e[n](t)})}(n);return t},r.crlf=Ye,r.custom=function(e){return r(e(y,ne))},r.digit=Ve,r.digits=He,r.empty=Ie,r.end=Ze,r.eof=Be,r.fail=je,r.formatError=xe,r.index=Le,r.isParser=ee,r.lazy=Fe,r.letter=Ue,r.letters=We,r.lf=Je,r.lookahead=Me,r.makeFailure=ne,r.makeSuccess=y,r.newline=Xe,r.noneOf=function(e){return Pe(function(t){return e.indexOf(t)<0}).desc(`none of '`+e+`'`)},r.notFollowedBy=Ne,r.of=Ae,r.oneOf=function(e){for(var t=e.split(``),n=0;n<t.length;n++)t[n]=`'`+t[n]+`'`;return Pe(function(t){return e.indexOf(t)>=0}).desc(t)},r.optWhitespace=Ge,r.Parser=r,r.range=function(e,t){return Pe(function(n){return e<=n&&n<=t}).desc(e+`-`+t)},r.regex=ke,r.regexp=ke,r.sepBy=Ee,r.sepBy1=De,r.seq=Ce,r.seqMap=we,r.seqObj=function(){for(var e,t={},n=0,i=(e=arguments,Array.prototype.slice.call(e)),a=i.length,o=0;o<a;o+=1){var s=i[o];if(!ee(s)){if(v(s)&&s.length===2&&typeof s[0]==`string`&&ee(s[1])){var c=s[0];if(Object.prototype.hasOwnProperty.call(t,c))throw Error(`seqObj: duplicate key `+c);t[c]=!0,n++;continue}throw Error(`seqObj arguments must be parsers or [string, parser] array pairs.`)}}if(n===0)throw Error(`seqObj expects at least one named parser, found zero`);return r(function(e,t){for(var n,r={},o=0;o<a;o+=1){var s,c;if(v(i[o])?(s=i[o][0],c=i[o][1]):(s=null,c=i[o]),!(n=re(c._(e,t),n)).status)return n;s&&(r[s]=n.value),t=n.index}return re(y(t,r),n)})},r.string=Oe,r.succeed=Ae,r.takeWhile=function(e){return le(e),r(function(t,n){for(var r=n;r<t.length&&e(se(t,r));)r++;return y(r,t.slice(n,r))})},r.test=Pe,r.whitespace=Ke,r[`fantasy-land/empty`]=Ie,r[`fantasy-land/of`]=Ae,r.Binary={bitSeq:d,bitSeqObj:function(e){u();var t={},n=0,r=s(function(e){if(v(e)){var r=e;if(r.length!==2)throw Error(`[`+r.join(`, `)+`] should be length 2, got length `+r.length);if(ue(r[0]),ce(r[1]),Object.prototype.hasOwnProperty.call(t,r[0]))throw Error(`duplicate key in bitSeqObj: `+r[0]);return t[r[0]]=!0,n++,r}return ce(e),[null,e]},e);if(n<1)throw Error(`bitSeqObj expects at least one named pair, got [`+e.join(`, `)+`]`);var i=s(function(e){return e[0]},r);return d(s(function(e){return e[1]},r)).map(function(e){return o(function(e,t){return t[0]!==null&&(e[t[0]]=t[1]),e},{},s(function(t,n){return[t,e[n]]},i))})},byte:function(e){if(u(),ce(e),e>255)throw Error(`Value specified to byte constructor (`+e+`=0x`+e.toString(16)+`) is larger in value than a single byte.`);var t=(e>15?`0x`:`0x0`)+e.toString(16);return r(function(n,r){var i=se(n,r);return i===e?y(r+1,i):ne(r,t)})},buffer:function(e){return f(`buffer`,e).map(function(e){return Buffer.from(e)})},encodedString:function(e,t){return f(`string`,t).map(function(t){return t.toString(e)})},uintBE:m,uint8BE:m(1),uint16BE:m(2),uint32BE:m(4),uintLE:h,uint8LE:h(1),uint16LE:h(2),uint32LE:h(4),intBE:g,int8BE:g(1),int16BE:g(2),int32BE:g(4),intLE:_,int8LE:_(1),int16LE:_(2),int32LE:_(4),floatBE:f(`floatBE`,4).map(function(e){return e.readFloatBE(0)}),floatLE:f(`floatLE`,4).map(function(e){return e.readFloatLE(0)}),doubleBE:f(`doubleBE`,8).map(function(e){return e.readDoubleBE(0)}),doubleLE:f(`doubleLE`,8).map(function(e){return e.readDoubleLE(0)})},e.exports=r}])})})),n9,UJe,r9,i9=o((()=>{n9=u(t9(),1),UJe=n9.default.createLanguage({WhiteSpaces:e=>n9.default.alt(e.WhiteSpace,e.InlineComment,e.MulLineComment).many().desc(`whitespaces or comments`),WhiteSpace:()=>n9.default.regexp(/\s/).desc(`whitespaces`),InlineComment:()=>n9.default.seq(n9.default.string(`--`),n9.default.regexp(/[^\n\r]*/)).desc(`comments`),MulLineComment:()=>n9.default.regexp(/\/\*[\s\S]+?\*\//).desc(`comments`)}),r9=UJe.WhiteSpaces}));function a9(e){return GJe.default.string(e).skip(r9).desc(`"${e}"`)}function WJe(e){let t=String(e);t=t.replace(/[\s]+/g,`\\s+`);let n=t.lastIndexOf(`/`);return new RegExp(t.slice(1,n),t.slice(n+1))}function o9(e){let t=e,n=e.source;return t=WJe(e),GJe.default.regexp(t).skip(r9).desc(`"${n}"`)}var GJe,KJe=o((()=>{GJe=u(t9(),1),i9()})),qJe,s9,c9,JJe,YJe,XJe,ZJe,QJe,$Je,eYe,tYe,nYe,rYe,iYe,l9,aYe,oYe,u9,sYe,cYe,lYe,uYe,dYe,fYe,pYe,mYe,hYe,gYe,_Ye,vYe,yYe,bYe,xYe,SYe,CYe,wYe,TYe,EYe,DYe,OYe,kYe,AYe,jYe,MYe,NYe,d9,f9,PYe,FYe,IYe,LYe,RYe,zYe,BYe,VYe,HYe,UYe,WYe,GYe,KYe,qYe,JYe,YYe,XYe,ZYe,QYe,$Ye,p9,eXe,tXe,nXe,rXe,iXe,aXe,oXe,sXe,cXe,lXe,uXe,dXe,fXe,pXe,mXe,hXe,gXe,_Xe,vXe,yXe,bXe,xXe,SXe,CXe,wXe,TXe,EXe,m9,h9,g9,DXe,OXe,kXe,AXe,_9,v9,jXe,MXe,NXe,PXe,FXe,IXe,LXe,RXe,y9=o((()=>{KJe(),qJe=o9(/IDENTITY/i),s9=o9(/INDEX/i),c9=o9(/WITH/i),JJe=o9(/ON/i),o9(/OFF/i),XJe=o9(/FILESTREAM_ON/i),ZJe=o9(/PRIMARY KEY/i),QJe=o9(/CLUSTERED/i),$Je=o9(/NONCLUSTERED/i),eYe=o9(/COLUMNSTORE/i),tYe=o9(/REFERENCES/i),nYe=o9(/FOREIGN KEY/i),rYe=o9(/CHECK/i),iYe=o9(/CONSTRAINT/i),l9=o9(/UNIQUE/i),o9(/HASH/i),o9(/BUCKET_COUNT/i),u9=o9(/NOT FOR REPLICATION/),sYe=o9(/ON DELETE/i),cYe=o9(/ON UPDATE/i),lYe=o9(/SET NULL/i),uYe=o9(/SET DEFAULT/i),dYe=o9(/NO ACTION/i),fYe=o9(/CASCADE/i),pYe=o9(/CONTENT/i),mYe=o9(/DOCUMENT/i),hYe=o9(/NULL/i),gYe=o9(/NOT NULL/i),_Ye=o9(/DEFAULT/i),vYe=o9(/FILESTREAM/i),yYe=o9(/COLLATE/i),bYe=o9(/SPARSE/i),xYe=o9(/ROWGUIDCOL/i),SYe=o9(/MASKED/i),CYe=o9(/ENCRYPTED/i),o9(/FUNCTION/i),TYe=o9(/GENERATED ALWAYS AS ROW/i),EYe=o9(/START/i),DYe=o9(/END/i),OYe=o9(/HIDDEN/i),kYe=o9(/ASC/i),AYe=o9(/DESC/i),jYe=o9(/TEXTIMAGE_ON/i),MYe=o9(/PERIOD FOR SYSTEM_TIME/i),NYe=o9(/FILETABLE/i),d9=o9(/TABLE/i),f9=o9(/CREATE/i),PYe=o9(/AS/i),FYe=o9(/PERSISTED/i),IYe=o9(/XML COLUMN_SET FOR ALL_SPARSE_COLUMNS/i),LYe=o9(/INCLUDE/i),RYe=o9(/IN/i),zYe=o9(/WHERE/i),BYe=o9(/FOR/i),VYe=o9(/WITH VALUES/i),HYe=o9(/CONNECTION/i),UYe=o9(/TO/i),WYe=o9(/ALTER/i),GYe=o9(/ADD/i),KYe=o9(/SET/i),qYe=o9(/REBUILD/i),JYe=o9(/SWITCH/i),YYe=o9(/ENABLE/i),XYe=o9(/DISABLE/i),o9(/NOCHECK/i),QYe=o9(/DROP/i),$Ye=o9(/ALTER COLUMN/i),p9=o9(/GO/i),eXe=o9(/BULK INSERT/i),tXe=o9(/INSERT/i),nXe=o9(/UPDATE/i),rXe=o9(/MERGE/i),iXe=o9(/TRUNCATE TABLE/i),aXe=o9(/BACKUP/i),oXe=o9(/RESTORE/i),sXe=o9(/CLOSE/i),cXe=o9(/DENY/i),lXe=o9(/EXECUTE/i),uXe=o9(/EXEC/i),dXe=o9(/GRANT/i),fXe=o9(/OPEN/i),pXe=o9(/REVOKE/i),mXe=o9(/BEGIN/i),o9(/GET/i),gXe=o9(/MOVE/i),_Xe=o9(/RECEIVE/i),vXe=o9(/SEND/i),yXe=o9(/RENAME/i),bXe=o9(/DELETE/i),xXe=o9(/IF/i),SXe=o9(/sp_addextendedproperty/i),CXe=o9(/IN/i),wXe=o9(/AND/i),a9(`<`),a9(`>`),m9=a9(`(`),h9=a9(`,`),g9=a9(`)`),a9(`"`),OXe=a9(`'`),a9(`[`),a9(`]`),_9=a9(`=`),v9=a9(`;`),jXe=o9(/@name/i),MXe=o9(/@value/i),NXe=o9(/@level0type/i),PXe=o9(/@level0name/i),FXe=o9(/@level1type/i),IXe=o9(/@level1name/i),LXe=o9(/@level2type/i),RXe=o9(/@level2name/i)}));function b9(){return function(e){return w9.default.seqMap(w9.default.index,e,w9.default.index,(t,n,r)=>n?(typeof n.value!=`object`&&(n.value={value:n.value}),n.value.token={start:t,end:r},n):e).skip(r9)}}function x9(e,t=!1){let n=e.sepBy1(h9);return t&&(n=e.sepBy(h9)),w9.default.seq(m9,n,g9).map(e=>e[1])}function S9(e){return function(t){return t.skip(r9).map(t=>(t!==0&&!t&&(t=``),{type:e,value:t}))}}function C9(e){let t=null;return e.length>1&&(t=e[e.length-2]),{name:lu(e),schemaName:t}}var w9,T9=o((()=>{w9=u(t9(),1),Yu(),y9(),i9()})),E9,D9,O9,k9,A9,zXe,BXe,VXe,j9,M9,HXe,UXe,WXe,GXe,KXe,qXe,JXe,YXe,XXe,N9,ZXe,QXe,$Xe,eZe,tZe,P9,nZe,F9=o((()=>{E9=u(t9(),1),T9(),y9(),i9(),D9=(0,E9.default)((e,t)=>{let n=t,r=!1,i=``;for(;n<e.length&&(r||!e.slice(n,n+2).match(/GO|;/i));)for(r&&e[n].match(/\]|'|"/i)&&e[n]===i?r=!1:!r&&e[n].match(/\[|"|'/i)&&(r=!0,i=e[n],e[n]===`[`&&(i=`]`)),e[n].match(/\s/)||(n+=1);n<e.length&&e[n].match(/\s/);)n+=1;return e.slice(n,n+2).match(/GO/i)&&--n,E9.default.makeSuccess(n+1,``)}),O9=E9.default.createLanguage({pIgnore:()=>D9,pColumnNames:e=>x9(E9.default.seq(e.pIdentifier,e.pKeywordAscOrDesc.fallback(null)).map(e=>e[0])).desc(`list of column names`),pDotDelimitedName:e=>E9.default.sepBy1(e.pIdentifier,E9.default.string(`.`)).desc(`dot delimited identifier`),pOptionList:e=>x9(e.pOption),pOption:e=>E9.default.seq(e.pIdentifier,_9,E9.default.seq(E9.default.alt(e.pIdentifier,e.pString).many(),E9.default.alt(e.pOptionList,x9(e.pIdentifier.many())).fallback(null))).desc(`option`),pComparsionOp:()=>E9.default.regex(/IS|IS[^\S\r\n]+NOT|=|<>|!=|>|>=|!>|<|<=|!</i).skip(r9).desc(`comparsion operator`),pConst:e=>E9.default.alt(e.pString,e.pUnicode,e.pBinary,e.pScience,e.pMoney,e.pSigned,e.pNumber).desc(`constant`),pFunction:e=>E9.default.seq(e.pIdentifier,x9(e.pFunctionParam,!0)).map(e=>`${e[0]}(${e[1].join(`,`)})`).thru(S9(`function`)).desc(`function constant`),pFunctionParam:e=>E9.default.alt(e.pNumber,e.pIdentifier).desc(`identifier or number paremeter`),pMoney:e=>E9.default.seq(E9.default.regexp(/[+-]\$/),e.pNumber).thru(S9(`money`)).desc(`money constant`),pSigned:e=>E9.default.seq(E9.default.regexp(/[+-]/),e.pNumber).thru(S9(`signed`)).desc(`signed constant`),pUnicode:e=>E9.default.seq(E9.default.string(`N`),e.pString).thru(S9(`unicode`)).desc(`unicode constant`),pString:()=>E9.default.regexp(/'[^']*'/).thru(S9(`string`)).map(e=>{let t=e.value;return e.value=t.slice(1,t.length-1),e}).desc(`string constant`),pNumberList:e=>x9(e.pNumber).desc(`list of number`),pNumber:()=>E9.default.regexp(/[0-9]+(\.[0-9]+)?/).map(Number).thru(S9(`number`)).desc(`number constant`),pBinary:()=>E9.default.regexp(/0x[A-F0-9]*/).thru(S9(`binary`)).desc(`binary constant`),pScience:()=>E9.default.regexp(/[+-]+[0-9]+(\.[0-9E]+)?/).thru(S9(`science`)).desc(`science constant`),pIdentifier:e=>E9.default.alt(e.pRegularIdentifier,e.pDelimitedIdentifier).skip(r9).desc(`identifier`),pDelimitedIdentifier:e=>E9.default.alt(e.pDQDelimitedIdentifier,e.pBracketDelimitedIdentifier).skip(r9).desc(`delimited identifier`),pRegularIdentifier:()=>E9.default.regexp(/^[\w@#][\w@#$]*/).skip(r9),pDQDelimitedIdentifier:()=>E9.default.seq(E9.default.string(`"`),E9.default.regexp(/[^"]*/),E9.default.string(`"`)).map(e=>e[1]).skip(r9),pBracketDelimitedIdentifier:()=>E9.default.seq(E9.default.string(`[`),E9.default.regexp(/[^\]]*/),E9.default.string(`]`)).map(e=>e[1]).skip(r9),pKeywordPKOrUnique:()=>E9.default.alt(ZJe.result({type:`pk`,value:!0}),l9.result({type:`unique`,value:!0})),pKeywordClusteredOrNon:()=>E9.default.alt(QJe,$Je),pKeywordAscOrDesc:()=>E9.default.alt(kYe,AYe)}),k9=O9.pColumnNames,A9=O9.pDotDelimitedName,zXe=O9.pOptionList,BXe=O9.pOption,VXe=O9.pComparsionOp,j9=O9.pConst,M9=O9.pFunction,O9.pFunctionParam,O9.pMoney,O9.pSigned,O9.pUnicode,O9.pString,qXe=O9.pNumberList,O9.pNumber,O9.pBinary,O9.pScience,N9=O9.pIdentifier,O9.pDelimitedIdentifier,O9.pRegularIdentifier,O9.pDQDelimitedIdentifier,O9.pBracketDelimitedIdentifier,tZe=O9.pKeywordPKOrUnique,P9=O9.pKeywordClusteredOrNon,O9.pKeywordAscOrDesc}));function rZe(e,t){let n=t.value.endpoints.find(e=>!e.tableName);n.tableName=e.name,n.schemaName=e.schemaName}function iZe(e,t){t.value.tableName=e.name,t.value.schemaName=e.schemaName}function aZe(e,t,n){if(!n)return null;let r=C9(t);return n.forEach(e=>{if(e)switch(e.type){case`refs`:rZe(r,e);break;case`indexes`:case`dbdefault`:case`enums`:iZe(r,e);break;default:break}}),n}var oZe=o((()=>{T9()}));function sZe(e){return e.many().map(e=>e.join(``)).fallback(null).thru(S9(`token`))}function cZe(e){let t=g9.thru(sZe),n=m9.thru(sZe);return I9.default.seq(n,e,t)}function lZe(e){return I9.default.alt(cZe(e),e)}var I9,uZe,dZe,fZe=o((()=>{I9=u(t9(),1),F9(),y9(),i9(),T9(),Yu(),uZe=I9.default.createLanguage({ExpressionFinal:e=>e.Expression.map(e=>Su(e).map(e=>e?e.value:``).join(``)),Expression:e=>lZe(I9.default.seq(I9.default.alt(e.UnaryExpression,e.SimpleExpression),e.BinaryExpressionLR.fallback(null)).skip(r9)),UnaryExpression:e=>{let t=I9.default.regex(/[+\-~]/).thru(S9(`unary_operator`));return lZe(I9.default.seq(t,e.Expression).skip(r9))},BinaryExpressionLR:e=>{let t=I9.default.regexp(/[+\-*/%=!<>&^|]{1,2}/).map(e=>` ${e} `).thru(S9(`binary_operator`)).skip(r9);return I9.default.seq(t,e.Expression).skip(r9)},SimpleExpression:e=>lZe(I9.default.alt(M9,j9,e.ExpressionDDN).skip(r9)),ExpressionDDN:()=>A9.map(e=>e.join(`.`)).thru(S9(`identifier`))}),dZe=uZe.ExpressionFinal}));function pZe(e,t,n){return{tableName:e.name,schemaName:e.schemaName,fieldNames:t,relation:n}}function mZe(e,t){t.forEach(t=>{t.type.match(/ON[^\S\r\n]DELETE/i)&&(e.onDelete=t.setting),t.type.match(/ON[^\S\r\n]UPDATE/i)&&(e.onUpdate=t.setting)})}function hZe(e,t,n,r){let i={};return i.endpoint=pZe(C9(t),n,`1`),mZe(i,r),{type:`inline_refs`,value:[i]}}function gZe(e){return{type:`endpoint`,value:{fieldNames:e}}}function _Ze(e,t,n,r,i,a){let o={},s=C9(r);return i||={type:`endpoint`,value:{fieldNames:null}},t.value.relation=`*`,i.value.relation=`1`,i.value.tableName=s.name,i.value.schemaName=s.schemaName,o.endpoints=[t.value,i.value],mZe(o,a),{type:`refs`,value:o}}function vZe(e,t){return{type:e,setting:t.toLowerCase().trim().split(/[ ]+/).join(` `)}}var yZe=o((()=>{T9()})),L9,bZe,xZe,SZe,CZe=o((()=>{L9=u(t9(),1),y9(),F9(),T9(),yZe(),bZe=L9.default.createLanguage({TableConstraintFK:e=>L9.default.seqMap(nYe.fallback(null),e.TableEndpoint,tYe,A9,e.TableEndpoint.fallback(null),e.FKOptions.fallback(null),_Ze),TableEndpoint:()=>L9.default.seqMap(k9,gZe).thru(b9()),ColumnConstraintFK:e=>L9.default.seqMap(e.FKKeywords,A9,x9(N9).fallback(null),e.FKOptions.fallback(null),hZe),FKOptions:e=>L9.default.alt(e.FKOnDelete,e.FKOnUpdate,e.FKNFR).many(),FKKeywords:()=>L9.default.seq(nYe.fallback(null),tYe),FKOnDelete:e=>L9.default.seqMap(sYe,e.FKOnOptions,vZe),FKOnUpdate:e=>L9.default.seqMap(cYe,e.FKOnOptions,vZe),FKNFR:()=>u9.map(e=>({type:e})),FKOnOptions:()=>L9.default.alt(dYe,fYe,uYe,lYe)}),xZe=bZe.ColumnConstraintFK,SZe=bZe.TableConstraintFK}));function wZe(e,t,n,r=null){let i=[];return e.forEach(e=>{i.push({value:e,type:`column`})}),{type:`indexes`,value:{name:r,unique:t?!0:null,pk:n?!0:null,columns:i}}}function TZe(e,t){return{type:`indexes`,value:{name:t,columns:[]}}}function EZe(e,t,n,r,i,a){return wZe(a,n,null,t)}function DZe(e,t,n){let r=null,i=null;return e.type===`pk`?r=!0:e.type===`unique`&&(i=!0),wZe(n,i,r)}var OZe=o((()=>{})),R9,z9,kZe,AZe,jZe,MZe,NZe,B9=o((()=>{R9=u(t9(),1),y9(),F9(),T9(),OZe(),z9=R9.default.createLanguage({TableIndex:e=>R9.default.seqMap(s9,N9,l9.fallback(null),P9.fallback(null),eYe.fallback(null),k9,EZe).thru(b9()).skip(e.IgnoredIndexOptions),TableConstraintIndex:e=>R9.default.seqMap(tZe,P9.fallback(null),k9,DZe).thru(b9()).skip(e.IgnoredIndexOptions),ColumnConstraintIndex:e=>R9.default.seq(tZe).skip(e.IgnoredIndexOptions).map(e=>e[0]),ColumnIndex:e=>R9.default.seqMap(s9,N9,TZe).thru(b9()).skip(e.IgnoredIndexOptions),IgnoredIndexOptions:e=>R9.default.alt(P9,e.IgnoredIndexOption).many(),IgnoredIndexOption:e=>R9.default.alt(e.WithIndexOption,e.ColumnIndexFilestream,e.OnIndexOption,e.WithFillFactorOption),WithIndexOption:()=>R9.default.seq(c9,zXe),WithFillFactorOption:()=>R9.default.seq(c9,BXe),OnIndexOption:()=>R9.default.seq(JJe,R9.default.alt(N9,M9)),ColumnIndexFilestream:()=>R9.default.seq(XJe,N9)}),kZe=z9.ColumnIndex,AZe=z9.IgnoredIndexOption,jZe=z9.TableIndex,MZe=z9.ColumnConstraintIndex,NZe=z9.TableConstraintIndex}));function PZe(e,t){let n={};if(t.type)switch(t.type){case`string`:case`number`:case`boolean`:n.type=t.type;break;default:n.type=`expression`;break}else n.type=`expression`;return n.value=t.value,{type:`dbdefault`,value:n}}function FZe(e,t,n){let r=[];return n.forEach(e=>{r.push({name:e.value.value,token:e.value.token})}),{type:`enums`,value:{name:`${e}_enum`,values:r,fieldName:e}}}function IZe(e,t){return t?{type:t.type,value:{...t.value,name:t.type===`indexes`&&t.value.pk?null:e}}:null}var LZe=o((()=>{})),V9,H9,RZe,zZe,BZe,VZe,HZe,U9=o((()=>{V9=u(t9(),1),y9(),fZe(),F9(),T9(),CZe(),B9(),LZe(),H9=V9.default.createLanguage({TableConstraint:e=>V9.default.seqMap(e.ConstraintName.fallback(null),e.TableConstraintOption,IZe).thru(b9()),TableConstraintOption:e=>V9.default.alt(SZe,NZe,e.ConstraintCheck),ColumnConstraint:e=>V9.default.seq(e.ConstraintName.fallback(null),e.ColumnConstraintOption).map(e=>e[1]),ColumnConstraintOption:e=>V9.default.alt(MZe,xZe,e.ConstraintCheck,e.ConstraintDefault),ConstraintCheck:e=>V9.default.seq(rYe,u9.fallback(null),e.ConstraintCheckExpr).map(e=>e[2]),ConstraintCheckExpr:e=>V9.default.alt(V9.default.seq(m9.fallback(null),e.ConstraintCheckEnum,g9.fallback(null)).map(e=>e[1]),dZe.thru(S9(`expression`))),ConstraintCheckEnum:()=>V9.default.seqMap(N9,CXe,x9(j9.thru(b9())),FZe).thru(b9()),ConstraintDefault:e=>V9.default.seqMap(_Ye,e.ConstExpr,PZe),ConstExpr:e=>V9.default.alt(V9.default.seq(m9,e.ConstExpr,g9).map(e=>e[1]),M9,j9,hYe.thru(S9(`boolean`))),ConstraintName:()=>V9.default.seq(iYe,N9).map(e=>e[1])}),RZe=H9.ColumnConstraint,zZe=H9.TableConstraint,BZe=H9.ConstraintCheck,VZe=H9.ConstraintName,HZe=H9.ConstExpr}));function UZe(e,t,n,r,i){let a={};if(t.type)switch(t.type){case`string`:case`number`:case`boolean`:a.type=t.type;break;default:a.type=`expression`;break}else a.type=`expression`;return a.value=t.value,a.fieldName=r,{type:`dbdefault`,value:a}}var WZe=o((()=>{U9()}));function GZe(e,t){let n=t?t.join(`,`):null;return{type:`type`,value:{type_name:n?`${lu(e)}(${n})`:lu(e),schemaName:e.length>1?e[0]:null,args:n}}}function KZe(e,t,n){let r={};return r[t.type]=t.value,n.forEach(e=>{e&&(r[e.type]=e.value)}),r.name=e[0],r.inline_refs||=[],{type:`fields`,value:r}}var qZe=o((()=>{Yu()})),W9,G9,JZe,YZe,XZe,ZZe=o((()=>{W9=u(t9(),1),y9(),F9(),T9(),B9(),U9(),fZe(),qZe(),G9=W9.default.createLanguage({ColumnsDefinition:e=>W9.default.alt(e.ComputedColumnDefinition.result(null),e.ColumnSetDefinition.result(null),e.ColumnDefinition),ColumnDefinition:e=>W9.default.seqMap(A9,e.DataType,W9.default.alt(e.ColumnSetting,e.IgnoredColumnSetting.result(null)).many().fallback(null),KZe).thru(b9()),ColumnSetDefinition:()=>W9.default.seq(N9,IYe),ComputedColumnDefinition:()=>W9.default.seq(N9,PYe,dZe,W9.default.seq(FYe,gYe.fallback(null)).fallback(null),RZe.fallback(null)),ColumnSetting:e=>W9.default.alt(e.NullOrNot,e.Identity,kZe,RZe),IgnoredColumnSetting:e=>W9.default.alt(e.ColumnSetting1Word,e.ColumnSettingWith,e.ColumnSettingGAAR,e.ColumnSettingCollate),DataType:e=>W9.default.seqMap(A9,x9(W9.default.alt(e.DataTypeXML,N9)).fallback(null),GZe),DataTypeXML:()=>W9.default.seq(W9.default.alt(mYe,pYe),N9).tieWith(` `),NullOrNot:()=>W9.default.alt(hYe.result(!1),gYe.result(!0)).thru(S9(`not_null`)),Identity:()=>qJe.result(!0).skip(qXe.fallback(null)).thru(S9(`increment`)),ColumnSetting1Word:()=>W9.default.alt(vYe,u9,xYe,bYe),ColumnSettingWith:()=>W9.default.seq(W9.default.alt(SYe,CYe),c9,zXe),ColumnSettingCollate:()=>W9.default.seq(yYe,N9),ColumnSettingGAAR:()=>W9.default.seq(TYe,W9.default.alt(EYe,DYe),OYe.fallback(null))}),G9.Identity,G9.DataType,XZe=G9.ColumnsDefinition})),K9,QZe,$Ze,eQe=o((()=>{K9=u(t9(),1),y9(),F9(),T9(),WZe(),CZe(),B9(),U9(),ZZe(),QZe=K9.default.createLanguage({AddAction:e=>K9.default.seq(GYe,e.AddOption.sepBy1(h9)).map(e=>e[1]),AddOption:e=>K9.default.alt(e.AddConstraint,XZe.result(null),e.IgnoredAddSystemTimeOption.result(null)),IgnoredAddSystemTimeOption:()=>K9.default.alt(N9,K9.default.regexp(/[(),]/)).many(),AddConstraint:e=>K9.default.seqMap(VZe.fallback(null),e.AddConstraintOption,IZe).thru(b9()),AddConstraintOption:e=>K9.default.alt(SZe,NZe,BZe,e.AddConstraintDefault,e.IgnoredAddConstraintOption.result(null)),IgnoredAddConstraintOption:e=>K9.default.alt(e.AddConstraintConnection),AddConstraintDefault:()=>K9.default.seqMap(_Ye,HZe,BYe,N9,VYe.fallback(null),UZe),AddConstraintConnection:()=>K9.default.seq(HYe,x9(K9.default.seq(N9,UYe,N9)))}),$Ze=QZe.AddAction})),q9,tQe,nQe,rQe=o((()=>{q9=u(t9(),1),y9(),F9(),oZe(),eQe(),tQe=q9.default.createLanguage({AlterTable:e=>q9.default.seqMap(e.AlterTableKeywords,A9,e.AlterTableActions,aZe),AlterTableActions:e=>q9.default.alt($Ze,e.IgnoredAlterTableActions),AlterTableKeywords:()=>q9.default.seq(WYe,d9),IgnoredAlterTableActions:e=>q9.default.seq(e.IgnoredAlterTableActionKeywords,D9).result(null),IgnoredAlterTableActionKeywords:()=>q9.default.alt(c9,$Ye,QYe,YYe,XYe,rYe,JYe,KYe,qYe)}),nQe=tQe.AlterTable}));function iQe(e,t,n,r,i,a,o,s){let c=C9(o),l=[];return s.forEach(e=>{l.push({value:e,type:`column`})}),{type:`indexes`,value:{name:i,unique:t?!0:null,tableName:c.name,schemaName:c.schemaName,columns:l}}}var aQe=o((()=>{T9()})),J9,oQe,sQe,cQe=o((()=>{J9=u(t9(),1),y9(),F9(),T9(),aQe(),B9(),oQe=J9.default.createLanguage({CreateIndex:e=>J9.default.seqMap(f9,l9.fallback(null),P9.fallback(null),s9,N9,JJe,A9,k9,iQe).thru(b9()).skip(e.IgnoredCreateIndexOptions),IgnoredCreateIndexOptions:e=>J9.default.alt(AZe,e.IncludeIndexOption,e.WhereIndexOption).many(),IncludeIndexOption:()=>J9.default.seq(LYe,k9),WhereIndexOption:e=>J9.default.seq(zYe,e.FilterPredicate),FilterPredicate:e=>J9.default.seq(e.Conjunct,J9.default.seq(wXe,e.Conjunct).fallback(null)),Conjunct:e=>J9.default.alt(e.Disjunct,e.Comparsion),Disjunct:()=>J9.default.seq(N9,RYe,x9(j9)),Comparsion:()=>J9.default.seq(N9,VXe,j9)}),sQe=oQe.CreateIndex}));function lQe(e,t,n,r){if(!t||t.length===0)return;let i={},a=t[0];i.onUpdate=a.onUpdate,i.onDelete=a.onDelete,i.endpoints=[],i.endpoints.push({tableName:r.name,schemaName:r.schemaName,fieldNames:[n],relation:`*`}),a.endpoint.fieldNames||(a.endpoint.fieldNames=i.endpoints[0].fieldNames),i.endpoints.push(a.endpoint),e.push(i)}function uQe(e,t,n){if(t.enums){let r=t.enums,i=t.type;r.name=`${n.schemaName?`${n.schemaName}_`:``}${n.name}_${t.enums.name}`,i.type_name=r.name,i.args=r.values.map(e=>`'${e.name}'`).join(`, `),e.push(r),t.enums=null}}function dQe(e,t){t.indexes&&=(t.indexes.columns.push({value:t.name,type:`column`}),e.push(t.indexes),null)}function fQe(e,t){let n={fields:[],enums:[],refs:[],indexes:[]};return e.forEach(e=>{if(e&&n[e.type]){if(e.type===`fields`&&(uQe(n.enums,e.value,t),dQe(n.indexes,e.value),lQe(n.refs,e.value.inline_refs,e.value.name,t)),e.type===`refs`){let n=e.value;n.endpoints[0].tableName=t.name,n.endpoints[0].schemaName=t.schemaName}n[e.type].push(e.value)}}),{type:`lines`,value:n}}function pQe(e,t,n,r){let i=C9(t),a=fQe(r,i);return{type:`tables`,value:{...i,...a.value}}}var mQe=o((()=>{T9()})),Y9,hQe,gQe,_Qe=o((()=>{Y9=u(t9(),1),y9(),F9(),T9(),U9(),B9(),ZZe(),mQe(),hQe=Y9.default.createLanguage({CreateTable:e=>Y9.default.seqMap(e.CreateTableKeywords,A9,e.AsFileTableKeywords.fallback(null),x9(e.Line),pQe).thru(b9()).skip(e.IgnoredTableOptions),CreateTableKeywords:()=>Y9.default.seq(f9,d9),AsFileTableKeywords:()=>Y9.default.seq(PYe,NYe),Line:e=>Y9.default.alt(e.SystemTimeTableOption,zZe,jZe,XZe),SystemTimeTableOption:()=>Y9.default.seq(MYe,x9(N9)).result(null),IgnoredTableOptions:e=>Y9.default.alt(AZe,e.TextImageTableOption).many(),TextImageTableOption:()=>Y9.default.seq(jYe,N9)}),gQe=hQe.CreateTable}));function vQe({note:e,level:t}){let n=`unsupported`,r=null,i=null,a=null;return SQe(t)?(r=t[0].name,i=t[1].name,n=`table`):CQe(t)&&(r=t[0].name,i=t[1].name,a=t[2].name,n=`column`),{type:`comment`,value:{type:n,note:e,schemaName:r,tableName:i,columnName:a}}}var yQe,bQe,xQe,SQe,CQe,wQe=o((()=>{yQe=e=>e.toLowerCase()===`schema`,bQe=e=>e.toLowerCase()===`table`,xQe=e=>e.toLowerCase()===`column`,SQe=e=>e.length===2&&yQe(e[0].type)&&bQe(e[1].type),CQe=e=>e.length===3&&yQe(e[0].type)&&bQe(e[1].type)&&xQe(e[2].type)})),X9,TQe,EQe,DQe=o((()=>{X9=u(t9(),1),y9(),wQe(),T9(),TQe=X9.default.createLanguage({StartComment:()=>X9.default.seq(uXe,SXe),EndComment:()=>X9.default.seq(v9.atMost(1),p9),StartString:()=>X9.default.alt(OXe,X9.default.string(`N'`)),ManyDoubleSingleQuote:()=>X9.default.string(`''`),NoSingleQuote:()=>X9.default.regex(/[^']/),StringType:e=>X9.default.alt(e.NoSingleQuote,e.ManyDoubleSingleQuote).atLeast(1).map(e=>e.join(``)),NVarchar:e=>e.StartString.then(e.StringType).skip(OXe),NameOption:e=>jXe.skip(_9).then(e.NVarchar),ValueOption:e=>MXe.skip(_9).then(e.NVarchar),Level0Type:e=>NXe.skip(_9).then(e.NVarchar),Level0Name:e=>PXe.skip(_9).then(e.NVarchar),Level1Type:e=>FXe.skip(_9).then(e.NVarchar),Level1Name:e=>IXe.skip(_9).then(e.NVarchar),Level2Type:e=>LXe.skip(_9).then(e.NVarchar),Level2Name:e=>RXe.skip(_9).then(e.NVarchar),Level0Stmt:e=>X9.default.seqObj([`type`,e.Level0Type],h9,[`name`,e.Level0Name]),Level1Stmt:e=>X9.default.seqObj([`type`,e.Level1Type],h9,[`name`,e.Level1Name]),Level2Stmt:e=>X9.default.seqObj([`type`,e.Level2Type],h9,[`name`,e.Level2Name]),Level0Wrapper:e=>X9.default.alt(X9.default.seq(e.Level0Stmt.skip(h9),e.Level1Wrapper),e.Level0Stmt).map(e=>Array.isArray(e)?[e[0],...e[1]]:[e]).atMost(1).map(e=>e.length===1?e[0]:e),Level1Wrapper:e=>X9.default.alt(X9.default.seq(e.Level1Stmt.skip(h9),e.Level2Stmt),e.Level1Stmt).map(e=>Array.isArray(e)?e:[e]),CommentSyntax:e=>X9.default.seqObj(e.StartComment,[`name`,e.NameOption],h9,[`note`,e.ValueOption],h9,[`level`,e.Level0Wrapper],e.EndComment).map(vQe).thru(b9())}),EQe=TQe.CommentSyntax})),OQe=o((()=>{rQe(),cQe(),_Qe(),DQe()}));function Z9(e,t,n){let r=n||`public`;return e.tables.find(e=>(e.schemaName||`public`)===r&&e.name===t)}function kQe(e,t){return e.fields.find(e=>e.name===t)}function AQe(e,t){Z9(t,e.tableName,e.schemaName).indexes.push(e),e.tableName=null}function jQe(e,t){e.forEach(e=>{t.push(e)})}function MQe(e,t){jQe(e.enums,t.enums),jQe(e.refs,t.refs),e.enums.forEach(e=>{e.fieldName=null}),e.enums=null,e.refs=null}function NQe(e,t){let n=kQe(Z9(t,e.tableName,e.schemaName),e.fieldName);e.fieldName=null,e.tableName=null,n.dbdefault=e}function PQe(e,t){let n=kQe(Z9(t,e.tableName,e.schemaName),e.fieldName);e.name=`${e.tableName}_${e.fieldName}_enum`,e.fieldName=null,e.tableName=null,n.type.type_name=e.name,n.type.args=e.values.map(e=>`'${e.name}'`).join(`, `)}function FQe(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=Z9(t,e.tableName,n);r&&(r.note=e.note?{value:e.note}:null)}function IQe(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=Z9(t,e.tableName,n);if(r){let t=kQe(r,e.columnName);t&&(t.note=e.note?{value:e.note}:null)}}function LQe(e,t){e.type===`table`?FQe(e,t):e.type===`column`&&IQe(e,t)}function RQe(e){let t={tables:[],refs:[],indexes:[],enums:[]};return ao(e).forEach(e=>{if(e){switch(e.type){case`tables`:MQe(e.value,t);break;case`indexes`:AQe(e.value,t);break;case`dbdefault`:NQe(e.value,t);break;case`enums`:PQe(e.value,t);break;case`comment`:LQe(e.value,t);break;default:break}e.type&&t[e.type]&&t[e.type].push(e.value)}}),t.indexes=null,t}var zQe=o((()=>{Yu()})),Q9,BQe,$9,VQe=o((()=>{Q9=u(t9(),1),y9(),OQe(),i9(),zQe(),F9(),BQe=Q9.default.createLanguage({Statements:e=>r9.then(e.Seperator).then(Q9.default.sepBy(e.StatementTypes,e.Seperator)).skip(e.Seperator).map(RQe),StatementTypes:e=>Q9.default.alt(sQe,gQe,nQe,EQe,e.IgnoredStatementTypes),IgnoredStatementTypes:e=>Q9.default.seq(e.IgnoredStatementSyntax,D9),IgnoredStatementSyntax:e=>Q9.default.alt(e.IgnoredDDLSyntax,e.IgnoredDMLSyntax,e.IgnoredBackupAndRestoreSyntax,e.IgnoredServiceBrokerSyntax,e.IgnoredPermissionSyntax,GYe,sXe,KYe,xXe),IgnoredDDLSyntax:e=>Q9.default.alt(e.KeywordCreateWithoutTable,e.KeywordAlterWithoutTable,yYe,QYe,yXe,YYe,XYe),IgnoredDMLSyntax:()=>Q9.default.alt(eXe,tXe,nXe,rXe,iXe,bXe),IgnoredServiceBrokerSyntax:()=>Q9.default.alt(mXe,DYe,gXe,_Xe,vXe),IgnoredPermissionSyntax:()=>Q9.default.alt(cXe,lXe,dXe,fXe,pXe),IgnoredBackupAndRestoreSyntax:()=>Q9.default.alt(aXe,oXe),KeywordCreateWithoutTable:()=>f9.notFollowedBy(d9),KeywordAlterWithoutTable:()=>WYe.notFollowedBy(d9),Seperator:()=>Q9.default.alt(v9,p9,Q9.default.seq(v9,p9)).many()}),$9=BQe.Statements})),HQe=c({default:()=>UQe},1),UQe,WQe=o((()=>{VQe(),$9.parseWithPegError=function(e){try{return $9.tryParse(e)}catch(t){let n={name:`SyntaxError`};console.error(t),n.location={},n.location.start=t.result.index,n.found=e[n.location.start.offset];let r=t.result.expected.pop();throw n.message=`Expected ${`${t.result.expected.join(`, `)}, or ${r}`} but "${n.found}" found.`,n}},UQe=$9})),GQe=s(((e,t)=>{t.exports=(WQe(),d(HQe))})),KQe=u(zJe(),1),qQe=u(BJe(),1),JQe=u(VJe(),1),YQe=u(HJe(),1),XQe=u(GQe(),1),ZQe=class e{constructor(e){this.DBMLCompiler=e||new E_}static parseJSONToDatabase(e){return new Hme(e)}static parseMySQLToJSONv2(e){return Q7(e,`mysql`)}static parseMySQLToJSON(e){return KQe.default.parse(e)}static parsePostgresToJSONv2(e){return Q7(e,`postgres`)}static parsePostgresToJSON(e){return qQe.default.parse(e)}static parseDBMLToJSONv2(e,t){let n=t||new E_;n.setSource(e);let r=n.parse.errors().map(e=>({message:e.diagnostic,location:{start:{line:e.nodeOrToken.startPos.line+1,column:e.nodeOrToken.startPos.column+1},end:{line:e.nodeOrToken.endPos.line+1,column:e.nodeOrToken.endPos.column+1}},code:e.code}));if(r.length>0)throw K7.create(r);return n.parse.rawDb()}static parseDBMLToJSON(e){return JQe.default.parse(e)}static parseSchemaRbToJSON(e){return YQe.default.parse(e)}static parseMSSQLToJSON(e){return XQe.default.parseWithPegError(e)}static parseMSSQLToJSONv2(e){return Q7(e,`mssql`)}static parseSnowflakeToJSON(e){return Q7(e,`snowflake`)}static parseOracleToJSON(e){return Q7(e,`oracle`)}static parse(t,n){return new e().parse(t,n)}parse(t,n){try{let r={};switch(n){case`mysql`:r=e.parseMySQLToJSONv2(t);break;case`mysqlLegacy`:r=e.parseMySQLToJSON(t);break;case`postgres`:r=e.parsePostgresToJSONv2(t);break;case`snowflake`:r=e.parseSnowflakeToJSON(t);break;case`postgresLegacy`:r=e.parsePostgresToJSON(t);break;case`dbml`:r=e.parseDBMLToJSON(t);break;case`dbmlv2`:r=e.parseDBMLToJSONv2(t,this.DBMLCompiler);break;case`schemarb`:r=e.parseSchemaRbToJSON(t);break;case`mssqlLegacy`:r=e.parseMSSQLToJSON(t);break;case`mssql`:r=e.parseMSSQLToJSONv2(t);break;case`oracle`:r=e.parseOracleToJSON(t);break;case`json`:r=typeof t==`object`?t:JSON.parse(t);break;default:break}return e.parseJSONToDatabase(r)}catch(e){throw K7.create(e)}}},QQe=ZQe,$Qe=e=>new Hme(e),e$e=e=>e.map(e=>{let{name:t,endpoints:n,onDelete:r,onUpdate:i}=e;return new oE({name:t,endpoints:n.map(e=>new aE(e)),onDelete:r,onUpdate:i}).toJSON()}),t$e=e=>e.map(e=>{let{name:t,schemaName:n,values:r}=e;return new sE({name:t,schemaName:n,values:r})}),n$e=(e,t)=>e.map(e=>{let n=t[e.name]||{};return new rE({name:e.name,type:e.type,dbdefault:e.dbdefault,not_null:e.not_null,increment:e.increment,pk:n.pk||e.pk,unique:n.unique||e.unique,note:e.note,checks:n.checks})}),r$e=e=>e.map(e=>{let{name:t,unique:n,pk:r,type:i,columns:a}=e;return new nE({name:t,unique:n,pk:r,type:i,columns:a})}),i$e=(e,t,n,r,i)=>e.map(e=>{let{name:a,schemaName:o,note:s}=e,c=o?`${o}.${a}`:`${a}`,l=i[c]||{};return new iE({name:a,schemaName:o,fields:n$e(t[c],l),indexes:r$e(n[c]||[]),note:s,checks:r[c]})}),a$e=e=>{let{tables:t,fields:n,indexes:r,refs:i,enums:a,tableConstraints:o,checks:s}=e;try{let e=i$e(t,n,r,s,o),c=t$e(a);return $Qe({schemas:[],tables:e,refs:e$e(i),enums:c,tableGroups:[],aliases:[],project:{}})}catch(e){throw Error(e)}};function o$e(e,t){let n=new QQe().parse(e,t);return F_.export(n.normalize(),`dbml`)}function s$e(e){let t=a$e(e);return F_.export(t.normalize(),`dbml`)}var c$e={import:o$e,generateDbml:s$e};function l$e(e,t){let n=new QQe().parse(e,`dbmlv2`);return F_.export(n.normalize(),t)}var u$e={export:l$e};function d$e(e,t,n){let r=new E_;return r.setSource(n),r.renameTable(e,t)}const f$e=`6.3.0-alpha.2`,p$e=`6.3.0-alpha.2`;exports.CompilerError=K7,exports.ModelExporter=F_,exports.Parser=QQe,exports.VERSION=`6.3.0-alpha.2`,exports.addDoubleQuoteIfNeeded=u_,exports.exporter=u$e,exports.formatRecordValue=zfe,exports.importer=c$e,exports.isBinaryType=oh,exports.isBooleanType=ih,exports.isDateTimeType=sh,exports.isFloatType=nh,exports.isIntegerType=th,exports.isNumericType=rh,exports.isSerialType=ch,exports.isStringType=ah,exports.renameTable=d$e,exports.tryExtractBoolean=Xg,exports.tryExtractDateTime=Qg,exports.tryExtractEnum=cfe,exports.tryExtractInteger=afe,exports.tryExtractNumeric=Yg,exports.tryExtractString=Zg;
|
package/lib/index.js
CHANGED
|
@@ -1817577,5 +1817577,5 @@ function renameTable(_, HY, P) {
|
|
|
1817577
1817577
|
let UY = new Compiler();
|
|
1817578
1817578
|
return UY.setSource(P), UY.renameTable(_, HY);
|
|
1817579
1817579
|
}
|
|
1817580
|
-
const VERSION = "6.3.0-alpha.
|
|
1817580
|
+
const VERSION = "6.3.0-alpha.2";
|
|
1817581
1817581
|
export { CompilerError, ModelExporter_default as ModelExporter, Parser_default as Parser, VERSION, addDoubleQuoteIfNeeded, export_default as exporter, formatRecordValue, import_default as importer, isBinaryType, isBooleanType, isDateTimeType, isFloatType, isIntegerType, isNumericType, isSerialType, isStringType, renameTable, tryExtractBoolean, tryExtractDateTime, tryExtractEnum, tryExtractInteger, tryExtractNumeric, tryExtractString };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package",
|
|
3
3
|
"name": "@dbml/core",
|
|
4
|
-
"version": "6.3.0-alpha.
|
|
4
|
+
"version": "6.3.0-alpha.2",
|
|
5
5
|
"description": "> TODO: description",
|
|
6
6
|
"author": "Holistics <dev@holistics.io>",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"bluebird": "^3.5.5"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "1832504ff8fbbb9d54cdfe9ddc24cdaf34dd9c2b",
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=16"
|
|
64
64
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import Database, {
|
|
1
|
+
import Database, { NormalizedModel } from '../model_structure/database';
|
|
2
2
|
|
|
3
3
|
export declare type ExportFormatOption = 'dbml' | 'mysql' | 'postgres' | 'json' | 'mssql' | 'oracle';
|
|
4
4
|
declare class ModelExporter {
|
|
5
|
-
static export(model: Database |
|
|
5
|
+
static export(model: Database | NormalizedModel, format: ExportFormatOption, isNormalized?: boolean): string;
|
|
6
6
|
}
|
|
7
7
|
export default ModelExporter;
|
package/types/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import ModelExporter from './export/ModelExporter';
|
|
1
|
+
import ModelExporter, { ExportFormatOption } from './export/ModelExporter';
|
|
2
2
|
import Parser from './parse/Parser';
|
|
3
3
|
import importer from './import';
|
|
4
4
|
import exporter from './export';
|
|
@@ -10,6 +10,7 @@ export {
|
|
|
10
10
|
importer,
|
|
11
11
|
exporter,
|
|
12
12
|
ModelExporter,
|
|
13
|
+
ExportFormatOption,
|
|
13
14
|
Parser,
|
|
14
15
|
};
|
|
15
16
|
export { CompilerDiagnostic, CompilerError as CompilerDiagnostics, EditorPosition, ErrorCode, WarningLevel } from './parse/error';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Export main classes
|
|
2
2
|
export { default as Database } from './database';
|
|
3
|
+
export { default as Element } from './element';
|
|
3
4
|
export { default as Schema } from './schema';
|
|
4
5
|
export { default as Table } from './table';
|
|
5
6
|
export { default as Field } from './field';
|
|
@@ -28,3 +29,4 @@ export * from './tableGroup';
|
|
|
28
29
|
export * from './stickyNote';
|
|
29
30
|
export * from './tablePartial';
|
|
30
31
|
export * from './check';
|
|
32
|
+
export * from './element';
|