@dbml/core 6.2.0 → 6.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs +1 -1
- package/lib/index.js +1 -1
- package/package.json +3 -3
- package/types/index.d.ts +1 -37
- package/types/model_structure/database.d.ts +5 -2
- package/types/model_structure/endpoint.d.ts +10 -1
- package/types/model_structure/field.d.ts +4 -1
- package/types/model_structure/index.d.ts +14 -75
- package/types/model_structure/stickyNote.d.ts +3 -1
package/lib/index.cjs
CHANGED
|
@@ -126,4 +126,4 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
126
126
|
`+n.join(`, `)),`
|
|
127
127
|
`].join(``);var n}function xe(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 Se(){for(var e=[].slice.call(arguments),t=e.length,n=0;n<t;n+=1)ae(e[n]);return r(function(n,r){for(var i,a=Array(t),o=0;o<t;o+=1){if(!(i=ne(e[o]._(n,r),i)).status)return i;a[o]=i.value,r=i.index}return ne(b(r,a),i)})}function Ce(){var e=[].slice.call(arguments);if(e.length===0)throw Error(`seqMap needs at least one argument`);var t=e.pop();return ce(t),Se.apply(null,e).map(function(e){return t.apply(null,e)})}function we(){var e=[].slice.call(arguments),t=e.length;if(t===0)return Ae(`zero alternates`);for(var n=0;n<t;n+=1)ae(e[n]);return r(function(t,n){for(var r,i=0;i<e.length;i+=1)if((r=ne(e[i]._(t,n),r)).status)return r;return r})}function Te(e,t){return Ee(e,t).or(ke([]))}function Ee(e,t){return ae(e),ae(t),Ce(e,t.then(e).many(),function(e,t){return[e].concat(t)})}function De(e){le(e);var t=`'`+e+`'`;return r(function(n,r){var i=r+e.length,a=n.slice(r,i);return a===e?b(i,a):te(r,t)})}function Oe(e,t){(function(e){if(!(e instanceof RegExp))throw Error(`not a regexp: `+e);for(var t=xe(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?se(t):t=0;var n=function(e){return RegExp(`^(?:`+e.source+`)`,xe(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 b(r+o.length,s)}return te(r,`valid match group (0 to `+a.length+`) in `+i)}return te(r,i)})}function ke(e){return r(function(t,n){return b(n,e)})}function Ae(e){return r(function(t,n){return te(n,e)})}function je(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 je(De(e));if(e instanceof RegExp)return je(Oe(e));throw Error(`not a string, regexp, or parser: `+e)}function Me(e){return ae(e),r(function(t,n){var r=e._(t,n),i=t.slice(n,r.index);return r.status?te(n,`not "`+i+`"`):b(n,null)})}function Ne(e){return ce(e),r(function(t,n){var r=oe(t,n);return n<t.length&&e(r)?b(n+1,r):te(n,`a character/byte matching `+e)})}function Pe(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 Fe(){return Ae(`fantasy-land/empty`)}i.parse=function(e){if(typeof e!=`string`&&!y(e))throw Error(`.parse must be called with a string or Buffer as its argument`);var t,n=this.skip(ze)._(e,0);return t=n.status?{status:!0,value:n.value}:{status:!1,index:ie(e,n.furthest),expected:n.expected},delete re[e],t},i.tryParse=function(e){var t=this.parse(e);if(t.status)return t.value;var n=be(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)?ke(n):Ae(t)})},i.or=function(e){return we(this,e)},i.trim=function(e){return this.wrap(e,e)},i.wrap=function(e,t){return Ce(e,this,t,function(e,t){return t})},i.thru=function(e){return e(this)},i.then=function(e){return ae(e),Se(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=ne(e._(t,n),i)).status)return ne(b(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 le(e),this.map(function(t){if(function(e){if(!v(e))throw Error(`not an array: `+e)}(t),t.length){le(t[0]);for(var n=t[0],r=1;r<t.length;r++)le(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),se(e),se(t),r(function(r,i){for(var a=[],o=void 0,s=void 0,c=0;c<e;c+=1){if(s=ne(o=n._(r,i),s),!o.status)return s;i=o.index,a.push(o.value)}for(;c<t&&(s=ne(o=n._(r,i),s),o.status);c+=1)i=o.index,a.push(o.value);return ne(b(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 Ce(this.times(e),this.many(),function(e,t){return e.concat(t)})},i.map=function(e){ce(e);var t=this;return r(function(n,r){var i=t._(n,r);return i.status?ne(b(i.index,e(i.value)),i):i})},i.contramap=function(e){ce(e);var t=this;return r(function(n,r){var i=t.parse(e(n.slice(r)));return i.status?b(r+n.length,i.value):i})},i.promap=function(e,t){return ce(e),ce(t),this.contramap(e).map(t)},i.skip=function(e){return Se(this,e).map(function(e){return e[0]})},i.mark=function(){return Ce(Ie,this,Ie,function(e,t,n){return{start:e,value:t,end:n}})},i.node=function(e){return Ce(Ie,this,Ie,function(t,n,r){return{name:e,value:n,start:t,end:r}})},i.sepBy=function(e){return Te(this,e)},i.sepBy1=function(e){return Ee(this,e)},i.lookahead=function(e){return this.skip(je(e))},i.notFollowedBy=function(e){return this.skip(Me(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(ke(e))},i.ap=function(e){return Ce(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?ne(e(i.value)._(n,i.index),i):i})},i.concat=i.or,i.empty=Fe,i.of=ke,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 Ie=r(function(e,t){return b(t,ie(e,t))}),Le=r(function(e,t){return t>=e.length?te(t,`any character/byte`):b(t+1,oe(e,t))}),Re=r(function(e,t){return b(e.length,e.slice(t))}),ze=r(function(e,t){return t<e.length?te(t,`EOF`):b(t,null)}),Be=Oe(/[0-9]/).desc(`a digit`),Ve=Oe(/[0-9]*/).desc(`optional digits`),He=Oe(/[a-z]/i).desc(`a letter`),Ue=Oe(/[a-z]*/i).desc(`optional letters`),We=Oe(/\s*/).desc(`optional whitespace`),Ge=Oe(/\s+/).desc(`whitespace`),Ke=De(`\r`),qe=De(`
|
|
128
128
|
`),Je=De(`\r
|
|
129
|
-
`),Ye=we(Je,qe,Ke).desc(`newline`),Xe=we(Ye,ze);r.all=Re,r.alt=we,r.any=Le,r.cr=Ke,r.createLanguage=function(e){var t={};for(var n in e)({}).hasOwnProperty.call(e,n)&&function(n){t[n]=Pe(function(){return e[n](t)})}(n);return t},r.crlf=Je,r.custom=function(e){return r(e(b,te))},r.digit=Be,r.digits=Ve,r.empty=Fe,r.end=Xe,r.eof=ze,r.fail=Ae,r.formatError=be,r.index=Ie,r.isParser=ee,r.lazy=Pe,r.letter=He,r.letters=Ue,r.lf=qe,r.lookahead=je,r.makeFailure=te,r.makeSuccess=b,r.newline=Ye,r.noneOf=function(e){return Ne(function(t){return e.indexOf(t)<0}).desc(`none of '`+e+`'`)},r.notFollowedBy=Me,r.of=ke,r.oneOf=function(e){for(var t=e.split(``),n=0;n<t.length;n++)t[n]=`'`+t[n]+`'`;return Ne(function(t){return e.indexOf(t)>=0}).desc(t)},r.optWhitespace=We,r.Parser=r,r.range=function(e,t){return Ne(function(n){return e<=n&&n<=t}).desc(e+`-`+t)},r.regex=Oe,r.regexp=Oe,r.sepBy=Te,r.sepBy1=Ee,r.seq=Se,r.seqMap=Ce,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=ne(c._(e,t),n)).status)return n;s&&(r[s]=n.value),t=n.index}return ne(b(t,r),n)})},r.string=De,r.succeed=ke,r.takeWhile=function(e){return ce(e),r(function(t,n){for(var r=n;r<t.length&&e(oe(t,r));)r++;return b(r,t.slice(n,r))})},r.test=Ne,r.whitespace=Ge,r[`fantasy-land/empty`]=Fe,r[`fantasy-land/of`]=ke,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(le(r[0]),se(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 se(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(),se(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=oe(n,r);return i===e?b(r+1,i):te(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}])})})),t9,PBe,n9,r9=o((()=>{t9=u(e9(),1),PBe=t9.default.createLanguage({WhiteSpaces:e=>t9.default.alt(e.WhiteSpace,e.InlineComment,e.MulLineComment).many().desc(`whitespaces or comments`),WhiteSpace:()=>t9.default.regexp(/\s/).desc(`whitespaces`),InlineComment:()=>t9.default.seq(t9.default.string(`--`),t9.default.regexp(/[^\n\r]*/)).desc(`comments`),MulLineComment:()=>t9.default.regexp(/\/\*[\s\S]+?\*\//).desc(`comments`)}),n9=PBe.WhiteSpaces}));function i9(e){return IBe.default.string(e).skip(n9).desc(`"${e}"`)}function FBe(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 a9(e){let t=e,n=e.source;return t=FBe(e),IBe.default.regexp(t).skip(n9).desc(`"${n}"`)}var IBe,LBe=o((()=>{IBe=u(e9(),1),r9()})),RBe,o9,s9,zBe,BBe,VBe,HBe,UBe,WBe,GBe,KBe,qBe,JBe,YBe,c9,XBe,ZBe,l9,QBe,$Be,eVe,tVe,nVe,rVe,iVe,aVe,oVe,sVe,cVe,lVe,uVe,dVe,fVe,pVe,mVe,hVe,gVe,_Ve,vVe,yVe,bVe,xVe,SVe,CVe,wVe,u9,d9,TVe,EVe,DVe,OVe,kVe,AVe,jVe,MVe,NVe,PVe,FVe,IVe,LVe,RVe,zVe,BVe,VVe,HVe,UVe,WVe,f9,GVe,KVe,qVe,JVe,YVe,XVe,ZVe,QVe,$Ve,eHe,tHe,nHe,rHe,iHe,aHe,oHe,sHe,cHe,lHe,uHe,dHe,fHe,pHe,mHe,hHe,gHe,_He,p9,m9,h9,vHe,yHe,bHe,xHe,g9,_9,SHe,CHe,wHe,THe,EHe,DHe,OHe,kHe,v9=o((()=>{LBe(),RBe=a9(/IDENTITY/i),o9=a9(/INDEX/i),s9=a9(/WITH/i),zBe=a9(/ON/i),a9(/OFF/i),VBe=a9(/FILESTREAM_ON/i),HBe=a9(/PRIMARY KEY/i),UBe=a9(/CLUSTERED/i),WBe=a9(/NONCLUSTERED/i),GBe=a9(/COLUMNSTORE/i),KBe=a9(/REFERENCES/i),qBe=a9(/FOREIGN KEY/i),JBe=a9(/CHECK/i),YBe=a9(/CONSTRAINT/i),c9=a9(/UNIQUE/i),a9(/HASH/i),a9(/BUCKET_COUNT/i),l9=a9(/NOT FOR REPLICATION/),QBe=a9(/ON DELETE/i),$Be=a9(/ON UPDATE/i),eVe=a9(/SET NULL/i),tVe=a9(/SET DEFAULT/i),nVe=a9(/NO ACTION/i),rVe=a9(/CASCADE/i),iVe=a9(/CONTENT/i),aVe=a9(/DOCUMENT/i),oVe=a9(/NULL/i),sVe=a9(/NOT NULL/i),cVe=a9(/DEFAULT/i),lVe=a9(/FILESTREAM/i),uVe=a9(/COLLATE/i),dVe=a9(/SPARSE/i),fVe=a9(/ROWGUIDCOL/i),pVe=a9(/MASKED/i),mVe=a9(/ENCRYPTED/i),a9(/FUNCTION/i),gVe=a9(/GENERATED ALWAYS AS ROW/i),_Ve=a9(/START/i),vVe=a9(/END/i),yVe=a9(/HIDDEN/i),bVe=a9(/ASC/i),xVe=a9(/DESC/i),SVe=a9(/TEXTIMAGE_ON/i),CVe=a9(/PERIOD FOR SYSTEM_TIME/i),wVe=a9(/FILETABLE/i),u9=a9(/TABLE/i),d9=a9(/CREATE/i),TVe=a9(/AS/i),EVe=a9(/PERSISTED/i),DVe=a9(/XML COLUMN_SET FOR ALL_SPARSE_COLUMNS/i),OVe=a9(/INCLUDE/i),kVe=a9(/IN/i),AVe=a9(/WHERE/i),jVe=a9(/FOR/i),MVe=a9(/WITH VALUES/i),NVe=a9(/CONNECTION/i),PVe=a9(/TO/i),FVe=a9(/ALTER/i),IVe=a9(/ADD/i),LVe=a9(/SET/i),RVe=a9(/REBUILD/i),zVe=a9(/SWITCH/i),BVe=a9(/ENABLE/i),VVe=a9(/DISABLE/i),a9(/NOCHECK/i),UVe=a9(/DROP/i),WVe=a9(/ALTER COLUMN/i),f9=a9(/GO/i),GVe=a9(/BULK INSERT/i),KVe=a9(/INSERT/i),qVe=a9(/UPDATE/i),JVe=a9(/MERGE/i),YVe=a9(/TRUNCATE TABLE/i),XVe=a9(/BACKUP/i),ZVe=a9(/RESTORE/i),QVe=a9(/CLOSE/i),$Ve=a9(/DENY/i),eHe=a9(/EXECUTE/i),tHe=a9(/EXEC/i),nHe=a9(/GRANT/i),rHe=a9(/OPEN/i),iHe=a9(/REVOKE/i),aHe=a9(/BEGIN/i),a9(/GET/i),sHe=a9(/MOVE/i),cHe=a9(/RECEIVE/i),lHe=a9(/SEND/i),uHe=a9(/RENAME/i),dHe=a9(/DELETE/i),fHe=a9(/IF/i),pHe=a9(/sp_addextendedproperty/i),mHe=a9(/IN/i),hHe=a9(/AND/i),i9(`<`),i9(`>`),p9=i9(`(`),m9=i9(`,`),h9=i9(`)`),i9(`"`),yHe=i9(`'`),i9(`[`),i9(`]`),g9=i9(`=`),_9=i9(`;`),SHe=a9(/@name/i),CHe=a9(/@value/i),wHe=a9(/@level0type/i),THe=a9(/@level0name/i),EHe=a9(/@level1type/i),DHe=a9(/@level1name/i),OHe=a9(/@level2type/i),kHe=a9(/@level2name/i)}));function y9(){return function(e){return C9.default.seqMap(C9.default.index,e,C9.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(n9)}}function b9(e,t=!1){let n=e.sepBy1(m9);return t&&(n=e.sepBy(m9)),C9.default.seq(p9,n,h9).map(e=>e[1])}function x9(e){return function(t){return t.skip(n9).map(t=>(t!==0&&!t&&(t=``),{type:e,value:t}))}}function S9(e){let t=null;return e.length>1&&(t=e[e.length-2]),{name:Zl(e),schemaName:t}}var C9,w9=o((()=>{C9=u(e9(),1),Fu(),v9(),r9()})),T9,E9,D9,O9,k9,AHe,jHe,MHe,A9,j9,NHe,PHe,FHe,IHe,LHe,RHe,zHe,BHe,VHe,M9,HHe,UHe,WHe,GHe,KHe,N9,qHe,P9=o((()=>{T9=u(e9(),1),w9(),v9(),r9(),E9=(0,T9.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,T9.default.makeSuccess(n+1,``)}),D9=T9.default.createLanguage({pIgnore:()=>E9,pColumnNames:e=>b9(T9.default.seq(e.pIdentifier,e.pKeywordAscOrDesc.fallback(null)).map(e=>e[0])).desc(`list of column names`),pDotDelimitedName:e=>T9.default.sepBy1(e.pIdentifier,T9.default.string(`.`)).desc(`dot delimited identifier`),pOptionList:e=>b9(e.pOption),pOption:e=>T9.default.seq(e.pIdentifier,g9,T9.default.seq(T9.default.alt(e.pIdentifier,e.pString).many(),T9.default.alt(e.pOptionList,b9(e.pIdentifier.many())).fallback(null))).desc(`option`),pComparsionOp:()=>T9.default.regex(/IS|IS[^\S\r\n]+NOT|=|<>|!=|>|>=|!>|<|<=|!</i).skip(n9).desc(`comparsion operator`),pConst:e=>T9.default.alt(e.pString,e.pUnicode,e.pBinary,e.pScience,e.pMoney,e.pSigned,e.pNumber).desc(`constant`),pFunction:e=>T9.default.seq(e.pIdentifier,b9(e.pFunctionParam,!0)).map(e=>`${e[0]}(${e[1].join(`,`)})`).thru(x9(`function`)).desc(`function constant`),pFunctionParam:e=>T9.default.alt(e.pNumber,e.pIdentifier).desc(`identifier or number paremeter`),pMoney:e=>T9.default.seq(T9.default.regexp(/[+-]\$/),e.pNumber).thru(x9(`money`)).desc(`money constant`),pSigned:e=>T9.default.seq(T9.default.regexp(/[+-]/),e.pNumber).thru(x9(`signed`)).desc(`signed constant`),pUnicode:e=>T9.default.seq(T9.default.string(`N`),e.pString).thru(x9(`unicode`)).desc(`unicode constant`),pString:()=>T9.default.regexp(/'[^']*'/).thru(x9(`string`)).map(e=>{let t=e.value;return e.value=t.slice(1,t.length-1),e}).desc(`string constant`),pNumberList:e=>b9(e.pNumber).desc(`list of number`),pNumber:()=>T9.default.regexp(/[0-9]+(\.[0-9]+)?/).map(Number).thru(x9(`number`)).desc(`number constant`),pBinary:()=>T9.default.regexp(/0x[A-F0-9]*/).thru(x9(`binary`)).desc(`binary constant`),pScience:()=>T9.default.regexp(/[+-]+[0-9]+(\.[0-9E]+)?/).thru(x9(`science`)).desc(`science constant`),pIdentifier:e=>T9.default.alt(e.pRegularIdentifier,e.pDelimitedIdentifier).skip(n9).desc(`identifier`),pDelimitedIdentifier:e=>T9.default.alt(e.pDQDelimitedIdentifier,e.pBracketDelimitedIdentifier).skip(n9).desc(`delimited identifier`),pRegularIdentifier:()=>T9.default.regexp(/^[\w@#][\w@#$]*/).skip(n9),pDQDelimitedIdentifier:()=>T9.default.seq(T9.default.string(`"`),T9.default.regexp(/[^"]*/),T9.default.string(`"`)).map(e=>e[1]).skip(n9),pBracketDelimitedIdentifier:()=>T9.default.seq(T9.default.string(`[`),T9.default.regexp(/[^\]]*/),T9.default.string(`]`)).map(e=>e[1]).skip(n9),pKeywordPKOrUnique:()=>T9.default.alt(HBe.result({type:`pk`,value:!0}),c9.result({type:`unique`,value:!0})),pKeywordClusteredOrNon:()=>T9.default.alt(UBe,WBe),pKeywordAscOrDesc:()=>T9.default.alt(bVe,xVe)}),O9=D9.pColumnNames,k9=D9.pDotDelimitedName,AHe=D9.pOptionList,jHe=D9.pOption,MHe=D9.pComparsionOp,A9=D9.pConst,j9=D9.pFunction,D9.pFunctionParam,D9.pMoney,D9.pSigned,D9.pUnicode,D9.pString,RHe=D9.pNumberList,D9.pNumber,D9.pBinary,D9.pScience,M9=D9.pIdentifier,D9.pDelimitedIdentifier,D9.pRegularIdentifier,D9.pDQDelimitedIdentifier,D9.pBracketDelimitedIdentifier,KHe=D9.pKeywordPKOrUnique,N9=D9.pKeywordClusteredOrNon,D9.pKeywordAscOrDesc}));function JHe(e,t){let n=t.value.endpoints.find(e=>!e.tableName);n.tableName=e.name,n.schemaName=e.schemaName}function YHe(e,t){t.value.tableName=e.name,t.value.schemaName=e.schemaName}function XHe(e,t,n){if(!n)return null;let r=S9(t);return n.forEach(e=>{if(e)switch(e.type){case`refs`:JHe(r,e);break;case`indexes`:case`dbdefault`:case`enums`:YHe(r,e);break;default:break}}),n}var ZHe=o((()=>{w9()}));function QHe(e){return e.many().map(e=>e.join(``)).fallback(null).thru(x9(`token`))}function $He(e){let t=h9.thru(QHe),n=p9.thru(QHe);return F9.default.seq(n,e,t)}function eUe(e){return F9.default.alt($He(e),e)}var F9,tUe,nUe,rUe=o((()=>{F9=u(e9(),1),P9(),v9(),r9(),w9(),Fu(),tUe=F9.default.createLanguage({ExpressionFinal:e=>e.Expression.map(e=>du(e).map(e=>e?e.value:``).join(``)),Expression:e=>eUe(F9.default.seq(F9.default.alt(e.UnaryExpression,e.SimpleExpression),e.BinaryExpressionLR.fallback(null)).skip(n9)),UnaryExpression:e=>{let t=F9.default.regex(/[+\-~]/).thru(x9(`unary_operator`));return eUe(F9.default.seq(t,e.Expression).skip(n9))},BinaryExpressionLR:e=>{let t=F9.default.regexp(/[+\-*/%=!<>&^|]{1,2}/).map(e=>` ${e} `).thru(x9(`binary_operator`)).skip(n9);return F9.default.seq(t,e.Expression).skip(n9)},SimpleExpression:e=>eUe(F9.default.alt(j9,A9,e.ExpressionDDN).skip(n9)),ExpressionDDN:()=>k9.map(e=>e.join(`.`)).thru(x9(`identifier`))}),nUe=tUe.ExpressionFinal}));function iUe(e,t,n){return{tableName:e.name,schemaName:e.schemaName,fieldNames:t,relation:n}}function aUe(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 oUe(e,t,n,r){let i={};return i.endpoint=iUe(S9(t),n,`1`),aUe(i,r),{type:`inline_refs`,value:[i]}}function sUe(e){return{type:`endpoint`,value:{fieldNames:e}}}function cUe(e,t,n,r,i,a){let o={},s=S9(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],aUe(o,a),{type:`refs`,value:o}}function lUe(e,t){return{type:e,setting:t.toLowerCase().trim().split(/[ ]+/).join(` `)}}var uUe=o((()=>{w9()})),I9,dUe,fUe,pUe,mUe=o((()=>{I9=u(e9(),1),v9(),P9(),w9(),uUe(),dUe=I9.default.createLanguage({TableConstraintFK:e=>I9.default.seqMap(qBe.fallback(null),e.TableEndpoint,KBe,k9,e.TableEndpoint.fallback(null),e.FKOptions.fallback(null),cUe),TableEndpoint:()=>I9.default.seqMap(O9,sUe).thru(y9()),ColumnConstraintFK:e=>I9.default.seqMap(e.FKKeywords,k9,b9(M9).fallback(null),e.FKOptions.fallback(null),oUe),FKOptions:e=>I9.default.alt(e.FKOnDelete,e.FKOnUpdate,e.FKNFR).many(),FKKeywords:()=>I9.default.seq(qBe.fallback(null),KBe),FKOnDelete:e=>I9.default.seqMap(QBe,e.FKOnOptions,lUe),FKOnUpdate:e=>I9.default.seqMap($Be,e.FKOnOptions,lUe),FKNFR:()=>l9.map(e=>({type:e})),FKOnOptions:()=>I9.default.alt(nVe,rVe,tVe,eVe)}),fUe=dUe.ColumnConstraintFK,pUe=dUe.TableConstraintFK}));function hUe(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 gUe(e,t){return{type:`indexes`,value:{name:t,columns:[]}}}function _Ue(e,t,n,r,i,a){return hUe(a,n,null,t)}function vUe(e,t,n){let r=null,i=null;return e.type===`pk`?r=!0:e.type===`unique`&&(i=!0),hUe(n,i,r)}var yUe=o((()=>{})),L9,R9,bUe,xUe,SUe,CUe,wUe,z9=o((()=>{L9=u(e9(),1),v9(),P9(),w9(),yUe(),R9=L9.default.createLanguage({TableIndex:e=>L9.default.seqMap(o9,M9,c9.fallback(null),N9.fallback(null),GBe.fallback(null),O9,_Ue).thru(y9()).skip(e.IgnoredIndexOptions),TableConstraintIndex:e=>L9.default.seqMap(KHe,N9.fallback(null),O9,vUe).thru(y9()).skip(e.IgnoredIndexOptions),ColumnConstraintIndex:e=>L9.default.seq(KHe).skip(e.IgnoredIndexOptions).map(e=>e[0]),ColumnIndex:e=>L9.default.seqMap(o9,M9,gUe).thru(y9()).skip(e.IgnoredIndexOptions),IgnoredIndexOptions:e=>L9.default.alt(N9,e.IgnoredIndexOption).many(),IgnoredIndexOption:e=>L9.default.alt(e.WithIndexOption,e.ColumnIndexFilestream,e.OnIndexOption,e.WithFillFactorOption),WithIndexOption:()=>L9.default.seq(s9,AHe),WithFillFactorOption:()=>L9.default.seq(s9,jHe),OnIndexOption:()=>L9.default.seq(zBe,L9.default.alt(M9,j9)),ColumnIndexFilestream:()=>L9.default.seq(VBe,M9)}),bUe=R9.ColumnIndex,xUe=R9.IgnoredIndexOption,SUe=R9.TableIndex,CUe=R9.ColumnConstraintIndex,wUe=R9.TableConstraintIndex}));function TUe(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 EUe(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 DUe(e,t){return t?{type:t.type,value:{...t.value,name:t.type===`indexes`&&t.value.pk?null:e}}:null}var OUe=o((()=>{})),B9,V9,kUe,AUe,jUe,MUe,NUe,H9=o((()=>{B9=u(e9(),1),v9(),rUe(),P9(),w9(),mUe(),z9(),OUe(),V9=B9.default.createLanguage({TableConstraint:e=>B9.default.seqMap(e.ConstraintName.fallback(null),e.TableConstraintOption,DUe).thru(y9()),TableConstraintOption:e=>B9.default.alt(pUe,wUe,e.ConstraintCheck),ColumnConstraint:e=>B9.default.seq(e.ConstraintName.fallback(null),e.ColumnConstraintOption).map(e=>e[1]),ColumnConstraintOption:e=>B9.default.alt(CUe,fUe,e.ConstraintCheck,e.ConstraintDefault),ConstraintCheck:e=>B9.default.seq(JBe,l9.fallback(null),e.ConstraintCheckExpr).map(e=>e[2]),ConstraintCheckExpr:e=>B9.default.alt(B9.default.seq(p9.fallback(null),e.ConstraintCheckEnum,h9.fallback(null)).map(e=>e[1]),nUe.thru(x9(`expression`))),ConstraintCheckEnum:()=>B9.default.seqMap(M9,mHe,b9(A9.thru(y9())),EUe).thru(y9()),ConstraintDefault:e=>B9.default.seqMap(cVe,e.ConstExpr,TUe),ConstExpr:e=>B9.default.alt(B9.default.seq(p9,e.ConstExpr,h9).map(e=>e[1]),j9,A9,oVe.thru(x9(`boolean`))),ConstraintName:()=>B9.default.seq(YBe,M9).map(e=>e[1])}),kUe=V9.ColumnConstraint,AUe=V9.TableConstraint,jUe=V9.ConstraintCheck,MUe=V9.ConstraintName,NUe=V9.ConstExpr}));function PUe(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 FUe=o((()=>{H9()}));function IUe(e,t){let n=t?t.join(`,`):null;return{type:`type`,value:{type_name:n?`${Zl(e)}(${n})`:Zl(e),schemaName:e.length>1?e[0]:null,args:n}}}function LUe(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 RUe=o((()=>{Fu()})),U9,W9,zUe,BUe,VUe,HUe=o((()=>{U9=u(e9(),1),v9(),P9(),w9(),z9(),H9(),rUe(),RUe(),W9=U9.default.createLanguage({ColumnsDefinition:e=>U9.default.alt(e.ComputedColumnDefinition.result(null),e.ColumnSetDefinition.result(null),e.ColumnDefinition),ColumnDefinition:e=>U9.default.seqMap(k9,e.DataType,U9.default.alt(e.ColumnSetting,e.IgnoredColumnSetting.result(null)).many().fallback(null),LUe).thru(y9()),ColumnSetDefinition:()=>U9.default.seq(M9,DVe),ComputedColumnDefinition:()=>U9.default.seq(M9,TVe,nUe,U9.default.seq(EVe,sVe.fallback(null)).fallback(null),kUe.fallback(null)),ColumnSetting:e=>U9.default.alt(e.NullOrNot,e.Identity,bUe,kUe),IgnoredColumnSetting:e=>U9.default.alt(e.ColumnSetting1Word,e.ColumnSettingWith,e.ColumnSettingGAAR,e.ColumnSettingCollate),DataType:e=>U9.default.seqMap(k9,b9(U9.default.alt(e.DataTypeXML,M9)).fallback(null),IUe),DataTypeXML:()=>U9.default.seq(U9.default.alt(aVe,iVe),M9).tieWith(` `),NullOrNot:()=>U9.default.alt(oVe.result(!1),sVe.result(!0)).thru(x9(`not_null`)),Identity:()=>RBe.result(!0).skip(RHe.fallback(null)).thru(x9(`increment`)),ColumnSetting1Word:()=>U9.default.alt(lVe,l9,fVe,dVe),ColumnSettingWith:()=>U9.default.seq(U9.default.alt(pVe,mVe),s9,AHe),ColumnSettingCollate:()=>U9.default.seq(uVe,M9),ColumnSettingGAAR:()=>U9.default.seq(gVe,U9.default.alt(_Ve,vVe),yVe.fallback(null))}),W9.Identity,W9.DataType,VUe=W9.ColumnsDefinition})),G9,UUe,WUe,GUe=o((()=>{G9=u(e9(),1),v9(),P9(),w9(),FUe(),mUe(),z9(),H9(),HUe(),UUe=G9.default.createLanguage({AddAction:e=>G9.default.seq(IVe,e.AddOption.sepBy1(m9)).map(e=>e[1]),AddOption:e=>G9.default.alt(e.AddConstraint,VUe.result(null),e.IgnoredAddSystemTimeOption.result(null)),IgnoredAddSystemTimeOption:()=>G9.default.alt(M9,G9.default.regexp(/[(),]/)).many(),AddConstraint:e=>G9.default.seqMap(MUe.fallback(null),e.AddConstraintOption,DUe).thru(y9()),AddConstraintOption:e=>G9.default.alt(pUe,wUe,jUe,e.AddConstraintDefault,e.IgnoredAddConstraintOption.result(null)),IgnoredAddConstraintOption:e=>G9.default.alt(e.AddConstraintConnection),AddConstraintDefault:()=>G9.default.seqMap(cVe,NUe,jVe,M9,MVe.fallback(null),PUe),AddConstraintConnection:()=>G9.default.seq(NVe,b9(G9.default.seq(M9,PVe,M9)))}),WUe=UUe.AddAction})),K9,KUe,qUe,JUe=o((()=>{K9=u(e9(),1),v9(),P9(),ZHe(),GUe(),KUe=K9.default.createLanguage({AlterTable:e=>K9.default.seqMap(e.AlterTableKeywords,k9,e.AlterTableActions,XHe),AlterTableActions:e=>K9.default.alt(WUe,e.IgnoredAlterTableActions),AlterTableKeywords:()=>K9.default.seq(FVe,u9),IgnoredAlterTableActions:e=>K9.default.seq(e.IgnoredAlterTableActionKeywords,E9).result(null),IgnoredAlterTableActionKeywords:()=>K9.default.alt(s9,WVe,UVe,BVe,VVe,JBe,zVe,LVe,RVe)}),qUe=KUe.AlterTable}));function YUe(e,t,n,r,i,a,o,s){let c=S9(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 XUe=o((()=>{w9()})),q9,ZUe,QUe,$Ue=o((()=>{q9=u(e9(),1),v9(),P9(),w9(),XUe(),z9(),ZUe=q9.default.createLanguage({CreateIndex:e=>q9.default.seqMap(d9,c9.fallback(null),N9.fallback(null),o9,M9,zBe,k9,O9,YUe).thru(y9()).skip(e.IgnoredCreateIndexOptions),IgnoredCreateIndexOptions:e=>q9.default.alt(xUe,e.IncludeIndexOption,e.WhereIndexOption).many(),IncludeIndexOption:()=>q9.default.seq(OVe,O9),WhereIndexOption:e=>q9.default.seq(AVe,e.FilterPredicate),FilterPredicate:e=>q9.default.seq(e.Conjunct,q9.default.seq(hHe,e.Conjunct).fallback(null)),Conjunct:e=>q9.default.alt(e.Disjunct,e.Comparsion),Disjunct:()=>q9.default.seq(M9,kVe,b9(A9)),Comparsion:()=>q9.default.seq(M9,MHe,A9)}),QUe=ZUe.CreateIndex}));function eWe(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 tWe(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 nWe(e,t){t.indexes&&=(t.indexes.columns.push({value:t.name,type:`column`}),e.push(t.indexes),null)}function rWe(e,t){let n={fields:[],enums:[],refs:[],indexes:[]};return e.forEach(e=>{if(e&&n[e.type]){if(e.type===`fields`&&(tWe(n.enums,e.value,t),nWe(n.indexes,e.value),eWe(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 iWe(e,t,n,r){let i=S9(t),a=rWe(r,i);return{type:`tables`,value:{...i,...a.value}}}var aWe=o((()=>{w9()})),J9,oWe,sWe,cWe=o((()=>{J9=u(e9(),1),v9(),P9(),w9(),H9(),z9(),HUe(),aWe(),oWe=J9.default.createLanguage({CreateTable:e=>J9.default.seqMap(e.CreateTableKeywords,k9,e.AsFileTableKeywords.fallback(null),b9(e.Line),iWe).thru(y9()).skip(e.IgnoredTableOptions),CreateTableKeywords:()=>J9.default.seq(d9,u9),AsFileTableKeywords:()=>J9.default.seq(TVe,wVe),Line:e=>J9.default.alt(e.SystemTimeTableOption,AUe,SUe,VUe),SystemTimeTableOption:()=>J9.default.seq(CVe,b9(M9)).result(null),IgnoredTableOptions:e=>J9.default.alt(xUe,e.TextImageTableOption).many(),TextImageTableOption:()=>J9.default.seq(SVe,M9)}),sWe=oWe.CreateTable}));function lWe({note:e,level:t}){let n=`unsupported`,r=null,i=null,a=null;return pWe(t)?(r=t[0].name,i=t[1].name,n=`table`):mWe(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 uWe,dWe,fWe,pWe,mWe,hWe=o((()=>{uWe=e=>e.toLowerCase()===`schema`,dWe=e=>e.toLowerCase()===`table`,fWe=e=>e.toLowerCase()===`column`,pWe=e=>e.length===2&&uWe(e[0].type)&&dWe(e[1].type),mWe=e=>e.length===3&&uWe(e[0].type)&&dWe(e[1].type)&&fWe(e[2].type)})),Y9,gWe,_We,vWe=o((()=>{Y9=u(e9(),1),v9(),hWe(),w9(),gWe=Y9.default.createLanguage({StartComment:()=>Y9.default.seq(tHe,pHe),EndComment:()=>Y9.default.seq(_9.atMost(1),f9),StartString:()=>Y9.default.alt(yHe,Y9.default.string(`N'`)),ManyDoubleSingleQuote:()=>Y9.default.string(`''`),NoSingleQuote:()=>Y9.default.regex(/[^']/),StringType:e=>Y9.default.alt(e.NoSingleQuote,e.ManyDoubleSingleQuote).atLeast(1).map(e=>e.join(``)),NVarchar:e=>e.StartString.then(e.StringType).skip(yHe),NameOption:e=>SHe.skip(g9).then(e.NVarchar),ValueOption:e=>CHe.skip(g9).then(e.NVarchar),Level0Type:e=>wHe.skip(g9).then(e.NVarchar),Level0Name:e=>THe.skip(g9).then(e.NVarchar),Level1Type:e=>EHe.skip(g9).then(e.NVarchar),Level1Name:e=>DHe.skip(g9).then(e.NVarchar),Level2Type:e=>OHe.skip(g9).then(e.NVarchar),Level2Name:e=>kHe.skip(g9).then(e.NVarchar),Level0Stmt:e=>Y9.default.seqObj([`type`,e.Level0Type],m9,[`name`,e.Level0Name]),Level1Stmt:e=>Y9.default.seqObj([`type`,e.Level1Type],m9,[`name`,e.Level1Name]),Level2Stmt:e=>Y9.default.seqObj([`type`,e.Level2Type],m9,[`name`,e.Level2Name]),Level0Wrapper:e=>Y9.default.alt(Y9.default.seq(e.Level0Stmt.skip(m9),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=>Y9.default.alt(Y9.default.seq(e.Level1Stmt.skip(m9),e.Level2Stmt),e.Level1Stmt).map(e=>Array.isArray(e)?e:[e]),CommentSyntax:e=>Y9.default.seqObj(e.StartComment,[`name`,e.NameOption],m9,[`note`,e.ValueOption],m9,[`level`,e.Level0Wrapper],e.EndComment).map(lWe).thru(y9())}),_We=gWe.CommentSyntax})),yWe=o((()=>{JUe(),$Ue(),cWe(),vWe()}));function X9(e,t,n){let r=n||`public`;return e.tables.find(e=>(e.schemaName||`public`)===r&&e.name===t)}function bWe(e,t){return e.fields.find(e=>e.name===t)}function xWe(e,t){X9(t,e.tableName,e.schemaName).indexes.push(e),e.tableName=null}function SWe(e,t){e.forEach(e=>{t.push(e)})}function CWe(e,t){SWe(e.enums,t.enums),SWe(e.refs,t.refs),e.enums.forEach(e=>{e.fieldName=null}),e.enums=null,e.refs=null}function wWe(e,t){let n=bWe(X9(t,e.tableName,e.schemaName),e.fieldName);e.fieldName=null,e.tableName=null,n.dbdefault=e}function TWe(e,t){let n=bWe(X9(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 EWe(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=X9(t,e.tableName,n);r&&(r.note=e.note?{value:e.note}:null)}function DWe(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=X9(t,e.tableName,n);if(r){let t=bWe(r,e.columnName);t&&(t.note=e.note?{value:e.note}:null)}}function OWe(e,t){e.type===`table`?EWe(e,t):e.type===`column`&&DWe(e,t)}function kWe(e){let t={tables:[],refs:[],indexes:[],enums:[]};return Qa(e).forEach(e=>{if(e){switch(e.type){case`tables`:CWe(e.value,t);break;case`indexes`:xWe(e.value,t);break;case`dbdefault`:wWe(e.value,t);break;case`enums`:TWe(e.value,t);break;case`comment`:OWe(e.value,t);break;default:break}e.type&&t[e.type]&&t[e.type].push(e.value)}}),t.indexes=null,t}var AWe=o((()=>{Fu()})),Z9,jWe,Q9,MWe=o((()=>{Z9=u(e9(),1),v9(),yWe(),r9(),AWe(),P9(),jWe=Z9.default.createLanguage({Statements:e=>n9.then(e.Seperator).then(Z9.default.sepBy(e.StatementTypes,e.Seperator)).skip(e.Seperator).map(kWe),StatementTypes:e=>Z9.default.alt(QUe,sWe,qUe,_We,e.IgnoredStatementTypes),IgnoredStatementTypes:e=>Z9.default.seq(e.IgnoredStatementSyntax,E9),IgnoredStatementSyntax:e=>Z9.default.alt(e.IgnoredDDLSyntax,e.IgnoredDMLSyntax,e.IgnoredBackupAndRestoreSyntax,e.IgnoredServiceBrokerSyntax,e.IgnoredPermissionSyntax,IVe,QVe,LVe,fHe),IgnoredDDLSyntax:e=>Z9.default.alt(e.KeywordCreateWithoutTable,e.KeywordAlterWithoutTable,uVe,UVe,uHe,BVe,VVe),IgnoredDMLSyntax:()=>Z9.default.alt(GVe,KVe,qVe,JVe,YVe,dHe),IgnoredServiceBrokerSyntax:()=>Z9.default.alt(aHe,vVe,sHe,cHe,lHe),IgnoredPermissionSyntax:()=>Z9.default.alt($Ve,eHe,nHe,rHe,iHe),IgnoredBackupAndRestoreSyntax:()=>Z9.default.alt(XVe,ZVe),KeywordCreateWithoutTable:()=>d9.notFollowedBy(u9),KeywordAlterWithoutTable:()=>FVe.notFollowedBy(u9),Seperator:()=>Z9.default.alt(_9,f9,Z9.default.seq(_9,f9)).many()}),Q9=jWe.Statements})),NWe=c({default:()=>PWe},1),PWe,FWe=o((()=>{MWe(),Q9.parseWithPegError=function(e){try{return Q9.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}},PWe=Q9})),IWe=s(((e,t)=>{t.exports=(FWe(),d(NWe))})),LWe=u(ABe(),1),RWe=u(jBe(),1),zWe=u(MBe(),1),BWe=u(NBe(),1),VWe=u(IWe(),1),HWe=class e{constructor(e){this.DBMLCompiler=e||new fce}static parseJSONToDatabase(e){return new hle(e)}static parseMySQLToJSONv2(e){return Z7(e,`mysql`)}static parseMySQLToJSON(e){return LWe.default.parse(e)}static parsePostgresToJSONv2(e){return Z7(e,`postgres`)}static parsePostgresToJSON(e){return RWe.default.parse(e)}static parseDBMLToJSONv2(e,t){let n=t||new fce;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 G7.create(r);return n.parse.rawDb()}static parseDBMLToJSON(e){return zWe.default.parse(e)}static parseSchemaRbToJSON(e){return BWe.default.parse(e)}static parseMSSQLToJSON(e){return VWe.default.parseWithPegError(e)}static parseMSSQLToJSONv2(e){return Z7(e,`mssql`)}static parseSnowflakeToJSON(e){return Z7(e,`snowflake`)}static parseOracleToJSON(e){return Z7(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 G7.create(e)}}},$9=HWe,UWe=e=>new hle(e),WWe=e=>e.map(e=>{let{name:t,endpoints:n,onDelete:r,onUpdate:i}=e;return new Nhe({name:t,endpoints:n.map(e=>new YT(e)),onDelete:r,onUpdate:i}).toJSON()}),GWe=e=>e.map(e=>{let{name:t,schemaName:n,values:r}=e;return new XT({name:t,schemaName:n,values:r})}),KWe=(e,t)=>e.map(e=>{let n=t[e.name]||{};return new qT({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})}),qWe=e=>e.map(e=>{let{name:t,unique:n,pk:r,type:i,columns:a}=e;return new KT({name:t,unique:n,pk:r,type:i,columns:a})}),JWe=(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 JT({name:a,schemaName:o,fields:KWe(t[c],l),indexes:qWe(n[c]||[]),note:s,checks:r[c]})}),YWe=e=>{let{tables:t,fields:n,indexes:r,refs:i,enums:a,tableConstraints:o,checks:s}=e;try{let e=JWe(t,n,r,s,o),c=GWe(a);return UWe({schemas:[],tables:e,refs:WWe(i),enums:c,tableGroups:[],aliases:[],project:{}})}catch(e){throw Error(e)}};function XWe(e,t){let n=new $9().parse(e,t);return th.export(n.normalize(),`dbml`)}function ZWe(e){let t=YWe(e);return th.export(t.normalize(),`dbml`)}var QWe={import:XWe,generateDbml:ZWe};function $We(e,t){let n=new $9().parse(e,`dbmlv2`);return th.export(n.normalize(),t)}var eGe={export:$We};function tGe(e,t,n){let r=new fce;return r.setSource(n),r.renameTable(e,t)}const nGe=`6.2.0`,rGe=`6.2.0`;exports.CompilerError=G7,exports.ModelExporter=th,exports.Parser=$9,exports.VERSION=`6.2.0`,exports.exporter=eGe,exports.importer=QWe,exports.renameTable=tGe;
|
|
129
|
+
`),Ye=we(Je,qe,Ke).desc(`newline`),Xe=we(Ye,ze);r.all=Re,r.alt=we,r.any=Le,r.cr=Ke,r.createLanguage=function(e){var t={};for(var n in e)({}).hasOwnProperty.call(e,n)&&function(n){t[n]=Pe(function(){return e[n](t)})}(n);return t},r.crlf=Je,r.custom=function(e){return r(e(b,te))},r.digit=Be,r.digits=Ve,r.empty=Fe,r.end=Xe,r.eof=ze,r.fail=Ae,r.formatError=be,r.index=Ie,r.isParser=ee,r.lazy=Pe,r.letter=He,r.letters=Ue,r.lf=qe,r.lookahead=je,r.makeFailure=te,r.makeSuccess=b,r.newline=Ye,r.noneOf=function(e){return Ne(function(t){return e.indexOf(t)<0}).desc(`none of '`+e+`'`)},r.notFollowedBy=Me,r.of=ke,r.oneOf=function(e){for(var t=e.split(``),n=0;n<t.length;n++)t[n]=`'`+t[n]+`'`;return Ne(function(t){return e.indexOf(t)>=0}).desc(t)},r.optWhitespace=We,r.Parser=r,r.range=function(e,t){return Ne(function(n){return e<=n&&n<=t}).desc(e+`-`+t)},r.regex=Oe,r.regexp=Oe,r.sepBy=Te,r.sepBy1=Ee,r.seq=Se,r.seqMap=Ce,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=ne(c._(e,t),n)).status)return n;s&&(r[s]=n.value),t=n.index}return ne(b(t,r),n)})},r.string=De,r.succeed=ke,r.takeWhile=function(e){return ce(e),r(function(t,n){for(var r=n;r<t.length&&e(oe(t,r));)r++;return b(r,t.slice(n,r))})},r.test=Ne,r.whitespace=Ge,r[`fantasy-land/empty`]=Fe,r[`fantasy-land/of`]=ke,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(le(r[0]),se(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 se(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(),se(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=oe(n,r);return i===e?b(r+1,i):te(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}])})})),t9,PBe,n9,r9=o((()=>{t9=u(e9(),1),PBe=t9.default.createLanguage({WhiteSpaces:e=>t9.default.alt(e.WhiteSpace,e.InlineComment,e.MulLineComment).many().desc(`whitespaces or comments`),WhiteSpace:()=>t9.default.regexp(/\s/).desc(`whitespaces`),InlineComment:()=>t9.default.seq(t9.default.string(`--`),t9.default.regexp(/[^\n\r]*/)).desc(`comments`),MulLineComment:()=>t9.default.regexp(/\/\*[\s\S]+?\*\//).desc(`comments`)}),n9=PBe.WhiteSpaces}));function i9(e){return IBe.default.string(e).skip(n9).desc(`"${e}"`)}function FBe(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 a9(e){let t=e,n=e.source;return t=FBe(e),IBe.default.regexp(t).skip(n9).desc(`"${n}"`)}var IBe,LBe=o((()=>{IBe=u(e9(),1),r9()})),RBe,o9,s9,zBe,BBe,VBe,HBe,UBe,WBe,GBe,KBe,qBe,JBe,YBe,c9,XBe,ZBe,l9,QBe,$Be,eVe,tVe,nVe,rVe,iVe,aVe,oVe,sVe,cVe,lVe,uVe,dVe,fVe,pVe,mVe,hVe,gVe,_Ve,vVe,yVe,bVe,xVe,SVe,CVe,wVe,u9,d9,TVe,EVe,DVe,OVe,kVe,AVe,jVe,MVe,NVe,PVe,FVe,IVe,LVe,RVe,zVe,BVe,VVe,HVe,UVe,WVe,f9,GVe,KVe,qVe,JVe,YVe,XVe,ZVe,QVe,$Ve,eHe,tHe,nHe,rHe,iHe,aHe,oHe,sHe,cHe,lHe,uHe,dHe,fHe,pHe,mHe,hHe,gHe,_He,p9,m9,h9,vHe,yHe,bHe,xHe,g9,_9,SHe,CHe,wHe,THe,EHe,DHe,OHe,kHe,v9=o((()=>{LBe(),RBe=a9(/IDENTITY/i),o9=a9(/INDEX/i),s9=a9(/WITH/i),zBe=a9(/ON/i),a9(/OFF/i),VBe=a9(/FILESTREAM_ON/i),HBe=a9(/PRIMARY KEY/i),UBe=a9(/CLUSTERED/i),WBe=a9(/NONCLUSTERED/i),GBe=a9(/COLUMNSTORE/i),KBe=a9(/REFERENCES/i),qBe=a9(/FOREIGN KEY/i),JBe=a9(/CHECK/i),YBe=a9(/CONSTRAINT/i),c9=a9(/UNIQUE/i),a9(/HASH/i),a9(/BUCKET_COUNT/i),l9=a9(/NOT FOR REPLICATION/),QBe=a9(/ON DELETE/i),$Be=a9(/ON UPDATE/i),eVe=a9(/SET NULL/i),tVe=a9(/SET DEFAULT/i),nVe=a9(/NO ACTION/i),rVe=a9(/CASCADE/i),iVe=a9(/CONTENT/i),aVe=a9(/DOCUMENT/i),oVe=a9(/NULL/i),sVe=a9(/NOT NULL/i),cVe=a9(/DEFAULT/i),lVe=a9(/FILESTREAM/i),uVe=a9(/COLLATE/i),dVe=a9(/SPARSE/i),fVe=a9(/ROWGUIDCOL/i),pVe=a9(/MASKED/i),mVe=a9(/ENCRYPTED/i),a9(/FUNCTION/i),gVe=a9(/GENERATED ALWAYS AS ROW/i),_Ve=a9(/START/i),vVe=a9(/END/i),yVe=a9(/HIDDEN/i),bVe=a9(/ASC/i),xVe=a9(/DESC/i),SVe=a9(/TEXTIMAGE_ON/i),CVe=a9(/PERIOD FOR SYSTEM_TIME/i),wVe=a9(/FILETABLE/i),u9=a9(/TABLE/i),d9=a9(/CREATE/i),TVe=a9(/AS/i),EVe=a9(/PERSISTED/i),DVe=a9(/XML COLUMN_SET FOR ALL_SPARSE_COLUMNS/i),OVe=a9(/INCLUDE/i),kVe=a9(/IN/i),AVe=a9(/WHERE/i),jVe=a9(/FOR/i),MVe=a9(/WITH VALUES/i),NVe=a9(/CONNECTION/i),PVe=a9(/TO/i),FVe=a9(/ALTER/i),IVe=a9(/ADD/i),LVe=a9(/SET/i),RVe=a9(/REBUILD/i),zVe=a9(/SWITCH/i),BVe=a9(/ENABLE/i),VVe=a9(/DISABLE/i),a9(/NOCHECK/i),UVe=a9(/DROP/i),WVe=a9(/ALTER COLUMN/i),f9=a9(/GO/i),GVe=a9(/BULK INSERT/i),KVe=a9(/INSERT/i),qVe=a9(/UPDATE/i),JVe=a9(/MERGE/i),YVe=a9(/TRUNCATE TABLE/i),XVe=a9(/BACKUP/i),ZVe=a9(/RESTORE/i),QVe=a9(/CLOSE/i),$Ve=a9(/DENY/i),eHe=a9(/EXECUTE/i),tHe=a9(/EXEC/i),nHe=a9(/GRANT/i),rHe=a9(/OPEN/i),iHe=a9(/REVOKE/i),aHe=a9(/BEGIN/i),a9(/GET/i),sHe=a9(/MOVE/i),cHe=a9(/RECEIVE/i),lHe=a9(/SEND/i),uHe=a9(/RENAME/i),dHe=a9(/DELETE/i),fHe=a9(/IF/i),pHe=a9(/sp_addextendedproperty/i),mHe=a9(/IN/i),hHe=a9(/AND/i),i9(`<`),i9(`>`),p9=i9(`(`),m9=i9(`,`),h9=i9(`)`),i9(`"`),yHe=i9(`'`),i9(`[`),i9(`]`),g9=i9(`=`),_9=i9(`;`),SHe=a9(/@name/i),CHe=a9(/@value/i),wHe=a9(/@level0type/i),THe=a9(/@level0name/i),EHe=a9(/@level1type/i),DHe=a9(/@level1name/i),OHe=a9(/@level2type/i),kHe=a9(/@level2name/i)}));function y9(){return function(e){return C9.default.seqMap(C9.default.index,e,C9.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(n9)}}function b9(e,t=!1){let n=e.sepBy1(m9);return t&&(n=e.sepBy(m9)),C9.default.seq(p9,n,h9).map(e=>e[1])}function x9(e){return function(t){return t.skip(n9).map(t=>(t!==0&&!t&&(t=``),{type:e,value:t}))}}function S9(e){let t=null;return e.length>1&&(t=e[e.length-2]),{name:Zl(e),schemaName:t}}var C9,w9=o((()=>{C9=u(e9(),1),Fu(),v9(),r9()})),T9,E9,D9,O9,k9,AHe,jHe,MHe,A9,j9,NHe,PHe,FHe,IHe,LHe,RHe,zHe,BHe,VHe,M9,HHe,UHe,WHe,GHe,KHe,N9,qHe,P9=o((()=>{T9=u(e9(),1),w9(),v9(),r9(),E9=(0,T9.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,T9.default.makeSuccess(n+1,``)}),D9=T9.default.createLanguage({pIgnore:()=>E9,pColumnNames:e=>b9(T9.default.seq(e.pIdentifier,e.pKeywordAscOrDesc.fallback(null)).map(e=>e[0])).desc(`list of column names`),pDotDelimitedName:e=>T9.default.sepBy1(e.pIdentifier,T9.default.string(`.`)).desc(`dot delimited identifier`),pOptionList:e=>b9(e.pOption),pOption:e=>T9.default.seq(e.pIdentifier,g9,T9.default.seq(T9.default.alt(e.pIdentifier,e.pString).many(),T9.default.alt(e.pOptionList,b9(e.pIdentifier.many())).fallback(null))).desc(`option`),pComparsionOp:()=>T9.default.regex(/IS|IS[^\S\r\n]+NOT|=|<>|!=|>|>=|!>|<|<=|!</i).skip(n9).desc(`comparsion operator`),pConst:e=>T9.default.alt(e.pString,e.pUnicode,e.pBinary,e.pScience,e.pMoney,e.pSigned,e.pNumber).desc(`constant`),pFunction:e=>T9.default.seq(e.pIdentifier,b9(e.pFunctionParam,!0)).map(e=>`${e[0]}(${e[1].join(`,`)})`).thru(x9(`function`)).desc(`function constant`),pFunctionParam:e=>T9.default.alt(e.pNumber,e.pIdentifier).desc(`identifier or number paremeter`),pMoney:e=>T9.default.seq(T9.default.regexp(/[+-]\$/),e.pNumber).thru(x9(`money`)).desc(`money constant`),pSigned:e=>T9.default.seq(T9.default.regexp(/[+-]/),e.pNumber).thru(x9(`signed`)).desc(`signed constant`),pUnicode:e=>T9.default.seq(T9.default.string(`N`),e.pString).thru(x9(`unicode`)).desc(`unicode constant`),pString:()=>T9.default.regexp(/'[^']*'/).thru(x9(`string`)).map(e=>{let t=e.value;return e.value=t.slice(1,t.length-1),e}).desc(`string constant`),pNumberList:e=>b9(e.pNumber).desc(`list of number`),pNumber:()=>T9.default.regexp(/[0-9]+(\.[0-9]+)?/).map(Number).thru(x9(`number`)).desc(`number constant`),pBinary:()=>T9.default.regexp(/0x[A-F0-9]*/).thru(x9(`binary`)).desc(`binary constant`),pScience:()=>T9.default.regexp(/[+-]+[0-9]+(\.[0-9E]+)?/).thru(x9(`science`)).desc(`science constant`),pIdentifier:e=>T9.default.alt(e.pRegularIdentifier,e.pDelimitedIdentifier).skip(n9).desc(`identifier`),pDelimitedIdentifier:e=>T9.default.alt(e.pDQDelimitedIdentifier,e.pBracketDelimitedIdentifier).skip(n9).desc(`delimited identifier`),pRegularIdentifier:()=>T9.default.regexp(/^[\w@#][\w@#$]*/).skip(n9),pDQDelimitedIdentifier:()=>T9.default.seq(T9.default.string(`"`),T9.default.regexp(/[^"]*/),T9.default.string(`"`)).map(e=>e[1]).skip(n9),pBracketDelimitedIdentifier:()=>T9.default.seq(T9.default.string(`[`),T9.default.regexp(/[^\]]*/),T9.default.string(`]`)).map(e=>e[1]).skip(n9),pKeywordPKOrUnique:()=>T9.default.alt(HBe.result({type:`pk`,value:!0}),c9.result({type:`unique`,value:!0})),pKeywordClusteredOrNon:()=>T9.default.alt(UBe,WBe),pKeywordAscOrDesc:()=>T9.default.alt(bVe,xVe)}),O9=D9.pColumnNames,k9=D9.pDotDelimitedName,AHe=D9.pOptionList,jHe=D9.pOption,MHe=D9.pComparsionOp,A9=D9.pConst,j9=D9.pFunction,D9.pFunctionParam,D9.pMoney,D9.pSigned,D9.pUnicode,D9.pString,RHe=D9.pNumberList,D9.pNumber,D9.pBinary,D9.pScience,M9=D9.pIdentifier,D9.pDelimitedIdentifier,D9.pRegularIdentifier,D9.pDQDelimitedIdentifier,D9.pBracketDelimitedIdentifier,KHe=D9.pKeywordPKOrUnique,N9=D9.pKeywordClusteredOrNon,D9.pKeywordAscOrDesc}));function JHe(e,t){let n=t.value.endpoints.find(e=>!e.tableName);n.tableName=e.name,n.schemaName=e.schemaName}function YHe(e,t){t.value.tableName=e.name,t.value.schemaName=e.schemaName}function XHe(e,t,n){if(!n)return null;let r=S9(t);return n.forEach(e=>{if(e)switch(e.type){case`refs`:JHe(r,e);break;case`indexes`:case`dbdefault`:case`enums`:YHe(r,e);break;default:break}}),n}var ZHe=o((()=>{w9()}));function QHe(e){return e.many().map(e=>e.join(``)).fallback(null).thru(x9(`token`))}function $He(e){let t=h9.thru(QHe),n=p9.thru(QHe);return F9.default.seq(n,e,t)}function eUe(e){return F9.default.alt($He(e),e)}var F9,tUe,nUe,rUe=o((()=>{F9=u(e9(),1),P9(),v9(),r9(),w9(),Fu(),tUe=F9.default.createLanguage({ExpressionFinal:e=>e.Expression.map(e=>du(e).map(e=>e?e.value:``).join(``)),Expression:e=>eUe(F9.default.seq(F9.default.alt(e.UnaryExpression,e.SimpleExpression),e.BinaryExpressionLR.fallback(null)).skip(n9)),UnaryExpression:e=>{let t=F9.default.regex(/[+\-~]/).thru(x9(`unary_operator`));return eUe(F9.default.seq(t,e.Expression).skip(n9))},BinaryExpressionLR:e=>{let t=F9.default.regexp(/[+\-*/%=!<>&^|]{1,2}/).map(e=>` ${e} `).thru(x9(`binary_operator`)).skip(n9);return F9.default.seq(t,e.Expression).skip(n9)},SimpleExpression:e=>eUe(F9.default.alt(j9,A9,e.ExpressionDDN).skip(n9)),ExpressionDDN:()=>k9.map(e=>e.join(`.`)).thru(x9(`identifier`))}),nUe=tUe.ExpressionFinal}));function iUe(e,t,n){return{tableName:e.name,schemaName:e.schemaName,fieldNames:t,relation:n}}function aUe(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 oUe(e,t,n,r){let i={};return i.endpoint=iUe(S9(t),n,`1`),aUe(i,r),{type:`inline_refs`,value:[i]}}function sUe(e){return{type:`endpoint`,value:{fieldNames:e}}}function cUe(e,t,n,r,i,a){let o={},s=S9(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],aUe(o,a),{type:`refs`,value:o}}function lUe(e,t){return{type:e,setting:t.toLowerCase().trim().split(/[ ]+/).join(` `)}}var uUe=o((()=>{w9()})),I9,dUe,fUe,pUe,mUe=o((()=>{I9=u(e9(),1),v9(),P9(),w9(),uUe(),dUe=I9.default.createLanguage({TableConstraintFK:e=>I9.default.seqMap(qBe.fallback(null),e.TableEndpoint,KBe,k9,e.TableEndpoint.fallback(null),e.FKOptions.fallback(null),cUe),TableEndpoint:()=>I9.default.seqMap(O9,sUe).thru(y9()),ColumnConstraintFK:e=>I9.default.seqMap(e.FKKeywords,k9,b9(M9).fallback(null),e.FKOptions.fallback(null),oUe),FKOptions:e=>I9.default.alt(e.FKOnDelete,e.FKOnUpdate,e.FKNFR).many(),FKKeywords:()=>I9.default.seq(qBe.fallback(null),KBe),FKOnDelete:e=>I9.default.seqMap(QBe,e.FKOnOptions,lUe),FKOnUpdate:e=>I9.default.seqMap($Be,e.FKOnOptions,lUe),FKNFR:()=>l9.map(e=>({type:e})),FKOnOptions:()=>I9.default.alt(nVe,rVe,tVe,eVe)}),fUe=dUe.ColumnConstraintFK,pUe=dUe.TableConstraintFK}));function hUe(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 gUe(e,t){return{type:`indexes`,value:{name:t,columns:[]}}}function _Ue(e,t,n,r,i,a){return hUe(a,n,null,t)}function vUe(e,t,n){let r=null,i=null;return e.type===`pk`?r=!0:e.type===`unique`&&(i=!0),hUe(n,i,r)}var yUe=o((()=>{})),L9,R9,bUe,xUe,SUe,CUe,wUe,z9=o((()=>{L9=u(e9(),1),v9(),P9(),w9(),yUe(),R9=L9.default.createLanguage({TableIndex:e=>L9.default.seqMap(o9,M9,c9.fallback(null),N9.fallback(null),GBe.fallback(null),O9,_Ue).thru(y9()).skip(e.IgnoredIndexOptions),TableConstraintIndex:e=>L9.default.seqMap(KHe,N9.fallback(null),O9,vUe).thru(y9()).skip(e.IgnoredIndexOptions),ColumnConstraintIndex:e=>L9.default.seq(KHe).skip(e.IgnoredIndexOptions).map(e=>e[0]),ColumnIndex:e=>L9.default.seqMap(o9,M9,gUe).thru(y9()).skip(e.IgnoredIndexOptions),IgnoredIndexOptions:e=>L9.default.alt(N9,e.IgnoredIndexOption).many(),IgnoredIndexOption:e=>L9.default.alt(e.WithIndexOption,e.ColumnIndexFilestream,e.OnIndexOption,e.WithFillFactorOption),WithIndexOption:()=>L9.default.seq(s9,AHe),WithFillFactorOption:()=>L9.default.seq(s9,jHe),OnIndexOption:()=>L9.default.seq(zBe,L9.default.alt(M9,j9)),ColumnIndexFilestream:()=>L9.default.seq(VBe,M9)}),bUe=R9.ColumnIndex,xUe=R9.IgnoredIndexOption,SUe=R9.TableIndex,CUe=R9.ColumnConstraintIndex,wUe=R9.TableConstraintIndex}));function TUe(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 EUe(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 DUe(e,t){return t?{type:t.type,value:{...t.value,name:t.type===`indexes`&&t.value.pk?null:e}}:null}var OUe=o((()=>{})),B9,V9,kUe,AUe,jUe,MUe,NUe,H9=o((()=>{B9=u(e9(),1),v9(),rUe(),P9(),w9(),mUe(),z9(),OUe(),V9=B9.default.createLanguage({TableConstraint:e=>B9.default.seqMap(e.ConstraintName.fallback(null),e.TableConstraintOption,DUe).thru(y9()),TableConstraintOption:e=>B9.default.alt(pUe,wUe,e.ConstraintCheck),ColumnConstraint:e=>B9.default.seq(e.ConstraintName.fallback(null),e.ColumnConstraintOption).map(e=>e[1]),ColumnConstraintOption:e=>B9.default.alt(CUe,fUe,e.ConstraintCheck,e.ConstraintDefault),ConstraintCheck:e=>B9.default.seq(JBe,l9.fallback(null),e.ConstraintCheckExpr).map(e=>e[2]),ConstraintCheckExpr:e=>B9.default.alt(B9.default.seq(p9.fallback(null),e.ConstraintCheckEnum,h9.fallback(null)).map(e=>e[1]),nUe.thru(x9(`expression`))),ConstraintCheckEnum:()=>B9.default.seqMap(M9,mHe,b9(A9.thru(y9())),EUe).thru(y9()),ConstraintDefault:e=>B9.default.seqMap(cVe,e.ConstExpr,TUe),ConstExpr:e=>B9.default.alt(B9.default.seq(p9,e.ConstExpr,h9).map(e=>e[1]),j9,A9,oVe.thru(x9(`boolean`))),ConstraintName:()=>B9.default.seq(YBe,M9).map(e=>e[1])}),kUe=V9.ColumnConstraint,AUe=V9.TableConstraint,jUe=V9.ConstraintCheck,MUe=V9.ConstraintName,NUe=V9.ConstExpr}));function PUe(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 FUe=o((()=>{H9()}));function IUe(e,t){let n=t?t.join(`,`):null;return{type:`type`,value:{type_name:n?`${Zl(e)}(${n})`:Zl(e),schemaName:e.length>1?e[0]:null,args:n}}}function LUe(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 RUe=o((()=>{Fu()})),U9,W9,zUe,BUe,VUe,HUe=o((()=>{U9=u(e9(),1),v9(),P9(),w9(),z9(),H9(),rUe(),RUe(),W9=U9.default.createLanguage({ColumnsDefinition:e=>U9.default.alt(e.ComputedColumnDefinition.result(null),e.ColumnSetDefinition.result(null),e.ColumnDefinition),ColumnDefinition:e=>U9.default.seqMap(k9,e.DataType,U9.default.alt(e.ColumnSetting,e.IgnoredColumnSetting.result(null)).many().fallback(null),LUe).thru(y9()),ColumnSetDefinition:()=>U9.default.seq(M9,DVe),ComputedColumnDefinition:()=>U9.default.seq(M9,TVe,nUe,U9.default.seq(EVe,sVe.fallback(null)).fallback(null),kUe.fallback(null)),ColumnSetting:e=>U9.default.alt(e.NullOrNot,e.Identity,bUe,kUe),IgnoredColumnSetting:e=>U9.default.alt(e.ColumnSetting1Word,e.ColumnSettingWith,e.ColumnSettingGAAR,e.ColumnSettingCollate),DataType:e=>U9.default.seqMap(k9,b9(U9.default.alt(e.DataTypeXML,M9)).fallback(null),IUe),DataTypeXML:()=>U9.default.seq(U9.default.alt(aVe,iVe),M9).tieWith(` `),NullOrNot:()=>U9.default.alt(oVe.result(!1),sVe.result(!0)).thru(x9(`not_null`)),Identity:()=>RBe.result(!0).skip(RHe.fallback(null)).thru(x9(`increment`)),ColumnSetting1Word:()=>U9.default.alt(lVe,l9,fVe,dVe),ColumnSettingWith:()=>U9.default.seq(U9.default.alt(pVe,mVe),s9,AHe),ColumnSettingCollate:()=>U9.default.seq(uVe,M9),ColumnSettingGAAR:()=>U9.default.seq(gVe,U9.default.alt(_Ve,vVe),yVe.fallback(null))}),W9.Identity,W9.DataType,VUe=W9.ColumnsDefinition})),G9,UUe,WUe,GUe=o((()=>{G9=u(e9(),1),v9(),P9(),w9(),FUe(),mUe(),z9(),H9(),HUe(),UUe=G9.default.createLanguage({AddAction:e=>G9.default.seq(IVe,e.AddOption.sepBy1(m9)).map(e=>e[1]),AddOption:e=>G9.default.alt(e.AddConstraint,VUe.result(null),e.IgnoredAddSystemTimeOption.result(null)),IgnoredAddSystemTimeOption:()=>G9.default.alt(M9,G9.default.regexp(/[(),]/)).many(),AddConstraint:e=>G9.default.seqMap(MUe.fallback(null),e.AddConstraintOption,DUe).thru(y9()),AddConstraintOption:e=>G9.default.alt(pUe,wUe,jUe,e.AddConstraintDefault,e.IgnoredAddConstraintOption.result(null)),IgnoredAddConstraintOption:e=>G9.default.alt(e.AddConstraintConnection),AddConstraintDefault:()=>G9.default.seqMap(cVe,NUe,jVe,M9,MVe.fallback(null),PUe),AddConstraintConnection:()=>G9.default.seq(NVe,b9(G9.default.seq(M9,PVe,M9)))}),WUe=UUe.AddAction})),K9,KUe,qUe,JUe=o((()=>{K9=u(e9(),1),v9(),P9(),ZHe(),GUe(),KUe=K9.default.createLanguage({AlterTable:e=>K9.default.seqMap(e.AlterTableKeywords,k9,e.AlterTableActions,XHe),AlterTableActions:e=>K9.default.alt(WUe,e.IgnoredAlterTableActions),AlterTableKeywords:()=>K9.default.seq(FVe,u9),IgnoredAlterTableActions:e=>K9.default.seq(e.IgnoredAlterTableActionKeywords,E9).result(null),IgnoredAlterTableActionKeywords:()=>K9.default.alt(s9,WVe,UVe,BVe,VVe,JBe,zVe,LVe,RVe)}),qUe=KUe.AlterTable}));function YUe(e,t,n,r,i,a,o,s){let c=S9(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 XUe=o((()=>{w9()})),q9,ZUe,QUe,$Ue=o((()=>{q9=u(e9(),1),v9(),P9(),w9(),XUe(),z9(),ZUe=q9.default.createLanguage({CreateIndex:e=>q9.default.seqMap(d9,c9.fallback(null),N9.fallback(null),o9,M9,zBe,k9,O9,YUe).thru(y9()).skip(e.IgnoredCreateIndexOptions),IgnoredCreateIndexOptions:e=>q9.default.alt(xUe,e.IncludeIndexOption,e.WhereIndexOption).many(),IncludeIndexOption:()=>q9.default.seq(OVe,O9),WhereIndexOption:e=>q9.default.seq(AVe,e.FilterPredicate),FilterPredicate:e=>q9.default.seq(e.Conjunct,q9.default.seq(hHe,e.Conjunct).fallback(null)),Conjunct:e=>q9.default.alt(e.Disjunct,e.Comparsion),Disjunct:()=>q9.default.seq(M9,kVe,b9(A9)),Comparsion:()=>q9.default.seq(M9,MHe,A9)}),QUe=ZUe.CreateIndex}));function eWe(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 tWe(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 nWe(e,t){t.indexes&&=(t.indexes.columns.push({value:t.name,type:`column`}),e.push(t.indexes),null)}function rWe(e,t){let n={fields:[],enums:[],refs:[],indexes:[]};return e.forEach(e=>{if(e&&n[e.type]){if(e.type===`fields`&&(tWe(n.enums,e.value,t),nWe(n.indexes,e.value),eWe(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 iWe(e,t,n,r){let i=S9(t),a=rWe(r,i);return{type:`tables`,value:{...i,...a.value}}}var aWe=o((()=>{w9()})),J9,oWe,sWe,cWe=o((()=>{J9=u(e9(),1),v9(),P9(),w9(),H9(),z9(),HUe(),aWe(),oWe=J9.default.createLanguage({CreateTable:e=>J9.default.seqMap(e.CreateTableKeywords,k9,e.AsFileTableKeywords.fallback(null),b9(e.Line),iWe).thru(y9()).skip(e.IgnoredTableOptions),CreateTableKeywords:()=>J9.default.seq(d9,u9),AsFileTableKeywords:()=>J9.default.seq(TVe,wVe),Line:e=>J9.default.alt(e.SystemTimeTableOption,AUe,SUe,VUe),SystemTimeTableOption:()=>J9.default.seq(CVe,b9(M9)).result(null),IgnoredTableOptions:e=>J9.default.alt(xUe,e.TextImageTableOption).many(),TextImageTableOption:()=>J9.default.seq(SVe,M9)}),sWe=oWe.CreateTable}));function lWe({note:e,level:t}){let n=`unsupported`,r=null,i=null,a=null;return pWe(t)?(r=t[0].name,i=t[1].name,n=`table`):mWe(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 uWe,dWe,fWe,pWe,mWe,hWe=o((()=>{uWe=e=>e.toLowerCase()===`schema`,dWe=e=>e.toLowerCase()===`table`,fWe=e=>e.toLowerCase()===`column`,pWe=e=>e.length===2&&uWe(e[0].type)&&dWe(e[1].type),mWe=e=>e.length===3&&uWe(e[0].type)&&dWe(e[1].type)&&fWe(e[2].type)})),Y9,gWe,_We,vWe=o((()=>{Y9=u(e9(),1),v9(),hWe(),w9(),gWe=Y9.default.createLanguage({StartComment:()=>Y9.default.seq(tHe,pHe),EndComment:()=>Y9.default.seq(_9.atMost(1),f9),StartString:()=>Y9.default.alt(yHe,Y9.default.string(`N'`)),ManyDoubleSingleQuote:()=>Y9.default.string(`''`),NoSingleQuote:()=>Y9.default.regex(/[^']/),StringType:e=>Y9.default.alt(e.NoSingleQuote,e.ManyDoubleSingleQuote).atLeast(1).map(e=>e.join(``)),NVarchar:e=>e.StartString.then(e.StringType).skip(yHe),NameOption:e=>SHe.skip(g9).then(e.NVarchar),ValueOption:e=>CHe.skip(g9).then(e.NVarchar),Level0Type:e=>wHe.skip(g9).then(e.NVarchar),Level0Name:e=>THe.skip(g9).then(e.NVarchar),Level1Type:e=>EHe.skip(g9).then(e.NVarchar),Level1Name:e=>DHe.skip(g9).then(e.NVarchar),Level2Type:e=>OHe.skip(g9).then(e.NVarchar),Level2Name:e=>kHe.skip(g9).then(e.NVarchar),Level0Stmt:e=>Y9.default.seqObj([`type`,e.Level0Type],m9,[`name`,e.Level0Name]),Level1Stmt:e=>Y9.default.seqObj([`type`,e.Level1Type],m9,[`name`,e.Level1Name]),Level2Stmt:e=>Y9.default.seqObj([`type`,e.Level2Type],m9,[`name`,e.Level2Name]),Level0Wrapper:e=>Y9.default.alt(Y9.default.seq(e.Level0Stmt.skip(m9),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=>Y9.default.alt(Y9.default.seq(e.Level1Stmt.skip(m9),e.Level2Stmt),e.Level1Stmt).map(e=>Array.isArray(e)?e:[e]),CommentSyntax:e=>Y9.default.seqObj(e.StartComment,[`name`,e.NameOption],m9,[`note`,e.ValueOption],m9,[`level`,e.Level0Wrapper],e.EndComment).map(lWe).thru(y9())}),_We=gWe.CommentSyntax})),yWe=o((()=>{JUe(),$Ue(),cWe(),vWe()}));function X9(e,t,n){let r=n||`public`;return e.tables.find(e=>(e.schemaName||`public`)===r&&e.name===t)}function bWe(e,t){return e.fields.find(e=>e.name===t)}function xWe(e,t){X9(t,e.tableName,e.schemaName).indexes.push(e),e.tableName=null}function SWe(e,t){e.forEach(e=>{t.push(e)})}function CWe(e,t){SWe(e.enums,t.enums),SWe(e.refs,t.refs),e.enums.forEach(e=>{e.fieldName=null}),e.enums=null,e.refs=null}function wWe(e,t){let n=bWe(X9(t,e.tableName,e.schemaName),e.fieldName);e.fieldName=null,e.tableName=null,n.dbdefault=e}function TWe(e,t){let n=bWe(X9(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 EWe(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=X9(t,e.tableName,n);r&&(r.note=e.note?{value:e.note}:null)}function DWe(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=X9(t,e.tableName,n);if(r){let t=bWe(r,e.columnName);t&&(t.note=e.note?{value:e.note}:null)}}function OWe(e,t){e.type===`table`?EWe(e,t):e.type===`column`&&DWe(e,t)}function kWe(e){let t={tables:[],refs:[],indexes:[],enums:[]};return Qa(e).forEach(e=>{if(e){switch(e.type){case`tables`:CWe(e.value,t);break;case`indexes`:xWe(e.value,t);break;case`dbdefault`:wWe(e.value,t);break;case`enums`:TWe(e.value,t);break;case`comment`:OWe(e.value,t);break;default:break}e.type&&t[e.type]&&t[e.type].push(e.value)}}),t.indexes=null,t}var AWe=o((()=>{Fu()})),Z9,jWe,Q9,MWe=o((()=>{Z9=u(e9(),1),v9(),yWe(),r9(),AWe(),P9(),jWe=Z9.default.createLanguage({Statements:e=>n9.then(e.Seperator).then(Z9.default.sepBy(e.StatementTypes,e.Seperator)).skip(e.Seperator).map(kWe),StatementTypes:e=>Z9.default.alt(QUe,sWe,qUe,_We,e.IgnoredStatementTypes),IgnoredStatementTypes:e=>Z9.default.seq(e.IgnoredStatementSyntax,E9),IgnoredStatementSyntax:e=>Z9.default.alt(e.IgnoredDDLSyntax,e.IgnoredDMLSyntax,e.IgnoredBackupAndRestoreSyntax,e.IgnoredServiceBrokerSyntax,e.IgnoredPermissionSyntax,IVe,QVe,LVe,fHe),IgnoredDDLSyntax:e=>Z9.default.alt(e.KeywordCreateWithoutTable,e.KeywordAlterWithoutTable,uVe,UVe,uHe,BVe,VVe),IgnoredDMLSyntax:()=>Z9.default.alt(GVe,KVe,qVe,JVe,YVe,dHe),IgnoredServiceBrokerSyntax:()=>Z9.default.alt(aHe,vVe,sHe,cHe,lHe),IgnoredPermissionSyntax:()=>Z9.default.alt($Ve,eHe,nHe,rHe,iHe),IgnoredBackupAndRestoreSyntax:()=>Z9.default.alt(XVe,ZVe),KeywordCreateWithoutTable:()=>d9.notFollowedBy(u9),KeywordAlterWithoutTable:()=>FVe.notFollowedBy(u9),Seperator:()=>Z9.default.alt(_9,f9,Z9.default.seq(_9,f9)).many()}),Q9=jWe.Statements})),NWe=c({default:()=>PWe},1),PWe,FWe=o((()=>{MWe(),Q9.parseWithPegError=function(e){try{return Q9.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}},PWe=Q9})),IWe=s(((e,t)=>{t.exports=(FWe(),d(NWe))})),LWe=u(ABe(),1),RWe=u(jBe(),1),zWe=u(MBe(),1),BWe=u(NBe(),1),VWe=u(IWe(),1),HWe=class e{constructor(e){this.DBMLCompiler=e||new fce}static parseJSONToDatabase(e){return new hle(e)}static parseMySQLToJSONv2(e){return Z7(e,`mysql`)}static parseMySQLToJSON(e){return LWe.default.parse(e)}static parsePostgresToJSONv2(e){return Z7(e,`postgres`)}static parsePostgresToJSON(e){return RWe.default.parse(e)}static parseDBMLToJSONv2(e,t){let n=t||new fce;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 G7.create(r);return n.parse.rawDb()}static parseDBMLToJSON(e){return zWe.default.parse(e)}static parseSchemaRbToJSON(e){return BWe.default.parse(e)}static parseMSSQLToJSON(e){return VWe.default.parseWithPegError(e)}static parseMSSQLToJSONv2(e){return Z7(e,`mssql`)}static parseSnowflakeToJSON(e){return Z7(e,`snowflake`)}static parseOracleToJSON(e){return Z7(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 G7.create(e)}}},$9=HWe,UWe=e=>new hle(e),WWe=e=>e.map(e=>{let{name:t,endpoints:n,onDelete:r,onUpdate:i}=e;return new Nhe({name:t,endpoints:n.map(e=>new YT(e)),onDelete:r,onUpdate:i}).toJSON()}),GWe=e=>e.map(e=>{let{name:t,schemaName:n,values:r}=e;return new XT({name:t,schemaName:n,values:r})}),KWe=(e,t)=>e.map(e=>{let n=t[e.name]||{};return new qT({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})}),qWe=e=>e.map(e=>{let{name:t,unique:n,pk:r,type:i,columns:a}=e;return new KT({name:t,unique:n,pk:r,type:i,columns:a})}),JWe=(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 JT({name:a,schemaName:o,fields:KWe(t[c],l),indexes:qWe(n[c]||[]),note:s,checks:r[c]})}),YWe=e=>{let{tables:t,fields:n,indexes:r,refs:i,enums:a,tableConstraints:o,checks:s}=e;try{let e=JWe(t,n,r,s,o),c=GWe(a);return UWe({schemas:[],tables:e,refs:WWe(i),enums:c,tableGroups:[],aliases:[],project:{}})}catch(e){throw Error(e)}};function XWe(e,t){let n=new $9().parse(e,t);return th.export(n.normalize(),`dbml`)}function ZWe(e){let t=YWe(e);return th.export(t.normalize(),`dbml`)}var QWe={import:XWe,generateDbml:ZWe};function $We(e,t){let n=new $9().parse(e,`dbmlv2`);return th.export(n.normalize(),t)}var eGe={export:$We};function tGe(e,t,n){let r=new fce;return r.setSource(n),r.renameTable(e,t)}const nGe=`6.2.1`,rGe=`6.2.1`;exports.CompilerError=G7,exports.ModelExporter=th,exports.Parser=$9,exports.VERSION=`6.2.1`,exports.exporter=eGe,exports.importer=QWe,exports.renameTable=tGe;
|
package/lib/index.js
CHANGED
|
@@ -1812537,5 +1812537,5 @@ function renameTable(_, HY, P) {
|
|
|
1812537
1812537
|
let UY = new Compiler();
|
|
1812538
1812538
|
return UY.setSource(P), UY.renameTable(_, HY);
|
|
1812539
1812539
|
}
|
|
1812540
|
-
const VERSION = "6.2.
|
|
1812540
|
+
const VERSION = "6.2.1";
|
|
1812541
1812541
|
export { CompilerError, ModelExporter_default as ModelExporter, Parser_default as Parser, VERSION, export_default as exporter, import_default as importer, renameTable };
|
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.2.
|
|
4
|
+
"version": "6.2.1",
|
|
5
5
|
"description": "> TODO: description",
|
|
6
6
|
"author": "Holistics <dev@holistics.io>",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"lint:fix": "eslint --fix ."
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@dbml/parse": "^6.2.
|
|
51
|
+
"@dbml/parse": "^6.2.1",
|
|
52
52
|
"antlr4": "^4.13.1",
|
|
53
53
|
"lodash": "^4.17.15",
|
|
54
54
|
"lodash-es": "^4.17.15",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"bluebird": "^3.5.5"
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "403ffd5a0d15bbf0f2b22db2c507659ce3f8fe35",
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=16"
|
|
64
64
|
}
|
package/types/index.d.ts
CHANGED
|
@@ -6,40 +6,4 @@ import { renameTable } from './transform';
|
|
|
6
6
|
export { renameTable, importer, exporter, ModelExporter, Parser };
|
|
7
7
|
export { CompilerDiagnostic, CompilerError as CompilerDiagnostics, EditorPosition, ErrorCode, WarningLevel, } from './parse/error';
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
export type {
|
|
11
|
-
NormalizedDatabase,
|
|
12
|
-
NormalizedDatabaseIdMap,
|
|
13
|
-
NormalizedModel,
|
|
14
|
-
NormalizedSchema,
|
|
15
|
-
NormalizedSchemaIdMap,
|
|
16
|
-
NormalizedTable,
|
|
17
|
-
NormalizedTableIdMap,
|
|
18
|
-
NormalizedField,
|
|
19
|
-
NormalizedFieldIdMap,
|
|
20
|
-
NormalizedIndex,
|
|
21
|
-
NormalizedIndexIdMap,
|
|
22
|
-
NormalizedIndexColumn,
|
|
23
|
-
NormalizedIndexColumnIdMap,
|
|
24
|
-
NormalizedEnum,
|
|
25
|
-
NormalizedEnumIdMap,
|
|
26
|
-
NormalizedEnumValue,
|
|
27
|
-
NormalizedEnumValueIdMap,
|
|
28
|
-
NormalizedRef,
|
|
29
|
-
NormalizedRefIdMap,
|
|
30
|
-
NormalizedEndpoint,
|
|
31
|
-
NormalizedEndpointIdMap,
|
|
32
|
-
NormalizedTableGroup,
|
|
33
|
-
NormalizedTableGroupIdMap,
|
|
34
|
-
NormalizedNote,
|
|
35
|
-
NormalizedNoteIdMap,
|
|
36
|
-
NormalizedCheck,
|
|
37
|
-
NormalizedCheckIdMap,
|
|
38
|
-
NormalizedTablePartial,
|
|
39
|
-
NormalizedTablePartialIdMap,
|
|
40
|
-
Project,
|
|
41
|
-
RawDatabase,
|
|
42
|
-
TableRecord,
|
|
43
|
-
NormalizedRecords,
|
|
44
|
-
RawSchema,
|
|
45
|
-
} from './model_structure';
|
|
9
|
+
export * from './model_structure';
|
|
@@ -33,8 +33,10 @@ export interface TableRecord extends RawTableRecord {
|
|
|
33
33
|
id: number;
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
export
|
|
37
|
-
|
|
36
|
+
export type NormalizedRecord = TableRecord;
|
|
37
|
+
|
|
38
|
+
export interface NormalizedRecordIdMap {
|
|
39
|
+
[_id: number]: NormalizedRecord;
|
|
38
40
|
}
|
|
39
41
|
|
|
40
42
|
export interface RawDatabase {
|
|
@@ -307,5 +309,6 @@ export interface NormalizedModel {
|
|
|
307
309
|
notes: NormalizedNoteIdMap;
|
|
308
310
|
checks: NormalizedCheckIdMap;
|
|
309
311
|
tablePartials: NormalizedTablePartialIdMap;
|
|
312
|
+
records: NormalizedRecordIdMap;
|
|
310
313
|
}
|
|
311
314
|
export default Database;
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import Element from './element';
|
|
1
|
+
import Element, { Token } from './element';
|
|
2
2
|
import Field from './field';
|
|
3
3
|
import Ref from './ref';
|
|
4
4
|
import DbState from './dbState';
|
|
5
5
|
import { NormalizedModel } from './database';
|
|
6
|
+
|
|
7
|
+
export interface RawEndpoint {
|
|
8
|
+
schemaName: string | null;
|
|
9
|
+
tableName: string;
|
|
10
|
+
fieldNames: string[];
|
|
11
|
+
relation: '1' | '*';
|
|
12
|
+
token: Token;
|
|
13
|
+
}
|
|
14
|
+
|
|
6
15
|
declare class Endpoint extends Element {
|
|
7
16
|
relation: any;
|
|
8
17
|
schemaName: string;
|
|
@@ -14,7 +14,10 @@ interface RawField {
|
|
|
14
14
|
token: Token;
|
|
15
15
|
not_null: boolean;
|
|
16
16
|
note: RawNote;
|
|
17
|
-
dbdefault
|
|
17
|
+
dbdefault?: {
|
|
18
|
+
type: 'number' | 'string' | 'boolean' | 'expression';
|
|
19
|
+
value: number | string;
|
|
20
|
+
};
|
|
18
21
|
increment: boolean;
|
|
19
22
|
checks?: any[];
|
|
20
23
|
table: Table;
|
|
@@ -14,78 +14,17 @@ export { default as StickyNote } from './stickyNote';
|
|
|
14
14
|
export { default as Check } from './check';
|
|
15
15
|
export { default as TablePartial } from './tablePartial';
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
export
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
export
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export
|
|
30
|
-
|
|
31
|
-
NormalizedTableIdMap,
|
|
32
|
-
} from './table';
|
|
33
|
-
|
|
34
|
-
export type {
|
|
35
|
-
NormalizedField,
|
|
36
|
-
NormalizedFieldIdMap,
|
|
37
|
-
} from './field';
|
|
38
|
-
|
|
39
|
-
export type {
|
|
40
|
-
NormalizedIndex,
|
|
41
|
-
NormalizedIndexIdMap,
|
|
42
|
-
} from './indexes';
|
|
43
|
-
|
|
44
|
-
export type {
|
|
45
|
-
NormalizedIndexColumn,
|
|
46
|
-
NormalizedIndexColumnIdMap,
|
|
47
|
-
} from './indexColumn';
|
|
48
|
-
|
|
49
|
-
export type {
|
|
50
|
-
NormalizedEnum,
|
|
51
|
-
NormalizedEnumIdMap,
|
|
52
|
-
} from './enum';
|
|
53
|
-
|
|
54
|
-
export type {
|
|
55
|
-
NormalizedEnumValue,
|
|
56
|
-
NormalizedEnumValueIdMap,
|
|
57
|
-
} from './enumValue';
|
|
58
|
-
|
|
59
|
-
export type {
|
|
60
|
-
NormalizedRef,
|
|
61
|
-
NormalizedRefIdMap,
|
|
62
|
-
} from './ref';
|
|
63
|
-
|
|
64
|
-
export type {
|
|
65
|
-
NormalizedEndpoint,
|
|
66
|
-
NormalizedEndpointIdMap,
|
|
67
|
-
} from './endpoint';
|
|
68
|
-
|
|
69
|
-
export type {
|
|
70
|
-
NormalizedTableGroup,
|
|
71
|
-
NormalizedTableGroupIdMap,
|
|
72
|
-
} from './tableGroup';
|
|
73
|
-
|
|
74
|
-
export type {
|
|
75
|
-
NormalizedNote,
|
|
76
|
-
NormalizedNoteIdMap,
|
|
77
|
-
} from './stickyNote';
|
|
78
|
-
|
|
79
|
-
export type {
|
|
80
|
-
NormalizedTablePartial,
|
|
81
|
-
NormalizedTablePartialIdMap,
|
|
82
|
-
} from './tablePartial';
|
|
83
|
-
|
|
84
|
-
export type {
|
|
85
|
-
NormalizedCheck,
|
|
86
|
-
NormalizedCheckIdMap,
|
|
87
|
-
} from './check';
|
|
88
|
-
|
|
89
|
-
// Export other types
|
|
90
|
-
export type { Project, RawDatabase, TableRecord, NormalizedRecords } from './database';
|
|
91
|
-
export type { RawSchema } from './schema';
|
|
17
|
+
export * from './database';
|
|
18
|
+
export * from './schema';
|
|
19
|
+
export * from './table';
|
|
20
|
+
export * from './field';
|
|
21
|
+
export * from './indexes';
|
|
22
|
+
export * from './indexColumn';
|
|
23
|
+
export * from './enum';
|
|
24
|
+
export * from './enumValue';
|
|
25
|
+
export * from './ref';
|
|
26
|
+
export * from './endpoint';
|
|
27
|
+
export * from './tableGroup';
|
|
28
|
+
export * from './stickyNote';
|
|
29
|
+
export * from './tablePartial';
|
|
30
|
+
export * from './check';
|
|
@@ -2,13 +2,15 @@ import Element, { Token } from './element';
|
|
|
2
2
|
import Database from './database';
|
|
3
3
|
import DbState from './dbState';
|
|
4
4
|
import { NormalizedModel } from './database';
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
export interface RawStickyNote {
|
|
6
7
|
name: string;
|
|
7
8
|
content: string;
|
|
8
9
|
database: Database;
|
|
9
10
|
token: Token;
|
|
10
11
|
headerColor: string;
|
|
11
12
|
}
|
|
13
|
+
|
|
12
14
|
declare class StickyNote extends Element {
|
|
13
15
|
name: string;
|
|
14
16
|
content: string;
|