@dbml/core 6.3.0-alpha.2 → 6.3.0-alpha.4

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 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.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;
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()),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()),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()),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()),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()),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()),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()),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()),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()),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()),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()),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()),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()),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()),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()),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()),qQe=u(BJe()),JQe=u(VJe()),YQe=u(HJe()),XQe=u(GQe()),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.4`,p$e=`6.3.0-alpha.4`;exports.CompilerError=K7,exports.ModelExporter=F_,exports.Parser=QQe,exports.VERSION=`6.3.0-alpha.4`,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;
@@ -1816749,7 +1816749,7 @@ var require_lodash = /* @__PURE__ */ __commonJSMin(((_, HY) => {
1816749
1816749
  }]);
1816750
1816750
  });
1816751
1816751
  })), import_parsimmon_umd_min$14, Lang$12, whitespaces_default, init_whitespaces = __esmMin((() => {
1816752
- import_parsimmon_umd_min$14 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), Lang$12 = import_parsimmon_umd_min$14.default.createLanguage({
1816752
+ import_parsimmon_umd_min$14 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), Lang$12 = import_parsimmon_umd_min$14.default.createLanguage({
1816753
1816753
  WhiteSpaces: (_) => import_parsimmon_umd_min$14.default.alt(_.WhiteSpace, _.InlineComment, _.MulLineComment).many().desc("whitespaces or comments"),
1816754
1816754
  WhiteSpace: () => import_parsimmon_umd_min$14.default.regexp(/\s/).desc("whitespaces"),
1816755
1816755
  InlineComment: () => import_parsimmon_umd_min$14.default.seq(import_parsimmon_umd_min$14.default.string("--"), import_parsimmon_umd_min$14.default.regexp(/[^\n\r]*/)).desc("comments"),
@@ -1816770,7 +1816770,7 @@ function keyword(_) {
1816770
1816770
  return HY = replaceWhitespaceWithRegexp(_), import_parsimmon_umd_min$13.default.regexp(HY).skip(whitespaces_default).desc(`"${P}"`);
1816771
1816771
  }
1816772
1816772
  var import_parsimmon_umd_min$13, init_keyword_utils = __esmMin((() => {
1816773
- import_parsimmon_umd_min$13 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_whitespaces();
1816773
+ import_parsimmon_umd_min$13 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_whitespaces();
1816774
1816774
  })), KeywordIdentity, KeywordIndex, KeywordWith, KeywordOn, KeywordFilestream_On, KeywordPrimaryKey, KeywordClustered, KeywordNonclustered, KeywordColumnStore, KeywordReferences, KeywordForeignKey, KeywordCheck, KeywordConstraint, KeywordUnique, KeywordNFR, KeywordOnDelete, KeywordOnUpdate, KeywordSetNull, KeywordSetDefault, KeywordNoAction, KeywordCascade, KeywordContent, KeywordDocument, KeywordNull, KeywordNotNull, KeywordDefault, KeywordFilestream, KeywordCollate, KeywordSparse, KeywordRowGUIDCol, KeywordMasked, KeywordEncrypted, KeywordGeneratedAAR, KeywordStart, KeywordEnd, KeywordHidden, KeywordAsc, KeywordDesc, KeywordTextImage_On, KeywordPeriodForST, KeywordFileTable, KeywordTable, KeywordCreate, KeywordAs, KeywordPersisted, KeywordColumnSet, KeywordInclude, KeywordIn, KeywordWhere, KeywordFor, KeywordWithValues, KeywordConnection, KeywordTo, KeywordAlter, KeywordAdd, KeywordSet, KeywordRebuild, KeywordSwitch, KeywordEnable, KeywordDisable, KeywordDrop, KeywordAlterColumn, KeywordGo, KeywordBulkInsert, KeywordInsert, KeywordUpdate, KeywordMerge, KeywordTruncateTable, KeywordBackup, KeywordRestore, KeywordClose, KeywordDeny, KeywordExecute, KeywordExec, KeywordGrant, KeywordOpen, KeywordRevoke, KeywordBegin, KeywordMove, KeywordReceive, KeywordSend, KeywordRename, KeywordDelete, KeywordIf, KeywordSP_ADDEXTENDEDPROPERTY, LogicalOpIn, LogicalOpAnd, LParen, Comma, RParen, SingleQuote, Equal, Semicolon, KeywordAtName, KeywordAtValue, KeywordAtLevel0Type, KeywordAtLevel0Name, KeywordAtLevel1Type, KeywordAtLevel1Name, KeywordAtLevel2Type, KeywordAtLevel2Name, init_keyword_parsers = __esmMin((() => {
1816775
1816775
  init_keyword_utils(), KeywordIdentity = keyword(/IDENTITY/i), KeywordIndex = keyword(/INDEX/i), KeywordWith = keyword(/WITH/i), KeywordOn = keyword(/ON/i), keyword(/OFF/i), KeywordFilestream_On = keyword(/FILESTREAM_ON/i), KeywordPrimaryKey = keyword(/PRIMARY KEY/i), KeywordClustered = keyword(/CLUSTERED/i), KeywordNonclustered = keyword(/NONCLUSTERED/i), KeywordColumnStore = keyword(/COLUMNSTORE/i), KeywordReferences = keyword(/REFERENCES/i), KeywordForeignKey = keyword(/FOREIGN KEY/i), KeywordCheck = keyword(/CHECK/i), KeywordConstraint = keyword(/CONSTRAINT/i), KeywordUnique = keyword(/UNIQUE/i), keyword(/HASH/i), keyword(/BUCKET_COUNT/i), KeywordNFR = keyword(/NOT FOR REPLICATION/), KeywordOnDelete = keyword(/ON DELETE/i), KeywordOnUpdate = keyword(/ON UPDATE/i), KeywordSetNull = keyword(/SET NULL/i), KeywordSetDefault = keyword(/SET DEFAULT/i), KeywordNoAction = keyword(/NO ACTION/i), KeywordCascade = keyword(/CASCADE/i), KeywordContent = keyword(/CONTENT/i), KeywordDocument = keyword(/DOCUMENT/i), KeywordNull = keyword(/NULL/i), KeywordNotNull = keyword(/NOT NULL/i), KeywordDefault = keyword(/DEFAULT/i), KeywordFilestream = keyword(/FILESTREAM/i), KeywordCollate = keyword(/COLLATE/i), KeywordSparse = keyword(/SPARSE/i), KeywordRowGUIDCol = keyword(/ROWGUIDCOL/i), KeywordMasked = keyword(/MASKED/i), KeywordEncrypted = keyword(/ENCRYPTED/i), keyword(/FUNCTION/i), KeywordGeneratedAAR = keyword(/GENERATED ALWAYS AS ROW/i), KeywordStart = keyword(/START/i), KeywordEnd = keyword(/END/i), KeywordHidden = keyword(/HIDDEN/i), KeywordAsc = keyword(/ASC/i), KeywordDesc = keyword(/DESC/i), KeywordTextImage_On = keyword(/TEXTIMAGE_ON/i), KeywordPeriodForST = keyword(/PERIOD FOR SYSTEM_TIME/i), KeywordFileTable = keyword(/FILETABLE/i), KeywordTable = keyword(/TABLE/i), KeywordCreate = keyword(/CREATE/i), KeywordAs = keyword(/AS/i), KeywordPersisted = keyword(/PERSISTED/i), KeywordColumnSet = keyword(/XML COLUMN_SET FOR ALL_SPARSE_COLUMNS/i), KeywordInclude = keyword(/INCLUDE/i), KeywordIn = keyword(/IN/i), KeywordWhere = keyword(/WHERE/i), KeywordFor = keyword(/FOR/i), KeywordWithValues = keyword(/WITH VALUES/i), KeywordConnection = keyword(/CONNECTION/i), KeywordTo = keyword(/TO/i), KeywordAlter = keyword(/ALTER/i), KeywordAdd = keyword(/ADD/i), KeywordSet = keyword(/SET/i), KeywordRebuild = keyword(/REBUILD/i), KeywordSwitch = keyword(/SWITCH/i), KeywordEnable = keyword(/ENABLE/i), KeywordDisable = keyword(/DISABLE/i), keyword(/NOCHECK/i), KeywordDrop = keyword(/DROP/i), KeywordAlterColumn = keyword(/ALTER COLUMN/i), KeywordGo = keyword(/GO/i), KeywordBulkInsert = keyword(/BULK INSERT/i), KeywordInsert = keyword(/INSERT/i), KeywordUpdate = keyword(/UPDATE/i), KeywordMerge = keyword(/MERGE/i), KeywordTruncateTable = keyword(/TRUNCATE TABLE/i), KeywordBackup = keyword(/BACKUP/i), KeywordRestore = keyword(/RESTORE/i), KeywordClose = keyword(/CLOSE/i), KeywordDeny = keyword(/DENY/i), KeywordExecute = keyword(/EXECUTE/i), KeywordExec = keyword(/EXEC/i), KeywordGrant = keyword(/GRANT/i), KeywordOpen = keyword(/OPEN/i), KeywordRevoke = keyword(/REVOKE/i), KeywordBegin = keyword(/BEGIN/i), keyword(/GET/i), KeywordMove = keyword(/MOVE/i), KeywordReceive = keyword(/RECEIVE/i), KeywordSend = keyword(/SEND/i), KeywordRename = keyword(/RENAME/i), KeywordDelete = keyword(/DELETE/i), KeywordIf = keyword(/IF/i), KeywordSP_ADDEXTENDEDPROPERTY = keyword(/sp_addextendedproperty/i), LogicalOpIn = keyword(/IN/i), LogicalOpAnd = keyword(/AND/i), word("<"), word(">"), LParen = word("("), Comma = word(","), RParen = word(")"), word("\""), SingleQuote = word("'"), word("["), word("]"), Equal = word("="), Semicolon = word(";"), KeywordAtName = keyword(/@name/i), KeywordAtValue = keyword(/@value/i), KeywordAtLevel0Type = keyword(/@level0type/i), KeywordAtLevel0Name = keyword(/@level0name/i), KeywordAtLevel1Type = keyword(/@level1type/i), KeywordAtLevel1Name = keyword(/@level1name/i), KeywordAtLevel2Type = keyword(/@level2type/i), KeywordAtLevel2Name = keyword(/@level2name/i);
1816776
1816776
  }));
@@ -1816802,9 +1816802,9 @@ function getFullTableName(_) {
1816802
1816802
  };
1816803
1816803
  }
1816804
1816804
  var import_parsimmon_umd_min$12, init_utils = __esmMin((() => {
1816805
- import_parsimmon_umd_min$12 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_lodash(), init_keyword_parsers(), init_whitespaces();
1816805
+ import_parsimmon_umd_min$12 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_lodash(), init_keyword_parsers(), init_whitespaces();
1816806
1816806
  })), import_parsimmon_umd_min$11, pIgnore, Lang$11, pColumnNames, pDotDelimitedName, pOptionList, pOption, pComparsionOp, pConst, pFunction, pNumberList, pIdentifier, pKeywordPKOrUnique, pKeywordClusteredOrNon, init_base_parsers = __esmMin((() => {
1816807
- import_parsimmon_umd_min$11 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_utils(), init_keyword_parsers(), init_whitespaces(), pIgnore = (0, import_parsimmon_umd_min$11.default)((_, HY) => {
1816807
+ import_parsimmon_umd_min$11 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_utils(), init_keyword_parsers(), init_whitespaces(), pIgnore = (0, import_parsimmon_umd_min$11.default)((_, HY) => {
1816808
1816808
  let P = HY, UY = !1, WY = "";
1816809
1816809
  for (; P < _.length && (UY || !_.slice(P, P + 2).match(/GO|;/i));) for (UY && _[P].match(/\]|'|"/i) && _[P] === WY ? UY = !1 : !UY && _[P].match(/\[|"|'/i) && (UY = !0, WY = _[P], _[P] === "[" && (WY = "]")), _[P].match(/\s/) || (P += 1); P < _.length && _[P].match(/\s/);) P += 1;
1816810
1816810
  return _.slice(P, P + 2).match(/GO/i) && --P, import_parsimmon_umd_min$11.default.makeSuccess(P + 1, "");
@@ -1816883,7 +1816883,7 @@ function enclosedOrNot(_) {
1816883
1816883
  return import_parsimmon_umd_min$10.default.alt(enclose(_), _);
1816884
1816884
  }
1816885
1816885
  var import_parsimmon_umd_min$10, Lang$10, expression_default, init_expression = __esmMin((() => {
1816886
- import_parsimmon_umd_min$10 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_base_parsers(), init_keyword_parsers(), init_whitespaces(), init_utils(), init_lodash(), Lang$10 = import_parsimmon_umd_min$10.default.createLanguage({
1816886
+ import_parsimmon_umd_min$10 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_base_parsers(), init_keyword_parsers(), init_whitespaces(), init_utils(), init_lodash(), Lang$10 = import_parsimmon_umd_min$10.default.createLanguage({
1816887
1816887
  ExpressionFinal: (_) => _.Expression.map((_) => flattenDeep_default(_).map((_) => _ ? _.value : "").join("")),
1816888
1816888
  Expression: (_) => enclosedOrNot(import_parsimmon_umd_min$10.default.seq(import_parsimmon_umd_min$10.default.alt(_.UnaryExpression, _.SimpleExpression), _.BinaryExpressionLR.fallback(null)).skip(whitespaces_default)),
1816889
1816889
  UnaryExpression: (_) => {
@@ -1816943,7 +1816943,7 @@ function makeOnSetting(_, HY) {
1816943
1816943
  var init_actions$8 = __esmMin((() => {
1816944
1816944
  init_utils();
1816945
1816945
  })), import_parsimmon_umd_min$9, Lang$9, pColumnConstraintFK, pTableConstraintFK, init_fk_definition = __esmMin((() => {
1816946
- import_parsimmon_umd_min$9 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_base_parsers(), init_utils(), init_actions$8(), Lang$9 = import_parsimmon_umd_min$9.default.createLanguage({
1816946
+ import_parsimmon_umd_min$9 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_base_parsers(), init_utils(), init_actions$8(), Lang$9 = import_parsimmon_umd_min$9.default.createLanguage({
1816947
1816947
  TableConstraintFK: (_) => import_parsimmon_umd_min$9.default.seqMap(KeywordForeignKey.fallback(null), _.TableEndpoint, KeywordReferences, pDotDelimitedName, _.TableEndpoint.fallback(null), _.FKOptions.fallback(null), makeTableConstraintFK),
1816948
1816948
  TableEndpoint: () => import_parsimmon_umd_min$9.default.seqMap(pColumnNames, makeTableEndpoint).thru(makeNode()),
1816949
1816949
  ColumnConstraintFK: (_) => import_parsimmon_umd_min$9.default.seqMap(_.FKKeywords, pDotDelimitedName, makeList(pIdentifier).fallback(null), _.FKOptions.fallback(null), makeColumnConstraintFK),
@@ -1816989,7 +1816989,7 @@ function makeTableConstraintIndex(_, HY, P) {
1816989
1816989
  return _.type === "pk" ? UY = !0 : _.type === "unique" && (WY = !0), makeIndex$1(P, WY, UY);
1816990
1816990
  }
1816991
1816991
  var init_actions$7 = __esmMin((() => {})), import_parsimmon_umd_min$8, Lang$8, pColumnIndex, pIgnoredIndexOption, pTableIndex, pColumnConstraintIndex, pTableConstraintIndex, init_index_definition = __esmMin((() => {
1816992
- import_parsimmon_umd_min$8 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_base_parsers(), init_utils(), init_actions$7(), Lang$8 = import_parsimmon_umd_min$8.default.createLanguage({
1816992
+ import_parsimmon_umd_min$8 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_base_parsers(), init_utils(), init_actions$7(), Lang$8 = import_parsimmon_umd_min$8.default.createLanguage({
1816993
1816993
  TableIndex: (_) => import_parsimmon_umd_min$8.default.seqMap(KeywordIndex, pIdentifier, KeywordUnique.fallback(null), pKeywordClusteredOrNon.fallback(null), KeywordColumnStore.fallback(null), pColumnNames, makeTableIndex).thru(makeNode()).skip(_.IgnoredIndexOptions),
1816994
1816994
  TableConstraintIndex: (_) => import_parsimmon_umd_min$8.default.seqMap(pKeywordPKOrUnique, pKeywordClusteredOrNon.fallback(null), pColumnNames, makeTableConstraintIndex).thru(makeNode()).skip(_.IgnoredIndexOptions),
1816995
1816995
  ColumnConstraintIndex: (_) => import_parsimmon_umd_min$8.default.seq(pKeywordPKOrUnique).skip(_.IgnoredIndexOptions).map((_) => _[0]),
@@ -1817046,7 +1817046,7 @@ function makeTableConstraint(_, HY) {
1817046
1817046
  } : null;
1817047
1817047
  }
1817048
1817048
  var init_actions$6 = __esmMin((() => {})), import_parsimmon_umd_min$7, Lang$7, pColumnConstraint, pTableConstraint, pConstraintCheck, pConstraintName, pConstExpr, init_constraint_definition = __esmMin((() => {
1817049
- import_parsimmon_umd_min$7 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_expression(), init_base_parsers(), init_utils(), init_fk_definition(), init_index_definition(), init_actions$6(), Lang$7 = import_parsimmon_umd_min$7.default.createLanguage({
1817049
+ import_parsimmon_umd_min$7 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_expression(), init_base_parsers(), init_utils(), init_fk_definition(), init_index_definition(), init_actions$6(), Lang$7 = import_parsimmon_umd_min$7.default.createLanguage({
1817050
1817050
  TableConstraint: (_) => import_parsimmon_umd_min$7.default.seqMap(_.ConstraintName.fallback(null), _.TableConstraintOption, makeTableConstraint).thru(makeNode()),
1817051
1817051
  TableConstraintOption: (_) => import_parsimmon_umd_min$7.default.alt(pTableConstraintFK, pTableConstraintIndex, _.ConstraintCheck),
1817052
1817052
  ColumnConstraint: (_) => import_parsimmon_umd_min$7.default.seq(_.ConstraintName.fallback(null), _.ColumnConstraintOption).map((_) => _[1]),
@@ -1817103,7 +1817103,7 @@ function makeColumn(_, HY, P) {
1817103
1817103
  var init_actions$4 = __esmMin((() => {
1817104
1817104
  init_lodash();
1817105
1817105
  })), import_parsimmon_umd_min$6, Lang$6, pColumnsDefinition, init_column_definition = __esmMin((() => {
1817106
- import_parsimmon_umd_min$6 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_base_parsers(), init_utils(), init_index_definition(), init_constraint_definition(), init_expression(), init_actions$4(), Lang$6 = import_parsimmon_umd_min$6.default.createLanguage({
1817106
+ import_parsimmon_umd_min$6 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_base_parsers(), init_utils(), init_index_definition(), init_constraint_definition(), init_expression(), init_actions$4(), Lang$6 = import_parsimmon_umd_min$6.default.createLanguage({
1817107
1817107
  ColumnsDefinition: (_) => import_parsimmon_umd_min$6.default.alt(_.ComputedColumnDefinition.result(null), _.ColumnSetDefinition.result(null), _.ColumnDefinition),
1817108
1817108
  ColumnDefinition: (_) => import_parsimmon_umd_min$6.default.seqMap(pDotDelimitedName, _.DataType, import_parsimmon_umd_min$6.default.alt(_.ColumnSetting, _.IgnoredColumnSetting.result(null)).many().fallback(null), makeColumn).thru(makeNode()),
1817109
1817109
  ColumnSetDefinition: () => import_parsimmon_umd_min$6.default.seq(pIdentifier, KeywordColumnSet),
@@ -1817120,7 +1817120,7 @@ var init_actions$4 = __esmMin((() => {
1817120
1817120
  ColumnSettingGAAR: () => import_parsimmon_umd_min$6.default.seq(KeywordGeneratedAAR, import_parsimmon_umd_min$6.default.alt(KeywordStart, KeywordEnd), KeywordHidden.fallback(null))
1817121
1817121
  }), Lang$6.Identity, Lang$6.DataType, pColumnsDefinition = Lang$6.ColumnsDefinition;
1817122
1817122
  })), import_parsimmon_umd_min$5, Lang$5, add_default, init_add = __esmMin((() => {
1817123
- import_parsimmon_umd_min$5 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_base_parsers(), init_utils(), init_actions$5(), init_fk_definition(), init_index_definition(), init_constraint_definition(), init_column_definition(), Lang$5 = import_parsimmon_umd_min$5.default.createLanguage({
1817123
+ import_parsimmon_umd_min$5 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_base_parsers(), init_utils(), init_actions$5(), init_fk_definition(), init_index_definition(), init_constraint_definition(), init_column_definition(), Lang$5 = import_parsimmon_umd_min$5.default.createLanguage({
1817124
1817124
  AddAction: (_) => import_parsimmon_umd_min$5.default.seq(KeywordAdd, _.AddOption.sepBy1(Comma)).map((_) => _[1]),
1817125
1817125
  AddOption: (_) => import_parsimmon_umd_min$5.default.alt(_.AddConstraint, pColumnsDefinition.result(null), _.IgnoredAddSystemTimeOption.result(null)),
1817126
1817126
  IgnoredAddSystemTimeOption: () => import_parsimmon_umd_min$5.default.alt(pIdentifier, import_parsimmon_umd_min$5.default.regexp(/[(),]/)).many(),
@@ -1817131,7 +1817131,7 @@ var init_actions$4 = __esmMin((() => {
1817131
1817131
  AddConstraintConnection: () => import_parsimmon_umd_min$5.default.seq(KeywordConnection, makeList(import_parsimmon_umd_min$5.default.seq(pIdentifier, KeywordTo, pIdentifier)))
1817132
1817132
  }), add_default = Lang$5.AddAction;
1817133
1817133
  })), import_parsimmon_umd_min$4, Lang$4, alter_table_default, init_alter_table = __esmMin((() => {
1817134
- import_parsimmon_umd_min$4 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_base_parsers(), init_actions$9(), init_add(), Lang$4 = import_parsimmon_umd_min$4.default.createLanguage({
1817134
+ import_parsimmon_umd_min$4 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_base_parsers(), init_actions$9(), init_add(), Lang$4 = import_parsimmon_umd_min$4.default.createLanguage({
1817135
1817135
  AlterTable: (_) => import_parsimmon_umd_min$4.default.seqMap(_.AlterTableKeywords, pDotDelimitedName, _.AlterTableActions, handleAlterTableResult),
1817136
1817136
  AlterTableActions: (_) => import_parsimmon_umd_min$4.default.alt(add_default, _.IgnoredAlterTableActions),
1817137
1817137
  AlterTableKeywords: () => import_parsimmon_umd_min$4.default.seq(KeywordAlter, KeywordTable),
@@ -1817160,7 +1817160,7 @@ function makeIndex(_, HY, P, UY, WY, GY, KY, qY) {
1817160
1817160
  var init_actions$3 = __esmMin((() => {
1817161
1817161
  init_utils();
1817162
1817162
  })), import_parsimmon_umd_min$3, Lang$3, create_index_default, init_create_index = __esmMin((() => {
1817163
- import_parsimmon_umd_min$3 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_base_parsers(), init_utils(), init_actions$3(), init_index_definition(), Lang$3 = import_parsimmon_umd_min$3.default.createLanguage({
1817163
+ import_parsimmon_umd_min$3 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_base_parsers(), init_utils(), init_actions$3(), init_index_definition(), Lang$3 = import_parsimmon_umd_min$3.default.createLanguage({
1817164
1817164
  CreateIndex: (_) => import_parsimmon_umd_min$3.default.seqMap(KeywordCreate, KeywordUnique.fallback(null), pKeywordClusteredOrNon.fallback(null), KeywordIndex, pIdentifier, KeywordOn, pDotDelimitedName, pColumnNames, makeIndex).thru(makeNode()).skip(_.IgnoredCreateIndexOptions),
1817165
1817165
  IgnoredCreateIndexOptions: (_) => import_parsimmon_umd_min$3.default.alt(pIgnoredIndexOption, _.IncludeIndexOption, _.WhereIndexOption).many(),
1817166
1817166
  IncludeIndexOption: () => import_parsimmon_umd_min$3.default.seq(KeywordInclude, pColumnNames),
@@ -1817226,7 +1817226,7 @@ function makeTable(_, HY, P, UY) {
1817226
1817226
  var init_actions$2 = __esmMin((() => {
1817227
1817227
  init_utils();
1817228
1817228
  })), import_parsimmon_umd_min$2, Lang$2, create_table_default, init_create_table = __esmMin((() => {
1817229
- import_parsimmon_umd_min$2 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_base_parsers(), init_utils(), init_constraint_definition(), init_index_definition(), init_column_definition(), init_actions$2(), Lang$2 = import_parsimmon_umd_min$2.default.createLanguage({
1817229
+ import_parsimmon_umd_min$2 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_base_parsers(), init_utils(), init_constraint_definition(), init_index_definition(), init_column_definition(), init_actions$2(), Lang$2 = import_parsimmon_umd_min$2.default.createLanguage({
1817230
1817230
  CreateTable: (_) => import_parsimmon_umd_min$2.default.seqMap(_.CreateTableKeywords, pDotDelimitedName, _.AsFileTableKeywords.fallback(null), makeList(_.Line), makeTable).thru(makeNode()).skip(_.IgnoredTableOptions),
1817231
1817231
  CreateTableKeywords: () => import_parsimmon_umd_min$2.default.seq(KeywordCreate, KeywordTable),
1817232
1817232
  AsFileTableKeywords: () => import_parsimmon_umd_min$2.default.seq(KeywordAs, KeywordFileTable),
@@ -1817252,7 +1817252,7 @@ function handleComment$1({ note: _, level: HY }) {
1817252
1817252
  var isSchema, isTable, isColumn, isValidTableNote, isValidColumnNote, init_actions$1 = __esmMin((() => {
1817253
1817253
  isSchema = (_) => _.toLowerCase() === "schema", isTable = (_) => _.toLowerCase() === "table", isColumn = (_) => _.toLowerCase() === "column", isValidTableNote = (_) => _.length === 2 && isSchema(_[0].type) && isTable(_[1].type), isValidColumnNote = (_) => _.length === 3 && isSchema(_[0].type) && isTable(_[1].type) && isColumn(_[2].type);
1817254
1817254
  })), import_parsimmon_umd_min$1, Lang$1, comments_default, init_comments = __esmMin((() => {
1817255
- import_parsimmon_umd_min$1 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_actions$1(), init_utils(), Lang$1 = import_parsimmon_umd_min$1.default.createLanguage({
1817255
+ import_parsimmon_umd_min$1 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_actions$1(), init_utils(), Lang$1 = import_parsimmon_umd_min$1.default.createLanguage({
1817256
1817256
  StartComment: () => import_parsimmon_umd_min$1.default.seq(KeywordExec, KeywordSP_ADDEXTENDEDPROPERTY),
1817257
1817257
  EndComment: () => import_parsimmon_umd_min$1.default.seq(Semicolon.atMost(1), KeywordGo),
1817258
1817258
  StartString: () => import_parsimmon_umd_min$1.default.alt(SingleQuote, import_parsimmon_umd_min$1.default.string("N'")),
@@ -1817358,7 +1817358,7 @@ function handleStatement(_) {
1817358
1817358
  var init_actions = __esmMin((() => {
1817359
1817359
  init_lodash();
1817360
1817360
  })), import_parsimmon_umd_min, Lang, statements_default, init_statements = __esmMin((() => {
1817361
- import_parsimmon_umd_min = /* @__PURE__ */ __toESM(require_parsimmon_umd_min(), 1), init_keyword_parsers(), init_statement_types(), init_whitespaces(), init_actions(), init_base_parsers(), Lang = import_parsimmon_umd_min.default.createLanguage({
1817361
+ import_parsimmon_umd_min = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_keyword_parsers(), init_statement_types(), init_whitespaces(), init_actions(), init_base_parsers(), Lang = import_parsimmon_umd_min.default.createLanguage({
1817362
1817362
  Statements: (_) => whitespaces_default.then(_.Seperator).then(import_parsimmon_umd_min.default.sepBy(_.StatementTypes, _.Seperator)).skip(_.Seperator).map(handleStatement),
1817363
1817363
  StatementTypes: (_) => import_parsimmon_umd_min.default.alt(create_index_default, create_table_default, alter_table_default, comments_default, _.IgnoredStatementTypes),
1817364
1817364
  IgnoredStatementTypes: (_) => import_parsimmon_umd_min.default.seq(_.IgnoredStatementSyntax, pIgnore),
@@ -1817385,7 +1817385,7 @@ var init_actions = __esmMin((() => {
1817385
1817385
  }, mssql_default = statements_default;
1817386
1817386
  })), require_mssqlParser = /* @__PURE__ */ __commonJSMin(((_, HY) => {
1817387
1817387
  HY.exports = (init_mssql(), __toCommonJS(mssql_exports));
1817388
- })), import_mysqlParser = /* @__PURE__ */ __toESM(require_mysqlParser(), 1), import_postgresParser = /* @__PURE__ */ __toESM(require_postgresParser(), 1), import_dbmlParser = /* @__PURE__ */ __toESM(require_dbmlParser(), 1), import_schemarbParser = /* @__PURE__ */ __toESM(require_schemarbParser(), 1), import_mssqlParser = /* @__PURE__ */ __toESM(require_mssqlParser(), 1), Parser_default = class _ {
1817388
+ })), import_mysqlParser = /* @__PURE__ */ __toESM(require_mysqlParser()), import_postgresParser = /* @__PURE__ */ __toESM(require_postgresParser()), import_dbmlParser = /* @__PURE__ */ __toESM(require_dbmlParser()), import_schemarbParser = /* @__PURE__ */ __toESM(require_schemarbParser()), import_mssqlParser = /* @__PURE__ */ __toESM(require_mssqlParser()), Parser_default = class _ {
1817389
1817389
  constructor(_) {
1817390
1817390
  this.DBMLCompiler = _ || new Compiler();
1817391
1817391
  }
@@ -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.2";
1817580
+ const VERSION = "6.3.0-alpha.4";
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.2",
4
+ "version": "6.3.0-alpha.4",
5
5
  "description": "> TODO: description",
6
6
  "author": "Holistics <dev@holistics.io>",
7
7
  "license": "Apache-2.0",
@@ -19,16 +19,14 @@
19
19
  "lib",
20
20
  "types"
21
21
  ],
22
- "type": "module",
23
22
  "types": "./types/index.d.ts",
24
23
  "main": "./lib/index.cjs",
25
- "module": "./lib/index.js",
24
+ "module": "./lib/index.mjs",
26
25
  "exports": {
27
26
  ".": {
28
27
  "types": "./types/index.d.ts",
29
- "import": "./lib/index.js",
30
- "require": "./lib/index.cjs",
31
- "default": "./lib/index.js"
28
+ "import": "./lib/index.mjs",
29
+ "require": "./lib/index.cjs"
32
30
  }
33
31
  },
34
32
  "publishConfig": {
@@ -58,7 +56,7 @@
58
56
  "devDependencies": {
59
57
  "bluebird": "^3.5.5"
60
58
  },
61
- "gitHead": "1832504ff8fbbb9d54cdfe9ddc24cdaf34dd9c2b",
59
+ "gitHead": "1805721f502f52707ea7641b28f4dfe37570c7ba",
62
60
  "engines": {
63
61
  "node": ">=16"
64
62
  }