@dbml/core 6.3.0 → 6.4.0-alpha.0
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 +4 -4
- package/lib/index.mjs +36 -36
- package/package.json +3 -4
- package/types/export/ModelExporter.d.ts +9 -1
- package/types/export/index.d.ts +2 -2
package/lib/index.cjs
CHANGED
|
@@ -22,7 +22,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
|
|
|
22
22
|
`):``}static getTableGroupSettings(e){let t=[];return e.color&&t.push(`color: ${e.color}`),t.length?` [${t.join(`, `)}]`:``}static exportTableGroups(t,n){let r=t.map(t=>{let r=n.tableGroups[t],i=n.schemas[r.schemaId],a=e.getTableGroupSettings(r),o=r.note?` Note: ${e.escapeNote(r.note)}\n`:``;return`TableGroup ${`${ty(i,n)?`"${i.name}".`:``}"${r.name}"`}${a} {\n${r.tableIds.reduce((e,t)=>{let r=n.tables[t],i=n.schemas[r.schemaId];return`${e}${` ${ty(i,n)?`"${i.name}".`:``}"${r.name}"`}\n`},``)}${o}}\n`});return r.length?r.join(`
|
|
23
23
|
`):``}static exportStickyNotes(t){return qu(t.notes,(t,n)=>{let r=` ${e.escapeNote(n.content)}`,i=`Note ${n.name} {\n${r}\n}\n`;return t?`${t}\n${i}`:i},``)}static exportRecords(e){let t=e.records;if(!t||Fu(t))return``;let n=ku(Object.values(t),e=>`${e.schemaName||``}.${e.tableName}`);return Object.values(n).map(e=>{let{schemaName:t,tableName:n}=e[0],r=t?`${h_(t)}.${h_(n)}`:h_(n),i=[...new Set(e.flatMap(e=>e.columns))];return`Records ${r}(${i.map(h_).join(`, `)}) {\n${e.flatMap(e=>{let t=i.map(t=>e.columns.indexOf(t));return e.values.map(e=>t.map(t=>t===-1?{value:null,type:`expression`}:e[t]))}).map(e=>` ${e.map(Pfe).join(`, `)}`).join(`
|
|
24
24
|
`)}\n}\n`}).join(`
|
|
25
|
-
`)}static export(t){let
|
|
25
|
+
`)}static export(t,n={}){let r=[],i=t.database[1],a=n.includeRecords!==!1;return i.schemaIds.forEach(n=>{let{enumIds:i,tableIds:a,tableGroupIds:o,refIds:s}=t.schemas[n];Fu(i)||r.push(e.exportEnums(i,t)),Fu(a)||r.push(e.exportTables(a,t)),Fu(o)||r.push(e.exportTableGroups(o,t)),Fu(s)||r.push(e.exportRefs(s,t))}),Fu(t.notes)||r.push(e.exportStickyNotes(t)),a&&!Fu(t.records)&&r.push(e.exportRecords(t)),r.join(`
|
|
26
26
|
`)}},W_e=U_e;Yu();var G_e=class e{static exportRecords(e){let t=Object.values(e.records||{});return Fu(t)?[]:t.map(e=>{let{schemaName:t,tableName:n,columns:r,values:i}=e,a=t?`\`${t}\`.\`${n}\``:`\`${n}\``,o=r.length>0?`(\`${r.join("`, `")}\`)`:``,s=e=>e.value===null?`NULL`:e.type===`expression`||ch(e.type)?e.value:lh(e.type)?String(e.value).toUpperCase()===`TRUE`?`TRUE`:`FALSE`:uh(e.type)||dh(e.type)||fh(e.type)?`'${e.value.replace(/'/g,`''`).replace(/\\/g,`\\\\`)}'`:`CAST('${e.value.replace(/'/g,`''`).replace(/\\/g,`\\\\`)}' AS ${e.type})`;return`INSERT INTO ${a} ${o}\nVALUES\n ${i.map(e=>`(${e.map(s).join(`, `)})`).join(`,
|
|
27
27
|
`)};`})}static getFieldLines(e,t){return t.tables[e].fieldIds.map(e=>{let n=t.fields[e],r=``;if(n.enumId){let e=t.enums[n.enumId];r=`\`${n.name}\` ENUM (`;let i=e.valueIds.map(e=>`'${t.enumValues[e].name}'`);r+=`${i.join(`, `)})`}else r=`\`${n.name}\` ${n.type.type_name===`varchar`?`varchar(255)`:n.type.type_name}`;if(n.unique&&(r+=` UNIQUE`),n.pk&&(r+=` PRIMARY KEY`),n.not_null&&(r+=` NOT NULL`),n.increment&&(r+=` AUTO_INCREMENT`),n.checkIds&&n.checkIds.length>0)if(n.checkIds.length===1){let e=t.checks[n.checkIds[0]];e.name&&(r+=` CONSTRAINT \`${e.name}\``),r+=` CHECK (${e.expression})`}else{let e=n.checkIds.map(e=>`(${t.checks[e].expression})`);r+=` CHECK (${e.join(` AND `)})`}return n.dbdefault&&(n.dbdefault.type===`boolean`&&(n.dbdefault.value===null||typeof n.dbdefault.value==`string`&&n.dbdefault.value.toLowerCase()===`null`)||(n.dbdefault.type===`expression`?r+=` DEFAULT (${n.dbdefault.value})`:n.dbdefault.type===`string`?r+=` DEFAULT '${n.dbdefault.value}'`:r+=` DEFAULT ${n.dbdefault.value}`)),n.note&&(r+=` COMMENT '${n.note.replace(/'/g,`''`)}'`),r})}static getCompositePKs(e,t){let n=t.tables[e];return(n.indexIds?n.indexIds.filter(e=>t.indexes[e].pk):[]).map(e=>{let n=t.indexes[e],r=`PRIMARY KEY`,i=[];return n.columnIds.forEach(e=>{let n=t.indexColumns[e],r=``;r=n.type===`expression`?`(${n.value})`:`\`${n.value}\``,i.push(r)}),r+=` (${i.join(`, `)})`,r})}static getCheckLines(e,t){let n=t.tables[e];return!n.checkIds||n.checkIds.length===0?[]:n.checkIds.map(e=>{let n=t.checks[e],r=``;return n.name&&(r=`CONSTRAINT \`${n.name}\` `),r+=`CHECK (${n.expression})`,r})}static getTableContentArr(t,n){return t.map(t=>({tableId:t,fieldContents:e.getFieldLines(t,n),checkContents:e.getCheckLines(t,n),compositePKs:e.getCompositePKs(t,n)}))}static exportTables(t,n){return e.getTableContentArr(t,n).map(e=>{let t=[...e.fieldContents,...e.checkContents,...e.compositePKs],r=n.tables[e.tableId],i=n.schemas[r.schemaId];return`CREATE TABLE ${ty(i,n)?`\`${i.name}\`.`:``}\`${r.name}\` (\n${t.map(e=>` ${e}`).join(`,
|
|
28
28
|
`)}\n);\n`})}static buildFieldName(e,t){return`(${e.map(e=>`\`${t.fields[e].name}\``).join(`, `)})`}static buildTableManyToMany(e,t,n,r,i){let a=`CREATE TABLE ${ty(r,i)?`\`${r.name}\`.`:``}\`${n}\` (\n`,o=[...e.keys()].join("`, `"),s=[...t.keys()].join("`, `");return e.forEach((e,t)=>{a+=` \`${t}\` ${e},\n`}),t.forEach((e,t)=>{a+=` \`${t}\` ${e},\n`}),a+=` PRIMARY KEY (\`${o}\`, \`${s}\`)\n`,a+=`);
|
|
@@ -40,7 +40,7 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
|
|
|
40
40
|
`;return r})}static exportIndexes(e,t){return e.filter(e=>!t.indexes[e].pk).map(e=>{let n=t.indexes[e],r=t.tables[n.tableId],i=t.schemas[r.schemaId],a=`CREATE`;n.unique&&(a+=` UNIQUE`);let o=n.name?`"${n.name}"`:``;a+=` INDEX`,o&&(a+=` ${o}`),a+=` ON ${ty(i,t)?`"${i.name}".`:``}"${r.name}"`,n.type&&(a+=` USING ${n.type.toUpperCase()}`);let s=[];return n.columnIds.forEach(e=>{let n=t.indexColumns[e],r=``;r=n.type===`expression`?`(${n.value})`:`"${n.value}"`,s.push(r)}),a+=` (${s.join(`, `)})`,a+=`;
|
|
41
41
|
`,a})}static exportComments(e,t){return e.map(e=>{let n=`COMMENT ON`,r=t.tables[e.tableId],i=t.schemas[r.schemaId];switch(e.type){case`table`:n+=` TABLE ${ty(i,t)?`"${i.name}".`:``}"${r.name}" IS '${r.note.replace(/'/g,`''`)}'`;break;case`column`:{let a=t.fields[e.fieldId];n+=` COLUMN ${ty(i,t)?`"${i.name}".`:``}"${r.name}"."${a.name}" IS '${a.note.replace(/'/g,`''`)}'`;break}default:break}return n+=`;
|
|
42
42
|
`,n})}static export(t){let n=t.database[1],r=new Set(Object.values(t.tables).map(e=>e.name)),i=new Set,a=n.schemaIds.reduce((n,r)=>{let a=t.schemas[r],{enumIds:o}=a;return ty(a,t)&&n.schemas.push(`CREATE SCHEMA "${a.name}";\n`),Fu(o)||e.exportEnums(o,t).forEach(e=>{let[t,r]=e;n.enums.push(r),i.add(t)}),n},{schemas:[],enums:[],tables:[],indexes:[],comments:[],refs:[]}),o=n.schemaIds.reduce((n,a)=>{let{tableIds:o,refIds:s}=t.schemas[a];Fu(o)||n.tables.push(...e.exportTables(o,t,i));let c=ao(o.map(e=>t.tables[e].indexIds));Fu(c)||n.indexes.push(...e.exportIndexes(c,t));let l=ao(o.map(e=>{let{fieldIds:n,note:r}=t.tables[e],i=n.filter(e=>t.fields[e].note).map(t=>({type:`column`,fieldId:t,tableId:e}));return r?[{type:`table`,tableId:e}].concat(i):i}));return Fu(l)||n.comments.push(...e.exportComments(l,t)),Fu(s)||n.refs.push(...e.exportRefs(s,t,r)),n},a),s=e.exportRecords(t),c=Fu(s)?[]:[`-- Defer constraint checking for INSERT`,`BEGIN;`,`SET CONSTRAINTS ALL DEFERRED;`,``,...s,``,`SET CONSTRAINTS ALL IMMEDIATE;`,`COMMIT;`];return ac(o.schemas,o.enums,o.tables,o.indexes,o.comments,o.refs,c).join(`
|
|
43
|
-
`)}},Z_e=X_e,Q_e=class{static export(e,t
|
|
43
|
+
`)}},Z_e=X_e,Q_e=class{static export(e,t={}){return(typeof t==`boolean`?{isNormalized:t}:t).isNormalized===!1?JSON.stringify(e.export(),null,2):JSON.stringify(e,null,2)}},$_e=Q_e;Yu();var eve=class e{static exportRecords(e){let t=Object.values(e.records||{});return Fu(t)?[]:t.map(e=>{let{schemaName:t,tableName:n,columns:r,values:i}=e,a=t?`[${t}].[${n}]`:`[${n}]`,o=r.length>0?`([${r.join(`], [`)}])`:``,s=e=>e.value===null?`NULL`:e.type===`expression`||ch(e.type)?e.value:lh(e.type)?String(e.value).toUpperCase()===`TRUE`?`1`:`0`:uh(e.type)||fh(e.type)?`'${e.value.replace(/'/g,`''`)}'`:dh(e.type)?`0x${e.value}`:`CAST('${e.value.replace(/'/g,`''`)}' AS ${e.type})`;return`INSERT INTO ${a} ${o}\nVALUES\n ${i.map(e=>`(${e.map(s).join(`, `)})`).join(`,
|
|
44
44
|
`)};\nGO`})}static getFieldLines(e,t){return t.tables[e].fieldIds.map(e=>{let n=t.fields[e],r=``;if(n.enumId){let e=t.enums[n.enumId];r=`[${n.name}] nvarchar(255) NOT NULL CHECK ([${n.name}] IN (`;let i=e.valueIds.map(e=>`'${t.enumValues[e].name}'`);r+=`${i.join(`, `)}))`}else r=`[${n.name}] ${n.type.type_name===`varchar`?`nvarchar(255)`:n.type.type_name}`;if(n.unique&&(r+=` UNIQUE`),n.pk&&(r+=` PRIMARY KEY`),n.not_null&&(r+=` NOT NULL`),n.increment&&(r+=` IDENTITY(1, 1)`),n.checkIds&&n.checkIds.length>0)if(n.checkIds.length===1){let e=t.checks[n.checkIds[0]];e.name&&(r+=` CONSTRAINT [${e.name}]`),r+=` CHECK (${e.expression})`}else{let e=n.checkIds.map(e=>`(${t.checks[e].expression})`);r+=` CHECK (${e.join(` AND `)})`}return n.dbdefault&&(n.dbdefault.type===`boolean`&&(n.dbdefault.value===null||typeof n.dbdefault.value==`string`&&n.dbdefault.value.toLowerCase()===`null`)||(n.dbdefault.type===`expression`?r+=` DEFAULT (${n.dbdefault.value})`:n.dbdefault.type===`string`?r+=` DEFAULT '${n.dbdefault.value}'`:r+=` DEFAULT (${n.dbdefault.value})`)),r})}static getCompositePKs(e,t){let n=t.tables[e];return(n.indexIds?n.indexIds.filter(e=>t.indexes[e].pk):[]).map(e=>{let n=t.indexes[e],r=`PRIMARY KEY`,i=[];return n.columnIds.forEach(e=>{let n=t.indexColumns[e],r=``;r=n.type===`expression`?`(${n.value})`:`[${n.value}]`,i.push(r)}),r+=` (${i.join(`, `)})`,r})}static getCheckLines(e,t){let n=t.tables[e];return!n.checkIds||n.checkIds.length===0?[]:n.checkIds.map(e=>{let n=t.checks[e],r=``;return n.name&&(r=`CONSTRAINT [${n.name}] `),r+=`CHECK (${n.expression})`,r})}static getTableContentArr(t,n){return t.map(t=>({tableId:t,fieldContents:e.getFieldLines(t,n),checkContents:e.getCheckLines(t,n),compositePKs:e.getCompositePKs(t,n)}))}static exportTables(t,n){return e.getTableContentArr(t,n).map(e=>{let t=[...e.fieldContents,...e.checkContents,...e.compositePKs],r=n.tables[e.tableId],i=n.schemas[r.schemaId];return`CREATE TABLE ${ty(i,n)?`[${i.name}].`:``}[${r.name}] (\n${t.map(e=>` ${e}`).join(`,
|
|
45
45
|
`)}\n)\nGO\n`})}static buildTableManyToMany(e,t,n,r,i){let a=`CREATE TABLE ${ty(r,i)?`[${r.name}].`:``}[${n}] (\n`,o=[...e.keys()].join(`], [`),s=[...t.keys()].join(`], [`);return e.forEach((e,t)=>{a+=` [${t}] ${e},\n`}),t.forEach((e,t)=>{a+=` [${t}] ${e},\n`}),a+=` PRIMARY KEY ([${o}], [${s}])\n`,a+=`);
|
|
46
46
|
GO
|
|
@@ -63,7 +63,7 @@ QUOTA UNLIMITED ON system;
|
|
|
63
63
|
`)}\n);\n`})}static buildReferenceFieldNamesString(e,t){return`(${e.map(e=>`"${t.fields[e].name}"`).join(`, `)})`}static buildTableManyToMany(e,t,n){let r=`CREATE TABLE ${n} (\n`;e.forEach((e,t)=>{r+=` "${t}" ${e},\n`}),t.forEach((e,t)=>{r+=` "${t}" ${e},\n`});let i=[...e.keys()].join("`, `"),a=[...t.keys()].join("`, `");return r+=` PRIMARY KEY ("${i}", "${a}")\n);\n`,r}static buildForeignKeyManyToMany(e,t,n,r){return`ALTER TABLE ${e} ADD FOREIGN KEY ("${[...t.keys()].join("`, `")}") REFERENCES ${n} ${r} DEFERRABLE INITIALLY IMMEDIATE;\n`}static exportReferencesAndNewTablesIfExists(e,t,n){let r={refs:[],tables:[]};return e.forEach(e=>{let i=t.refs[e],a=i.endpointIds.findIndex(e=>t.endpoints[e].relation===`1`),o=a===-1?0:a,s=i.endpointIds[1-o],c=t.endpoints[s],l=t.fields[c.fieldIds[0]],u=t.tables[l.tableId],d=t.schemas[u.schemaId],f=this.buildReferenceFieldNamesString(c.fieldIds,t),p=i.endpointIds[o],m=t.endpoints[p],h=t.fields[m.fieldIds[0]],g=t.tables[h.tableId],_=t.schemas[g.schemaId],ee=this.buildReferenceFieldNamesString(m.fieldIds,t);if(a!==-1){let e=`ALTER TABLE ${this.buildTableNameWithSchema(t,d,u)} ADD`;i.name&&(e+=` CONSTRAINT ${iy(i.name,`oracle`)}`);let n=this.buildTableNameWithSchema(t,_,g);e+=` FOREIGN KEY ${f} REFERENCES ${n} ${ee}`,i.onDelete&&(e+=` ON DELETE ${i.onDelete.toUpperCase()}`),e+=` DEFERRABLE INITIALLY IMMEDIATE;
|
|
64
64
|
`,r.refs.push(e);return}let v=ny(m.fieldIds,t),te=ry(c.fieldIds,t,v),y=B_e(_,g.name,u.name,n),ne=n.get(_);ne?ne.add(y):n.set(_,new Set([y]));let re=`${ty(_,t)?`"${_.name}".`:``}"${y}"`;r.tables.push(this.buildTableManyToMany(v,te,re));let ie=this.buildTableNameWithSchema(t,_,g);r.refs.push(this.buildForeignKeyManyToMany(re,v,ie,ee));let ae=this.buildTableNameWithSchema(t,d,u);r.refs.push(this.buildForeignKeyManyToMany(re,te,ae,f))}),r}static exportReferenceGrants(e,t){if(Object.keys(e.schemas).length<=1)return[];let n=[];return t.forEach(t=>{let r=e.refs[t],i=r.endpointIds.findIndex(t=>e.endpoints[t].relation===`1`),a=i===-1?0:i,o=r.endpointIds[a],s=e.endpoints[o],c=e.fields[s.fieldIds[0]],l=e.tables[c.tableId],u=e.schemas[l.schemaId],d=r.endpointIds[1-a],f=e.endpoints[d],p=e.fields[f.fieldIds[0]],m=e.tables[p.tableId],h=e.schemas[m.schemaId];if(u.name===h.name){n.push(``);return}let g=this.buildTableNameWithSchema(e,u,l);if(n.push(g),i!==-1)return;let _=this.buildTableNameWithSchema(e,h,m);n.push(_)}),n.filter((e,t)=>e&&n.indexOf(e)===t).map(e=>`GRANT REFERENCES ON ${e} TO PUBLIC;\n`)}static exportIndexes(e,t){return e.filter(e=>!t.indexes[e].pk).map(e=>{let n=t.indexes[e],r=t.tables[n.tableId],i=t.schemas[r.schemaId],a=`CREATE`;n.unique&&(a+=` UNIQUE`),a+=` INDEX`,n.name&&(a+=` ${iy(n.name,`oracle`)}`);let o=this.buildTableNameWithSchema(t,i,r);a+=` ON ${o}`;let s=[];n.columnIds.forEach(e=>{let n=t.indexColumns[e],r=``;r=n.type===`expression`?`${n.value}`:`"${n.value}"`,s.push(r)});let c=s.join(`, `);return a+=` (${c});\n`,a})}static exportComments(e,t){return e.map(e=>{let n=`COMMENT ON`,r=t.tables[e.tableId],i=t.schemas[r.schemaId],a=this.buildTableNameWithSchema(t,i,r);switch(e.type){case`table`:n+=` TABLE ${a} IS '${r.note.replace(/'/g,`''`)}'`;break;case`column`:{let r=t.fields[e.fieldId];n+=` COLUMN ${a}.${iy(r.name,`oracle`)} IS '${r.note.replace(/'/g,`''`)}'`;break}default:break}return n+=`;
|
|
65
65
|
`,n})}static export(e){let t=e.database[1],n=this.buildSchemaToTableNameSetMap(e),r=t.schemaIds.reduce((t,r)=>{let i=e.schemas[r],{tableIds:a,refIds:o}=i;ty(i,e)&&t.schemas.push(this.exportSchema(i.name)),Fu(a)||t.tables.push(...this.exportTables(a,e));let s=ao(a.map(t=>e.tables[t].indexIds));Fu(s)||t.indexes.push(...this.exportIndexes(s,e));let c=ao(a.map(t=>{let{fieldIds:n,note:r}=e.tables[t],i=n.filter(t=>e.fields[t].note).map(e=>({type:`column`,fieldId:e,tableId:t}));return r?[{type:`table`,tableId:t}].concat(i):i}));if(Fu(c)||t.comments.push(...this.exportComments(c,e)),!Fu(o)){let{refs:r,tables:i}=this.exportReferencesAndNewTablesIfExists(o,e,n);t.tables.push(...i),t.refs.push(...r),t.referenceGrants.push(...this.exportReferenceGrants(e,o))}return t},{schemas:[],tables:[],indexes:[],comments:[],referenceGrants:[],refs:[]}),i=this.exportRecords(e),a=Fu(i)?[]:[`-- Disable constraint checking for INSERT`,`SET CONSTRAINTS ALL DEFERRED;`,``,...i,``,`SET CONSTRAINTS ALL IMMEDIATE;`,`COMMIT;`];return ac(r.schemas,r.tables,r.indexes,r.comments,r.referenceGrants,r.refs,a).join(`
|
|
66
|
-
`)}},rve=nve,ive=class{static export(e={},t=``,n=!0){let r=``,i=n?e:e.normalize();switch(t){case`dbml`:r=W_e.export(i);break;case`mysql`:r=K_e.export(i);break;case`postgres`:r=Z_e.export(i);break;case`json`:r=$_e.export(e,n);break;case`mssql`:r=tve.export(i);break;case`oracle`:r=rve.export(i);break;default:break}return r}},oy=ive,ave=class extends Error{constructor(e,t={start:{line:1,column:1}}){super(e),this.location=t,this.error=`error`}},ove=class{constructor(e){this.token=e}bind(e){this.selection=e}error(e){throw new ave(e,this.token)}},sy=ove,sve=class extends sy{constructor({token:e,name:t,expression:n,table:r,column:i=null,injectedPartial:a=null}={}){super(e),this.name=t,this.expression=n,this.table=r,this.column=i,this.injectedPartial=a,this.dbState=this.table.dbState,this.generateId()}generateId(){this.id=this.dbState.generateId(`checkId`)}export(){return{...this.shallowExport()}}exportParentIds(){return{tableId:this.table.id,columnId:this.column?.id,injectedPartialId:this.injectedPartial?.id}}shallowExport(){return{name:this.name,expression:this.expression}}normalize(e){e.checks[this.id]={id:this.id,...this.shallowExport(),...this.exportParentIds()}}},cve=sve;Yu();var lve=class extends sy{constructor({name:e,type:t,unique:n,pk:r,token:i,not_null:a,note:o,dbdefault:s,increment:c,checks:l=[],table:u={},noteToken:d=null,injectedPartial:f=null,injectedToken:p=null}={}){super(i),e||this.error(`Field must have a name`),t||this.error(`Field must have a type`),this.name=e,this.type=t,this.unique=n,this.pk=r,this.not_null=a,this.note=o?E(o,`value`,o):null,this.noteToken=o?E(o,`token`,d):null,this.dbdefault=s,this.increment=c,this.checks=[],this.endpoints=[],this.table=u,this.injectedPartial=f,this.injectedToken=p,this.dbState=this.table.dbState,this.generateId(),this.bindType(),this.processChecks(l)}generateId(){this.id=this.dbState.generateId(`fieldId`)}bindType(){let e=this.type.type_name,t=this.type.schemaName||`public`;if(this.type.schemaName){let n=this.table.schema.database.findEnum(t,e);if(!n){this.type.type_name=`${t}.${e}`,this.type.originalTypeName=e;return}this._enum=n,n.pushField(this)}else{let n=this.table.schema.database.findEnum(t,e);if(!n)return;this._enum=n,n.pushField(this)}}pushEndpoint(e){this.endpoints.push(e)}export(){return{...this.shallowExport()}}exportParentIds(){return{tableId:this.table.id,enumId:this._enum?this._enum.id:null}}exportChildIds(){return{endpointIds:this.endpoints.map(e=>e.id)}}shallowExport(){return{name:this.name,type:this.type,unique:this.unique,pk:this.pk,not_null:this.not_null,note:this.note,dbdefault:this.dbdefault,increment:this.increment,injectedPartialId:this.injectedPartial?.id??null,checkIds:this.checks.map(e=>e.id)}}normalize(e){e.fields[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.checks.forEach(t=>t.normalize(e))}processChecks(e){e.forEach(e=>{this.checks.push(new cve({...e,table:this.table,column:this}))})}},uve=lve,dve=class extends sy{constructor({type:e,value:t,index:n,token:r}){super(),this.type=e,this.value=t,this.index=n,this.token=r,this.dbState=this.index.dbState,this.generateId()}generateId(){this.id=this.dbState.generateId(`indexColumnId`)}export(){return{...this.shallowExport()}}exportParentIds(){return{indexId:this.index.id}}shallowExport(){return{type:this.type,value:this.value}}normalize(e){e.indexColumns[this.id]={id:this.id,...this.shallowExport(),...this.exportParentIds()}}},fve=dve,pve=class extends sy{constructor({columns:e,type:t,unique:n,pk:r,token:i,name:a,note:o,table:s={},injectedPartial:c=null}={}){super(i),this.name=a,this.type=t,this.unique=n,this.note=o?o.value:null,this.noteToken=o?o.token:null,this.pk=r,this.columns=[],this.table=s,this.injectedPartial=c,this.dbState=this.table.dbState,this.generateId(),this.processIndexColumns(e)}generateId(){this.id=this.dbState.generateId(`indexId`)}processIndexColumns(e){e.forEach(e=>{this.pushIndexColumn(new fve({...e,index:this}))})}pushIndexColumn(e){this.checkIndexColumn(e),this.columns.push(e)}checkIndexColumn(e){this.columns.some(t=>t.type===e.type&&t.value===e.value)&&e.error(`Index column ${e.value} existed`)}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{columns:this.columns.map(e=>e.export())}}exportChildIds(){return{columnIds:this.columns.map(e=>e.id)}}exportParentIds(){return{tableId:this.table.id}}shallowExport(){return{name:this.name,type:this.type,unique:this.unique,pk:this.pk,note:this.note,injectedPartialId:this.injectedPartial?.id}}normalize(e){e.indexes[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.columns.forEach(t=>t.normalize(e))}},mve=pve;Yu();var hve=class extends sy{constructor({name:e,alias:t,note:n,fields:r=[],indexes:i=[],checks:a=[],schema:o={},token:s,headerColor:c,noteToken:l=null,partials:u=[]}={}){super(s),this.name=e,this.alias=t,this.note=n?E(n,`value`,n):null,this.noteToken=n?E(n,`token`,l):null,this.headerColor=c,this.fields=[],this.indexes=[],this.checks=[],this.schema=o,this.partials=u,this.dbState=this.schema.dbState,this.generateId(),this.processFields(r),this.processPartials(),this.checkFieldCount(),this.processIndexes(i),this.processChecks(a)}generateId(){this.id=this.dbState.generateId(`tableId`)}checkFieldCount(){this.fields.length===0&&this.error(`Table must have at least one field`)}processFields(e){e.forEach(e=>{this.pushField(new uve({...e,table:this}))})}pushField(e){this.checkField(e),this.fields.push(e)}checkField(e){this.fields.some(t=>t.name===e.name)&&e.error(`Field "${e.name}" existed in table ${ay(this.schema)?`"${this.schema.name}".`:``}"${this.name}"`)}processIndexes(e){e.forEach(e=>{this.pushIndex(new mve({...e,table:this}))})}pushIndex(e){this.checkIndex(e),this.indexes.push(e)}checkIndex(e){e.columns.forEach(t=>{t.type===`column`&&!this.findField(t.value)&&e.error(`Column "${t.value}" do not exist in table ${ay(this.schema)?`"${this.schema.name}".`:``}"${this.name}"`)})}processChecks(e){e.forEach(e=>{this.pushCheck(new cve({...e,table:this}))})}pushCheck(e){this.checks.push(e)}findField(e){return this.fields.find(t=>t.name===e)}checkSameId(e){return this.schema.checkSameId(e.schemaName||`public`)&&(this.name===e.name||this.alias===e.name||this.name===e.alias||this.alias&&this.alias===e.alias)}processPartials(){if(!this.partials?.length)return;let e=new Set(this.fields.map(e=>e.name)),t=new Set;Ru(this.note)||t.add(`note`),Ru(this.headerColor)||t.add(`headerColor`);let n=this.partials.sort((e,t)=>t.order-e.order);n.toReversed().forEach(e=>{this.fields.splice(e.order,0,`dummy`)}),n.forEach(n=>{let r=this.schema.database.findTablePartial(n.name);if(r||this.error(`Table partial ${n.name} not found`,n.token),n.id=r.id,r.fields){let t=r.fields.filter(t=>!e.has(t.name)).map(t=>(e.add(t.name),t.inline_refs&&t.inline_refs.forEach(e=>{let n={token:t.token,endpoints:[{tableName:this.name,schemaName:this.schema?.name,fieldNames:[t.name],relation:[`-`,`<`].includes(e.relation)?`1`:`*`,token:t.token},{tableName:e.tableName,schemaName:e.schemaName,fieldNames:e.fieldNames,relation:[`-`,`>`].includes(e.relation)?`1`:`*`,token:e.token}],injectedPartial:r};this.schema.database.injectedRawRefs.push(n)}),new uve({...t,noteToken:null,table:this,injectedPartial:r,injectedToken:n.token})));this.fields.splice(n.order,1,...t)}else this.fields.splice(n.order,1);!t.has(`note`)&&!Ru(r.note)&&(this.noteToken=null,this.note=r.note,t.add(`note`)),!t.has(`headerColor`)&&!Ru(r.headerColor)&&(this.headerColor=r.headerColor,t.add(`headerColor`)),r.indexes.forEach(e=>{this.indexes.push(new mve({...e,table:this,injectedPartial:r}))}),r.checks.forEach(e=>{this.checks.push(new cve({...e,name:e.name&&`${this.name}.${e.name}`,table:this,injectedPartial:r}))})})}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{fields:this.fields.map(e=>e.export()),indexes:this.indexes.map(e=>e.export())}}exportChildIds(){return{fieldIds:this.fields.map(e=>e.id),indexIds:this.indexes.map(e=>e.id),checkIds:this.checks.map(e=>e.id)}}exportParentIds(){return{schemaId:this.schema.id,groupId:this.group?this.group.id:null}}shallowExport(){return{name:this.name,alias:this.alias,note:this.note,headerColor:this.headerColor,partials:this.partials}}normalize(e){e.tables[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.fields.forEach(t=>t.normalize(e)),this.indexes.forEach(t=>t.normalize(e)),this.checks.forEach(t=>t.normalize(e))}},gve=hve;Yu();var _ve=class extends sy{constructor({name:e,token:t,note:n,_enum:r,noteToken:i=null}={}){super(t),e||this.error(`Enum value must have a name`),this.name=e,this.note=n?E(n,`value`,n):null,this.noteToken=n?E(n,`token`,i):null,this._enum=r,this.dbState=this._enum.dbState,this.generateId()}generateId(){this.id=this.dbState.generateId(`enumValueId`)}export(){return{...this.shallowExport()}}exportParentIds(){return{enumId:this._enum.id}}shallowExport(){return{name:this.name,note:this.note}}normalize(e){e.enumValues[this.id]={id:this.id,...this.shallowExport(),...this.exportParentIds()}}},vve=_ve;Yu();var yve=class extends sy{constructor({name:e,token:t,values:n,note:r,schema:i,noteToken:a=null}={}){super(t),e||this.error(`Enum must have a name`),this.name=e,this.note=r?E(r,`value`,r):null,this.noteToken=r?E(r,`token`,a):null,this.values=[],this.fields=[],this.schema=i,this.dbState=this.schema.dbState,this.generateId(),this.processValues(n)}generateId(){this.id=this.dbState.generateId(`enumId`)}processValues(e){e.forEach(e=>{this.pushValue(new vve({...e,_enum:this}))})}pushValue(e){this.checkValue(e),this.values.push(e)}checkValue(e){this.values.some(t=>t.name===e.name)&&e.error(`Enum value "${e.name}" existed in enum ${ay(this.schema)?`"${this.schema.name}".`:``}"${this.name}"`)}pushField(e){this.checkField(e),this.fields.push(e)}checkField(e){this.fields.some(t=>t.id===e.id)&&this.error(`Field ${ay(e.table.schema)?`"${e.table.schema.name}".`:``}"${e.table.name}"."${e.name}" already associated with enum ${ay(this.schema)?`"${this.schema.name}".`:``}${this.name}"`)}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{values:this.values.map(e=>e.export())}}exportChildIds(){return{valueIds:this.values.map(e=>e.id),fieldIds:this.fields.map(e=>e.id)}}exportParentIds(){return{schemaId:this.schema.id}}shallowExport(){return{name:this.name,note:this.note}}normalize(e){e.enums[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.values.forEach(t=>t.normalize(e))}},bve=yve;Yu();var xve=class extends sy{constructor({name:e,token:t,tables:n=[],schema:r={},note:i,color:a,noteToken:o=null}){super(t),this.name=e,this.tables=[],this.schema=r,this.dbState=this.schema.dbState,this.note=i?E(i,`value`,i):null,this.noteToken=i?E(i,`token`,o):null,this.color=a,this.generateId(),this.processTables(n)}generateId(){this.id=this.dbState.generateId(`tableGroupId`)}processTables(e){e.forEach(e=>{let t=this.schema.database.findTable(e.schemaName,e.name);t||this.error(`Table ${e.schemaName?`"${e.schemaName}".`:``}${e.name} don't exist`),this.pushTable(t)})}pushTable(e){this.checkTable(e),this.tables.push(e),e.group=this}checkTable(e){this.tables.some(t=>t.id===e.id)&&this.error(`Table ${ay(e.schema)?`"${e.schema.name}".`:``}.${e.name} is already in the group`),e.group&&this.error(`Table ${ay(e.schema)?`"${e.schema.name}".`:``}.${e.name} is already in group ${ay(e.group.schema)?`"${e.group.schema.name}".`:``}${e.group.name}`)}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{tables:this.tables.map(e=>({tableName:e.name,schemaName:e.schema.name}))}}exportChildIds(){return{tableIds:this.tables.map(e=>e.id)}}exportParentIds(){return{schemaId:this.schema.id}}shallowExport(){return{name:this.name,note:this.note,color:this.color}}normalize(e){e.tableGroups[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()}}},Sve=xve,Cve=class extends sy{constructor({tableName:e,schemaName:t,fieldNames:n,relation:r,token:i,ref:a}){super(i),this.relation=r,this.schemaName=t,this.tableName=e,this.fieldNames=n,this.fields=[],this.ref=a,this.dbState=this.ref.dbState,this.generateId();let o=a.schema.database.findOrCreateSchema(t||`public`).database.findTable(t,e);o||this.error(`Can't find table ${q_e(t)?`"${t}".`:``}"${e}"`),this.setFields(n,o)}generateId(){this.id=this.dbState.generateId(`endpointId`)}equals(e){return this.fields.length===e.fields.length?this.compareFields(e):!1}compareFields(e){let t=this.fields.map(e=>e.id).sort(),n=e.fields.map(e=>e.id).sort();for(let e=0;e<t.length;e+=1)if(t[e]!==n[e])return!1;return!0}export(){return{...this.shallowExport()}}exportParentIds(){return{refId:this.ref.id,fieldIds:this.fields.map(e=>e.id)}}shallowExport(){return{schemaName:this.schemaName,tableName:this.tableName,fieldNames:this.fieldNames,relation:this.relation}}setFields(e,t){let n=e&&e.length?[...e]:[];if(!n.length){let e=t.fields.find(e=>e.pk);if(e)n.push(e.name);else{let e=t.indexes.find(e=>e.pk);e?n=e.columns.map(e=>e.value):this.error(`Can't find primary or composite key in table ${ay(t.schema)?`"${t.schema.name}".`:``}"${t.name}"`)}}n.forEach(e=>{let n=t.findField(e);n||this.error(`Can't find field ${ay(t.schema)?`"${t.schema.name}".`:``}"${e}" in table "${t.name}"`),this.fields.push(n),n.pushEndpoint(this)})}normalize(e){e.endpoints[this.id]={id:this.id,...this.shallowExport(),...this.exportParentIds()}}},wve=Cve;function Tve(e,t){return e[0].equals(t[0])&&e[1].equals(t[1])}var Eve=class extends sy{constructor({name:e,color:t,endpoints:n,onDelete:r,onUpdate:i,token:a,schema:o={},injectedPartial:s=null}={}){super(a),this.name=e,this.color=t,this.onDelete=r,this.onUpdate=i,this.endpoints=[],this.schema=o,this.injectedPartial=s,this.dbState=this.schema.dbState,this.generateId(),this.processEndpoints(n)}generateId(){this.id=this.dbState.generateId(`refId`)}processEndpoints(e){e.forEach(e=>{this.endpoints.push(new wve({...e,ref:this})),e.schemaName}),this.endpoints[0].equals(this.endpoints[1])&&this.error(`Two endpoints are the same`),this.endpoints[0].fields.length!==this.endpoints[1].fields.length&&this.error(`Two endpoints have unequal number of fields`)}equals(e){return Tve(this.endpoints,e.endpoints)||Tve(this.endpoints,e.endpoints.slice().reverse())}export(){return{...this.shallowExport(),...this.exportChild()}}shallowExport(){return{name:this.name,color:this.color,onDelete:this.onDelete,onUpdate:this.onUpdate,injectedPartialId:this.injectedPartial?.id}}exportChild(){return{endpoints:this.endpoints.map(e=>e.export())}}exportChildIds(){return{endpointIds:this.endpoints.map(e=>e.id)}}exportParentIds(){return{schemaId:this.schema.id}}normalize(e){e.refs[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.endpoints.forEach(t=>t.normalize(e))}},Dve=Eve;Yu();var Ove=class extends sy{constructor({name:e,alias:t,note:n,tables:r=[],refs:i=[],enums:a=[],tableGroups:o=[],token:s,database:c={},noteToken:l=null}={}){super(s),this.tables=[],this.enums=[],this.tableGroups=[],this.refs=[],this.name=e,this.note=n?E(n,`value`,n):null,this.noteToken=n?E(n,`token`,l):null,this.alias=t,this.database=c,this.dbState=this.database.dbState,this.generateId(),this.processEnums(a),this.processTables(r),this.processRefs(i),this.processTableGroups(o)}generateId(){this.id=this.dbState.generateId(`schemaId`)}processTables(e){e.forEach(e=>{this.pushTable(new gve({...e,schema:this}))})}pushTable(e){this.checkTable(e),this.tables.push(e)}checkTable(e){this.tables.some(t=>t.name===e.name)&&e.error(`Table ${ay(this)?`"${this.name}".`:``}"${e.name}" existed`)}findTable(e){return this.tables.find(t=>t.name===e)}processEnums(e){e.forEach(e=>{this.pushEnum(new bve({...e,schema:this}))})}pushEnum(e){this.checkEnum(e),this.enums.push(e)}checkEnum(e){this.enums.some(t=>t.name===e.name)&&e.error(`Enum ${ay(this)?`"${this.name}".`:``}"${e.name}" existed`)}processRefs(e){e.forEach(e=>{this.pushRef(new Dve({...e,schema:this}))})}pushRef(e){this.checkRef(e),this.refs.push(e)}checkRef(e){if(this.refs.some(t=>t.equals(e))){let t=e.endpoints[0],n=t.fieldNames.map(JSON.stringify).join(`, `),r=e.endpoints[1],i=r.fieldNames.map(JSON.stringify).join(`, `),a=`"${t.schemaName?`${t.schemaName}"."`:``}${t.tableName}"(${n})`,o=`"${r.schemaName?`${r.schemaName}"."`:``}${r.tableName}"(${i})`;e.error(`Reference with the same endpoints already exists: ${a} references ${o}`)}}processTableGroups(e){e.forEach(e=>{this.pushTableGroup(new Sve({...e,schema:this}))})}pushTableGroup(e){this.checkTableGroup(e),this.tableGroups.push(e)}checkTableGroup(e){this.tableGroups.some(t=>t.name===e.name)&&e.error(`Table Group ${ay(this)?`"${this.name}".`:``}"${e.name}" existed`)}checkSameId(e){return this.name===e.name||this.alias===e.name||this.name===e.alias||this.alias&&this.alias===e.alias}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{tables:this.tables.map(e=>e.export()),enums:this.enums.map(e=>e.export()),tableGroups:this.tableGroups.map(e=>e.export()),refs:this.refs.map(e=>e.export())}}exportChildIds(){return{tableIds:this.tables.map(e=>e.id),enumIds:this.enums.map(e=>e.id),tableGroupIds:this.tableGroups.map(e=>e.id),refIds:this.refs.map(e=>e.id)}}exportParentIds(){return{databaseId:this.database.id}}shallowExport(){return{name:this.name,note:this.note,alias:this.alias}}normalize(e){e.schemas[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.tables.forEach(t=>t.normalize(e)),this.enums.forEach(t=>t.normalize(e)),this.tableGroups.forEach(t=>t.normalize(e)),this.refs.forEach(t=>t.normalize(e))}},kve=Ove,Ave=class extends sy{constructor({name:e,content:t,headerColor:n,token:r,database:i={}}={}){super(r),this.name=e,this.content=t,this.headerColor=n,this.database=i,this.dbState=this.database.dbState,this.generateId()}generateId(){this.id=this.dbState.generateId(`noteId`)}export(){return{name:this.name,content:this.content,headerColor:this.headerColor}}normalize(e){e.notes[this.id]={id:this.id,...this.export()}}},jve=Ave,Mve=class{constructor(){this.dbId=1,this.schemaId=1,this.enumId=1,this.tableGroupId=1,this.refId=1,this.tableId=1,this.noteId=1,this.enumValueId=1,this.endpointId=1,this.indexId=1,this.checkId=1,this.fieldId=1,this.indexColumnId=1,this.recordId=1,this.tablePartialId=1}generateId(e){let t=this[e];return this[e]+=1,t}};Yu();var Nve=class extends sy{constructor({name:e,note:t,fields:n=[],indexes:r=[],checks:i=[],token:a,headerColor:o,noteToken:s=null,dbState:c}={}){super(a),this.name=e,this.note=t?E(t,`value`,t):null,this.noteToken=t?E(t,`token`,s):null,this.headerColor=o,this.fields=n,this.indexes=r,this.checks=i,this.dbState=c,this.generateId()}generateId(){this.id=this.dbState.generateId(`tablePartialId`)}export(){return{...this.shallowExport()}}shallowExport(){return{name:this.name,note:this.note,headerColor:this.headerColor,fields:this.fields,indexes:this.indexes}}normalize(e){e.tablePartials[this.id]={id:this.id,...this.shallowExport()}}},Pve=Nve;Yu();var Fve=class extends sy{constructor({schemas:e=[],tables:t=[],notes:n=[],enums:r=[],refs:i=[],tableGroups:a=[],project:o={},aliases:s=[],records:c=[],tablePartials:l=[]}){super(),this.dbState=new Mve,this.generateId(),this.hasDefaultSchema=!1,this.schemas=[],this.notes=[],this.note=o.note?E(o,`note.value`,o.note):null,this.noteToken=o.note?E(o,`note.token`,o.noteToken):null,this.databaseType=o.database_type,this.name=o.name,this.token=o.token,this.aliases=s,this.records=[],this.tablePartials=[],this.injectedRawRefs=[],this.processNotes(n),this.processRecords(c),this.processTablePartials(l),this.processSchemas(e),this.processSchemaElements(r,Bpe),this.processSchemaElements(t,Rpe),this.processSchemaElements(n,`note`),this.processSchemaElements(i,`ref`),this.processSchemaElements(a,Hpe),this.injectedRawRefs.forEach(e=>{let t=this.findOrCreateSchema(M_),n=new Dve({...e,schema:t});t.refs.some(e=>e.equals(n))||t.pushRef(n)})}generateId(){this.id=this.dbState.generateId(`dbId`)}processNotes(e){e.forEach(e=>{this.pushNote(new jve({...e,database:this}))})}processRecords(e){e.forEach(({schemaName:e,tableName:t,columns:n,values:r})=>{this.records.push({id:this.dbState.generateId(`recordId`),schemaName:e,tableName:t,columns:n,values:r})})}processTablePartials(e){e.forEach(e=>{this.tablePartials.push(new Pve({...e,dbState:this.dbState}))})}pushNote(e){this.checkNote(e),this.notes.push(e)}checkNote(e){this.notes.some(t=>t.name===e.name)&&e.error(`Notes ${e.name} existed`)}processSchemas(e){e.forEach(e=>{this.pushSchema(new kve({...e,database:this}))})}pushSchema(e){this.checkSchema(e),this.schemas.push(e)}checkSchema(e){this.schemas.some(t=>t.name===e.name)&&e.error(`Schemas ${e.name} existed`)}processSchemaElements(e,t){let n;e.forEach(e=>{switch(e.schemaName?(n=this.findOrCreateSchema(e.schemaName),e.schemaName):n=this.findOrCreateSchema(M_),t){case Rpe:n.pushTable(new gve({...e,schema:n}));break;case Bpe:n.pushEnum(new bve({...e,schema:n}));break;case Hpe:n.pushTableGroup(new Sve({...e,schema:n}));break;case`ref`:n.pushRef(new Dve({...e,schema:n}));break;default:break}})}findOrCreateSchema(e){let t=this.schemas.find(t=>t.name===e||t.alias===e);return t||(t=new kve({name:e,note:{value:e===`public`?`Default ${Zo(M_)} Schema`:null},database:this}),this.pushSchema(t)),t}findTableAlias(e){let t=this.aliases.find(t=>t.name===e);if(!t||t.kind!==`table`)return null;let n=t.value.schemaName||`public`,r=this.schemas.find(e=>e.name===n);if(!r)return null;let{tableName:i}=t.value;return r.tables.find(e=>e.name===i)}findTable(e,t){let n=null;if(!e&&(n=this.findTableAlias(t),n))return n;let r=this.findOrCreateSchema(e||`public`);return r||this.error(`Schema ${e||`public`} don't exist`),r.findTable(t)}findEnum(e,t){let n=this.schemas.find(t=>t.name===e||t.alias===e);return n?n.enums.find(e=>e.name===t):null}findTablePartial(e){return this.tablePartials.find(t=>t.name===e)}export(){return{...this.exportChild()}}shallowExport(){return{hasDefaultSchema:this.hasDefaultSchema,note:this.note,databaseType:this.databaseType,name:this.name}}exportChild(){return{schemas:this.schemas.map(e=>e.export()),notes:this.notes.map(e=>e.export()),records:this.records.map(e=>({...e}))}}exportChildIds(){return{schemaIds:this.schemas.map(e=>e.id),noteIds:this.notes.map(e=>e.id)}}normalize(){let e={database:{[this.id]:{id:this.id,...this.shallowExport(),...this.exportChildIds()}},schemas:{},notes:{},refs:{},enums:{},tableGroups:{},tables:{},endpoints:{},enumValues:{},indexes:{},indexColumns:{},checks:{},fields:{},records:{},tablePartials:{}};return this.schemas.forEach(t=>t.normalize(e)),this.notes.forEach(t=>t.normalize(e)),this.records.forEach(t=>{e.records[t.id]={...t}}),this.tablePartials.forEach(t=>t.normalize(e)),e}},Ive=Fve,Lve={763:()=>{}},Rve={};function cy(e){var t=Rve[e];if(t!==void 0)return t.exports;var n=Rve[e]={exports:{}};return Lve[e](n,n.exports,cy),n.exports}cy.d=(e,t)=>{for(var n in t)cy.o(t,n)&&!cy.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},cy.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var ly={};cy.d(ly,{MG:()=>Py,fr:()=>Aye,sR:()=>lbe,Zo:()=>ab,iH:()=>hbe,rt:()=>Gy,jB:()=>ybe,M8:()=>Zye,$t:()=>ib,aq:()=>obe,pG:()=>Uy,eP:()=>ibe,KU:()=>rb,zW:()=>dbe,IX:()=>_y,mY:()=>vy,a7:()=>Ny,JG:()=>qy,ay:()=>Qy,X2:()=>tb,WU:()=>tbe,Uw:()=>nbe,gw:()=>nb,iX:()=>xbe,re:()=>Kye,Pg:()=>wbe,tD:()=>qye,R$:()=>eb,Dj:()=>Ky,m7:()=>Dy,NZ:()=>Cy,xo:()=>wy,ou:()=>uy,qC:()=>Tbe,mD:()=>py,Ay:()=>Obe});var uy=class{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(e){this._text=e}};function dy(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!(e[n]===t[n]||e[n].equals&&e[n].equals(t[n])))return!1;return!0}uy.INVALID_TYPE=0,uy.EPSILON=-2,uy.MIN_USER_TOKEN_TYPE=1,uy.EOF=-1,uy.DEFAULT_CHANNEL=0,uy.HIDDEN_CHANNEL=1;var zve=Math.round(Math.random()*2**32);function Bve(e){if(!e)return 0;let t=typeof e,n=t===`string`?e:!(t!==`object`||!e.toString)&&e.toString();if(!n)return 0;let r,i,a=3&n.length,o=n.length-a,s=zve,c=3432918353,l=461845907,u=0;for(;u<o;)i=255&n.charCodeAt(u)|(255&n.charCodeAt(++u))<<8|(255&n.charCodeAt(++u))<<16|(255&n.charCodeAt(++u))<<24,++u,i=(65535&i)*c+(((i>>>16)*c&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(65535&i)*l+(((i>>>16)*l&65535)<<16)&4294967295,s^=i,s=s<<13|s>>>19,r=5*(65535&s)+((5*(s>>>16)&65535)<<16)&4294967295,s=27492+(65535&r)+((58964+(r>>>16)&65535)<<16);switch(i=0,a){case 3:i^=(255&n.charCodeAt(u+2))<<16;case 2:i^=(255&n.charCodeAt(u+1))<<8;case 1:i^=255&n.charCodeAt(u),i=(65535&i)*c+(((i>>>16)*c&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(65535&i)*l+(((i>>>16)*l&65535)<<16)&4294967295,s^=i}return s^=n.length,s^=s>>>16,s=2246822507*(65535&s)+((2246822507*(s>>>16)&65535)<<16)&4294967295,s^=s>>>13,s=3266489909*(65535&s)+((3266489909*(s>>>16)&65535)<<16)&4294967295,s^=s>>>16,s>>>0}var fy=class e{constructor(){this.count=0,this.hash=0}update(){for(let e=0;e<arguments.length;e++){let t=arguments[e];if(t!=null)if(Array.isArray(t))this.update.apply(this,t);else{let e=0;switch(typeof t){case`undefined`:case`function`:continue;case`number`:case`boolean`:e=t;break;case`string`:e=Bve(t);break;default:t.updateHashCode?t.updateHashCode(this):console.log(`No updateHashCode for `+t.toString());continue}e*=3432918353,e=e<<15|e>>>17,e*=461845907,this.count+=1;let n=this.hash^e;n=n<<13|n>>>19,n=5*n+3864292196,this.hash=n}}}finish(){let e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,e*=3266489909,e^=e>>>16,e}static hashStuff(){let t=new e;return t.update.apply(t,arguments),t.finish()}};function Vve(e){return e?typeof e==`string`?Bve(e):e.hashCode():-1}function Hve(e,t){return e&&e.equals?e.equals(t):e===t}function Uve(e){return e===null?`null`:e}function py(e){return Array.isArray(e)?`[`+e.map(Uve).join(`, `)+`]`:`null`}var my=class{constructor(e,t){this.buckets=Array(16),this.threshold=12,this.itemCount=0,this.hashFunction=e||Vve,this.equalsFunction=t||Hve}get(e){if(e==null)return e;let t=this._getBucket(e);if(!t)return null;for(let n of t)if(this.equalsFunction(n,e))return n;return null}add(e){return this.getOrAdd(e)===e}getOrAdd(e){this._expand();let t=this._getSlot(e),n=this.buckets[t];if(!n)return n=[e],this.buckets[t]=n,this.itemCount++,e;for(let t of n)if(this.equalsFunction(t,e))return t;return n.push(e),this.itemCount++,e}has(e){return this.get(e)!=null}values(){return this.buckets.filter((e=>e!=null)).flat(1)}toString(){return py(this.values())}get length(){return this.itemCount}_getSlot(e){return this.hashFunction(e)&this.buckets.length-1}_getBucket(e){return this.buckets[this._getSlot(e)]}_expand(){if(this.itemCount<=this.threshold)return;let e=this.buckets,t=2*this.buckets.length;this.buckets=Array(t),this.threshold=Math.floor(.75*t);for(let t of e)if(t)for(let e of t){let t=this._getSlot(e),n=this.buckets[t];n||(n=[],this.buckets[t]=n),n.push(e)}}},hy=class e{hashCode(){let e=new fy;return this.updateHashCode(e),e.finish()}evaluate(e,t){}evalPrecedence(e,t){return this}static andContext(t,n){if(t===null||t===e.NONE)return n;if(n===null||n===e.NONE)return t;let r=new Wve(t,n);return r.opnds.length===1?r.opnds[0]:r}static orContext(t,n){if(t===null)return n;if(n===null)return t;if(t===e.NONE||n===e.NONE)return e.NONE;let r=new Gve(t,n);return r.opnds.length===1?r.opnds[0]:r}},Wve=class e extends hy{constructor(t,n){super();let r=new my;t instanceof e?t.opnds.map((function(e){r.add(e)})):r.add(t),n instanceof e?n.opnds.map((function(e){r.add(e)})):r.add(n);let i=Kve(r);if(i.length>0){let e=null;i.map((function(t){(e===null||t.precedence<e.precedence)&&(e=t)})),r.add(e)}this.opnds=Array.from(r.values())}equals(t){return this===t||t instanceof e&&dy(this.opnds,t.opnds)}updateHashCode(e){e.update(this.opnds,`AND`)}evaluate(e,t){for(let n=0;n<this.opnds.length;n++)if(!this.opnds[n].evaluate(e,t))return!1;return!0}evalPrecedence(e,t){let n=!1,r=[];for(let i=0;i<this.opnds.length;i++){let a=this.opnds[i],o=a.evalPrecedence(e,t);if(n|=o!==a,o===null)return null;o!==hy.NONE&&r.push(o)}if(!n)return this;if(r.length===0)return hy.NONE;let i=null;return r.map((function(e){i=i===null?e:hy.andContext(i,e)})),i}toString(){let e=this.opnds.map((e=>e.toString()));return(e.length>3?e.slice(3):e).join(`&&`)}},Gve=class e extends hy{constructor(t,n){super();let r=new my;t instanceof e?t.opnds.map((function(e){r.add(e)})):r.add(t),n instanceof e?n.opnds.map((function(e){r.add(e)})):r.add(n);let i=Kve(r);if(i.length>0){let e=i.sort((function(e,t){return e.compareTo(t)})),t=e[e.length-1];r.add(t)}this.opnds=Array.from(r.values())}equals(t){return this===t||t instanceof e&&dy(this.opnds,t.opnds)}updateHashCode(e){e.update(this.opnds,`OR`)}evaluate(e,t){for(let n=0;n<this.opnds.length;n++)if(this.opnds[n].evaluate(e,t))return!0;return!1}evalPrecedence(e,t){let n=!1,r=[];for(let i=0;i<this.opnds.length;i++){let a=this.opnds[i],o=a.evalPrecedence(e,t);if(n|=o!==a,o===hy.NONE)return hy.NONE;o!==null&&r.push(o)}return n?(r.length===0||r.map((function(e){return e})),null):this}toString(){let e=this.opnds.map((e=>e.toString()));return(e.length>3?e.slice(3):e).join(`||`)}};function Kve(e){let t=[];return e.values().map((function(e){e instanceof hy.PrecedencePredicate&&t.push(e)})),t}function qve(e,t){if(e===null){let e={state:null,alt:null,context:null,semanticContext:null};return t&&(e.reachesIntoOuterContext=0),e}{let n={};return n.state=e.state||null,n.alt=e.alt===void 0?null:e.alt,n.context=e.context||null,n.semanticContext=e.semanticContext||null,t&&(n.reachesIntoOuterContext=e.reachesIntoOuterContext||0,n.precedenceFilterSuppressed=e.precedenceFilterSuppressed||!1),n}}var gy=class e{constructor(e,t){this.checkContext(e,t),e=qve(e),t=qve(t,!0),this.state=e.state===null?t.state:e.state,this.alt=e.alt===null?t.alt:e.alt,this.context=e.context===null?t.context:e.context,this.semanticContext=e.semanticContext===null?t.semanticContext===null?hy.NONE:t.semanticContext:e.semanticContext,this.reachesIntoOuterContext=t.reachesIntoOuterContext,this.precedenceFilterSuppressed=t.precedenceFilterSuppressed}checkContext(e,t){e.context!==null&&e.context!==void 0||t!==null&&t.context!==null&&t.context!==void 0||(this.context=null)}hashCode(){let e=new fy;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t||t instanceof e&&this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed}hashCodeForConfigSet(){let e=new fy;return e.update(this.state.stateNumber,this.alt,this.semanticContext),e.finish()}equalsForConfigSet(t){return this===t||t instanceof e&&this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext)}toString(){return`(`+this.state+`,`+this.alt+(this.context===null?``:`,[`+this.context.toString()+`]`)+(this.semanticContext===hy.NONE?``:`,`+this.semanticContext.toString())+(this.reachesIntoOuterContext>0?`,up=`+this.reachesIntoOuterContext:``)+`)`}},_y=class e{constructor(e,t){this.start=e,this.stop=t}clone(){return new e(this.start,this.stop)}contains(e){return e>=this.start&&e<this.stop}toString(){return this.start===this.stop-1?this.start.toString():this.start.toString()+`..`+(this.stop-1).toString()}get length(){return this.stop-this.start}};_y.INVALID_INTERVAL=new _y(-1,-2);var vy=class e{constructor(){this.intervals=null,this.readOnly=!1}first(e){return this.intervals===null||this.intervals.length===0?uy.INVALID_TYPE:this.intervals[0].start}addOne(e){this.addInterval(new _y(e,e+1))}addRange(e,t){this.addInterval(new _y(e,t+1))}addInterval(e){if(this.intervals===null)this.intervals=[],this.intervals.push(e.clone());else{for(let t=0;t<this.intervals.length;t++){let n=this.intervals[t];if(e.stop<n.start)return void this.intervals.splice(t,0,e);if(e.stop===n.start)return void(this.intervals[t]=new _y(e.start,n.stop));if(e.start<=n.stop)return this.intervals[t]=new _y(Math.min(n.start,e.start),Math.max(n.stop,e.stop)),void this.reduce(t)}this.intervals.push(e.clone())}}addSet(e){return e.intervals!==null&&e.intervals.forEach((e=>this.addInterval(e)),this),this}reduce(e){if(e<this.intervals.length-1){let t=this.intervals[e],n=this.intervals[e+1];t.stop>=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new _y(t.start,n.stop),this.intervals.splice(e+1,1))}}complement(t,n){let r=new e;return r.addInterval(new _y(t,n+1)),this.intervals!==null&&this.intervals.forEach((e=>r.removeRange(e))),r}contains(e){if(this.intervals===null)return!1;for(let t=0;t<this.intervals.length;t++)if(this.intervals[t].contains(e))return!0;return!1}removeRange(e){if(e.start===e.stop-1)this.removeOne(e.start);else if(this.intervals!==null){let t=0;for(let n=0;n<this.intervals.length;n++){let n=this.intervals[t];if(e.stop<=n.start)return;if(e.start>n.start&&e.stop<n.stop){this.intervals[t]=new _y(n.start,e.start);let r=new _y(e.stop,n.stop);this.intervals.splice(t,0,r);return}e.start<=n.start&&e.stop>=n.stop?(this.intervals.splice(t,1),--t):e.start<n.stop?this.intervals[t]=new _y(n.start,e.start):e.stop<n.stop&&(this.intervals[t]=new _y(e.stop,n.stop)),t+=1}}}removeOne(e){if(this.intervals!==null)for(let t=0;t<this.intervals.length;t++){let n=this.intervals[t];if(e<n.start)return;if(e===n.start&&e===n.stop-1)return void this.intervals.splice(t,1);if(e===n.start)return void(this.intervals[t]=new _y(n.start+1,n.stop));if(e===n.stop-1)return void(this.intervals[t]=new _y(n.start,n.stop-1));if(e<n.stop-1){let r=new _y(n.start,e);n.start=e+1,this.intervals.splice(t,0,r);return}}}toString(e,t,n){return e||=null,t||=null,n||=!1,this.intervals===null?`{}`:e!==null||t!==null?this.toTokenString(e,t):n?this.toCharString():this.toIndexString()}toCharString(){let e=[];for(let t=0;t<this.intervals.length;t++){let n=this.intervals[t];n.stop===n.start+1?n.start===uy.EOF?e.push(`<EOF>`):e.push(`'`+String.fromCharCode(n.start)+`'`):e.push(`'`+String.fromCharCode(n.start)+`'..'`+String.fromCharCode(n.stop-1)+`'`)}return e.length>1?`{`+e.join(`, `)+`}`:e[0]}toIndexString(){let e=[];for(let t=0;t<this.intervals.length;t++){let n=this.intervals[t];n.stop===n.start+1?n.start===uy.EOF?e.push(`<EOF>`):e.push(n.start.toString()):e.push(n.start.toString()+`..`+(n.stop-1).toString())}return e.length>1?`{`+e.join(`, `)+`}`:e[0]}toTokenString(e,t){let n=[];for(let r=0;r<this.intervals.length;r++){let i=this.intervals[r];for(let r=i.start;r<i.stop;r++)n.push(this.elementName(e,t,r))}return n.length>1?`{`+n.join(`, `)+`}`:n[0]}elementName(e,t,n){return n===uy.EOF?`<EOF>`:n===uy.EPSILON?`<EPSILON>`:e[n]||t[n]}get length(){return this.intervals.map((e=>e.length)).reduce(((e,t)=>e+t))}},yy=class e{constructor(){this.atn=null,this.stateNumber=e.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(t){return t instanceof e&&this.stateNumber===t.stateNumber}isNonGreedyExitState(){return!1}addTransition(e,t){t===void 0&&(t=-1),this.transitions.length===0?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),t===-1?this.transitions.push(e):this.transitions.splice(t,1,e)}};yy.INVALID_TYPE=0,yy.BASIC=1,yy.RULE_START=2,yy.BLOCK_START=3,yy.PLUS_BLOCK_START=4,yy.STAR_BLOCK_START=5,yy.TOKEN_START=6,yy.RULE_STOP=7,yy.BLOCK_END=8,yy.STAR_LOOP_BACK=9,yy.STAR_LOOP_ENTRY=10,yy.PLUS_LOOP_BACK=11,yy.LOOP_END=12,yy.serializationNames=[`INVALID`,`BASIC`,`RULE_START`,`BLOCK_START`,`PLUS_BLOCK_START`,`STAR_BLOCK_START`,`TOKEN_START`,`RULE_STOP`,`BLOCK_END`,`STAR_LOOP_BACK`,`STAR_LOOP_ENTRY`,`PLUS_LOOP_BACK`,`LOOP_END`],yy.INVALID_STATE_NUMBER=-1;var by=class extends yy{constructor(){return super(),this.stateType=yy.RULE_STOP,this}},xy=class{constructor(e){if(e==null)throw`target cannot be null.`;this.target=e,this.isEpsilon=!1,this.label=null}};xy.EPSILON=1,xy.RANGE=2,xy.RULE=3,xy.PREDICATE=4,xy.ATOM=5,xy.ACTION=6,xy.SET=7,xy.NOT_SET=8,xy.WILDCARD=9,xy.PRECEDENCE=10,xy.serializationNames=[`INVALID`,`EPSILON`,`RANGE`,`RULE`,`PREDICATE`,`ATOM`,`ACTION`,`SET`,`NOT_SET`,`WILDCARD`,`PRECEDENCE`],xy.serializationTypes={EpsilonTransition:xy.EPSILON,RangeTransition:xy.RANGE,RuleTransition:xy.RULE,PredicateTransition:xy.PREDICATE,AtomTransition:xy.ATOM,ActionTransition:xy.ACTION,SetTransition:xy.SET,NotSetTransition:xy.NOT_SET,WildcardTransition:xy.WILDCARD,PrecedencePredicateTransition:xy.PRECEDENCE};var Sy=class extends xy{constructor(e,t,n,r){super(e),this.ruleIndex=t,this.precedence=n,this.followState=r,this.serializationType=xy.RULE,this.isEpsilon=!0}matches(e,t,n){return!1}},Jve=class extends xy{constructor(e,t){super(e),this.serializationType=xy.SET,t==null?(this.label=new vy,this.label.addOne(uy.INVALID_TYPE)):this.label=t}matches(e,t,n){return this.label.contains(e)}toString(){return this.label.toString()}},Yve=class extends Jve{constructor(e,t){super(e,t),this.serializationType=xy.NOT_SET}matches(e,t,n){return e>=t&&e<=n&&!super.matches(e,t,n)}toString(){return`~`+super.toString()}},Xve=class extends xy{constructor(e){super(e),this.serializationType=xy.WILDCARD}matches(e,t,n){return e>=t&&e<=n}toString(){return`.`}},Zve=class extends xy{constructor(e){super(e)}},Qve=class{},$ve=class extends Qve{},eye=class extends $ve{},Cy=class extends eye{get ruleContext(){throw Error(`missing interface implementation`)}},wy=class extends eye{},Ty=class extends wy{},Ey={toStringTree:function(e,t,n){t||=null,(n||=null)!==null&&(t=n.ruleNames);let r=Ey.getNodeText(e,t);r=function(e){return e=e.replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`)}(r);let i=e.getChildCount();if(i===0)return r;let a=`(`+r+` `;i>0&&(r=Ey.toStringTree(e.getChild(0),t),a=a.concat(r));for(let n=1;n<i;n++)r=Ey.toStringTree(e.getChild(n),t),a=a.concat(` `+r);return a=a.concat(`)`),a},getNodeText:function(e,t,n){if(t||=null,(n||=null)!==null&&(t=n.ruleNames),t!==null){if(e instanceof Cy){let n=e.ruleContext.getAltNumber();return n==0?t[e.ruleIndex]:t[e.ruleIndex]+`:`+n}if(e instanceof Ty)return e.toString();if(e instanceof wy&&e.symbol!==null)return e.symbol.text}let r=e.getPayload();return r instanceof uy?r.text:e.getPayload().toString()},getChildren:function(e){let t=[];for(let n=0;n<e.getChildCount();n++)t.push(e.getChild(n));return t},getAncestors:function(e){let t=[];for(e=e.getParent();e!==null;)t=[e].concat(t),e=e.getParent();return t},findAllTokenNodes:function(e,t){return Ey.findAllNodes(e,t,!0)},findAllRuleNodes:function(e,t){return Ey.findAllNodes(e,t,!1)},findAllNodes:function(e,t,n){let r=[];return Ey._findAllNodes(e,t,n,r),r},_findAllNodes:function(e,t,n,r){n&&e instanceof wy?e.symbol.type===t&&r.push(e):!n&&e instanceof Cy&&e.ruleIndex===t&&r.push(e);for(let i=0;i<e.getChildCount();i++)Ey._findAllNodes(e.getChild(i),t,n,r)},descendants:function(e){let t=[e];for(let n=0;n<e.getChildCount();n++)t=t.concat(Ey.descendants(e.getChild(n)));return t}},tye=Ey,Dy=class extends Cy{constructor(e,t){super(),this.parentCtx=e||null,this.invokingState=t||-1}depth(){let e=0,t=this;for(;t!==null;)t=t.parentCtx,e+=1;return e}isEmpty(){return this.invokingState===-1}getSourceInterval(){return _y.INVALID_INTERVAL}get ruleContext(){return this}getPayload(){return this}getText(){return this.getChildCount()===0?``:this.children.map((function(e){return e.getText()})).join(``)}getAltNumber(){return 0}setAltNumber(e){}getChild(e){return null}getChildCount(){return 0}accept(e){return e.visitChildren(this)}toStringTree(e,t){return tye.toStringTree(this,e,t)}toString(e,t){e||=null,t||=null;let n=this,r=`[`;for(;n!==null&&n!==t;){if(e===null)n.isEmpty()||(r+=n.invokingState);else{let t=n.ruleIndex;r+=t>=0&&t<e.length?e[t]:``+t}n.parentCtx===null||e===null&&n.parentCtx.isEmpty()||(r+=` `),n=n.parentCtx}return r+=`]`,r}},Oy=class e{constructor(e){this.cachedHashCode=e}isEmpty(){return this===e.EMPTY}hasEmptyPath(){return this.getReturnState(this.length-1)===e.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(e){e.update(this.cachedHashCode)}};Oy.EMPTY=null,Oy.EMPTY_RETURN_STATE=2147483647,Oy.globalNodeCount=1,Oy.id=Oy.globalNodeCount,Oy.trace_atn_sim=!1;var ky=class e extends Oy{constructor(e,t){let n=new fy;return n.update(e,t),super(n.finish()),this.parents=e,this.returnStates=t,this}isEmpty(){return this.returnStates[0]===Oy.EMPTY_RETURN_STATE}getParent(e){return this.parents[e]}getReturnState(e){return this.returnStates[e]}equals(t){return this===t||t instanceof e&&this.hashCode()===t.hashCode()&&dy(this.returnStates,t.returnStates)&&dy(this.parents,t.parents)}toString(){if(this.isEmpty())return`[]`;{let e=`[`;for(let t=0;t<this.returnStates.length;t++)t>0&&(e+=`, `),this.returnStates[t]===Oy.EMPTY_RETURN_STATE?e+=`$`:(e+=this.returnStates[t],this.parents[t]===null?e+=`null`:e=e+` `+this.parents[t]);return e+`]`}}get length(){return this.returnStates.length}},Ay=class e extends Oy{constructor(e,t){let n=0,r=new fy;e===null?r.update(1):r.update(e,t),n=r.finish(),super(n),this.parentCtx=e,this.returnState=t}getParent(e){return this.parentCtx}getReturnState(e){return this.returnState}equals(t){return this===t||t instanceof e&&this.hashCode()===t.hashCode()&&this.returnState===t.returnState&&(this.parentCtx==null?t.parentCtx==null:this.parentCtx.equals(t.parentCtx))}toString(){let e=this.parentCtx===null?``:this.parentCtx.toString();return e.length===0?this.returnState===Oy.EMPTY_RETURN_STATE?`$`:``+this.returnState:this.returnState+` `+e}get length(){return 1}static create(t,n){return n===Oy.EMPTY_RETURN_STATE&&t===null?Oy.EMPTY:new e(t,n)}},nye=class extends Ay{constructor(){super(null,Oy.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(e){return null}getReturnState(e){return this.returnState}equals(e){return this===e}toString(){return`$`}};Oy.EMPTY=new nye;var jy=class{constructor(e,t){this.buckets=Array(16),this.threshold=12,this.itemCount=0,this.hashFunction=e||Vve,this.equalsFunction=t||Hve}set(e,t){this._expand();let n=this._getSlot(e),r=this.buckets[n];if(!r)return r=[[e,t]],this.buckets[n]=r,this.itemCount++,t;let i=r.find((t=>this.equalsFunction(t[0],e)),this);if(i){let e=i[1];return i[1]=t,e}return r.push([e,t]),this.itemCount++,t}containsKey(e){let t=this._getBucket(e);return!!t&&!!t.find((t=>this.equalsFunction(t[0],e)),this)}get(e){let t=this._getBucket(e);if(!t)return null;let n=t.find((t=>this.equalsFunction(t[0],e)),this);return n?n[1]:null}entries(){return this.buckets.filter((e=>e!=null)).flat(1)}getKeys(){return this.entries().map((e=>e[0]))}getValues(){return this.entries().map((e=>e[1]))}toString(){return`[`+this.entries().map((e=>`{`+e[0]+`:`+e[1]+`}`)).join(`, `)+`]`}get length(){return this.itemCount}_getSlot(e){return this.hashFunction(e)&this.buckets.length-1}_getBucket(e){return this.buckets[this._getSlot(e)]}_expand(){if(this.itemCount<=this.threshold)return;let e=this.buckets,t=2*this.buckets.length;this.buckets=Array(t),this.threshold=Math.floor(.75*t);for(let t of e)if(t)for(let e of t){let t=this._getSlot(e[0]),n=this.buckets[t];n||(n=[],this.buckets[t]=n),n.push(e)}}};function rye(e,t){if(t??=Dy.EMPTY,t.parentCtx===null||t===Dy.EMPTY)return Oy.EMPTY;let n=rye(e,t.parentCtx),r=e.states[t.invokingState].transitions[0];return Ay.create(n,r.followState.stateNumber)}function iye(e,t,n){if(e.isEmpty())return e;let r=n.get(e)||null;if(r!==null)return r;if(r=t.get(e),r!==null)return n.set(e,r),r;let i=!1,a=[];for(let r=0;r<a.length;r++){let o=iye(e.getParent(r),t,n);if(i||o!==e.getParent(r)){if(!i){a=[];for(let t=0;t<e.length;t++)a[t]=e.getParent(t);i=!0}a[r]=o}}if(!i)return t.add(e),n.set(e,e),e;let o=null;return o=a.length===0?Oy.EMPTY:a.length===1?Ay.create(a[0],e.getReturnState(0)):new ky(a,e.returnStates),t.add(o),n.set(o,o),n.set(e,o),o}function aye(e,t,n,r){if(e===t)return e;if(e instanceof Ay&&t instanceof Ay)return function(e,t,n,r){if(r!==null){let n=r.get(e,t);if(n!==null||(n=r.get(t,e),n!==null))return n}let i=function(e,t,n){if(n){if(e===Oy.EMPTY||t===Oy.EMPTY)return Oy.EMPTY}else{if(e===Oy.EMPTY&&t===Oy.EMPTY)return Oy.EMPTY;if(e===Oy.EMPTY){let e=[t.returnState,Oy.EMPTY_RETURN_STATE];return new ky([t.parentCtx,null],e)}if(t===Oy.EMPTY){let t=[e.returnState,Oy.EMPTY_RETURN_STATE];return new ky([e.parentCtx,null],t)}}return null}(e,t,n);if(i!==null)return r!==null&&r.set(e,t,i),i;if(e.returnState===t.returnState){let i=aye(e.parentCtx,t.parentCtx,n,r);if(i===e.parentCtx)return e;if(i===t.parentCtx)return t;let a=Ay.create(i,e.returnState);return r!==null&&r.set(e,t,a),a}{let n=null;if((e===t||e.parentCtx!==null&&e.parentCtx===t.parentCtx)&&(n=e.parentCtx),n!==null){let i=[e.returnState,t.returnState];e.returnState>t.returnState&&(i[0]=t.returnState,i[1]=e.returnState);let a=new ky([n,n],i);return r!==null&&r.set(e,t,a),a}let i=[e.returnState,t.returnState],a=[e.parentCtx,t.parentCtx];e.returnState>t.returnState&&(i[0]=t.returnState,i[1]=e.returnState,a=[t.parentCtx,e.parentCtx]);let o=new ky(a,i);return r!==null&&r.set(e,t,o),o}}(e,t,n,r);if(n){if(e instanceof nye)return e;if(t instanceof nye)return t}return e instanceof Ay&&(e=new ky([e.getParent()],[e.returnState])),t instanceof Ay&&(t=new ky([t.getParent()],[t.returnState])),function(e,t,n,r){if(r!==null){let n=r.get(e,t);if(n!==null||(n=r.get(t,e),n!==null))return Oy.trace_atn_sim&&console.log(`mergeArrays a=`+e+`,b=`+t+` -> previous`),n}let i=0,a=0,o=0,s=Array(e.returnStates.length+t.returnStates.length).fill(0),c=Array(e.returnStates.length+t.returnStates.length).fill(null);for(;i<e.returnStates.length&&a<t.returnStates.length;){let l=e.parents[i],u=t.parents[a];if(e.returnStates[i]===t.returnStates[a]){let t=e.returnStates[i];t===Oy.EMPTY_RETURN_STATE&&l===null&&u===null||l!==null&&u!==null&&l===u?(c[o]=l,s[o]=t):(c[o]=aye(l,u,n,r),s[o]=t),i+=1,a+=1}else e.returnStates[i]<t.returnStates[a]?(c[o]=l,s[o]=e.returnStates[i],i+=1):(c[o]=u,s[o]=t.returnStates[a],a+=1);o+=1}if(i<e.returnStates.length)for(let t=i;t<e.returnStates.length;t++)c[o]=e.parents[t],s[o]=e.returnStates[t],o+=1;else for(let e=a;e<t.returnStates.length;e++)c[o]=t.parents[e],s[o]=t.returnStates[e],o+=1;if(o<c.length){if(o===1){let n=Ay.create(c[0],s[0]);return r!==null&&r.set(e,t,n),n}c=c.slice(0,o),s=s.slice(0,o)}let l=new ky(c,s);return l.equals(e)?(r!==null&&r.set(e,t,e),Oy.trace_atn_sim&&console.log(`mergeArrays a=`+e+`,b=`+t+` -> a`),e):l.equals(t)?(r!==null&&r.set(e,t,t),Oy.trace_atn_sim&&console.log(`mergeArrays a=`+e+`,b=`+t+` -> b`),t):(function(e){let t=new jy;for(let n=0;n<e.length;n++){let r=e[n];t.containsKey(r)||t.set(r,r)}for(let n=0;n<e.length;n++)e[n]=t.get(e[n])}(c),r!==null&&r.set(e,t,l),Oy.trace_atn_sim&&console.log(`mergeArrays a=`+e+`,b=`+t+` -> `+l),l)}(e,t,n,r)}var My=class e{constructor(){this.data=new Uint32Array(1)}set(t){e._checkIndex(t),this._resize(t),this.data[t>>>5]|=1<<t%32}get(t){e._checkIndex(t);let n=t>>>5;return!(n>=this.data.length||!(this.data[n]&1<<t%32))}clear(t){e._checkIndex(t);let n=t>>>5;n<this.data.length&&(this.data[n]&=~(1<<t))}or(e){let t=Math.min(this.data.length,e.data.length);for(let n=0;n<t;++n)this.data[n]|=e.data[n];if(this.data.length<e.data.length){this._resize((e.data.length<<5)-1);let n=e.data.length;for(let r=t;r<n;++r)this.data[r]=e.data[r]}}values(){let t=Array(this.length),n=0,r=this.data.length;for(let i=0;i<r;++i){let r=this.data[i];for(;r!==0;){let a=r&-r;t[n++]=(i<<5)+e._bitCount(a-1),r^=a}}return t}minValue(){for(let e=0;e<this.data.length;++e){let t=this.data[e];if(t!==0){let n=0;for(;!(1&t);)n++,t>>=1;return n+32*e}}return 0}hashCode(){return fy.hashStuff(this.values())}equals(t){return t instanceof e&&dy(this.data,t.data)}toString(){return`{`+this.values().join(`, `)+`}`}get length(){return this.data.map((t=>e._bitCount(t))).reduce(((e,t)=>e+t),0)}_resize(e){let t=e+32>>>5;if(t<=this.data.length)return;let n=new Uint32Array(t);n.set(this.data),n.fill(0,this.data.length),this.data=n}static _checkIndex(e){if(e<0)throw RangeError(`index cannot be negative`)}static _bitCount(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,0+(e+=e>>16)&63}},Ny=class e{constructor(e){this.atn=e}getDecisionLookahead(t){if(t===null)return null;let n=t.transitions.length,r=[];for(let i=0;i<n;i++){r[i]=new vy;let n=new my;this._LOOK(t.transition(i).target,null,Oy.EMPTY,r[i],n,new My,!1,!1),(r[i].length===0||r[i].contains(e.HIT_PRED))&&(r[i]=null)}return r}LOOK(e,t,n){let r=new vy,i=(n||=null)===null?null:rye(e.atn,n);return this._LOOK(e,t,i,r,new my,new My,!0,!0),r}_LOOK(t,n,r,i,a,o,s,c){let l=new gy({state:t,alt:0,context:r},null);if(!a.has(l)){if(a.add(l),t===n){if(r===null)return void i.addOne(uy.EPSILON);if(r.isEmpty()&&c)return void i.addOne(uy.EOF)}if(t instanceof by){if(r===null)return void i.addOne(uy.EPSILON);if(r.isEmpty()&&c)return void i.addOne(uy.EOF);if(r!==Oy.EMPTY){let e=o.get(t.ruleIndex);try{o.clear(t.ruleIndex);for(let e=0;e<r.length;e++){let t=this.atn.states[r.getReturnState(e)];this._LOOK(t,n,r.getParent(e),i,a,o,s,c)}}finally{e&&o.set(t.ruleIndex)}return}}for(let l=0;l<t.transitions.length;l++){let u=t.transitions[l];if(u.constructor===Sy){if(o.get(u.target.ruleIndex))continue;let e=Ay.create(r,u.followState.stateNumber);try{o.set(u.target.ruleIndex),this._LOOK(u.target,n,e,i,a,o,s,c)}finally{o.clear(u.target.ruleIndex)}}else if(u instanceof Zve)s?this._LOOK(u.target,n,r,i,a,o,s,c):i.addOne(e.HIT_PRED);else if(u.isEpsilon)this._LOOK(u.target,n,r,i,a,o,s,c);else if(u.constructor===Xve)i.addRange(uy.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);else{let e=u.label;e!==null&&(u instanceof Yve&&(e=e.complement(uy.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),i.addSet(e))}}}}};Ny.HIT_PRED=uy.INVALID_TYPE;var Py=class{constructor(e,t){this.grammarType=e,this.maxTokenType=t,this.states=[],this.decisionToState=[],this.ruleToStartState=[],this.ruleToStopState=null,this.modeNameToStartState={},this.ruleToTokenType=null,this.lexerActions=null,this.modeToStartState=[]}nextTokensInContext(e,t){return new Ny(this).LOOK(e,null,t)}nextTokensNoContext(e){return e.nextTokenWithinRule!==null||(e.nextTokenWithinRule=this.nextTokensInContext(e,null),e.nextTokenWithinRule.readOnly=!0),e.nextTokenWithinRule}nextTokens(e,t){return t===void 0?this.nextTokensNoContext(e):this.nextTokensInContext(e,t)}addState(e){e!==null&&(e.atn=this,e.stateNumber=this.states.length),this.states.push(e)}removeState(e){this.states[e.stateNumber]=null}defineDecisionState(e){return this.decisionToState.push(e),e.decision=this.decisionToState.length-1,e.decision}getDecisionState(e){return this.decisionToState.length===0?null:this.decisionToState[e]}getExpectedTokens(e,t){if(e<0||e>=this.states.length)throw`Invalid state number.`;let n=this.states[e],r=this.nextTokens(n);if(!r.contains(uy.EPSILON))return r;let i=new vy;for(i.addSet(r),i.removeOne(uy.EPSILON);t!==null&&t.invokingState>=0&&r.contains(uy.EPSILON);){let e=this.states[t.invokingState].transitions[0];r=this.nextTokens(e.followState),i.addSet(r),i.removeOne(uy.EPSILON),t=t.parentCtx}return r.contains(uy.EPSILON)&&i.addOne(uy.EOF),i}};Py.INVALID_ALT_NUMBER=0;var oye=class extends yy{constructor(){super(),this.stateType=yy.BASIC}},Fy=class extends yy{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}},Iy=class extends Fy{constructor(){return super(),this.endState=null,this}},sye=class extends yy{constructor(){return super(),this.stateType=yy.BLOCK_END,this.startState=null,this}},Ly=class extends yy{constructor(){return super(),this.stateType=yy.LOOP_END,this.loopBackState=null,this}},cye=class extends yy{constructor(){return super(),this.stateType=yy.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}},lye=class extends Fy{constructor(){return super(),this.stateType=yy.TOKEN_START,this}},uye=class extends Fy{constructor(){return super(),this.stateType=yy.PLUS_LOOP_BACK,this}},dye=class extends yy{constructor(){return super(),this.stateType=yy.STAR_LOOP_BACK,this}},Ry=class extends Fy{constructor(){return super(),this.stateType=yy.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}},fye=class extends Iy{constructor(){return super(),this.stateType=yy.PLUS_BLOCK_START,this.loopBackState=null,this}},pye=class extends Iy{constructor(){return super(),this.stateType=yy.STAR_BLOCK_START,this}},mye=class extends Iy{constructor(){return super(),this.stateType=yy.BLOCK_START,this}},hye=class extends xy{constructor(e,t){super(e),this.label_=t,this.label=this.makeLabel(),this.serializationType=xy.ATOM}makeLabel(){let e=new vy;return e.addOne(this.label_),e}matches(e,t,n){return this.label_===e}toString(){return this.label_}},gye=class extends xy{constructor(e,t,n){super(e),this.serializationType=xy.RANGE,this.start=t,this.stop=n,this.label=this.makeLabel()}makeLabel(){let e=new vy;return e.addRange(this.start,this.stop),e}matches(e,t,n){return e>=this.start&&e<=this.stop}toString(){return`'`+String.fromCharCode(this.start)+`'..'`+String.fromCharCode(this.stop)+`'`}},_ye=class extends xy{constructor(e,t,n,r){super(e),this.serializationType=xy.ACTION,this.ruleIndex=t,this.actionIndex=n===void 0?-1:n,this.isCtxDependent=r!==void 0&&r,this.isEpsilon=!0}matches(e,t,n){return!1}toString(){return`action_`+this.ruleIndex+`:`+this.actionIndex}},zy=class extends xy{constructor(e,t){super(e),this.serializationType=xy.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=t}matches(e,t,n){return!1}toString(){return`epsilon`}},vye=class e extends hy{constructor(e,t,n){super(),this.ruleIndex=e===void 0?-1:e,this.predIndex=t===void 0?-1:t,this.isCtxDependent=n!==void 0&&n}evaluate(e,t){let n=this.isCtxDependent?t:null;return e.sempred(n,this.ruleIndex,this.predIndex)}updateHashCode(e){e.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(t){return this===t||t instanceof e&&this.ruleIndex===t.ruleIndex&&this.predIndex===t.predIndex&&this.isCtxDependent===t.isCtxDependent}toString(){return`{`+this.ruleIndex+`:`+this.predIndex+`}?`}};hy.NONE=new vye;var yye=class extends Zve{constructor(e,t,n,r){super(e),this.serializationType=xy.PREDICATE,this.ruleIndex=t,this.predIndex=n,this.isCtxDependent=r,this.isEpsilon=!0}matches(e,t,n){return!1}getPredicate(){return new vye(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return`pred_`+this.ruleIndex+`:`+this.predIndex}},bye=class e extends hy{constructor(e){super(),this.precedence=e===void 0?0:e}evaluate(e,t){return e.precpred(t,this.precedence)}evalPrecedence(e,t){return e.precpred(t,this.precedence)?hy.NONE:null}compareTo(e){return this.precedence-e.precedence}updateHashCode(e){e.update(this.precedence)}equals(t){return this===t||t instanceof e&&this.precedence===t.precedence}toString(){return`{`+this.precedence+`>=prec}?`}};hy.PrecedencePredicate=bye;var xye=class extends Zve{constructor(e,t){super(e),this.serializationType=xy.PRECEDENCE,this.precedence=t,this.isEpsilon=!0}matches(e,t,n){return!1}getPredicate(){return new bye(this.precedence)}toString(){return this.precedence+` >= _p`}},By=class{constructor(e){e===void 0&&(e=null),this.readOnly=!1,this.verifyATN=e===null||e.verifyATN,this.generateRuleBypassTransitions=e!==null&&e.generateRuleBypassTransitions}};By.defaultOptions=new By,By.defaultOptions.readOnly=!0;var Vy=class{constructor(e){this.actionType=e,this.isPositionDependent=!1}hashCode(){let e=new fy;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.actionType)}equals(e){return this===e}},Sye=class extends Vy{constructor(){super(6)}execute(e){e.skip()}toString(){return`skip`}};Sye.INSTANCE=new Sye;var Cye=class e extends Vy{constructor(e){super(0),this.channel=e}execute(e){e._channel=this.channel}updateHashCode(e){e.update(this.actionType,this.channel)}equals(t){return this===t||t instanceof e&&this.channel===t.channel}toString(){return`channel(`+this.channel+`)`}},wye=class e extends Vy{constructor(e,t){super(1),this.ruleIndex=e,this.actionIndex=t,this.isPositionDependent=!0}execute(e){e.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(e){e.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(t){return this===t||t instanceof e&&this.ruleIndex===t.ruleIndex&&this.actionIndex===t.actionIndex}},Tye=class extends Vy{constructor(){super(3)}execute(e){e.more()}toString(){return`more`}};Tye.INSTANCE=new Tye;var Eye=class e extends Vy{constructor(e){super(7),this.type=e}execute(e){e.type=this.type}updateHashCode(e){e.update(this.actionType,this.type)}equals(t){return this===t||t instanceof e&&this.type===t.type}toString(){return`type(`+this.type+`)`}},Dye=class e extends Vy{constructor(e){super(5),this.mode=e}execute(e){e.pushMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(t){return this===t||t instanceof e&&this.mode===t.mode}toString(){return`pushMode(`+this.mode+`)`}},Oye=class extends Vy{constructor(){super(4)}execute(e){e.popMode()}toString(){return`popMode`}};Oye.INSTANCE=new Oye;var kye=class e extends Vy{constructor(e){super(2),this.mode=e}execute(e){e.setMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(t){return this===t||t instanceof e&&this.mode===t.mode}toString(){return`mode(`+this.mode+`)`}};function Hy(e,t){let n=[];return n[e-1]=t,n.map((function(e){return t}))}var Aye=class{constructor(e){e??=By.defaultOptions,this.deserializationOptions=e,this.stateFactories=null,this.actionFactories=null}deserialize(e){let t=this.reset(e);this.checkVersion(t),t&&this.skipUUID();let n=this.readATN();this.readStates(n,t),this.readRules(n,t),this.readModes(n);let r=[];return this.readSets(n,r,this.readInt.bind(this)),t&&this.readSets(n,r,this.readInt32.bind(this)),this.readEdges(n,r),this.readDecisions(n),this.readLexerActions(n,t),this.markPrecedenceDecisions(n),this.verifyATN(n),this.deserializationOptions.generateRuleBypassTransitions&&n.grammarType===1&&(this.generateRuleBypassTransitions(n),this.verifyATN(n)),n}reset(e){if((e.charCodeAt?e.charCodeAt(0):e[0])===3){let t=e.split(``).map(function(e){let t=e.charCodeAt(0);return t>1?t-2:t+65534});return t[0]=e.charCodeAt(0),this.data=t,this.pos=0,!0}return this.data=e,this.pos=0,!1}skipUUID(){let e=0;for(;e++<8;)this.readInt()}checkVersion(e){let t=this.readInt();if(!e&&t!==4)throw`Could not deserialize ATN with version `+t+` (expected 4).`}readATN(){return new Py(this.readInt(),this.readInt())}readStates(e,t){let n,r,i,a=[],o=[],s=this.readInt();for(let n=0;n<s;n++){let n=this.readInt();if(n===yy.INVALID_TYPE){e.addState(null);continue}let r=this.readInt();t&&r===65535&&(r=-1);let i=this.stateFactory(n,r);if(n===yy.LOOP_END){let e=this.readInt();a.push([i,e])}else if(i instanceof Iy){let e=this.readInt();o.push([i,e])}e.addState(i)}for(n=0;n<a.length;n++)r=a[n],r[0].loopBackState=e.states[r[1]];for(n=0;n<o.length;n++)r=o[n],r[0].endState=e.states[r[1]];let c=this.readInt();for(n=0;n<c;n++)i=this.readInt(),e.states[i].nonGreedy=!0;let l=this.readInt();for(n=0;n<l;n++)i=this.readInt(),e.states[i].isPrecedenceRule=!0}readRules(e,t){let n,r=this.readInt();for(e.grammarType===0&&(e.ruleToTokenType=Hy(r,0)),e.ruleToStartState=Hy(r,0),n=0;n<r;n++){let r=this.readInt();if(e.ruleToStartState[n]=e.states[r],e.grammarType===0){let r=this.readInt();t&&r===65535&&(r=uy.EOF),e.ruleToTokenType[n]=r}}for(e.ruleToStopState=Hy(r,0),n=0;n<e.states.length;n++){let t=e.states[n];t instanceof by&&(e.ruleToStopState[t.ruleIndex]=t,e.ruleToStartState[t.ruleIndex].stopState=t)}}readModes(e){let t=this.readInt();for(let n=0;n<t;n++){let t=this.readInt();e.modeToStartState.push(e.states[t])}}readSets(e,t,n){let r=this.readInt();for(let e=0;e<r;e++){let e=new vy;t.push(e);let r=this.readInt();this.readInt()!==0&&e.addOne(-1);for(let t=0;t<r;t++){let t=n(),r=n();e.addRange(t,r)}}}readEdges(e,t){let n,r,i,a,o,s=this.readInt();for(n=0;n<s;n++){let n=this.readInt(),r=this.readInt(),i=this.readInt(),o=this.readInt(),s=this.readInt(),c=this.readInt();a=this.edgeFactory(e,i,n,r,o,s,c,t),e.states[n].addTransition(a)}for(n=0;n<e.states.length;n++)for(i=e.states[n],r=0;r<i.transitions.length;r++){let t=i.transitions[r];if(!(t instanceof Sy))continue;let n=-1;e.ruleToStartState[t.target.ruleIndex].isPrecedenceRule&&t.precedence===0&&(n=t.target.ruleIndex),a=new zy(t.followState,n),e.ruleToStopState[t.target.ruleIndex].addTransition(a)}for(n=0;n<e.states.length;n++){if(i=e.states[n],i instanceof Iy){if(i.endState===null||i.endState.startState!==null)throw`IllegalState`;i.endState.startState=i}if(i instanceof uye)for(r=0;r<i.transitions.length;r++)o=i.transitions[r].target,o instanceof fye&&(o.loopBackState=i);else if(i instanceof dye)for(r=0;r<i.transitions.length;r++)o=i.transitions[r].target,o instanceof Ry&&(o.loopBackState=i)}}readDecisions(e){let t=this.readInt();for(let n=0;n<t;n++){let t=this.readInt(),r=e.states[t];e.decisionToState.push(r),r.decision=n}}readLexerActions(e,t){if(e.grammarType===0){let n=this.readInt();e.lexerActions=Hy(n,null);for(let r=0;r<n;r++){let n=this.readInt(),i=this.readInt();t&&i===65535&&(i=-1);let a=this.readInt();t&&a===65535&&(a=-1),e.lexerActions[r]=this.lexerActionFactory(n,i,a)}}}generateRuleBypassTransitions(e){let t,n=e.ruleToStartState.length;for(t=0;t<n;t++)e.ruleToTokenType[t]=e.maxTokenType+t+1;for(t=0;t<n;t++)this.generateRuleBypassTransition(e,t)}generateRuleBypassTransition(e,t){let n,r,i=new mye;i.ruleIndex=t,e.addState(i);let a=new sye;a.ruleIndex=t,e.addState(a),i.endState=a,e.defineDecisionState(i),a.startState=i;let o=null,s=null;if(e.ruleToStartState[t].isPrecedenceRule){for(s=null,n=0;n<e.states.length;n++)if(r=e.states[n],this.stateIsEndStateFor(r,t)){s=r,o=r.loopBackState.transitions[0];break}if(o===null)throw`Couldn't identify final state of the precedence rule prefix section.`}else s=e.ruleToStopState[t];for(n=0;n<e.states.length;n++){r=e.states[n];for(let e=0;e<r.transitions.length;e++){let t=r.transitions[e];t!==o&&t.target===s&&(t.target=a)}}let c=e.ruleToStartState[t],l=c.transitions.length;for(;l>0;)i.addTransition(c.transitions[l-1]),c.transitions=c.transitions.slice(-1);e.ruleToStartState[t].addTransition(new zy(i)),a.addTransition(new zy(s));let u=new oye;e.addState(u),u.addTransition(new hye(a,e.ruleToTokenType[t])),i.addTransition(new zy(u))}stateIsEndStateFor(e,t){if(e.ruleIndex!==t||!(e instanceof Ry))return null;let n=e.transitions[e.transitions.length-1].target;return n instanceof Ly&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof by?e:null}markPrecedenceDecisions(e){for(let t=0;t<e.states.length;t++){let n=e.states[t];if(n instanceof Ry&&e.ruleToStartState[n.ruleIndex].isPrecedenceRule){let e=n.transitions[n.transitions.length-1].target;e instanceof Ly&&e.epsilonOnlyTransitions&&e.transitions[0].target instanceof by&&(n.isPrecedenceDecision=!0)}}}verifyATN(e){if(this.deserializationOptions.verifyATN)for(let t=0;t<e.states.length;t++){let n=e.states[t];if(n!==null)if(this.checkCondition(n.epsilonOnlyTransitions||n.transitions.length<=1),n instanceof fye)this.checkCondition(n.loopBackState!==null);else if(n instanceof Ry)if(this.checkCondition(n.loopBackState!==null),this.checkCondition(n.transitions.length===2),n.transitions[0].target instanceof pye)this.checkCondition(n.transitions[1].target instanceof Ly),this.checkCondition(!n.nonGreedy);else{if(!(n.transitions[0].target instanceof Ly))throw`IllegalState`;this.checkCondition(n.transitions[1].target instanceof pye),this.checkCondition(n.nonGreedy)}else n instanceof dye?(this.checkCondition(n.transitions.length===1),this.checkCondition(n.transitions[0].target instanceof Ry)):n instanceof Ly?this.checkCondition(n.loopBackState!==null):n instanceof cye?this.checkCondition(n.stopState!==null):n instanceof Iy?this.checkCondition(n.endState!==null):n instanceof sye?this.checkCondition(n.startState!==null):n instanceof Fy?this.checkCondition(n.transitions.length<=1||n.decision>=0):this.checkCondition(n.transitions.length<=1||n instanceof by)}}checkCondition(e,t){if(!e)throw t??=`IllegalState`,t}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(e,t,n,r,i,a,o,s){let c=e.states[r];switch(t){case xy.EPSILON:return new zy(c);case xy.RANGE:return new gye(c,o===0?i:uy.EOF,a);case xy.RULE:return new Sy(e.states[i],a,o,c);case xy.PREDICATE:return new yye(c,i,a,o!==0);case xy.PRECEDENCE:return new xye(c,i);case xy.ATOM:return new hye(c,o===0?i:uy.EOF);case xy.ACTION:return new _ye(c,i,a,o!==0);case xy.SET:return new Jve(c,s[i]);case xy.NOT_SET:return new Yve(c,s[i]);case xy.WILDCARD:return new Xve(c);default:throw`The specified transition type: `+t+` is not valid.`}}stateFactory(e,t){if(this.stateFactories===null){let e=[];e[yy.INVALID_TYPE]=null,e[yy.BASIC]=()=>new oye,e[yy.RULE_START]=()=>new cye,e[yy.BLOCK_START]=()=>new mye,e[yy.PLUS_BLOCK_START]=()=>new fye,e[yy.STAR_BLOCK_START]=()=>new pye,e[yy.TOKEN_START]=()=>new lye,e[yy.RULE_STOP]=()=>new by,e[yy.BLOCK_END]=()=>new sye,e[yy.STAR_LOOP_BACK]=()=>new dye,e[yy.STAR_LOOP_ENTRY]=()=>new Ry,e[yy.PLUS_LOOP_BACK]=()=>new uye,e[yy.LOOP_END]=()=>new Ly,this.stateFactories=e}if(e>this.stateFactories.length||this.stateFactories[e]===null)throw`The specified state type `+e+` is not valid.`;{let n=this.stateFactories[e]();if(n!==null)return n.ruleIndex=t,n}}lexerActionFactory(e,t,n){if(this.actionFactories===null){let e=[];e[0]=(e,t)=>new Cye(e),e[1]=(e,t)=>new wye(e,t),e[2]=(e,t)=>new kye(e),e[3]=(e,t)=>Tye.INSTANCE,e[4]=(e,t)=>Oye.INSTANCE,e[5]=(e,t)=>new Dye(e),e[6]=(e,t)=>Sye.INSTANCE,e[7]=(e,t)=>new Eye(e),this.actionFactories=e}if(e>this.actionFactories.length||this.actionFactories[e]===null)throw`The specified lexer action type `+e+` is not valid.`;return this.actionFactories[e](t,n)}},Uy=class{syntaxError(e,t,n,r,i,a){}reportAmbiguity(e,t,n,r,i,a,o){}reportAttemptingFullContext(e,t,n,r,i,a){}reportContextSensitivity(e,t,n,r,i,a){}},jye=class extends Uy{constructor(){super()}syntaxError(e,t,n,r,i,a){console.error(`line `+n+`:`+r+` `+i)}};jye.INSTANCE=new jye;var Mye=class extends Uy{constructor(e){if(super(),e===null)throw`delegates`;return this.delegates=e,this}syntaxError(e,t,n,r,i,a){this.delegates.map((o=>o.syntaxError(e,t,n,r,i,a)))}reportAmbiguity(e,t,n,r,i,a,o){this.delegates.map((s=>s.reportAmbiguity(e,t,n,r,i,a,o)))}reportAttemptingFullContext(e,t,n,r,i,a){this.delegates.map((o=>o.reportAttemptingFullContext(e,t,n,r,i,a)))}reportContextSensitivity(e,t,n,r,i,a){this.delegates.map((o=>o.reportContextSensitivity(e,t,n,r,i,a)))}},Wy=class{constructor(){this._listeners=[jye.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(e){let t=`4.13.2`;t!==e&&console.log(`ANTLR runtime and generated code versions disagree: `+t+`!=`+e)}addErrorListener(e){this._listeners.push(e)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){let e=this.getLiteralNames(),t=this.getSymbolicNames(),n=e.length>t.length?e.length:t.length;this.tokenNames=[];for(let r=0;r<n;r++)this.tokenNames[r]=e[r]||t[r]||`<INVALID`}return this.tokenNames}getTokenTypeMap(){let e=this.getTokenNames();if(e===null)throw`The current recognizer does not provide a list of token names.`;let t=this.tokenTypeMapCache[e];return t===void 0&&(t=e.reduce((function(e,t,n){e[t]=n})),t.EOF=uy.EOF,this.tokenTypeMapCache[e]=t),t}getRuleIndexMap(){let e=this.ruleNames;if(e===null)throw`The current recognizer does not provide a list of rule names.`;let t=this.ruleIndexMapCache[e];return t===void 0&&(t=e.reduce((function(e,t,n){e[t]=n})),this.ruleIndexMapCache[e]=t),t}getTokenType(e){let t=this.getTokenTypeMap()[e];return t===void 0?uy.INVALID_TYPE:t}getErrorHeader(e){return`line `+e.getOffendingToken().line+`:`+e.getOffendingToken().column}getTokenErrorDisplay(e){if(e===null)return`<no token>`;let t=e.text;return t===null&&(t=e.type===uy.EOF?`<EOF>`:`<`+e.type+`>`),t=t.replace(`
|
|
66
|
+
`)}},rve=nve,ive=class{static export(e={},t=``,n={}){let r=``,i=typeof n==`boolean`?{isNormalized:n}:n,a=i.isNormalized===!1?e.normalize():e;switch(t){case`dbml`:r=W_e.export(a,i);break;case`mysql`:r=K_e.export(a);break;case`postgres`:r=Z_e.export(a);break;case`json`:r=$_e.export(e,i);break;case`mssql`:r=tve.export(a);break;case`oracle`:r=rve.export(a);break;default:break}return r}},oy=ive,ave=class extends Error{constructor(e,t={start:{line:1,column:1}}){super(e),this.location=t,this.error=`error`}},ove=class{constructor(e){this.token=e}bind(e){this.selection=e}error(e){throw new ave(e,this.token)}},sy=ove,sve=class extends sy{constructor({token:e,name:t,expression:n,table:r,column:i=null,injectedPartial:a=null}={}){super(e),this.name=t,this.expression=n,this.table=r,this.column=i,this.injectedPartial=a,this.dbState=this.table.dbState,this.generateId()}generateId(){this.id=this.dbState.generateId(`checkId`)}export(){return{...this.shallowExport()}}exportParentIds(){return{tableId:this.table.id,columnId:this.column?.id,injectedPartialId:this.injectedPartial?.id}}shallowExport(){return{name:this.name,expression:this.expression}}normalize(e){e.checks[this.id]={id:this.id,...this.shallowExport(),...this.exportParentIds()}}},cve=sve;Yu();var lve=class extends sy{constructor({name:e,type:t,unique:n,pk:r,token:i,not_null:a,note:o,dbdefault:s,increment:c,checks:l=[],table:u={},noteToken:d=null,injectedPartial:f=null,injectedToken:p=null}={}){super(i),e||this.error(`Field must have a name`),t||this.error(`Field must have a type`),this.name=e,this.type=t,this.unique=n,this.pk=r,this.not_null=a,this.note=o?E(o,`value`,o):null,this.noteToken=o?E(o,`token`,d):null,this.dbdefault=s,this.increment=c,this.checks=[],this.endpoints=[],this.table=u,this.injectedPartial=f,this.injectedToken=p,this.dbState=this.table.dbState,this.generateId(),this.bindType(),this.processChecks(l)}generateId(){this.id=this.dbState.generateId(`fieldId`)}bindType(){let e=this.type.type_name,t=this.type.schemaName||`public`;if(this.type.schemaName){let n=this.table.schema.database.findEnum(t,e);if(!n){this.type.type_name=`${t}.${e}`,this.type.originalTypeName=e;return}this._enum=n,n.pushField(this)}else{let n=this.table.schema.database.findEnum(t,e);if(!n)return;this._enum=n,n.pushField(this)}}pushEndpoint(e){this.endpoints.push(e)}export(){return{...this.shallowExport()}}exportParentIds(){return{tableId:this.table.id,enumId:this._enum?this._enum.id:null}}exportChildIds(){return{endpointIds:this.endpoints.map(e=>e.id)}}shallowExport(){return{name:this.name,type:this.type,unique:this.unique,pk:this.pk,not_null:this.not_null,note:this.note,dbdefault:this.dbdefault,increment:this.increment,injectedPartialId:this.injectedPartial?.id??null,checkIds:this.checks.map(e=>e.id)}}normalize(e){e.fields[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.checks.forEach(t=>t.normalize(e))}processChecks(e){e.forEach(e=>{this.checks.push(new cve({...e,table:this.table,column:this}))})}},uve=lve,dve=class extends sy{constructor({type:e,value:t,index:n,token:r}){super(),this.type=e,this.value=t,this.index=n,this.token=r,this.dbState=this.index.dbState,this.generateId()}generateId(){this.id=this.dbState.generateId(`indexColumnId`)}export(){return{...this.shallowExport()}}exportParentIds(){return{indexId:this.index.id}}shallowExport(){return{type:this.type,value:this.value}}normalize(e){e.indexColumns[this.id]={id:this.id,...this.shallowExport(),...this.exportParentIds()}}},fve=dve,pve=class extends sy{constructor({columns:e,type:t,unique:n,pk:r,token:i,name:a,note:o,table:s={},injectedPartial:c=null}={}){super(i),this.name=a,this.type=t,this.unique=n,this.note=o?o.value:null,this.noteToken=o?o.token:null,this.pk=r,this.columns=[],this.table=s,this.injectedPartial=c,this.dbState=this.table.dbState,this.generateId(),this.processIndexColumns(e)}generateId(){this.id=this.dbState.generateId(`indexId`)}processIndexColumns(e){e.forEach(e=>{this.pushIndexColumn(new fve({...e,index:this}))})}pushIndexColumn(e){this.checkIndexColumn(e),this.columns.push(e)}checkIndexColumn(e){this.columns.some(t=>t.type===e.type&&t.value===e.value)&&e.error(`Index column ${e.value} existed`)}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{columns:this.columns.map(e=>e.export())}}exportChildIds(){return{columnIds:this.columns.map(e=>e.id)}}exportParentIds(){return{tableId:this.table.id}}shallowExport(){return{name:this.name,type:this.type,unique:this.unique,pk:this.pk,note:this.note,injectedPartialId:this.injectedPartial?.id}}normalize(e){e.indexes[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.columns.forEach(t=>t.normalize(e))}},mve=pve;Yu();var hve=class extends sy{constructor({name:e,alias:t,note:n,fields:r=[],indexes:i=[],checks:a=[],schema:o={},token:s,headerColor:c,noteToken:l=null,partials:u=[]}={}){super(s),this.name=e,this.alias=t,this.note=n?E(n,`value`,n):null,this.noteToken=n?E(n,`token`,l):null,this.headerColor=c,this.fields=[],this.indexes=[],this.checks=[],this.schema=o,this.partials=u,this.dbState=this.schema.dbState,this.generateId(),this.processFields(r),this.processPartials(),this.checkFieldCount(),this.processIndexes(i),this.processChecks(a)}generateId(){this.id=this.dbState.generateId(`tableId`)}checkFieldCount(){this.fields.length===0&&this.error(`Table must have at least one field`)}processFields(e){e.forEach(e=>{this.pushField(new uve({...e,table:this}))})}pushField(e){this.checkField(e),this.fields.push(e)}checkField(e){this.fields.some(t=>t.name===e.name)&&e.error(`Field "${e.name}" existed in table ${ay(this.schema)?`"${this.schema.name}".`:``}"${this.name}"`)}processIndexes(e){e.forEach(e=>{this.pushIndex(new mve({...e,table:this}))})}pushIndex(e){this.checkIndex(e),this.indexes.push(e)}checkIndex(e){e.columns.forEach(t=>{t.type===`column`&&!this.findField(t.value)&&e.error(`Column "${t.value}" do not exist in table ${ay(this.schema)?`"${this.schema.name}".`:``}"${this.name}"`)})}processChecks(e){e.forEach(e=>{this.pushCheck(new cve({...e,table:this}))})}pushCheck(e){this.checks.push(e)}findField(e){return this.fields.find(t=>t.name===e)}checkSameId(e){return this.schema.checkSameId(e.schemaName||`public`)&&(this.name===e.name||this.alias===e.name||this.name===e.alias||this.alias&&this.alias===e.alias)}processPartials(){if(!this.partials?.length)return;let e=new Set(this.fields.map(e=>e.name)),t=new Set;Ru(this.note)||t.add(`note`),Ru(this.headerColor)||t.add(`headerColor`);let n=this.partials.sort((e,t)=>t.order-e.order);n.toReversed().forEach(e=>{this.fields.splice(e.order,0,`dummy`)}),n.forEach(n=>{let r=this.schema.database.findTablePartial(n.name);if(r||this.error(`Table partial ${n.name} not found`,n.token),n.id=r.id,r.fields){let t=r.fields.filter(t=>!e.has(t.name)).map(t=>(e.add(t.name),t.inline_refs&&t.inline_refs.forEach(e=>{let n={token:t.token,endpoints:[{tableName:this.name,schemaName:this.schema?.name,fieldNames:[t.name],relation:[`-`,`<`].includes(e.relation)?`1`:`*`,token:t.token},{tableName:e.tableName,schemaName:e.schemaName,fieldNames:e.fieldNames,relation:[`-`,`>`].includes(e.relation)?`1`:`*`,token:e.token}],injectedPartial:r};this.schema.database.injectedRawRefs.push(n)}),new uve({...t,noteToken:null,table:this,injectedPartial:r,injectedToken:n.token})));this.fields.splice(n.order,1,...t)}else this.fields.splice(n.order,1);!t.has(`note`)&&!Ru(r.note)&&(this.noteToken=null,this.note=r.note,t.add(`note`)),!t.has(`headerColor`)&&!Ru(r.headerColor)&&(this.headerColor=r.headerColor,t.add(`headerColor`)),r.indexes.forEach(e=>{this.indexes.push(new mve({...e,table:this,injectedPartial:r}))}),r.checks.forEach(e=>{this.checks.push(new cve({...e,name:e.name&&`${this.name}.${e.name}`,table:this,injectedPartial:r}))})})}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{fields:this.fields.map(e=>e.export()),indexes:this.indexes.map(e=>e.export())}}exportChildIds(){return{fieldIds:this.fields.map(e=>e.id),indexIds:this.indexes.map(e=>e.id),checkIds:this.checks.map(e=>e.id)}}exportParentIds(){return{schemaId:this.schema.id,groupId:this.group?this.group.id:null}}shallowExport(){return{name:this.name,alias:this.alias,note:this.note,headerColor:this.headerColor,partials:this.partials}}normalize(e){e.tables[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.fields.forEach(t=>t.normalize(e)),this.indexes.forEach(t=>t.normalize(e)),this.checks.forEach(t=>t.normalize(e))}},gve=hve;Yu();var _ve=class extends sy{constructor({name:e,token:t,note:n,_enum:r,noteToken:i=null}={}){super(t),e||this.error(`Enum value must have a name`),this.name=e,this.note=n?E(n,`value`,n):null,this.noteToken=n?E(n,`token`,i):null,this._enum=r,this.dbState=this._enum.dbState,this.generateId()}generateId(){this.id=this.dbState.generateId(`enumValueId`)}export(){return{...this.shallowExport()}}exportParentIds(){return{enumId:this._enum.id}}shallowExport(){return{name:this.name,note:this.note}}normalize(e){e.enumValues[this.id]={id:this.id,...this.shallowExport(),...this.exportParentIds()}}},vve=_ve;Yu();var yve=class extends sy{constructor({name:e,token:t,values:n,note:r,schema:i,noteToken:a=null}={}){super(t),e||this.error(`Enum must have a name`),this.name=e,this.note=r?E(r,`value`,r):null,this.noteToken=r?E(r,`token`,a):null,this.values=[],this.fields=[],this.schema=i,this.dbState=this.schema.dbState,this.generateId(),this.processValues(n)}generateId(){this.id=this.dbState.generateId(`enumId`)}processValues(e){e.forEach(e=>{this.pushValue(new vve({...e,_enum:this}))})}pushValue(e){this.checkValue(e),this.values.push(e)}checkValue(e){this.values.some(t=>t.name===e.name)&&e.error(`Enum value "${e.name}" existed in enum ${ay(this.schema)?`"${this.schema.name}".`:``}"${this.name}"`)}pushField(e){this.checkField(e),this.fields.push(e)}checkField(e){this.fields.some(t=>t.id===e.id)&&this.error(`Field ${ay(e.table.schema)?`"${e.table.schema.name}".`:``}"${e.table.name}"."${e.name}" already associated with enum ${ay(this.schema)?`"${this.schema.name}".`:``}${this.name}"`)}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{values:this.values.map(e=>e.export())}}exportChildIds(){return{valueIds:this.values.map(e=>e.id),fieldIds:this.fields.map(e=>e.id)}}exportParentIds(){return{schemaId:this.schema.id}}shallowExport(){return{name:this.name,note:this.note}}normalize(e){e.enums[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.values.forEach(t=>t.normalize(e))}},bve=yve;Yu();var xve=class extends sy{constructor({name:e,token:t,tables:n=[],schema:r={},note:i,color:a,noteToken:o=null}){super(t),this.name=e,this.tables=[],this.schema=r,this.dbState=this.schema.dbState,this.note=i?E(i,`value`,i):null,this.noteToken=i?E(i,`token`,o):null,this.color=a,this.generateId(),this.processTables(n)}generateId(){this.id=this.dbState.generateId(`tableGroupId`)}processTables(e){e.forEach(e=>{let t=this.schema.database.findTable(e.schemaName,e.name);t||this.error(`Table ${e.schemaName?`"${e.schemaName}".`:``}${e.name} don't exist`),this.pushTable(t)})}pushTable(e){this.checkTable(e),this.tables.push(e),e.group=this}checkTable(e){this.tables.some(t=>t.id===e.id)&&this.error(`Table ${ay(e.schema)?`"${e.schema.name}".`:``}.${e.name} is already in the group`),e.group&&this.error(`Table ${ay(e.schema)?`"${e.schema.name}".`:``}.${e.name} is already in group ${ay(e.group.schema)?`"${e.group.schema.name}".`:``}${e.group.name}`)}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{tables:this.tables.map(e=>({tableName:e.name,schemaName:e.schema.name}))}}exportChildIds(){return{tableIds:this.tables.map(e=>e.id)}}exportParentIds(){return{schemaId:this.schema.id}}shallowExport(){return{name:this.name,note:this.note,color:this.color}}normalize(e){e.tableGroups[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()}}},Sve=xve,Cve=class extends sy{constructor({tableName:e,schemaName:t,fieldNames:n,relation:r,token:i,ref:a}){super(i),this.relation=r,this.schemaName=t,this.tableName=e,this.fieldNames=n,this.fields=[],this.ref=a,this.dbState=this.ref.dbState,this.generateId();let o=a.schema.database.findOrCreateSchema(t||`public`).database.findTable(t,e);o||this.error(`Can't find table ${q_e(t)?`"${t}".`:``}"${e}"`),this.setFields(n,o)}generateId(){this.id=this.dbState.generateId(`endpointId`)}equals(e){return this.fields.length===e.fields.length?this.compareFields(e):!1}compareFields(e){let t=this.fields.map(e=>e.id).sort(),n=e.fields.map(e=>e.id).sort();for(let e=0;e<t.length;e+=1)if(t[e]!==n[e])return!1;return!0}export(){return{...this.shallowExport()}}exportParentIds(){return{refId:this.ref.id,fieldIds:this.fields.map(e=>e.id)}}shallowExport(){return{schemaName:this.schemaName,tableName:this.tableName,fieldNames:this.fieldNames,relation:this.relation}}setFields(e,t){let n=e&&e.length?[...e]:[];if(!n.length){let e=t.fields.find(e=>e.pk);if(e)n.push(e.name);else{let e=t.indexes.find(e=>e.pk);e?n=e.columns.map(e=>e.value):this.error(`Can't find primary or composite key in table ${ay(t.schema)?`"${t.schema.name}".`:``}"${t.name}"`)}}n.forEach(e=>{let n=t.findField(e);n||this.error(`Can't find field ${ay(t.schema)?`"${t.schema.name}".`:``}"${e}" in table "${t.name}"`),this.fields.push(n),n.pushEndpoint(this)})}normalize(e){e.endpoints[this.id]={id:this.id,...this.shallowExport(),...this.exportParentIds()}}},wve=Cve;function Tve(e,t){return e[0].equals(t[0])&&e[1].equals(t[1])}var Eve=class extends sy{constructor({name:e,color:t,endpoints:n,onDelete:r,onUpdate:i,token:a,schema:o={},injectedPartial:s=null}={}){super(a),this.name=e,this.color=t,this.onDelete=r,this.onUpdate=i,this.endpoints=[],this.schema=o,this.injectedPartial=s,this.dbState=this.schema.dbState,this.generateId(),this.processEndpoints(n)}generateId(){this.id=this.dbState.generateId(`refId`)}processEndpoints(e){e.forEach(e=>{this.endpoints.push(new wve({...e,ref:this})),e.schemaName}),this.endpoints[0].equals(this.endpoints[1])&&this.error(`Two endpoints are the same`),this.endpoints[0].fields.length!==this.endpoints[1].fields.length&&this.error(`Two endpoints have unequal number of fields`)}equals(e){return Tve(this.endpoints,e.endpoints)||Tve(this.endpoints,e.endpoints.slice().reverse())}export(){return{...this.shallowExport(),...this.exportChild()}}shallowExport(){return{name:this.name,color:this.color,onDelete:this.onDelete,onUpdate:this.onUpdate,injectedPartialId:this.injectedPartial?.id}}exportChild(){return{endpoints:this.endpoints.map(e=>e.export())}}exportChildIds(){return{endpointIds:this.endpoints.map(e=>e.id)}}exportParentIds(){return{schemaId:this.schema.id}}normalize(e){e.refs[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.endpoints.forEach(t=>t.normalize(e))}},Dve=Eve;Yu();var Ove=class extends sy{constructor({name:e,alias:t,note:n,tables:r=[],refs:i=[],enums:a=[],tableGroups:o=[],token:s,database:c={},noteToken:l=null}={}){super(s),this.tables=[],this.enums=[],this.tableGroups=[],this.refs=[],this.name=e,this.note=n?E(n,`value`,n):null,this.noteToken=n?E(n,`token`,l):null,this.alias=t,this.database=c,this.dbState=this.database.dbState,this.generateId(),this.processEnums(a),this.processTables(r),this.processRefs(i),this.processTableGroups(o)}generateId(){this.id=this.dbState.generateId(`schemaId`)}processTables(e){e.forEach(e=>{this.pushTable(new gve({...e,schema:this}))})}pushTable(e){this.checkTable(e),this.tables.push(e)}checkTable(e){this.tables.some(t=>t.name===e.name)&&e.error(`Table ${ay(this)?`"${this.name}".`:``}"${e.name}" existed`)}findTable(e){return this.tables.find(t=>t.name===e)}processEnums(e){e.forEach(e=>{this.pushEnum(new bve({...e,schema:this}))})}pushEnum(e){this.checkEnum(e),this.enums.push(e)}checkEnum(e){this.enums.some(t=>t.name===e.name)&&e.error(`Enum ${ay(this)?`"${this.name}".`:``}"${e.name}" existed`)}processRefs(e){e.forEach(e=>{this.pushRef(new Dve({...e,schema:this}))})}pushRef(e){this.checkRef(e),this.refs.push(e)}checkRef(e){if(this.refs.some(t=>t.equals(e))){let t=e.endpoints[0],n=t.fieldNames.map(JSON.stringify).join(`, `),r=e.endpoints[1],i=r.fieldNames.map(JSON.stringify).join(`, `),a=`"${t.schemaName?`${t.schemaName}"."`:``}${t.tableName}"(${n})`,o=`"${r.schemaName?`${r.schemaName}"."`:``}${r.tableName}"(${i})`;e.error(`Reference with the same endpoints already exists: ${a} references ${o}`)}}processTableGroups(e){e.forEach(e=>{this.pushTableGroup(new Sve({...e,schema:this}))})}pushTableGroup(e){this.checkTableGroup(e),this.tableGroups.push(e)}checkTableGroup(e){this.tableGroups.some(t=>t.name===e.name)&&e.error(`Table Group ${ay(this)?`"${this.name}".`:``}"${e.name}" existed`)}checkSameId(e){return this.name===e.name||this.alias===e.name||this.name===e.alias||this.alias&&this.alias===e.alias}export(){return{...this.shallowExport(),...this.exportChild()}}exportChild(){return{tables:this.tables.map(e=>e.export()),enums:this.enums.map(e=>e.export()),tableGroups:this.tableGroups.map(e=>e.export()),refs:this.refs.map(e=>e.export())}}exportChildIds(){return{tableIds:this.tables.map(e=>e.id),enumIds:this.enums.map(e=>e.id),tableGroupIds:this.tableGroups.map(e=>e.id),refIds:this.refs.map(e=>e.id)}}exportParentIds(){return{databaseId:this.database.id}}shallowExport(){return{name:this.name,note:this.note,alias:this.alias}}normalize(e){e.schemas[this.id]={id:this.id,...this.shallowExport(),...this.exportChildIds(),...this.exportParentIds()},this.tables.forEach(t=>t.normalize(e)),this.enums.forEach(t=>t.normalize(e)),this.tableGroups.forEach(t=>t.normalize(e)),this.refs.forEach(t=>t.normalize(e))}},kve=Ove,Ave=class extends sy{constructor({name:e,content:t,headerColor:n,token:r,database:i={}}={}){super(r),this.name=e,this.content=t,this.headerColor=n,this.database=i,this.dbState=this.database.dbState,this.generateId()}generateId(){this.id=this.dbState.generateId(`noteId`)}export(){return{name:this.name,content:this.content,headerColor:this.headerColor}}normalize(e){e.notes[this.id]={id:this.id,...this.export()}}},jve=Ave,Mve=class{constructor(){this.dbId=1,this.schemaId=1,this.enumId=1,this.tableGroupId=1,this.refId=1,this.tableId=1,this.noteId=1,this.enumValueId=1,this.endpointId=1,this.indexId=1,this.checkId=1,this.fieldId=1,this.indexColumnId=1,this.recordId=1,this.tablePartialId=1}generateId(e){let t=this[e];return this[e]+=1,t}};Yu();var Nve=class extends sy{constructor({name:e,note:t,fields:n=[],indexes:r=[],checks:i=[],token:a,headerColor:o,noteToken:s=null,dbState:c}={}){super(a),this.name=e,this.note=t?E(t,`value`,t):null,this.noteToken=t?E(t,`token`,s):null,this.headerColor=o,this.fields=n,this.indexes=r,this.checks=i,this.dbState=c,this.generateId()}generateId(){this.id=this.dbState.generateId(`tablePartialId`)}export(){return{...this.shallowExport()}}shallowExport(){return{name:this.name,note:this.note,headerColor:this.headerColor,fields:this.fields,indexes:this.indexes}}normalize(e){e.tablePartials[this.id]={id:this.id,...this.shallowExport()}}},Pve=Nve;Yu();var Fve=class extends sy{constructor({schemas:e=[],tables:t=[],notes:n=[],enums:r=[],refs:i=[],tableGroups:a=[],project:o={},aliases:s=[],records:c=[],tablePartials:l=[]}){super(),this.dbState=new Mve,this.generateId(),this.hasDefaultSchema=!1,this.schemas=[],this.notes=[],this.note=o.note?E(o,`note.value`,o.note):null,this.noteToken=o.note?E(o,`note.token`,o.noteToken):null,this.databaseType=o.database_type,this.name=o.name,this.token=o.token,this.aliases=s,this.records=[],this.tablePartials=[],this.injectedRawRefs=[],this.processNotes(n),this.processRecords(c),this.processTablePartials(l),this.processSchemas(e),this.processSchemaElements(r,Bpe),this.processSchemaElements(t,Rpe),this.processSchemaElements(n,`note`),this.processSchemaElements(i,`ref`),this.processSchemaElements(a,Hpe),this.injectedRawRefs.forEach(e=>{let t=this.findOrCreateSchema(M_),n=new Dve({...e,schema:t});t.refs.some(e=>e.equals(n))||t.pushRef(n)})}generateId(){this.id=this.dbState.generateId(`dbId`)}processNotes(e){e.forEach(e=>{this.pushNote(new jve({...e,database:this}))})}processRecords(e){e.forEach(({schemaName:e,tableName:t,columns:n,values:r})=>{this.records.push({id:this.dbState.generateId(`recordId`),schemaName:e,tableName:t,columns:n,values:r})})}processTablePartials(e){e.forEach(e=>{this.tablePartials.push(new Pve({...e,dbState:this.dbState}))})}pushNote(e){this.checkNote(e),this.notes.push(e)}checkNote(e){this.notes.some(t=>t.name===e.name)&&e.error(`Notes ${e.name} existed`)}processSchemas(e){e.forEach(e=>{this.pushSchema(new kve({...e,database:this}))})}pushSchema(e){this.checkSchema(e),this.schemas.push(e)}checkSchema(e){this.schemas.some(t=>t.name===e.name)&&e.error(`Schemas ${e.name} existed`)}processSchemaElements(e,t){let n;e.forEach(e=>{switch(e.schemaName?(n=this.findOrCreateSchema(e.schemaName),e.schemaName):n=this.findOrCreateSchema(M_),t){case Rpe:n.pushTable(new gve({...e,schema:n}));break;case Bpe:n.pushEnum(new bve({...e,schema:n}));break;case Hpe:n.pushTableGroup(new Sve({...e,schema:n}));break;case`ref`:n.pushRef(new Dve({...e,schema:n}));break;default:break}})}findOrCreateSchema(e){let t=this.schemas.find(t=>t.name===e||t.alias===e);return t||(t=new kve({name:e,note:{value:e===`public`?`Default ${Zo(M_)} Schema`:null},database:this}),this.pushSchema(t)),t}findTableAlias(e){let t=this.aliases.find(t=>t.name===e);if(!t||t.kind!==`table`)return null;let n=t.value.schemaName||`public`,r=this.schemas.find(e=>e.name===n);if(!r)return null;let{tableName:i}=t.value;return r.tables.find(e=>e.name===i)}findTable(e,t){let n=null;if(!e&&(n=this.findTableAlias(t),n))return n;let r=this.findOrCreateSchema(e||`public`);return r||this.error(`Schema ${e||`public`} don't exist`),r.findTable(t)}findEnum(e,t){let n=this.schemas.find(t=>t.name===e||t.alias===e);return n?n.enums.find(e=>e.name===t):null}findTablePartial(e){return this.tablePartials.find(t=>t.name===e)}export(){return{...this.exportChild()}}shallowExport(){return{hasDefaultSchema:this.hasDefaultSchema,note:this.note,databaseType:this.databaseType,name:this.name}}exportChild(){return{schemas:this.schemas.map(e=>e.export()),notes:this.notes.map(e=>e.export()),records:this.records.map(e=>({...e}))}}exportChildIds(){return{schemaIds:this.schemas.map(e=>e.id),noteIds:this.notes.map(e=>e.id)}}normalize(){let e={database:{[this.id]:{id:this.id,...this.shallowExport(),...this.exportChildIds()}},schemas:{},notes:{},refs:{},enums:{},tableGroups:{},tables:{},endpoints:{},enumValues:{},indexes:{},indexColumns:{},checks:{},fields:{},records:{},tablePartials:{}};return this.schemas.forEach(t=>t.normalize(e)),this.notes.forEach(t=>t.normalize(e)),this.records.forEach(t=>{e.records[t.id]={...t}}),this.tablePartials.forEach(t=>t.normalize(e)),e}},Ive=Fve,Lve={763:()=>{}},Rve={};function cy(e){var t=Rve[e];if(t!==void 0)return t.exports;var n=Rve[e]={exports:{}};return Lve[e](n,n.exports,cy),n.exports}cy.d=(e,t)=>{for(var n in t)cy.o(t,n)&&!cy.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},cy.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var ly={};cy.d(ly,{MG:()=>Py,fr:()=>Aye,sR:()=>lbe,Zo:()=>ab,iH:()=>hbe,rt:()=>Gy,jB:()=>ybe,M8:()=>Zye,$t:()=>ib,aq:()=>obe,pG:()=>Uy,eP:()=>ibe,KU:()=>rb,zW:()=>dbe,IX:()=>_y,mY:()=>vy,a7:()=>Ny,JG:()=>qy,ay:()=>Qy,X2:()=>tb,WU:()=>tbe,Uw:()=>nbe,gw:()=>nb,iX:()=>xbe,re:()=>Kye,Pg:()=>wbe,tD:()=>qye,R$:()=>eb,Dj:()=>Ky,m7:()=>Dy,NZ:()=>Cy,xo:()=>wy,ou:()=>uy,qC:()=>Tbe,mD:()=>py,Ay:()=>Obe});var uy=class{constructor(){this.source=null,this.type=null,this.channel=null,this.start=null,this.stop=null,this.tokenIndex=null,this.line=null,this.column=null,this._text=null}getTokenSource(){return this.source[0]}getInputStream(){return this.source[1]}get text(){return this._text}set text(e){this._text=e}};function dy(e,t){if(!Array.isArray(e)||!Array.isArray(t))return!1;if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!(e[n]===t[n]||e[n].equals&&e[n].equals(t[n])))return!1;return!0}uy.INVALID_TYPE=0,uy.EPSILON=-2,uy.MIN_USER_TOKEN_TYPE=1,uy.EOF=-1,uy.DEFAULT_CHANNEL=0,uy.HIDDEN_CHANNEL=1;var zve=Math.round(Math.random()*2**32);function Bve(e){if(!e)return 0;let t=typeof e,n=t===`string`?e:!(t!==`object`||!e.toString)&&e.toString();if(!n)return 0;let r,i,a=3&n.length,o=n.length-a,s=zve,c=3432918353,l=461845907,u=0;for(;u<o;)i=255&n.charCodeAt(u)|(255&n.charCodeAt(++u))<<8|(255&n.charCodeAt(++u))<<16|(255&n.charCodeAt(++u))<<24,++u,i=(65535&i)*c+(((i>>>16)*c&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(65535&i)*l+(((i>>>16)*l&65535)<<16)&4294967295,s^=i,s=s<<13|s>>>19,r=5*(65535&s)+((5*(s>>>16)&65535)<<16)&4294967295,s=27492+(65535&r)+((58964+(r>>>16)&65535)<<16);switch(i=0,a){case 3:i^=(255&n.charCodeAt(u+2))<<16;case 2:i^=(255&n.charCodeAt(u+1))<<8;case 1:i^=255&n.charCodeAt(u),i=(65535&i)*c+(((i>>>16)*c&65535)<<16)&4294967295,i=i<<15|i>>>17,i=(65535&i)*l+(((i>>>16)*l&65535)<<16)&4294967295,s^=i}return s^=n.length,s^=s>>>16,s=2246822507*(65535&s)+((2246822507*(s>>>16)&65535)<<16)&4294967295,s^=s>>>13,s=3266489909*(65535&s)+((3266489909*(s>>>16)&65535)<<16)&4294967295,s^=s>>>16,s>>>0}var fy=class e{constructor(){this.count=0,this.hash=0}update(){for(let e=0;e<arguments.length;e++){let t=arguments[e];if(t!=null)if(Array.isArray(t))this.update.apply(this,t);else{let e=0;switch(typeof t){case`undefined`:case`function`:continue;case`number`:case`boolean`:e=t;break;case`string`:e=Bve(t);break;default:t.updateHashCode?t.updateHashCode(this):console.log(`No updateHashCode for `+t.toString());continue}e*=3432918353,e=e<<15|e>>>17,e*=461845907,this.count+=1;let n=this.hash^e;n=n<<13|n>>>19,n=5*n+3864292196,this.hash=n}}}finish(){let e=this.hash^4*this.count;return e^=e>>>16,e*=2246822507,e^=e>>>13,e*=3266489909,e^=e>>>16,e}static hashStuff(){let t=new e;return t.update.apply(t,arguments),t.finish()}};function Vve(e){return e?typeof e==`string`?Bve(e):e.hashCode():-1}function Hve(e,t){return e&&e.equals?e.equals(t):e===t}function Uve(e){return e===null?`null`:e}function py(e){return Array.isArray(e)?`[`+e.map(Uve).join(`, `)+`]`:`null`}var my=class{constructor(e,t){this.buckets=Array(16),this.threshold=12,this.itemCount=0,this.hashFunction=e||Vve,this.equalsFunction=t||Hve}get(e){if(e==null)return e;let t=this._getBucket(e);if(!t)return null;for(let n of t)if(this.equalsFunction(n,e))return n;return null}add(e){return this.getOrAdd(e)===e}getOrAdd(e){this._expand();let t=this._getSlot(e),n=this.buckets[t];if(!n)return n=[e],this.buckets[t]=n,this.itemCount++,e;for(let t of n)if(this.equalsFunction(t,e))return t;return n.push(e),this.itemCount++,e}has(e){return this.get(e)!=null}values(){return this.buckets.filter((e=>e!=null)).flat(1)}toString(){return py(this.values())}get length(){return this.itemCount}_getSlot(e){return this.hashFunction(e)&this.buckets.length-1}_getBucket(e){return this.buckets[this._getSlot(e)]}_expand(){if(this.itemCount<=this.threshold)return;let e=this.buckets,t=2*this.buckets.length;this.buckets=Array(t),this.threshold=Math.floor(.75*t);for(let t of e)if(t)for(let e of t){let t=this._getSlot(e),n=this.buckets[t];n||(n=[],this.buckets[t]=n),n.push(e)}}},hy=class e{hashCode(){let e=new fy;return this.updateHashCode(e),e.finish()}evaluate(e,t){}evalPrecedence(e,t){return this}static andContext(t,n){if(t===null||t===e.NONE)return n;if(n===null||n===e.NONE)return t;let r=new Wve(t,n);return r.opnds.length===1?r.opnds[0]:r}static orContext(t,n){if(t===null)return n;if(n===null)return t;if(t===e.NONE||n===e.NONE)return e.NONE;let r=new Gve(t,n);return r.opnds.length===1?r.opnds[0]:r}},Wve=class e extends hy{constructor(t,n){super();let r=new my;t instanceof e?t.opnds.map((function(e){r.add(e)})):r.add(t),n instanceof e?n.opnds.map((function(e){r.add(e)})):r.add(n);let i=Kve(r);if(i.length>0){let e=null;i.map((function(t){(e===null||t.precedence<e.precedence)&&(e=t)})),r.add(e)}this.opnds=Array.from(r.values())}equals(t){return this===t||t instanceof e&&dy(this.opnds,t.opnds)}updateHashCode(e){e.update(this.opnds,`AND`)}evaluate(e,t){for(let n=0;n<this.opnds.length;n++)if(!this.opnds[n].evaluate(e,t))return!1;return!0}evalPrecedence(e,t){let n=!1,r=[];for(let i=0;i<this.opnds.length;i++){let a=this.opnds[i],o=a.evalPrecedence(e,t);if(n|=o!==a,o===null)return null;o!==hy.NONE&&r.push(o)}if(!n)return this;if(r.length===0)return hy.NONE;let i=null;return r.map((function(e){i=i===null?e:hy.andContext(i,e)})),i}toString(){let e=this.opnds.map((e=>e.toString()));return(e.length>3?e.slice(3):e).join(`&&`)}},Gve=class e extends hy{constructor(t,n){super();let r=new my;t instanceof e?t.opnds.map((function(e){r.add(e)})):r.add(t),n instanceof e?n.opnds.map((function(e){r.add(e)})):r.add(n);let i=Kve(r);if(i.length>0){let e=i.sort((function(e,t){return e.compareTo(t)})),t=e[e.length-1];r.add(t)}this.opnds=Array.from(r.values())}equals(t){return this===t||t instanceof e&&dy(this.opnds,t.opnds)}updateHashCode(e){e.update(this.opnds,`OR`)}evaluate(e,t){for(let n=0;n<this.opnds.length;n++)if(this.opnds[n].evaluate(e,t))return!0;return!1}evalPrecedence(e,t){let n=!1,r=[];for(let i=0;i<this.opnds.length;i++){let a=this.opnds[i],o=a.evalPrecedence(e,t);if(n|=o!==a,o===hy.NONE)return hy.NONE;o!==null&&r.push(o)}return n?(r.length===0||r.map((function(e){return e})),null):this}toString(){let e=this.opnds.map((e=>e.toString()));return(e.length>3?e.slice(3):e).join(`||`)}};function Kve(e){let t=[];return e.values().map((function(e){e instanceof hy.PrecedencePredicate&&t.push(e)})),t}function qve(e,t){if(e===null){let e={state:null,alt:null,context:null,semanticContext:null};return t&&(e.reachesIntoOuterContext=0),e}{let n={};return n.state=e.state||null,n.alt=e.alt===void 0?null:e.alt,n.context=e.context||null,n.semanticContext=e.semanticContext||null,t&&(n.reachesIntoOuterContext=e.reachesIntoOuterContext||0,n.precedenceFilterSuppressed=e.precedenceFilterSuppressed||!1),n}}var gy=class e{constructor(e,t){this.checkContext(e,t),e=qve(e),t=qve(t,!0),this.state=e.state===null?t.state:e.state,this.alt=e.alt===null?t.alt:e.alt,this.context=e.context===null?t.context:e.context,this.semanticContext=e.semanticContext===null?t.semanticContext===null?hy.NONE:t.semanticContext:e.semanticContext,this.reachesIntoOuterContext=t.reachesIntoOuterContext,this.precedenceFilterSuppressed=t.precedenceFilterSuppressed}checkContext(e,t){e.context!==null&&e.context!==void 0||t!==null&&t.context!==null&&t.context!==void 0||(this.context=null)}hashCode(){let e=new fy;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext)}equals(t){return this===t||t instanceof e&&this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&(this.context===null?t.context===null:this.context.equals(t.context))&&this.semanticContext.equals(t.semanticContext)&&this.precedenceFilterSuppressed===t.precedenceFilterSuppressed}hashCodeForConfigSet(){let e=new fy;return e.update(this.state.stateNumber,this.alt,this.semanticContext),e.finish()}equalsForConfigSet(t){return this===t||t instanceof e&&this.state.stateNumber===t.state.stateNumber&&this.alt===t.alt&&this.semanticContext.equals(t.semanticContext)}toString(){return`(`+this.state+`,`+this.alt+(this.context===null?``:`,[`+this.context.toString()+`]`)+(this.semanticContext===hy.NONE?``:`,`+this.semanticContext.toString())+(this.reachesIntoOuterContext>0?`,up=`+this.reachesIntoOuterContext:``)+`)`}},_y=class e{constructor(e,t){this.start=e,this.stop=t}clone(){return new e(this.start,this.stop)}contains(e){return e>=this.start&&e<this.stop}toString(){return this.start===this.stop-1?this.start.toString():this.start.toString()+`..`+(this.stop-1).toString()}get length(){return this.stop-this.start}};_y.INVALID_INTERVAL=new _y(-1,-2);var vy=class e{constructor(){this.intervals=null,this.readOnly=!1}first(e){return this.intervals===null||this.intervals.length===0?uy.INVALID_TYPE:this.intervals[0].start}addOne(e){this.addInterval(new _y(e,e+1))}addRange(e,t){this.addInterval(new _y(e,t+1))}addInterval(e){if(this.intervals===null)this.intervals=[],this.intervals.push(e.clone());else{for(let t=0;t<this.intervals.length;t++){let n=this.intervals[t];if(e.stop<n.start)return void this.intervals.splice(t,0,e);if(e.stop===n.start)return void(this.intervals[t]=new _y(e.start,n.stop));if(e.start<=n.stop)return this.intervals[t]=new _y(Math.min(n.start,e.start),Math.max(n.stop,e.stop)),void this.reduce(t)}this.intervals.push(e.clone())}}addSet(e){return e.intervals!==null&&e.intervals.forEach((e=>this.addInterval(e)),this),this}reduce(e){if(e<this.intervals.length-1){let t=this.intervals[e],n=this.intervals[e+1];t.stop>=n.stop?(this.intervals.splice(e+1,1),this.reduce(e)):t.stop>=n.start&&(this.intervals[e]=new _y(t.start,n.stop),this.intervals.splice(e+1,1))}}complement(t,n){let r=new e;return r.addInterval(new _y(t,n+1)),this.intervals!==null&&this.intervals.forEach((e=>r.removeRange(e))),r}contains(e){if(this.intervals===null)return!1;for(let t=0;t<this.intervals.length;t++)if(this.intervals[t].contains(e))return!0;return!1}removeRange(e){if(e.start===e.stop-1)this.removeOne(e.start);else if(this.intervals!==null){let t=0;for(let n=0;n<this.intervals.length;n++){let n=this.intervals[t];if(e.stop<=n.start)return;if(e.start>n.start&&e.stop<n.stop){this.intervals[t]=new _y(n.start,e.start);let r=new _y(e.stop,n.stop);this.intervals.splice(t,0,r);return}e.start<=n.start&&e.stop>=n.stop?(this.intervals.splice(t,1),--t):e.start<n.stop?this.intervals[t]=new _y(n.start,e.start):e.stop<n.stop&&(this.intervals[t]=new _y(e.stop,n.stop)),t+=1}}}removeOne(e){if(this.intervals!==null)for(let t=0;t<this.intervals.length;t++){let n=this.intervals[t];if(e<n.start)return;if(e===n.start&&e===n.stop-1)return void this.intervals.splice(t,1);if(e===n.start)return void(this.intervals[t]=new _y(n.start+1,n.stop));if(e===n.stop-1)return void(this.intervals[t]=new _y(n.start,n.stop-1));if(e<n.stop-1){let r=new _y(n.start,e);n.start=e+1,this.intervals.splice(t,0,r);return}}}toString(e,t,n){return e||=null,t||=null,n||=!1,this.intervals===null?`{}`:e!==null||t!==null?this.toTokenString(e,t):n?this.toCharString():this.toIndexString()}toCharString(){let e=[];for(let t=0;t<this.intervals.length;t++){let n=this.intervals[t];n.stop===n.start+1?n.start===uy.EOF?e.push(`<EOF>`):e.push(`'`+String.fromCharCode(n.start)+`'`):e.push(`'`+String.fromCharCode(n.start)+`'..'`+String.fromCharCode(n.stop-1)+`'`)}return e.length>1?`{`+e.join(`, `)+`}`:e[0]}toIndexString(){let e=[];for(let t=0;t<this.intervals.length;t++){let n=this.intervals[t];n.stop===n.start+1?n.start===uy.EOF?e.push(`<EOF>`):e.push(n.start.toString()):e.push(n.start.toString()+`..`+(n.stop-1).toString())}return e.length>1?`{`+e.join(`, `)+`}`:e[0]}toTokenString(e,t){let n=[];for(let r=0;r<this.intervals.length;r++){let i=this.intervals[r];for(let r=i.start;r<i.stop;r++)n.push(this.elementName(e,t,r))}return n.length>1?`{`+n.join(`, `)+`}`:n[0]}elementName(e,t,n){return n===uy.EOF?`<EOF>`:n===uy.EPSILON?`<EPSILON>`:e[n]||t[n]}get length(){return this.intervals.map((e=>e.length)).reduce(((e,t)=>e+t))}},yy=class e{constructor(){this.atn=null,this.stateNumber=e.INVALID_STATE_NUMBER,this.stateType=null,this.ruleIndex=0,this.epsilonOnlyTransitions=!1,this.transitions=[],this.nextTokenWithinRule=null}toString(){return this.stateNumber}equals(t){return t instanceof e&&this.stateNumber===t.stateNumber}isNonGreedyExitState(){return!1}addTransition(e,t){t===void 0&&(t=-1),this.transitions.length===0?this.epsilonOnlyTransitions=e.isEpsilon:this.epsilonOnlyTransitions!==e.isEpsilon&&(this.epsilonOnlyTransitions=!1),t===-1?this.transitions.push(e):this.transitions.splice(t,1,e)}};yy.INVALID_TYPE=0,yy.BASIC=1,yy.RULE_START=2,yy.BLOCK_START=3,yy.PLUS_BLOCK_START=4,yy.STAR_BLOCK_START=5,yy.TOKEN_START=6,yy.RULE_STOP=7,yy.BLOCK_END=8,yy.STAR_LOOP_BACK=9,yy.STAR_LOOP_ENTRY=10,yy.PLUS_LOOP_BACK=11,yy.LOOP_END=12,yy.serializationNames=[`INVALID`,`BASIC`,`RULE_START`,`BLOCK_START`,`PLUS_BLOCK_START`,`STAR_BLOCK_START`,`TOKEN_START`,`RULE_STOP`,`BLOCK_END`,`STAR_LOOP_BACK`,`STAR_LOOP_ENTRY`,`PLUS_LOOP_BACK`,`LOOP_END`],yy.INVALID_STATE_NUMBER=-1;var by=class extends yy{constructor(){return super(),this.stateType=yy.RULE_STOP,this}},xy=class{constructor(e){if(e==null)throw`target cannot be null.`;this.target=e,this.isEpsilon=!1,this.label=null}};xy.EPSILON=1,xy.RANGE=2,xy.RULE=3,xy.PREDICATE=4,xy.ATOM=5,xy.ACTION=6,xy.SET=7,xy.NOT_SET=8,xy.WILDCARD=9,xy.PRECEDENCE=10,xy.serializationNames=[`INVALID`,`EPSILON`,`RANGE`,`RULE`,`PREDICATE`,`ATOM`,`ACTION`,`SET`,`NOT_SET`,`WILDCARD`,`PRECEDENCE`],xy.serializationTypes={EpsilonTransition:xy.EPSILON,RangeTransition:xy.RANGE,RuleTransition:xy.RULE,PredicateTransition:xy.PREDICATE,AtomTransition:xy.ATOM,ActionTransition:xy.ACTION,SetTransition:xy.SET,NotSetTransition:xy.NOT_SET,WildcardTransition:xy.WILDCARD,PrecedencePredicateTransition:xy.PRECEDENCE};var Sy=class extends xy{constructor(e,t,n,r){super(e),this.ruleIndex=t,this.precedence=n,this.followState=r,this.serializationType=xy.RULE,this.isEpsilon=!0}matches(e,t,n){return!1}},Jve=class extends xy{constructor(e,t){super(e),this.serializationType=xy.SET,t==null?(this.label=new vy,this.label.addOne(uy.INVALID_TYPE)):this.label=t}matches(e,t,n){return this.label.contains(e)}toString(){return this.label.toString()}},Yve=class extends Jve{constructor(e,t){super(e,t),this.serializationType=xy.NOT_SET}matches(e,t,n){return e>=t&&e<=n&&!super.matches(e,t,n)}toString(){return`~`+super.toString()}},Xve=class extends xy{constructor(e){super(e),this.serializationType=xy.WILDCARD}matches(e,t,n){return e>=t&&e<=n}toString(){return`.`}},Zve=class extends xy{constructor(e){super(e)}},Qve=class{},$ve=class extends Qve{},eye=class extends $ve{},Cy=class extends eye{get ruleContext(){throw Error(`missing interface implementation`)}},wy=class extends eye{},Ty=class extends wy{},Ey={toStringTree:function(e,t,n){t||=null,(n||=null)!==null&&(t=n.ruleNames);let r=Ey.getNodeText(e,t);r=function(e){return e=e.replace(/\t/g,`\\t`).replace(/\n/g,`\\n`).replace(/\r/g,`\\r`)}(r);let i=e.getChildCount();if(i===0)return r;let a=`(`+r+` `;i>0&&(r=Ey.toStringTree(e.getChild(0),t),a=a.concat(r));for(let n=1;n<i;n++)r=Ey.toStringTree(e.getChild(n),t),a=a.concat(` `+r);return a=a.concat(`)`),a},getNodeText:function(e,t,n){if(t||=null,(n||=null)!==null&&(t=n.ruleNames),t!==null){if(e instanceof Cy){let n=e.ruleContext.getAltNumber();return n==0?t[e.ruleIndex]:t[e.ruleIndex]+`:`+n}if(e instanceof Ty)return e.toString();if(e instanceof wy&&e.symbol!==null)return e.symbol.text}let r=e.getPayload();return r instanceof uy?r.text:e.getPayload().toString()},getChildren:function(e){let t=[];for(let n=0;n<e.getChildCount();n++)t.push(e.getChild(n));return t},getAncestors:function(e){let t=[];for(e=e.getParent();e!==null;)t=[e].concat(t),e=e.getParent();return t},findAllTokenNodes:function(e,t){return Ey.findAllNodes(e,t,!0)},findAllRuleNodes:function(e,t){return Ey.findAllNodes(e,t,!1)},findAllNodes:function(e,t,n){let r=[];return Ey._findAllNodes(e,t,n,r),r},_findAllNodes:function(e,t,n,r){n&&e instanceof wy?e.symbol.type===t&&r.push(e):!n&&e instanceof Cy&&e.ruleIndex===t&&r.push(e);for(let i=0;i<e.getChildCount();i++)Ey._findAllNodes(e.getChild(i),t,n,r)},descendants:function(e){let t=[e];for(let n=0;n<e.getChildCount();n++)t=t.concat(Ey.descendants(e.getChild(n)));return t}},tye=Ey,Dy=class extends Cy{constructor(e,t){super(),this.parentCtx=e||null,this.invokingState=t||-1}depth(){let e=0,t=this;for(;t!==null;)t=t.parentCtx,e+=1;return e}isEmpty(){return this.invokingState===-1}getSourceInterval(){return _y.INVALID_INTERVAL}get ruleContext(){return this}getPayload(){return this}getText(){return this.getChildCount()===0?``:this.children.map((function(e){return e.getText()})).join(``)}getAltNumber(){return 0}setAltNumber(e){}getChild(e){return null}getChildCount(){return 0}accept(e){return e.visitChildren(this)}toStringTree(e,t){return tye.toStringTree(this,e,t)}toString(e,t){e||=null,t||=null;let n=this,r=`[`;for(;n!==null&&n!==t;){if(e===null)n.isEmpty()||(r+=n.invokingState);else{let t=n.ruleIndex;r+=t>=0&&t<e.length?e[t]:``+t}n.parentCtx===null||e===null&&n.parentCtx.isEmpty()||(r+=` `),n=n.parentCtx}return r+=`]`,r}},Oy=class e{constructor(e){this.cachedHashCode=e}isEmpty(){return this===e.EMPTY}hasEmptyPath(){return this.getReturnState(this.length-1)===e.EMPTY_RETURN_STATE}hashCode(){return this.cachedHashCode}updateHashCode(e){e.update(this.cachedHashCode)}};Oy.EMPTY=null,Oy.EMPTY_RETURN_STATE=2147483647,Oy.globalNodeCount=1,Oy.id=Oy.globalNodeCount,Oy.trace_atn_sim=!1;var ky=class e extends Oy{constructor(e,t){let n=new fy;return n.update(e,t),super(n.finish()),this.parents=e,this.returnStates=t,this}isEmpty(){return this.returnStates[0]===Oy.EMPTY_RETURN_STATE}getParent(e){return this.parents[e]}getReturnState(e){return this.returnStates[e]}equals(t){return this===t||t instanceof e&&this.hashCode()===t.hashCode()&&dy(this.returnStates,t.returnStates)&&dy(this.parents,t.parents)}toString(){if(this.isEmpty())return`[]`;{let e=`[`;for(let t=0;t<this.returnStates.length;t++)t>0&&(e+=`, `),this.returnStates[t]===Oy.EMPTY_RETURN_STATE?e+=`$`:(e+=this.returnStates[t],this.parents[t]===null?e+=`null`:e=e+` `+this.parents[t]);return e+`]`}}get length(){return this.returnStates.length}},Ay=class e extends Oy{constructor(e,t){let n=0,r=new fy;e===null?r.update(1):r.update(e,t),n=r.finish(),super(n),this.parentCtx=e,this.returnState=t}getParent(e){return this.parentCtx}getReturnState(e){return this.returnState}equals(t){return this===t||t instanceof e&&this.hashCode()===t.hashCode()&&this.returnState===t.returnState&&(this.parentCtx==null?t.parentCtx==null:this.parentCtx.equals(t.parentCtx))}toString(){let e=this.parentCtx===null?``:this.parentCtx.toString();return e.length===0?this.returnState===Oy.EMPTY_RETURN_STATE?`$`:``+this.returnState:this.returnState+` `+e}get length(){return 1}static create(t,n){return n===Oy.EMPTY_RETURN_STATE&&t===null?Oy.EMPTY:new e(t,n)}},nye=class extends Ay{constructor(){super(null,Oy.EMPTY_RETURN_STATE)}isEmpty(){return!0}getParent(e){return null}getReturnState(e){return this.returnState}equals(e){return this===e}toString(){return`$`}};Oy.EMPTY=new nye;var jy=class{constructor(e,t){this.buckets=Array(16),this.threshold=12,this.itemCount=0,this.hashFunction=e||Vve,this.equalsFunction=t||Hve}set(e,t){this._expand();let n=this._getSlot(e),r=this.buckets[n];if(!r)return r=[[e,t]],this.buckets[n]=r,this.itemCount++,t;let i=r.find((t=>this.equalsFunction(t[0],e)),this);if(i){let e=i[1];return i[1]=t,e}return r.push([e,t]),this.itemCount++,t}containsKey(e){let t=this._getBucket(e);return!!t&&!!t.find((t=>this.equalsFunction(t[0],e)),this)}get(e){let t=this._getBucket(e);if(!t)return null;let n=t.find((t=>this.equalsFunction(t[0],e)),this);return n?n[1]:null}entries(){return this.buckets.filter((e=>e!=null)).flat(1)}getKeys(){return this.entries().map((e=>e[0]))}getValues(){return this.entries().map((e=>e[1]))}toString(){return`[`+this.entries().map((e=>`{`+e[0]+`:`+e[1]+`}`)).join(`, `)+`]`}get length(){return this.itemCount}_getSlot(e){return this.hashFunction(e)&this.buckets.length-1}_getBucket(e){return this.buckets[this._getSlot(e)]}_expand(){if(this.itemCount<=this.threshold)return;let e=this.buckets,t=2*this.buckets.length;this.buckets=Array(t),this.threshold=Math.floor(.75*t);for(let t of e)if(t)for(let e of t){let t=this._getSlot(e[0]),n=this.buckets[t];n||(n=[],this.buckets[t]=n),n.push(e)}}};function rye(e,t){if(t??=Dy.EMPTY,t.parentCtx===null||t===Dy.EMPTY)return Oy.EMPTY;let n=rye(e,t.parentCtx),r=e.states[t.invokingState].transitions[0];return Ay.create(n,r.followState.stateNumber)}function iye(e,t,n){if(e.isEmpty())return e;let r=n.get(e)||null;if(r!==null)return r;if(r=t.get(e),r!==null)return n.set(e,r),r;let i=!1,a=[];for(let r=0;r<a.length;r++){let o=iye(e.getParent(r),t,n);if(i||o!==e.getParent(r)){if(!i){a=[];for(let t=0;t<e.length;t++)a[t]=e.getParent(t);i=!0}a[r]=o}}if(!i)return t.add(e),n.set(e,e),e;let o=null;return o=a.length===0?Oy.EMPTY:a.length===1?Ay.create(a[0],e.getReturnState(0)):new ky(a,e.returnStates),t.add(o),n.set(o,o),n.set(e,o),o}function aye(e,t,n,r){if(e===t)return e;if(e instanceof Ay&&t instanceof Ay)return function(e,t,n,r){if(r!==null){let n=r.get(e,t);if(n!==null||(n=r.get(t,e),n!==null))return n}let i=function(e,t,n){if(n){if(e===Oy.EMPTY||t===Oy.EMPTY)return Oy.EMPTY}else{if(e===Oy.EMPTY&&t===Oy.EMPTY)return Oy.EMPTY;if(e===Oy.EMPTY){let e=[t.returnState,Oy.EMPTY_RETURN_STATE];return new ky([t.parentCtx,null],e)}if(t===Oy.EMPTY){let t=[e.returnState,Oy.EMPTY_RETURN_STATE];return new ky([e.parentCtx,null],t)}}return null}(e,t,n);if(i!==null)return r!==null&&r.set(e,t,i),i;if(e.returnState===t.returnState){let i=aye(e.parentCtx,t.parentCtx,n,r);if(i===e.parentCtx)return e;if(i===t.parentCtx)return t;let a=Ay.create(i,e.returnState);return r!==null&&r.set(e,t,a),a}{let n=null;if((e===t||e.parentCtx!==null&&e.parentCtx===t.parentCtx)&&(n=e.parentCtx),n!==null){let i=[e.returnState,t.returnState];e.returnState>t.returnState&&(i[0]=t.returnState,i[1]=e.returnState);let a=new ky([n,n],i);return r!==null&&r.set(e,t,a),a}let i=[e.returnState,t.returnState],a=[e.parentCtx,t.parentCtx];e.returnState>t.returnState&&(i[0]=t.returnState,i[1]=e.returnState,a=[t.parentCtx,e.parentCtx]);let o=new ky(a,i);return r!==null&&r.set(e,t,o),o}}(e,t,n,r);if(n){if(e instanceof nye)return e;if(t instanceof nye)return t}return e instanceof Ay&&(e=new ky([e.getParent()],[e.returnState])),t instanceof Ay&&(t=new ky([t.getParent()],[t.returnState])),function(e,t,n,r){if(r!==null){let n=r.get(e,t);if(n!==null||(n=r.get(t,e),n!==null))return Oy.trace_atn_sim&&console.log(`mergeArrays a=`+e+`,b=`+t+` -> previous`),n}let i=0,a=0,o=0,s=Array(e.returnStates.length+t.returnStates.length).fill(0),c=Array(e.returnStates.length+t.returnStates.length).fill(null);for(;i<e.returnStates.length&&a<t.returnStates.length;){let l=e.parents[i],u=t.parents[a];if(e.returnStates[i]===t.returnStates[a]){let t=e.returnStates[i];t===Oy.EMPTY_RETURN_STATE&&l===null&&u===null||l!==null&&u!==null&&l===u?(c[o]=l,s[o]=t):(c[o]=aye(l,u,n,r),s[o]=t),i+=1,a+=1}else e.returnStates[i]<t.returnStates[a]?(c[o]=l,s[o]=e.returnStates[i],i+=1):(c[o]=u,s[o]=t.returnStates[a],a+=1);o+=1}if(i<e.returnStates.length)for(let t=i;t<e.returnStates.length;t++)c[o]=e.parents[t],s[o]=e.returnStates[t],o+=1;else for(let e=a;e<t.returnStates.length;e++)c[o]=t.parents[e],s[o]=t.returnStates[e],o+=1;if(o<c.length){if(o===1){let n=Ay.create(c[0],s[0]);return r!==null&&r.set(e,t,n),n}c=c.slice(0,o),s=s.slice(0,o)}let l=new ky(c,s);return l.equals(e)?(r!==null&&r.set(e,t,e),Oy.trace_atn_sim&&console.log(`mergeArrays a=`+e+`,b=`+t+` -> a`),e):l.equals(t)?(r!==null&&r.set(e,t,t),Oy.trace_atn_sim&&console.log(`mergeArrays a=`+e+`,b=`+t+` -> b`),t):(function(e){let t=new jy;for(let n=0;n<e.length;n++){let r=e[n];t.containsKey(r)||t.set(r,r)}for(let n=0;n<e.length;n++)e[n]=t.get(e[n])}(c),r!==null&&r.set(e,t,l),Oy.trace_atn_sim&&console.log(`mergeArrays a=`+e+`,b=`+t+` -> `+l),l)}(e,t,n,r)}var My=class e{constructor(){this.data=new Uint32Array(1)}set(t){e._checkIndex(t),this._resize(t),this.data[t>>>5]|=1<<t%32}get(t){e._checkIndex(t);let n=t>>>5;return!(n>=this.data.length||!(this.data[n]&1<<t%32))}clear(t){e._checkIndex(t);let n=t>>>5;n<this.data.length&&(this.data[n]&=~(1<<t))}or(e){let t=Math.min(this.data.length,e.data.length);for(let n=0;n<t;++n)this.data[n]|=e.data[n];if(this.data.length<e.data.length){this._resize((e.data.length<<5)-1);let n=e.data.length;for(let r=t;r<n;++r)this.data[r]=e.data[r]}}values(){let t=Array(this.length),n=0,r=this.data.length;for(let i=0;i<r;++i){let r=this.data[i];for(;r!==0;){let a=r&-r;t[n++]=(i<<5)+e._bitCount(a-1),r^=a}}return t}minValue(){for(let e=0;e<this.data.length;++e){let t=this.data[e];if(t!==0){let n=0;for(;!(1&t);)n++,t>>=1;return n+32*e}}return 0}hashCode(){return fy.hashStuff(this.values())}equals(t){return t instanceof e&&dy(this.data,t.data)}toString(){return`{`+this.values().join(`, `)+`}`}get length(){return this.data.map((t=>e._bitCount(t))).reduce(((e,t)=>e+t),0)}_resize(e){let t=e+32>>>5;if(t<=this.data.length)return;let n=new Uint32Array(t);n.set(this.data),n.fill(0,this.data.length),this.data=n}static _checkIndex(e){if(e<0)throw RangeError(`index cannot be negative`)}static _bitCount(e){return e=(e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135,e+=e>>8,0+(e+=e>>16)&63}},Ny=class e{constructor(e){this.atn=e}getDecisionLookahead(t){if(t===null)return null;let n=t.transitions.length,r=[];for(let i=0;i<n;i++){r[i]=new vy;let n=new my;this._LOOK(t.transition(i).target,null,Oy.EMPTY,r[i],n,new My,!1,!1),(r[i].length===0||r[i].contains(e.HIT_PRED))&&(r[i]=null)}return r}LOOK(e,t,n){let r=new vy,i=(n||=null)===null?null:rye(e.atn,n);return this._LOOK(e,t,i,r,new my,new My,!0,!0),r}_LOOK(t,n,r,i,a,o,s,c){let l=new gy({state:t,alt:0,context:r},null);if(!a.has(l)){if(a.add(l),t===n){if(r===null)return void i.addOne(uy.EPSILON);if(r.isEmpty()&&c)return void i.addOne(uy.EOF)}if(t instanceof by){if(r===null)return void i.addOne(uy.EPSILON);if(r.isEmpty()&&c)return void i.addOne(uy.EOF);if(r!==Oy.EMPTY){let e=o.get(t.ruleIndex);try{o.clear(t.ruleIndex);for(let e=0;e<r.length;e++){let t=this.atn.states[r.getReturnState(e)];this._LOOK(t,n,r.getParent(e),i,a,o,s,c)}}finally{e&&o.set(t.ruleIndex)}return}}for(let l=0;l<t.transitions.length;l++){let u=t.transitions[l];if(u.constructor===Sy){if(o.get(u.target.ruleIndex))continue;let e=Ay.create(r,u.followState.stateNumber);try{o.set(u.target.ruleIndex),this._LOOK(u.target,n,e,i,a,o,s,c)}finally{o.clear(u.target.ruleIndex)}}else if(u instanceof Zve)s?this._LOOK(u.target,n,r,i,a,o,s,c):i.addOne(e.HIT_PRED);else if(u.isEpsilon)this._LOOK(u.target,n,r,i,a,o,s,c);else if(u.constructor===Xve)i.addRange(uy.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType);else{let e=u.label;e!==null&&(u instanceof Yve&&(e=e.complement(uy.MIN_USER_TOKEN_TYPE,this.atn.maxTokenType)),i.addSet(e))}}}}};Ny.HIT_PRED=uy.INVALID_TYPE;var Py=class{constructor(e,t){this.grammarType=e,this.maxTokenType=t,this.states=[],this.decisionToState=[],this.ruleToStartState=[],this.ruleToStopState=null,this.modeNameToStartState={},this.ruleToTokenType=null,this.lexerActions=null,this.modeToStartState=[]}nextTokensInContext(e,t){return new Ny(this).LOOK(e,null,t)}nextTokensNoContext(e){return e.nextTokenWithinRule!==null||(e.nextTokenWithinRule=this.nextTokensInContext(e,null),e.nextTokenWithinRule.readOnly=!0),e.nextTokenWithinRule}nextTokens(e,t){return t===void 0?this.nextTokensNoContext(e):this.nextTokensInContext(e,t)}addState(e){e!==null&&(e.atn=this,e.stateNumber=this.states.length),this.states.push(e)}removeState(e){this.states[e.stateNumber]=null}defineDecisionState(e){return this.decisionToState.push(e),e.decision=this.decisionToState.length-1,e.decision}getDecisionState(e){return this.decisionToState.length===0?null:this.decisionToState[e]}getExpectedTokens(e,t){if(e<0||e>=this.states.length)throw`Invalid state number.`;let n=this.states[e],r=this.nextTokens(n);if(!r.contains(uy.EPSILON))return r;let i=new vy;for(i.addSet(r),i.removeOne(uy.EPSILON);t!==null&&t.invokingState>=0&&r.contains(uy.EPSILON);){let e=this.states[t.invokingState].transitions[0];r=this.nextTokens(e.followState),i.addSet(r),i.removeOne(uy.EPSILON),t=t.parentCtx}return r.contains(uy.EPSILON)&&i.addOne(uy.EOF),i}};Py.INVALID_ALT_NUMBER=0;var oye=class extends yy{constructor(){super(),this.stateType=yy.BASIC}},Fy=class extends yy{constructor(){return super(),this.decision=-1,this.nonGreedy=!1,this}},Iy=class extends Fy{constructor(){return super(),this.endState=null,this}},sye=class extends yy{constructor(){return super(),this.stateType=yy.BLOCK_END,this.startState=null,this}},Ly=class extends yy{constructor(){return super(),this.stateType=yy.LOOP_END,this.loopBackState=null,this}},cye=class extends yy{constructor(){return super(),this.stateType=yy.RULE_START,this.stopState=null,this.isPrecedenceRule=!1,this}},lye=class extends Fy{constructor(){return super(),this.stateType=yy.TOKEN_START,this}},uye=class extends Fy{constructor(){return super(),this.stateType=yy.PLUS_LOOP_BACK,this}},dye=class extends yy{constructor(){return super(),this.stateType=yy.STAR_LOOP_BACK,this}},Ry=class extends Fy{constructor(){return super(),this.stateType=yy.STAR_LOOP_ENTRY,this.loopBackState=null,this.isPrecedenceDecision=null,this}},fye=class extends Iy{constructor(){return super(),this.stateType=yy.PLUS_BLOCK_START,this.loopBackState=null,this}},pye=class extends Iy{constructor(){return super(),this.stateType=yy.STAR_BLOCK_START,this}},mye=class extends Iy{constructor(){return super(),this.stateType=yy.BLOCK_START,this}},hye=class extends xy{constructor(e,t){super(e),this.label_=t,this.label=this.makeLabel(),this.serializationType=xy.ATOM}makeLabel(){let e=new vy;return e.addOne(this.label_),e}matches(e,t,n){return this.label_===e}toString(){return this.label_}},gye=class extends xy{constructor(e,t,n){super(e),this.serializationType=xy.RANGE,this.start=t,this.stop=n,this.label=this.makeLabel()}makeLabel(){let e=new vy;return e.addRange(this.start,this.stop),e}matches(e,t,n){return e>=this.start&&e<=this.stop}toString(){return`'`+String.fromCharCode(this.start)+`'..'`+String.fromCharCode(this.stop)+`'`}},_ye=class extends xy{constructor(e,t,n,r){super(e),this.serializationType=xy.ACTION,this.ruleIndex=t,this.actionIndex=n===void 0?-1:n,this.isCtxDependent=r!==void 0&&r,this.isEpsilon=!0}matches(e,t,n){return!1}toString(){return`action_`+this.ruleIndex+`:`+this.actionIndex}},zy=class extends xy{constructor(e,t){super(e),this.serializationType=xy.EPSILON,this.isEpsilon=!0,this.outermostPrecedenceReturn=t}matches(e,t,n){return!1}toString(){return`epsilon`}},vye=class e extends hy{constructor(e,t,n){super(),this.ruleIndex=e===void 0?-1:e,this.predIndex=t===void 0?-1:t,this.isCtxDependent=n!==void 0&&n}evaluate(e,t){let n=this.isCtxDependent?t:null;return e.sempred(n,this.ruleIndex,this.predIndex)}updateHashCode(e){e.update(this.ruleIndex,this.predIndex,this.isCtxDependent)}equals(t){return this===t||t instanceof e&&this.ruleIndex===t.ruleIndex&&this.predIndex===t.predIndex&&this.isCtxDependent===t.isCtxDependent}toString(){return`{`+this.ruleIndex+`:`+this.predIndex+`}?`}};hy.NONE=new vye;var yye=class extends Zve{constructor(e,t,n,r){super(e),this.serializationType=xy.PREDICATE,this.ruleIndex=t,this.predIndex=n,this.isCtxDependent=r,this.isEpsilon=!0}matches(e,t,n){return!1}getPredicate(){return new vye(this.ruleIndex,this.predIndex,this.isCtxDependent)}toString(){return`pred_`+this.ruleIndex+`:`+this.predIndex}},bye=class e extends hy{constructor(e){super(),this.precedence=e===void 0?0:e}evaluate(e,t){return e.precpred(t,this.precedence)}evalPrecedence(e,t){return e.precpred(t,this.precedence)?hy.NONE:null}compareTo(e){return this.precedence-e.precedence}updateHashCode(e){e.update(this.precedence)}equals(t){return this===t||t instanceof e&&this.precedence===t.precedence}toString(){return`{`+this.precedence+`>=prec}?`}};hy.PrecedencePredicate=bye;var xye=class extends Zve{constructor(e,t){super(e),this.serializationType=xy.PRECEDENCE,this.precedence=t,this.isEpsilon=!0}matches(e,t,n){return!1}getPredicate(){return new bye(this.precedence)}toString(){return this.precedence+` >= _p`}},By=class{constructor(e){e===void 0&&(e=null),this.readOnly=!1,this.verifyATN=e===null||e.verifyATN,this.generateRuleBypassTransitions=e!==null&&e.generateRuleBypassTransitions}};By.defaultOptions=new By,By.defaultOptions.readOnly=!0;var Vy=class{constructor(e){this.actionType=e,this.isPositionDependent=!1}hashCode(){let e=new fy;return this.updateHashCode(e),e.finish()}updateHashCode(e){e.update(this.actionType)}equals(e){return this===e}},Sye=class extends Vy{constructor(){super(6)}execute(e){e.skip()}toString(){return`skip`}};Sye.INSTANCE=new Sye;var Cye=class e extends Vy{constructor(e){super(0),this.channel=e}execute(e){e._channel=this.channel}updateHashCode(e){e.update(this.actionType,this.channel)}equals(t){return this===t||t instanceof e&&this.channel===t.channel}toString(){return`channel(`+this.channel+`)`}},wye=class e extends Vy{constructor(e,t){super(1),this.ruleIndex=e,this.actionIndex=t,this.isPositionDependent=!0}execute(e){e.action(null,this.ruleIndex,this.actionIndex)}updateHashCode(e){e.update(this.actionType,this.ruleIndex,this.actionIndex)}equals(t){return this===t||t instanceof e&&this.ruleIndex===t.ruleIndex&&this.actionIndex===t.actionIndex}},Tye=class extends Vy{constructor(){super(3)}execute(e){e.more()}toString(){return`more`}};Tye.INSTANCE=new Tye;var Eye=class e extends Vy{constructor(e){super(7),this.type=e}execute(e){e.type=this.type}updateHashCode(e){e.update(this.actionType,this.type)}equals(t){return this===t||t instanceof e&&this.type===t.type}toString(){return`type(`+this.type+`)`}},Dye=class e extends Vy{constructor(e){super(5),this.mode=e}execute(e){e.pushMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(t){return this===t||t instanceof e&&this.mode===t.mode}toString(){return`pushMode(`+this.mode+`)`}},Oye=class extends Vy{constructor(){super(4)}execute(e){e.popMode()}toString(){return`popMode`}};Oye.INSTANCE=new Oye;var kye=class e extends Vy{constructor(e){super(2),this.mode=e}execute(e){e.setMode(this.mode)}updateHashCode(e){e.update(this.actionType,this.mode)}equals(t){return this===t||t instanceof e&&this.mode===t.mode}toString(){return`mode(`+this.mode+`)`}};function Hy(e,t){let n=[];return n[e-1]=t,n.map((function(e){return t}))}var Aye=class{constructor(e){e??=By.defaultOptions,this.deserializationOptions=e,this.stateFactories=null,this.actionFactories=null}deserialize(e){let t=this.reset(e);this.checkVersion(t),t&&this.skipUUID();let n=this.readATN();this.readStates(n,t),this.readRules(n,t),this.readModes(n);let r=[];return this.readSets(n,r,this.readInt.bind(this)),t&&this.readSets(n,r,this.readInt32.bind(this)),this.readEdges(n,r),this.readDecisions(n),this.readLexerActions(n,t),this.markPrecedenceDecisions(n),this.verifyATN(n),this.deserializationOptions.generateRuleBypassTransitions&&n.grammarType===1&&(this.generateRuleBypassTransitions(n),this.verifyATN(n)),n}reset(e){if((e.charCodeAt?e.charCodeAt(0):e[0])===3){let t=e.split(``).map(function(e){let t=e.charCodeAt(0);return t>1?t-2:t+65534});return t[0]=e.charCodeAt(0),this.data=t,this.pos=0,!0}return this.data=e,this.pos=0,!1}skipUUID(){let e=0;for(;e++<8;)this.readInt()}checkVersion(e){let t=this.readInt();if(!e&&t!==4)throw`Could not deserialize ATN with version `+t+` (expected 4).`}readATN(){return new Py(this.readInt(),this.readInt())}readStates(e,t){let n,r,i,a=[],o=[],s=this.readInt();for(let n=0;n<s;n++){let n=this.readInt();if(n===yy.INVALID_TYPE){e.addState(null);continue}let r=this.readInt();t&&r===65535&&(r=-1);let i=this.stateFactory(n,r);if(n===yy.LOOP_END){let e=this.readInt();a.push([i,e])}else if(i instanceof Iy){let e=this.readInt();o.push([i,e])}e.addState(i)}for(n=0;n<a.length;n++)r=a[n],r[0].loopBackState=e.states[r[1]];for(n=0;n<o.length;n++)r=o[n],r[0].endState=e.states[r[1]];let c=this.readInt();for(n=0;n<c;n++)i=this.readInt(),e.states[i].nonGreedy=!0;let l=this.readInt();for(n=0;n<l;n++)i=this.readInt(),e.states[i].isPrecedenceRule=!0}readRules(e,t){let n,r=this.readInt();for(e.grammarType===0&&(e.ruleToTokenType=Hy(r,0)),e.ruleToStartState=Hy(r,0),n=0;n<r;n++){let r=this.readInt();if(e.ruleToStartState[n]=e.states[r],e.grammarType===0){let r=this.readInt();t&&r===65535&&(r=uy.EOF),e.ruleToTokenType[n]=r}}for(e.ruleToStopState=Hy(r,0),n=0;n<e.states.length;n++){let t=e.states[n];t instanceof by&&(e.ruleToStopState[t.ruleIndex]=t,e.ruleToStartState[t.ruleIndex].stopState=t)}}readModes(e){let t=this.readInt();for(let n=0;n<t;n++){let t=this.readInt();e.modeToStartState.push(e.states[t])}}readSets(e,t,n){let r=this.readInt();for(let e=0;e<r;e++){let e=new vy;t.push(e);let r=this.readInt();this.readInt()!==0&&e.addOne(-1);for(let t=0;t<r;t++){let t=n(),r=n();e.addRange(t,r)}}}readEdges(e,t){let n,r,i,a,o,s=this.readInt();for(n=0;n<s;n++){let n=this.readInt(),r=this.readInt(),i=this.readInt(),o=this.readInt(),s=this.readInt(),c=this.readInt();a=this.edgeFactory(e,i,n,r,o,s,c,t),e.states[n].addTransition(a)}for(n=0;n<e.states.length;n++)for(i=e.states[n],r=0;r<i.transitions.length;r++){let t=i.transitions[r];if(!(t instanceof Sy))continue;let n=-1;e.ruleToStartState[t.target.ruleIndex].isPrecedenceRule&&t.precedence===0&&(n=t.target.ruleIndex),a=new zy(t.followState,n),e.ruleToStopState[t.target.ruleIndex].addTransition(a)}for(n=0;n<e.states.length;n++){if(i=e.states[n],i instanceof Iy){if(i.endState===null||i.endState.startState!==null)throw`IllegalState`;i.endState.startState=i}if(i instanceof uye)for(r=0;r<i.transitions.length;r++)o=i.transitions[r].target,o instanceof fye&&(o.loopBackState=i);else if(i instanceof dye)for(r=0;r<i.transitions.length;r++)o=i.transitions[r].target,o instanceof Ry&&(o.loopBackState=i)}}readDecisions(e){let t=this.readInt();for(let n=0;n<t;n++){let t=this.readInt(),r=e.states[t];e.decisionToState.push(r),r.decision=n}}readLexerActions(e,t){if(e.grammarType===0){let n=this.readInt();e.lexerActions=Hy(n,null);for(let r=0;r<n;r++){let n=this.readInt(),i=this.readInt();t&&i===65535&&(i=-1);let a=this.readInt();t&&a===65535&&(a=-1),e.lexerActions[r]=this.lexerActionFactory(n,i,a)}}}generateRuleBypassTransitions(e){let t,n=e.ruleToStartState.length;for(t=0;t<n;t++)e.ruleToTokenType[t]=e.maxTokenType+t+1;for(t=0;t<n;t++)this.generateRuleBypassTransition(e,t)}generateRuleBypassTransition(e,t){let n,r,i=new mye;i.ruleIndex=t,e.addState(i);let a=new sye;a.ruleIndex=t,e.addState(a),i.endState=a,e.defineDecisionState(i),a.startState=i;let o=null,s=null;if(e.ruleToStartState[t].isPrecedenceRule){for(s=null,n=0;n<e.states.length;n++)if(r=e.states[n],this.stateIsEndStateFor(r,t)){s=r,o=r.loopBackState.transitions[0];break}if(o===null)throw`Couldn't identify final state of the precedence rule prefix section.`}else s=e.ruleToStopState[t];for(n=0;n<e.states.length;n++){r=e.states[n];for(let e=0;e<r.transitions.length;e++){let t=r.transitions[e];t!==o&&t.target===s&&(t.target=a)}}let c=e.ruleToStartState[t],l=c.transitions.length;for(;l>0;)i.addTransition(c.transitions[l-1]),c.transitions=c.transitions.slice(-1);e.ruleToStartState[t].addTransition(new zy(i)),a.addTransition(new zy(s));let u=new oye;e.addState(u),u.addTransition(new hye(a,e.ruleToTokenType[t])),i.addTransition(new zy(u))}stateIsEndStateFor(e,t){if(e.ruleIndex!==t||!(e instanceof Ry))return null;let n=e.transitions[e.transitions.length-1].target;return n instanceof Ly&&n.epsilonOnlyTransitions&&n.transitions[0].target instanceof by?e:null}markPrecedenceDecisions(e){for(let t=0;t<e.states.length;t++){let n=e.states[t];if(n instanceof Ry&&e.ruleToStartState[n.ruleIndex].isPrecedenceRule){let e=n.transitions[n.transitions.length-1].target;e instanceof Ly&&e.epsilonOnlyTransitions&&e.transitions[0].target instanceof by&&(n.isPrecedenceDecision=!0)}}}verifyATN(e){if(this.deserializationOptions.verifyATN)for(let t=0;t<e.states.length;t++){let n=e.states[t];if(n!==null)if(this.checkCondition(n.epsilonOnlyTransitions||n.transitions.length<=1),n instanceof fye)this.checkCondition(n.loopBackState!==null);else if(n instanceof Ry)if(this.checkCondition(n.loopBackState!==null),this.checkCondition(n.transitions.length===2),n.transitions[0].target instanceof pye)this.checkCondition(n.transitions[1].target instanceof Ly),this.checkCondition(!n.nonGreedy);else{if(!(n.transitions[0].target instanceof Ly))throw`IllegalState`;this.checkCondition(n.transitions[1].target instanceof pye),this.checkCondition(n.nonGreedy)}else n instanceof dye?(this.checkCondition(n.transitions.length===1),this.checkCondition(n.transitions[0].target instanceof Ry)):n instanceof Ly?this.checkCondition(n.loopBackState!==null):n instanceof cye?this.checkCondition(n.stopState!==null):n instanceof Iy?this.checkCondition(n.endState!==null):n instanceof sye?this.checkCondition(n.startState!==null):n instanceof Fy?this.checkCondition(n.transitions.length<=1||n.decision>=0):this.checkCondition(n.transitions.length<=1||n instanceof by)}}checkCondition(e,t){if(!e)throw t??=`IllegalState`,t}readInt(){return this.data[this.pos++]}readInt32(){return this.readInt()|this.readInt()<<16}edgeFactory(e,t,n,r,i,a,o,s){let c=e.states[r];switch(t){case xy.EPSILON:return new zy(c);case xy.RANGE:return new gye(c,o===0?i:uy.EOF,a);case xy.RULE:return new Sy(e.states[i],a,o,c);case xy.PREDICATE:return new yye(c,i,a,o!==0);case xy.PRECEDENCE:return new xye(c,i);case xy.ATOM:return new hye(c,o===0?i:uy.EOF);case xy.ACTION:return new _ye(c,i,a,o!==0);case xy.SET:return new Jve(c,s[i]);case xy.NOT_SET:return new Yve(c,s[i]);case xy.WILDCARD:return new Xve(c);default:throw`The specified transition type: `+t+` is not valid.`}}stateFactory(e,t){if(this.stateFactories===null){let e=[];e[yy.INVALID_TYPE]=null,e[yy.BASIC]=()=>new oye,e[yy.RULE_START]=()=>new cye,e[yy.BLOCK_START]=()=>new mye,e[yy.PLUS_BLOCK_START]=()=>new fye,e[yy.STAR_BLOCK_START]=()=>new pye,e[yy.TOKEN_START]=()=>new lye,e[yy.RULE_STOP]=()=>new by,e[yy.BLOCK_END]=()=>new sye,e[yy.STAR_LOOP_BACK]=()=>new dye,e[yy.STAR_LOOP_ENTRY]=()=>new Ry,e[yy.PLUS_LOOP_BACK]=()=>new uye,e[yy.LOOP_END]=()=>new Ly,this.stateFactories=e}if(e>this.stateFactories.length||this.stateFactories[e]===null)throw`The specified state type `+e+` is not valid.`;{let n=this.stateFactories[e]();if(n!==null)return n.ruleIndex=t,n}}lexerActionFactory(e,t,n){if(this.actionFactories===null){let e=[];e[0]=(e,t)=>new Cye(e),e[1]=(e,t)=>new wye(e,t),e[2]=(e,t)=>new kye(e),e[3]=(e,t)=>Tye.INSTANCE,e[4]=(e,t)=>Oye.INSTANCE,e[5]=(e,t)=>new Dye(e),e[6]=(e,t)=>Sye.INSTANCE,e[7]=(e,t)=>new Eye(e),this.actionFactories=e}if(e>this.actionFactories.length||this.actionFactories[e]===null)throw`The specified lexer action type `+e+` is not valid.`;return this.actionFactories[e](t,n)}},Uy=class{syntaxError(e,t,n,r,i,a){}reportAmbiguity(e,t,n,r,i,a,o){}reportAttemptingFullContext(e,t,n,r,i,a){}reportContextSensitivity(e,t,n,r,i,a){}},jye=class extends Uy{constructor(){super()}syntaxError(e,t,n,r,i,a){console.error(`line `+n+`:`+r+` `+i)}};jye.INSTANCE=new jye;var Mye=class extends Uy{constructor(e){if(super(),e===null)throw`delegates`;return this.delegates=e,this}syntaxError(e,t,n,r,i,a){this.delegates.map((o=>o.syntaxError(e,t,n,r,i,a)))}reportAmbiguity(e,t,n,r,i,a,o){this.delegates.map((s=>s.reportAmbiguity(e,t,n,r,i,a,o)))}reportAttemptingFullContext(e,t,n,r,i,a){this.delegates.map((o=>o.reportAttemptingFullContext(e,t,n,r,i,a)))}reportContextSensitivity(e,t,n,r,i,a){this.delegates.map((o=>o.reportContextSensitivity(e,t,n,r,i,a)))}},Wy=class{constructor(){this._listeners=[jye.INSTANCE],this._interp=null,this._stateNumber=-1}checkVersion(e){let t=`4.13.2`;t!==e&&console.log(`ANTLR runtime and generated code versions disagree: `+t+`!=`+e)}addErrorListener(e){this._listeners.push(e)}removeErrorListeners(){this._listeners=[]}getLiteralNames(){return Object.getPrototypeOf(this).constructor.literalNames||[]}getSymbolicNames(){return Object.getPrototypeOf(this).constructor.symbolicNames||[]}getTokenNames(){if(!this.tokenNames){let e=this.getLiteralNames(),t=this.getSymbolicNames(),n=e.length>t.length?e.length:t.length;this.tokenNames=[];for(let r=0;r<n;r++)this.tokenNames[r]=e[r]||t[r]||`<INVALID`}return this.tokenNames}getTokenTypeMap(){let e=this.getTokenNames();if(e===null)throw`The current recognizer does not provide a list of token names.`;let t=this.tokenTypeMapCache[e];return t===void 0&&(t=e.reduce((function(e,t,n){e[t]=n})),t.EOF=uy.EOF,this.tokenTypeMapCache[e]=t),t}getRuleIndexMap(){let e=this.ruleNames;if(e===null)throw`The current recognizer does not provide a list of rule names.`;let t=this.ruleIndexMapCache[e];return t===void 0&&(t=e.reduce((function(e,t,n){e[t]=n})),this.ruleIndexMapCache[e]=t),t}getTokenType(e){let t=this.getTokenTypeMap()[e];return t===void 0?uy.INVALID_TYPE:t}getErrorHeader(e){return`line `+e.getOffendingToken().line+`:`+e.getOffendingToken().column}getTokenErrorDisplay(e){if(e===null)return`<no token>`;let t=e.text;return t===null&&(t=e.type===uy.EOF?`<EOF>`:`<`+e.type+`>`),t=t.replace(`
|
|
67
67
|
`,`\\n`).replace(`\r`,`\\r`).replace(` `,`\\t`),`'`+t+`'`}getErrorListenerDispatch(){return console.warn(`Calling deprecated method in Recognizer class: getErrorListenerDispatch()`),this.getErrorListener()}getErrorListener(){return new Mye(this._listeners)}sempred(e,t,n){return!0}precpred(e,t){return!0}get atn(){return this._interp.atn}get state(){return this._stateNumber}set state(e){this._stateNumber=e}};Wy.tokenTypeMapCache={},Wy.ruleIndexMapCache={};var Gy=class e extends uy{constructor(t,n,r,i,a){super(),this.source=t===void 0?e.EMPTY_SOURCE:t,this.type=n===void 0?null:n,this.channel=r===void 0?uy.DEFAULT_CHANNEL:r,this.start=i===void 0?-1:i,this.stop=a===void 0?-1:a,this.tokenIndex=-1,this.source[0]===null?this.column=-1:(this.line=t[0].line,this.column=t[0].column)}clone(){let t=new e(this.source,this.type,this.channel,this.start,this.stop);return t.tokenIndex=this.tokenIndex,t.line=this.line,t.column=this.column,t.text=this.text,t}cloneWithType(t){let n=new e(this.source,t,this.channel,this.start,this.stop);return n.tokenIndex=this.tokenIndex,n.line=this.line,n.column=this.column,t===uy.EOF&&(n.text=``),n}toString(){let e=this.text;return e=e===null?`<no text>`:e.replace(/\n/g,`\\n`).replace(/\r/g,`\\r`).replace(/\t/g,`\\t`),`[@`+this.tokenIndex+`,`+this.start+`:`+this.stop+`='`+e+`',<`+this.type+`>`+(this.channel>0?`,channel=`+this.channel:``)+`,`+this.line+`:`+this.column+`]`}get text(){if(this._text!==null)return this._text;let e=this.getInputStream();if(e===null)return null;let t=e.size;return this.start<t&&this.stop<t?e.getText(this.start,this.stop):`<EOF>`}set text(e){this._text=e}};Gy.EMPTY_SOURCE=[null,null];var Nye=class{},Pye=class extends Nye{constructor(e){super(),this.copyText=e!==void 0&&e}create(e,t,n,r,i,a,o,s){let c=new Gy(e,t,r,i,a);return c.line=o,c.column=s,n===null?this.copyText&&e[1]!==null&&(c.text=e[1].getText(i,a)):c.text=n,c}createThin(e,t){let n=new Gy(null,e);return n.text=t,n}};Pye.DEFAULT=new Pye;var Ky=class e extends Error{constructor(t){super(t.message),Error.captureStackTrace&&Error.captureStackTrace(this,e),this.message=t.message,this.recognizer=t.recognizer,this.input=t.input,this.ctx=t.ctx,this.offendingToken=null,this.offendingState=-1,this.recognizer!==null&&(this.offendingState=this.recognizer.state)}getExpectedTokens(){return this.recognizer===null?null:this.recognizer.atn.getExpectedTokens(this.offendingState,this.ctx)}toString(){return this.message}},Fye=class extends Ky{constructor(e,t,n,r){super({message:``,recognizer:e,input:t,ctx:null}),this.startIndex=n,this.deadEndConfigs=r}toString(){let e=``;return this.startIndex>=0&&this.startIndex<this.input.size&&(e=this.input.getText(new _y(this.startIndex,this.startIndex))),`LexerNoViableAltException`+e}},qy=class e extends Wy{constructor(t){super(),this._input=t,this._factory=Pye.DEFAULT,this._tokenFactorySourcePair=[this,t],this._interp=null,this._token=null,this._tokenStartCharIndex=-1,this._tokenStartLine=-1,this._tokenStartColumn=-1,this._hitEOF=!1,this._channel=uy.DEFAULT_CHANNEL,this._type=uy.INVALID_TYPE,this._modeStack=[],this._mode=e.DEFAULT_MODE,this._text=null}reset(){this._input!==null&&this._input.seek(0),this._token=null,this._type=uy.INVALID_TYPE,this._channel=uy.DEFAULT_CHANNEL,this._tokenStartCharIndex=-1,this._tokenStartColumn=-1,this._tokenStartLine=-1,this._text=null,this._hitEOF=!1,this._mode=e.DEFAULT_MODE,this._modeStack=[],this._interp.reset()}nextToken(){if(this._input===null)throw`nextToken requires a non-null input stream.`;let t=this._input.mark();try{for(;;){if(this._hitEOF)return this.emitEOF(),this._token;this._token=null,this._channel=uy.DEFAULT_CHANNEL,this._tokenStartCharIndex=this._input.index,this._tokenStartColumn=this._interp.column,this._tokenStartLine=this._interp.line,this._text=null;let t=!1;for(;;){this._type=uy.INVALID_TYPE;let n=e.SKIP;try{n=this._interp.match(this._input,this._mode)}catch(e){if(!(e instanceof Ky))throw console.log(e.stack),e;this.notifyListeners(e),this.recover(e)}if(this._input.LA(1)===uy.EOF&&(this._hitEOF=!0),this._type===uy.INVALID_TYPE&&(this._type=n),this._type===e.SKIP){t=!0;break}if(this._type!==e.MORE)break}if(!t)return this._token===null&&this.emit(),this._token}}finally{this._input.release(t)}}skip(){this._type=e.SKIP}more(){this._type=e.MORE}mode(e){console.warn(`Calling deprecated method in Lexer class: mode(...)`),this.setMode(e)}setMode(e){this._mode=e}getMode(){return this._mode}getModeStack(){return this._modeStack}pushMode(e){this._interp.debug&&console.log(`pushMode `+e),this._modeStack.push(this._mode),this.setMode(e)}popMode(){if(this._modeStack.length===0)throw`Empty Stack`;return this._interp.debug&&console.log(`popMode back to `+this._modeStack.slice(0,-1)),this.setMode(this._modeStack.pop()),this._mode}emitToken(e){this._token=e}emit(){let e=this._factory.create(this._tokenFactorySourcePair,this._type,this._text,this._channel,this._tokenStartCharIndex,this.getCharIndex()-1,this._tokenStartLine,this._tokenStartColumn);return this.emitToken(e),e}emitEOF(){let e=this.column,t=this.line,n=this._factory.create(this._tokenFactorySourcePair,uy.EOF,null,uy.DEFAULT_CHANNEL,this._input.index,this._input.index-1,t,e);return this.emitToken(n),n}getCharIndex(){return this._input.index}getAllTokens(){let e=[],t=this.nextToken();for(;t.type!==uy.EOF;)e.push(t),t=this.nextToken();return e}notifyListeners(e){let t=this._tokenStartCharIndex,n=this._input.index,r=this._input.getText(t,n),i=`token recognition error at: '`+this.getErrorDisplay(r)+`'`;this.getErrorListener().syntaxError(this,null,this._tokenStartLine,this._tokenStartColumn,i,e)}getErrorDisplay(e){let t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t.join(``)}getErrorDisplayForChar(e){return e.charCodeAt(0)===uy.EOF?`<EOF>`:e===`
|
|
68
68
|
`?`\\n`:e===` `?`\\t`:e===`\r`?`\\r`:e}getCharErrorDisplay(e){return`'`+this.getErrorDisplayForChar(e)+`'`}recover(e){this._input.LA(1)!==uy.EOF&&(e instanceof Fye?this._interp.consume(this._input):this._input.consume())}get inputStream(){return this._input}set inputStream(e){this._input=null,this._tokenFactorySourcePair=[this,this._input],this.reset(),this._input=e,this._tokenFactorySourcePair=[this,this._input]}get sourceName(){return this._input.sourceName}get type(){return this._type}set type(e){this._type=e}get line(){return this._interp.line}set line(e){this._interp.line=e}get column(){return this._interp.column}set column(e){this._interp.column=e}get text(){return this._text===null?this._interp.getText(this._input):this._text}set text(e){this._text=e}};function Iye(e){return e.hashCodeForConfigSet()}function Lye(e,t){return e===t||e!==null&&t!==null&&e.equalsForConfigSet(t)}qy.DEFAULT_MODE=0,qy.MORE=-2,qy.SKIP=-3,qy.DEFAULT_TOKEN_CHANNEL=uy.DEFAULT_CHANNEL,qy.HIDDEN=uy.HIDDEN_CHANNEL,qy.MIN_CHAR_VALUE=0,qy.MAX_CHAR_VALUE=1114111;var Jy=class e{constructor(e){this.configLookup=new my(Iye,Lye),this.fullCtx=e===void 0||e,this.readOnly=!1,this.configs=[],this.uniqueAlt=0,this.conflictingAlts=null,this.hasSemanticContext=!1,this.dipsIntoOuterContext=!1,this.cachedHashCode=-1}add(e,t){if(t===void 0&&(t=null),this.readOnly)throw`This set is readonly`;e.semanticContext!==hy.NONE&&(this.hasSemanticContext=!0),e.reachesIntoOuterContext>0&&(this.dipsIntoOuterContext=!0);let n=this.configLookup.getOrAdd(e);if(n===e)return this.cachedHashCode=-1,this.configs.push(e),!0;let r=!this.fullCtx,i=aye(n.context,e.context,r,t);return n.reachesIntoOuterContext=Math.max(n.reachesIntoOuterContext,e.reachesIntoOuterContext),e.precedenceFilterSuppressed&&(n.precedenceFilterSuppressed=!0),n.context=i,!0}getStates(){let e=new my;for(let t=0;t<this.configs.length;t++)e.add(this.configs[t].state);return e}getPredicates(){let e=[];for(let t=0;t<this.configs.length;t++){let n=this.configs[t].semanticContext;n!==hy.NONE&&e.push(n.semanticContext)}return e}optimizeConfigs(e){if(this.readOnly)throw`This set is readonly`;if(this.configLookup.length!==0)for(let t=0;t<this.configs.length;t++){let n=this.configs[t];n.context=e.getCachedContext(n.context)}}addAll(e){for(let t=0;t<e.length;t++)this.add(e[t]);return!1}equals(t){return this===t||t instanceof e&&dy(this.configs,t.configs)&&this.fullCtx===t.fullCtx&&this.uniqueAlt===t.uniqueAlt&&this.conflictingAlts===t.conflictingAlts&&this.hasSemanticContext===t.hasSemanticContext&&this.dipsIntoOuterContext===t.dipsIntoOuterContext}hashCode(){let e=new fy;return e.update(this.configs),e.finish()}updateHashCode(e){this.readOnly?(this.cachedHashCode===-1&&(this.cachedHashCode=this.hashCode()),e.update(this.cachedHashCode)):e.update(this.hashCode())}isEmpty(){return this.configs.length===0}contains(e){if(this.configLookup===null)throw`This method is not implemented for readonly sets.`;return this.configLookup.contains(e)}containsFast(e){if(this.configLookup===null)throw`This method is not implemented for readonly sets.`;return this.configLookup.containsFast(e)}clear(){if(this.readOnly)throw`This set is readonly`;this.configs=[],this.cachedHashCode=-1,this.configLookup=new my}setReadonly(e){this.readOnly=e,e&&(this.configLookup=null)}toString(){return py(this.configs)+(this.hasSemanticContext?`,hasSemanticContext=`+this.hasSemanticContext:``)+(this.uniqueAlt===Py.INVALID_ALT_NUMBER?``:`,uniqueAlt=`+this.uniqueAlt)+(this.conflictingAlts===null?``:`,conflictingAlts=`+this.conflictingAlts)+(this.dipsIntoOuterContext?`,dipsIntoOuterContext`:``)}get items(){return this.configs}get length(){return this.configs.length}},Yy=class e{constructor(e,t){return e===null&&(e=-1),t===null&&(t=new Jy),this.stateNumber=e,this.configs=t,this.edges=null,this.isAcceptState=!1,this.prediction=0,this.lexerActionExecutor=null,this.requiresFullContext=!1,this.predicates=null,this}getAltSet(){let e=new my;if(this.configs!==null)for(let t=0;t<this.configs.length;t++){let n=this.configs[t];e.add(n.alt)}return e.length===0?null:e}equals(t){return this===t||t instanceof e&&this.configs.equals(t.configs)}toString(){let e=this.stateNumber+`:`+this.configs;return this.isAcceptState&&(e+=`=>`,this.predicates===null?e+=this.prediction:e+=this.predicates),e}hashCode(){let e=new fy;return e.update(this.configs),e.finish()}},Xy=class{constructor(e,t){return this.atn=e,this.sharedContextCache=t,this}getCachedContext(e){if(this.sharedContextCache===null)return e;let t=new jy;return iye(e,this.sharedContextCache,t)}};Xy.ERROR=new Yy(2147483647,new Jy);var Rye=class extends Jy{constructor(){super(),this.configLookup=new my}},Zy=class e extends gy{constructor(t,n){return super(t,n),this.lexerActionExecutor=t.lexerActionExecutor||(n===null?null:n.lexerActionExecutor),this.passedThroughNonGreedyDecision=n!==null&&this.checkNonGreedyDecision(n,this.state),this.hashCodeForConfigSet=e.prototype.hashCode,this.equalsForConfigSet=e.prototype.equals,this}updateHashCode(e){e.update(this.state.stateNumber,this.alt,this.context,this.semanticContext,this.passedThroughNonGreedyDecision,this.lexerActionExecutor)}equals(t){return this===t||t instanceof e&&this.passedThroughNonGreedyDecision===t.passedThroughNonGreedyDecision&&(this.lexerActionExecutor?this.lexerActionExecutor.equals(t.lexerActionExecutor):!t.lexerActionExecutor)&&super.equals(t)}checkNonGreedyDecision(e,t){return e.passedThroughNonGreedyDecision||t instanceof Fy&&t.nonGreedy}},zye=class e extends Vy{constructor(e,t){super(t.actionType),this.offset=e,this.action=t,this.isPositionDependent=!0}execute(e){this.action.execute(e)}updateHashCode(e){e.update(this.actionType,this.offset,this.action)}equals(t){return this===t||t instanceof e&&this.offset===t.offset&&this.action===t.action}},Bye=class e{constructor(e){return this.lexerActions=e===null?[]:e,this.cachedHashCode=fy.hashStuff(e),this}fixOffsetBeforeMatch(t){let n=null;for(let e=0;e<this.lexerActions.length;e++)!this.lexerActions[e].isPositionDependent||this.lexerActions[e]instanceof zye||(n===null&&(n=this.lexerActions.concat([])),n[e]=new zye(t,this.lexerActions[e]));return n===null?this:new e(n)}execute(e,t,n){let r=!1,i=t.index;try{for(let a=0;a<this.lexerActions.length;a++){let o=this.lexerActions[a];if(o instanceof zye){let e=o.offset;t.seek(n+e),o=o.action,r=n+e!==i}else o.isPositionDependent&&(t.seek(i),r=!1);o.execute(e)}}finally{r&&t.seek(i)}}hashCode(){return this.cachedHashCode}updateHashCode(e){e.update(this.cachedHashCode)}equals(t){if(this===t)return!0;if(t instanceof e){if(this.cachedHashCode!=t.cachedHashCode||this.lexerActions.length!=t.lexerActions.length)return!1;{let e=this.lexerActions.length;for(let n=0;n<e;++n)if(!this.lexerActions[n].equals(t.lexerActions[n]))return!1;return!0}}return!1}static append(t,n){return t===null?new e([n]):new e(t.lexerActions.concat([n]))}};function Vye(e){e.index=-1,e.line=0,e.column=-1,e.dfaState=null}var Hye=class{constructor(){Vye(this)}reset(){Vye(this)}},Qy=class e extends Xy{constructor(e,t,n,r){super(t,r),this.decisionToDFA=n,this.recog=e,this.startIndex=-1,this.line=1,this.column=0,this.mode=qy.DEFAULT_MODE,this.prevAccept=new Hye}copyState(e){this.column=e.column,this.line=e.line,this.mode=e.mode,this.startIndex=e.startIndex}match(e,t){this.mode=t;let n=e.mark();try{this.startIndex=e.index,this.prevAccept.reset();let n=this.decisionToDFA[t];return n.s0===null?this.matchATN(e):this.execATN(e,n.s0)}finally{e.release(n)}}reset(){this.prevAccept.reset(),this.startIndex=-1,this.line=1,this.column=0,this.mode=qy.DEFAULT_MODE}matchATN(t){let n=this.atn.modeToStartState[this.mode];e.debug&&console.log(`matchATN mode `+this.mode+` start: `+n);let r=this.mode,i=this.computeStartState(t,n),a=i.hasSemanticContext;i.hasSemanticContext=!1;let o=this.addDFAState(i);a||(this.decisionToDFA[this.mode].s0=o);let s=this.execATN(t,o);return e.debug&&console.log(`DFA after matchATN: `+this.decisionToDFA[r].toLexerString()),s}execATN(t,n){e.debug&&console.log(`start state closure=`+n.configs),n.isAcceptState&&this.captureSimState(this.prevAccept,t,n);let r=t.LA(1),i=n;for(;;){e.debug&&console.log(`execATN loop starting closure: `+i.configs);let n=this.getExistingTargetState(i,r);if(n===null&&(n=this.computeTargetState(t,i,r)),n===Xy.ERROR||(r!==uy.EOF&&this.consume(t),n.isAcceptState&&(this.captureSimState(this.prevAccept,t,n),r===uy.EOF)))break;r=t.LA(1),i=n}return this.failOrAccept(this.prevAccept,t,i.configs,r)}getExistingTargetState(t,n){if(t.edges===null||n<e.MIN_DFA_EDGE||n>e.MAX_DFA_EDGE)return null;let r=t.edges[n-e.MIN_DFA_EDGE];return r===void 0&&(r=null),e.debug&&r!==null&&console.log(`reuse state `+t.stateNumber+` edge to `+r.stateNumber),r}computeTargetState(e,t,n){let r=new Rye;return this.getReachableConfigSet(e,t.configs,r,n),r.items.length===0?(r.hasSemanticContext||this.addDFAEdge(t,n,Xy.ERROR),Xy.ERROR):this.addDFAEdge(t,n,null,r)}failOrAccept(e,t,n,r){if(this.prevAccept.dfaState!==null){let n=e.dfaState.lexerActionExecutor;return this.accept(t,n,this.startIndex,e.index,e.line,e.column),e.dfaState.prediction}if(r===uy.EOF&&t.index===this.startIndex)return uy.EOF;throw new Fye(this.recog,t,this.startIndex,n)}getReachableConfigSet(t,n,r,i){let a=Py.INVALID_ALT_NUMBER;for(let o=0;o<n.items.length;o++){let s=n.items[o],c=s.alt===a;if(!c||!s.passedThroughNonGreedyDecision){e.debug&&console.log(`testing %s at %s
|
|
69
69
|
`,this.getTokenName(i),s.toString(this.recog,!0));for(let e=0;e<s.state.transitions.length;e++){let n=s.state.transitions[e],o=this.getReachableTarget(n,i);if(o!==null){let e=s.lexerActionExecutor;e!==null&&(e=e.fixOffsetBeforeMatch(t.index-this.startIndex));let n=i===uy.EOF,l=new Zy({state:o,lexerActionExecutor:e},s);this.closure(t,l,r,c,!0,n)&&(a=s.alt)}}}}}accept(t,n,r,i,a,o){e.debug&&console.log(`ACTION %s
|
|
@@ -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,s1e,r9,i9=o((()=>{n9=u(t9(),1),s1e=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=s1e.WhiteSpaces}));function a9(e){return l1e.default.string(e).skip(r9).desc(`"${e}"`)}function c1e(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=c1e(e),l1e.default.regexp(t).skip(r9).desc(`"${n}"`)}var l1e,u1e=o((()=>{l1e=u(t9(),1),i9()})),d1e,s9,c9,f1e,p1e,m1e,h1e,g1e,_1e,v1e,y1e,b1e,x1e,S1e,l9,C1e,w1e,u9,T1e,E1e,D1e,O1e,k1e,A1e,j1e,M1e,N1e,P1e,F1e,I1e,L1e,R1e,z1e,B1e,V1e,H1e,U1e,W1e,G1e,K1e,q1e,J1e,Y1e,X1e,Z1e,d9,f9,Q1e,$1e,e0e,t0e,n0e,r0e,i0e,a0e,o0e,s0e,c0e,l0e,u0e,d0e,f0e,p0e,m0e,h0e,g0e,_0e,p9,v0e,y0e,b0e,x0e,S0e,C0e,w0e,T0e,E0e,D0e,O0e,k0e,A0e,j0e,M0e,N0e,P0e,F0e,I0e,L0e,R0e,z0e,B0e,V0e,H0e,U0e,W0e,m9,h9,g9,G0e,K0e,q0e,J0e,_9,v9,Y0e,X0e,Z0e,Q0e,$0e,e2e,t2e,n2e,y9=o((()=>{u1e(),d1e=o9(/IDENTITY/i),s9=o9(/INDEX/i),c9=o9(/WITH/i),f1e=o9(/ON/i),o9(/OFF/i),m1e=o9(/FILESTREAM_ON/i),h1e=o9(/PRIMARY KEY/i),g1e=o9(/CLUSTERED/i),_1e=o9(/NONCLUSTERED/i),v1e=o9(/COLUMNSTORE/i),y1e=o9(/REFERENCES/i),b1e=o9(/FOREIGN KEY/i),x1e=o9(/CHECK/i),S1e=o9(/CONSTRAINT/i),l9=o9(/UNIQUE/i),o9(/HASH/i),o9(/BUCKET_COUNT/i),u9=o9(/NOT FOR REPLICATION/),T1e=o9(/ON DELETE/i),E1e=o9(/ON UPDATE/i),D1e=o9(/SET NULL/i),O1e=o9(/SET DEFAULT/i),k1e=o9(/NO ACTION/i),A1e=o9(/CASCADE/i),j1e=o9(/CONTENT/i),M1e=o9(/DOCUMENT/i),N1e=o9(/NULL/i),P1e=o9(/NOT NULL/i),F1e=o9(/DEFAULT/i),I1e=o9(/FILESTREAM/i),L1e=o9(/COLLATE/i),R1e=o9(/SPARSE/i),z1e=o9(/ROWGUIDCOL/i),B1e=o9(/MASKED/i),V1e=o9(/ENCRYPTED/i),o9(/FUNCTION/i),U1e=o9(/GENERATED ALWAYS AS ROW/i),W1e=o9(/START/i),G1e=o9(/END/i),K1e=o9(/HIDDEN/i),q1e=o9(/ASC/i),J1e=o9(/DESC/i),Y1e=o9(/TEXTIMAGE_ON/i),X1e=o9(/PERIOD FOR SYSTEM_TIME/i),Z1e=o9(/FILETABLE/i),d9=o9(/TABLE/i),f9=o9(/CREATE/i),Q1e=o9(/AS/i),$1e=o9(/PERSISTED/i),e0e=o9(/XML COLUMN_SET FOR ALL_SPARSE_COLUMNS/i),t0e=o9(/INCLUDE/i),n0e=o9(/IN/i),r0e=o9(/WHERE/i),i0e=o9(/FOR/i),a0e=o9(/WITH VALUES/i),o0e=o9(/CONNECTION/i),s0e=o9(/TO/i),c0e=o9(/ALTER/i),l0e=o9(/ADD/i),u0e=o9(/SET/i),d0e=o9(/REBUILD/i),f0e=o9(/SWITCH/i),p0e=o9(/ENABLE/i),m0e=o9(/DISABLE/i),o9(/NOCHECK/i),g0e=o9(/DROP/i),_0e=o9(/ALTER COLUMN/i),p9=o9(/GO/i),v0e=o9(/BULK INSERT/i),y0e=o9(/INSERT/i),b0e=o9(/UPDATE/i),x0e=o9(/MERGE/i),S0e=o9(/TRUNCATE TABLE/i),C0e=o9(/BACKUP/i),w0e=o9(/RESTORE/i),T0e=o9(/CLOSE/i),E0e=o9(/DENY/i),D0e=o9(/EXECUTE/i),O0e=o9(/EXEC/i),k0e=o9(/GRANT/i),A0e=o9(/OPEN/i),j0e=o9(/REVOKE/i),M0e=o9(/BEGIN/i),o9(/GET/i),P0e=o9(/MOVE/i),F0e=o9(/RECEIVE/i),I0e=o9(/SEND/i),L0e=o9(/RENAME/i),R0e=o9(/DELETE/i),z0e=o9(/IF/i),B0e=o9(/sp_addextendedproperty/i),V0e=o9(/IN/i),H0e=o9(/AND/i),a9(`<`),a9(`>`),m9=a9(`(`),h9=a9(`,`),g9=a9(`)`),a9(`"`),K0e=a9(`'`),a9(`[`),a9(`]`),_9=a9(`=`),v9=a9(`;`),Y0e=o9(/@name/i),X0e=o9(/@value/i),Z0e=o9(/@level0type/i),Q0e=o9(/@level0name/i),$0e=o9(/@level1type/i),e2e=o9(/@level1name/i),t2e=o9(/@level2type/i),n2e=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,r2e,i2e,a2e,j9,M9,o2e,s2e,c2e,l2e,u2e,d2e,f2e,p2e,m2e,N9,h2e,g2e,_2e,v2e,y2e,P9,b2e,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(h1e.result({type:`pk`,value:!0}),l9.result({type:`unique`,value:!0})),pKeywordClusteredOrNon:()=>E9.default.alt(g1e,_1e),pKeywordAscOrDesc:()=>E9.default.alt(q1e,J1e)}),k9=O9.pColumnNames,A9=O9.pDotDelimitedName,r2e=O9.pOptionList,i2e=O9.pOption,a2e=O9.pComparsionOp,j9=O9.pConst,M9=O9.pFunction,O9.pFunctionParam,O9.pMoney,O9.pSigned,O9.pUnicode,O9.pString,d2e=O9.pNumberList,O9.pNumber,O9.pBinary,O9.pScience,N9=O9.pIdentifier,O9.pDelimitedIdentifier,O9.pRegularIdentifier,O9.pDQDelimitedIdentifier,O9.pBracketDelimitedIdentifier,y2e=O9.pKeywordPKOrUnique,P9=O9.pKeywordClusteredOrNon,O9.pKeywordAscOrDesc}));function x2e(e,t){let n=t.value.endpoints.find(e=>!e.tableName);n.tableName=e.name,n.schemaName=e.schemaName}function S2e(e,t){t.value.tableName=e.name,t.value.schemaName=e.schemaName}function C2e(e,t,n){if(!n)return null;let r=C9(t);return n.forEach(e=>{if(e)switch(e.type){case`refs`:x2e(r,e);break;case`indexes`:case`dbdefault`:case`enums`:S2e(r,e);break;default:break}}),n}var w2e=o((()=>{T9()}));function T2e(e){return e.many().map(e=>e.join(``)).fallback(null).thru(S9(`token`))}function E2e(e){let t=g9.thru(T2e),n=m9.thru(T2e);return I9.default.seq(n,e,t)}function D2e(e){return I9.default.alt(E2e(e),e)}var I9,O2e,k2e,A2e=o((()=>{I9=u(t9(),1),F9(),y9(),i9(),T9(),Yu(),O2e=I9.default.createLanguage({ExpressionFinal:e=>e.Expression.map(e=>Su(e).map(e=>e?e.value:``).join(``)),Expression:e=>D2e(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 D2e(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=>D2e(I9.default.alt(M9,j9,e.ExpressionDDN).skip(r9)),ExpressionDDN:()=>A9.map(e=>e.join(`.`)).thru(S9(`identifier`))}),k2e=O2e.ExpressionFinal}));function j2e(e,t,n){return{tableName:e.name,schemaName:e.schemaName,fieldNames:t,relation:n}}function M2e(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 N2e(e,t,n,r){let i={};return i.endpoint=j2e(C9(t),n,`1`),M2e(i,r),{type:`inline_refs`,value:[i]}}function P2e(e){return{type:`endpoint`,value:{fieldNames:e}}}function F2e(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],M2e(o,a),{type:`refs`,value:o}}function I2e(e,t){return{type:e,setting:t.toLowerCase().trim().split(/[ ]+/).join(` `)}}var L2e=o((()=>{T9()})),L9,R2e,z2e,B2e,V2e=o((()=>{L9=u(t9(),1),y9(),F9(),T9(),L2e(),R2e=L9.default.createLanguage({TableConstraintFK:e=>L9.default.seqMap(b1e.fallback(null),e.TableEndpoint,y1e,A9,e.TableEndpoint.fallback(null),e.FKOptions.fallback(null),F2e),TableEndpoint:()=>L9.default.seqMap(k9,P2e).thru(b9()),ColumnConstraintFK:e=>L9.default.seqMap(e.FKKeywords,A9,x9(N9).fallback(null),e.FKOptions.fallback(null),N2e),FKOptions:e=>L9.default.alt(e.FKOnDelete,e.FKOnUpdate,e.FKNFR).many(),FKKeywords:()=>L9.default.seq(b1e.fallback(null),y1e),FKOnDelete:e=>L9.default.seqMap(T1e,e.FKOnOptions,I2e),FKOnUpdate:e=>L9.default.seqMap(E1e,e.FKOnOptions,I2e),FKNFR:()=>u9.map(e=>({type:e})),FKOnOptions:()=>L9.default.alt(k1e,A1e,O1e,D1e)}),z2e=R2e.ColumnConstraintFK,B2e=R2e.TableConstraintFK}));function H2e(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 U2e(e,t){return{type:`indexes`,value:{name:t,columns:[]}}}function W2e(e,t,n,r,i,a){return H2e(a,n,null,t)}function G2e(e,t,n){let r=null,i=null;return e.type===`pk`?r=!0:e.type===`unique`&&(i=!0),H2e(n,i,r)}var K2e=o((()=>{})),R9,z9,q2e,J2e,Y2e,X2e,Z2e,B9=o((()=>{R9=u(t9(),1),y9(),F9(),T9(),K2e(),z9=R9.default.createLanguage({TableIndex:e=>R9.default.seqMap(s9,N9,l9.fallback(null),P9.fallback(null),v1e.fallback(null),k9,W2e).thru(b9()).skip(e.IgnoredIndexOptions),TableConstraintIndex:e=>R9.default.seqMap(y2e,P9.fallback(null),k9,G2e).thru(b9()).skip(e.IgnoredIndexOptions),ColumnConstraintIndex:e=>R9.default.seq(y2e).skip(e.IgnoredIndexOptions).map(e=>e[0]),ColumnIndex:e=>R9.default.seqMap(s9,N9,U2e).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,r2e),WithFillFactorOption:()=>R9.default.seq(c9,i2e),OnIndexOption:()=>R9.default.seq(f1e,R9.default.alt(N9,M9)),ColumnIndexFilestream:()=>R9.default.seq(m1e,N9)}),q2e=z9.ColumnIndex,J2e=z9.IgnoredIndexOption,Y2e=z9.TableIndex,X2e=z9.ColumnConstraintIndex,Z2e=z9.TableConstraintIndex}));function Q2e(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 $2e(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 e4e(e,t){return t?{type:t.type,value:{...t.value,name:t.type===`indexes`&&t.value.pk?null:e}}:null}var t4e=o((()=>{})),V9,H9,n4e,r4e,i4e,a4e,o4e,U9=o((()=>{V9=u(t9(),1),y9(),A2e(),F9(),T9(),V2e(),B9(),t4e(),H9=V9.default.createLanguage({TableConstraint:e=>V9.default.seqMap(e.ConstraintName.fallback(null),e.TableConstraintOption,e4e).thru(b9()),TableConstraintOption:e=>V9.default.alt(B2e,Z2e,e.ConstraintCheck),ColumnConstraint:e=>V9.default.seq(e.ConstraintName.fallback(null),e.ColumnConstraintOption).map(e=>e[1]),ColumnConstraintOption:e=>V9.default.alt(X2e,z2e,e.ConstraintCheck,e.ConstraintDefault),ConstraintCheck:e=>V9.default.seq(x1e,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]),k2e.thru(S9(`expression`))),ConstraintCheckEnum:()=>V9.default.seqMap(N9,V0e,x9(j9.thru(b9())),$2e).thru(b9()),ConstraintDefault:e=>V9.default.seqMap(F1e,e.ConstExpr,Q2e),ConstExpr:e=>V9.default.alt(V9.default.seq(m9,e.ConstExpr,g9).map(e=>e[1]),M9,j9,N1e.thru(S9(`boolean`))),ConstraintName:()=>V9.default.seq(S1e,N9).map(e=>e[1])}),n4e=H9.ColumnConstraint,r4e=H9.TableConstraint,i4e=H9.ConstraintCheck,a4e=H9.ConstraintName,o4e=H9.ConstExpr}));function s4e(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 c4e=o((()=>{U9()}));function l4e(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 u4e(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 d4e=o((()=>{Yu()})),W9,G9,f4e,p4e,m4e,h4e=o((()=>{W9=u(t9(),1),y9(),F9(),T9(),B9(),U9(),A2e(),d4e(),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),u4e).thru(b9()),ColumnSetDefinition:()=>W9.default.seq(N9,e0e),ComputedColumnDefinition:()=>W9.default.seq(N9,Q1e,k2e,W9.default.seq($1e,P1e.fallback(null)).fallback(null),n4e.fallback(null)),ColumnSetting:e=>W9.default.alt(e.NullOrNot,e.Identity,q2e,n4e),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),l4e),DataTypeXML:()=>W9.default.seq(W9.default.alt(M1e,j1e),N9).tieWith(` `),NullOrNot:()=>W9.default.alt(N1e.result(!1),P1e.result(!0)).thru(S9(`not_null`)),Identity:()=>d1e.result(!0).skip(d2e.fallback(null)).thru(S9(`increment`)),ColumnSetting1Word:()=>W9.default.alt(I1e,u9,z1e,R1e),ColumnSettingWith:()=>W9.default.seq(W9.default.alt(B1e,V1e),c9,r2e),ColumnSettingCollate:()=>W9.default.seq(L1e,N9),ColumnSettingGAAR:()=>W9.default.seq(U1e,W9.default.alt(W1e,G1e),K1e.fallback(null))}),G9.Identity,G9.DataType,m4e=G9.ColumnsDefinition})),K9,g4e,_4e,v4e=o((()=>{K9=u(t9(),1),y9(),F9(),T9(),c4e(),V2e(),B9(),U9(),h4e(),g4e=K9.default.createLanguage({AddAction:e=>K9.default.seq(l0e,e.AddOption.sepBy1(h9)).map(e=>e[1]),AddOption:e=>K9.default.alt(e.AddConstraint,m4e.result(null),e.IgnoredAddSystemTimeOption.result(null)),IgnoredAddSystemTimeOption:()=>K9.default.alt(N9,K9.default.regexp(/[(),]/)).many(),AddConstraint:e=>K9.default.seqMap(a4e.fallback(null),e.AddConstraintOption,e4e).thru(b9()),AddConstraintOption:e=>K9.default.alt(B2e,Z2e,i4e,e.AddConstraintDefault,e.IgnoredAddConstraintOption.result(null)),IgnoredAddConstraintOption:e=>K9.default.alt(e.AddConstraintConnection),AddConstraintDefault:()=>K9.default.seqMap(F1e,o4e,i0e,N9,a0e.fallback(null),s4e),AddConstraintConnection:()=>K9.default.seq(o0e,x9(K9.default.seq(N9,s0e,N9)))}),_4e=g4e.AddAction})),q9,y4e,b4e,x4e=o((()=>{q9=u(t9(),1),y9(),F9(),w2e(),v4e(),y4e=q9.default.createLanguage({AlterTable:e=>q9.default.seqMap(e.AlterTableKeywords,A9,e.AlterTableActions,C2e),AlterTableActions:e=>q9.default.alt(_4e,e.IgnoredAlterTableActions),AlterTableKeywords:()=>q9.default.seq(c0e,d9),IgnoredAlterTableActions:e=>q9.default.seq(e.IgnoredAlterTableActionKeywords,D9).result(null),IgnoredAlterTableActionKeywords:()=>q9.default.alt(c9,_0e,g0e,p0e,m0e,x1e,f0e,u0e,d0e)}),b4e=y4e.AlterTable}));function S4e(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 C4e=o((()=>{T9()})),J9,w4e,T4e,E4e=o((()=>{J9=u(t9(),1),y9(),F9(),T9(),C4e(),B9(),w4e=J9.default.createLanguage({CreateIndex:e=>J9.default.seqMap(f9,l9.fallback(null),P9.fallback(null),s9,N9,f1e,A9,k9,S4e).thru(b9()).skip(e.IgnoredCreateIndexOptions),IgnoredCreateIndexOptions:e=>J9.default.alt(J2e,e.IncludeIndexOption,e.WhereIndexOption).many(),IncludeIndexOption:()=>J9.default.seq(t0e,k9),WhereIndexOption:e=>J9.default.seq(r0e,e.FilterPredicate),FilterPredicate:e=>J9.default.seq(e.Conjunct,J9.default.seq(H0e,e.Conjunct).fallback(null)),Conjunct:e=>J9.default.alt(e.Disjunct,e.Comparsion),Disjunct:()=>J9.default.seq(N9,n0e,x9(j9)),Comparsion:()=>J9.default.seq(N9,a2e,j9)}),T4e=w4e.CreateIndex}));function D4e(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 O4e(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 k4e(e,t){t.indexes&&=(t.indexes.columns.push({value:t.name,type:`column`}),e.push(t.indexes),null)}function A4e(e,t){let n={fields:[],enums:[],refs:[],indexes:[]};return e.forEach(e=>{if(e&&n[e.type]){if(e.type===`fields`&&(O4e(n.enums,e.value,t),k4e(n.indexes,e.value),D4e(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 j4e(e,t,n,r){let i=C9(t),a=A4e(r,i);return{type:`tables`,value:{...i,...a.value}}}var M4e=o((()=>{T9()})),Y9,N4e,P4e,F4e=o((()=>{Y9=u(t9(),1),y9(),F9(),T9(),U9(),B9(),h4e(),M4e(),N4e=Y9.default.createLanguage({CreateTable:e=>Y9.default.seqMap(e.CreateTableKeywords,A9,e.AsFileTableKeywords.fallback(null),x9(e.Line),j4e).thru(b9()).skip(e.IgnoredTableOptions),CreateTableKeywords:()=>Y9.default.seq(f9,d9),AsFileTableKeywords:()=>Y9.default.seq(Q1e,Z1e),Line:e=>Y9.default.alt(e.SystemTimeTableOption,r4e,Y2e,m4e),SystemTimeTableOption:()=>Y9.default.seq(X1e,x9(N9)).result(null),IgnoredTableOptions:e=>Y9.default.alt(J2e,e.TextImageTableOption).many(),TextImageTableOption:()=>Y9.default.seq(Y1e,N9)}),P4e=N4e.CreateTable}));function I4e({note:e,level:t}){let n=`unsupported`,r=null,i=null,a=null;return B4e(t)?(r=t[0].name,i=t[1].name,n=`table`):V4e(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 L4e,R4e,z4e,B4e,V4e,H4e=o((()=>{L4e=e=>e.toLowerCase()===`schema`,R4e=e=>e.toLowerCase()===`table`,z4e=e=>e.toLowerCase()===`column`,B4e=e=>e.length===2&&L4e(e[0].type)&&R4e(e[1].type),V4e=e=>e.length===3&&L4e(e[0].type)&&R4e(e[1].type)&&z4e(e[2].type)})),X9,U4e,W4e,G4e=o((()=>{X9=u(t9(),1),y9(),H4e(),T9(),U4e=X9.default.createLanguage({StartComment:()=>X9.default.seq(O0e,B0e),EndComment:()=>X9.default.seq(v9.atMost(1),p9),StartString:()=>X9.default.alt(K0e,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(K0e),NameOption:e=>Y0e.skip(_9).then(e.NVarchar),ValueOption:e=>X0e.skip(_9).then(e.NVarchar),Level0Type:e=>Z0e.skip(_9).then(e.NVarchar),Level0Name:e=>Q0e.skip(_9).then(e.NVarchar),Level1Type:e=>$0e.skip(_9).then(e.NVarchar),Level1Name:e=>e2e.skip(_9).then(e.NVarchar),Level2Type:e=>t2e.skip(_9).then(e.NVarchar),Level2Name:e=>n2e.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(I4e).thru(b9())}),W4e=U4e.CommentSyntax})),K4e=o((()=>{x4e(),E4e(),F4e(),G4e()}));function Z9(e,t,n){let r=n||`public`;return e.tables.find(e=>(e.schemaName||`public`)===r&&e.name===t)}function q4e(e,t){return e.fields.find(e=>e.name===t)}function J4e(e,t){Z9(t,e.tableName,e.schemaName).indexes.push(e),e.tableName=null}function Y4e(e,t){e.forEach(e=>{t.push(e)})}function X4e(e,t){Y4e(e.enums,t.enums),Y4e(e.refs,t.refs),e.enums.forEach(e=>{e.fieldName=null}),e.enums=null,e.refs=null}function Z4e(e,t){let n=q4e(Z9(t,e.tableName,e.schemaName),e.fieldName);e.fieldName=null,e.tableName=null,n.dbdefault=e}function Q4e(e,t){let n=q4e(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 $4e(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 e3e(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=Z9(t,e.tableName,n);if(r){let t=q4e(r,e.columnName);t&&(t.note=e.note?{value:e.note}:null)}}function t3e(e,t){e.type===`table`?$4e(e,t):e.type===`column`&&e3e(e,t)}function n3e(e){let t={tables:[],refs:[],indexes:[],enums:[]};return ao(e).forEach(e=>{if(e){switch(e.type){case`tables`:X4e(e.value,t);break;case`indexes`:J4e(e.value,t);break;case`dbdefault`:Z4e(e.value,t);break;case`enums`:Q4e(e.value,t);break;case`comment`:t3e(e.value,t);break;default:break}e.type&&t[e.type]&&t[e.type].push(e.value)}}),t.indexes=null,t}var r3e=o((()=>{Yu()})),Q9,i3e,$9,a3e=o((()=>{Q9=u(t9(),1),y9(),K4e(),i9(),r3e(),F9(),i3e=Q9.default.createLanguage({Statements:e=>r9.then(e.Seperator).then(Q9.default.sepBy(e.StatementTypes,e.Seperator)).skip(e.Seperator).map(n3e),StatementTypes:e=>Q9.default.alt(T4e,P4e,b4e,W4e,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,l0e,T0e,u0e,z0e),IgnoredDDLSyntax:e=>Q9.default.alt(e.KeywordCreateWithoutTable,e.KeywordAlterWithoutTable,L1e,g0e,L0e,p0e,m0e),IgnoredDMLSyntax:()=>Q9.default.alt(v0e,y0e,b0e,x0e,S0e,R0e),IgnoredServiceBrokerSyntax:()=>Q9.default.alt(M0e,G1e,P0e,F0e,I0e),IgnoredPermissionSyntax:()=>Q9.default.alt(E0e,D0e,k0e,A0e,j0e),IgnoredBackupAndRestoreSyntax:()=>Q9.default.alt(C0e,w0e),KeywordCreateWithoutTable:()=>f9.notFollowedBy(d9),KeywordAlterWithoutTable:()=>c0e.notFollowedBy(d9),Seperator:()=>Q9.default.alt(v9,p9,Q9.default.seq(v9,p9)).many()}),$9=i3e.Statements})),o3e=c({default:()=>s3e},1),s3e,c3e=o((()=>{a3e(),$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}},s3e=$9})),l3e=s(((e,t)=>{t.exports=(c3e(),d(o3e))})),u3e=u(r1e(),1),d3e=u(i1e(),1),f3e=u(a1e(),1),p3e=u(o1e(),1),m3e=u(l3e(),1),h3e=class e{constructor(e){this.DBMLCompiler=e||new j_}static parseJSONToDatabase(e){return new Ive(e)}static parseMySQLToJSONv2(e){return Q7(e,`mysql`)}static parseMySQLToJSON(e){return u3e.default.parse(e)}static parsePostgresToJSONv2(e){return Q7(e,`postgres`)}static parsePostgresToJSON(e){return d3e.default.parse(e)}static parseDBMLToJSONv2(e,t){let n=t||new j_;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 f3e.default.parse(e)}static parseSchemaRbToJSON(e){return p3e.default.parse(e)}static parseMSSQLToJSON(e){return m3e.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)}}},g3e=h3e,_3e=e=>new Ive(e),v3e=e=>e.map(e=>{let{name:t,endpoints:n,onDelete:r,onUpdate:i}=e;return new oA({name:t,endpoints:n.map(e=>new aA(e)),onDelete:r,onUpdate:i}).toJSON()}),y3e=e=>e.map(e=>{let{name:t,schemaName:n,values:r}=e;return new sA({name:t,schemaName:n,values:r})}),b3e=(e,t)=>e.map(e=>{let n=t[e.name]||{};return new rA({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})}),x3e=e=>e.map(e=>{let{name:t,unique:n,pk:r,type:i,columns:a}=e;return new nA({name:t,unique:n,pk:r,type:i,columns:a})}),S3e=(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 iA({name:a,schemaName:o,fields:b3e(t[c],l),indexes:x3e(n[c]||[]),note:s,checks:r[c]})}),C3e=e=>{let{tables:t,fields:n,indexes:r,refs:i,enums:a,tableConstraints:o,checks:s}=e;try{let e=S3e(t,n,r,s,o),c=y3e(a);return _3e({schemas:[],tables:e,refs:v3e(i),enums:c,tableGroups:[],aliases:[],project:{}})}catch(e){throw Error(e)}};function w3e(e,t){let n=new g3e().parse(e,t);return oy.export(n.normalize(),`dbml`)}function T3e(e){let t=C3e(e);return oy.export(t.normalize(),`dbml`)}var E3e={import:w3e,generateDbml:T3e};function D3e(e,t){let n=new g3e().parse(e,`dbmlv2`);return oy.export(n.normalize(),t)}var O3e={export:D3e};function k3e(e,t,n){let r=new j_;return r.setSource(n),r.renameTable(e,t)}const A3e=`6.3.0`,j3e=`6.3.0`;exports.CompilerError=K7,exports.ModelExporter=oy,exports.Parser=g3e,exports.VERSION=`6.3.0`,exports.addDoubleQuoteIfNeeded=h_,exports.exporter=O3e,exports.formatRecordValue=Pfe,exports.importer=E3e,exports.isBinaryType=dh,exports.isBooleanType=lh,exports.isDateTimeType=fh,exports.isFloatType=sh,exports.isIntegerType=oh,exports.isNumericType=ch,exports.isSerialType=ph,exports.isStringType=uh,exports.renameTable=k3e,exports.tryExtractBoolean=t_,exports.tryExtractDateTime=r_,exports.tryExtractEnum=rfe,exports.tryExtractInteger=efe,exports.tryExtractNumeric=e_,exports.tryExtractString=n_;
|
|
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,s1e,r9,i9=o((()=>{n9=u(t9()),s1e=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=s1e.WhiteSpaces}));function a9(e){return l1e.default.string(e).skip(r9).desc(`"${e}"`)}function c1e(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=c1e(e),l1e.default.regexp(t).skip(r9).desc(`"${n}"`)}var l1e,u1e=o((()=>{l1e=u(t9()),i9()})),d1e,s9,c9,f1e,p1e,m1e,h1e,g1e,_1e,v1e,y1e,b1e,x1e,S1e,l9,C1e,w1e,u9,T1e,E1e,D1e,O1e,k1e,A1e,j1e,M1e,N1e,P1e,F1e,I1e,L1e,R1e,z1e,B1e,V1e,H1e,U1e,W1e,G1e,K1e,q1e,J1e,Y1e,X1e,Z1e,d9,f9,Q1e,$1e,e0e,t0e,n0e,r0e,i0e,a0e,o0e,s0e,c0e,l0e,u0e,d0e,f0e,p0e,m0e,h0e,g0e,_0e,p9,v0e,y0e,b0e,x0e,S0e,C0e,w0e,T0e,E0e,D0e,O0e,k0e,A0e,j0e,M0e,N0e,P0e,F0e,I0e,L0e,R0e,z0e,B0e,V0e,H0e,U0e,W0e,m9,h9,g9,G0e,K0e,q0e,J0e,_9,v9,Y0e,X0e,Z0e,Q0e,$0e,e2e,t2e,n2e,y9=o((()=>{u1e(),d1e=o9(/IDENTITY/i),s9=o9(/INDEX/i),c9=o9(/WITH/i),f1e=o9(/ON/i),o9(/OFF/i),m1e=o9(/FILESTREAM_ON/i),h1e=o9(/PRIMARY KEY/i),g1e=o9(/CLUSTERED/i),_1e=o9(/NONCLUSTERED/i),v1e=o9(/COLUMNSTORE/i),y1e=o9(/REFERENCES/i),b1e=o9(/FOREIGN KEY/i),x1e=o9(/CHECK/i),S1e=o9(/CONSTRAINT/i),l9=o9(/UNIQUE/i),o9(/HASH/i),o9(/BUCKET_COUNT/i),u9=o9(/NOT FOR REPLICATION/),T1e=o9(/ON DELETE/i),E1e=o9(/ON UPDATE/i),D1e=o9(/SET NULL/i),O1e=o9(/SET DEFAULT/i),k1e=o9(/NO ACTION/i),A1e=o9(/CASCADE/i),j1e=o9(/CONTENT/i),M1e=o9(/DOCUMENT/i),N1e=o9(/NULL/i),P1e=o9(/NOT NULL/i),F1e=o9(/DEFAULT/i),I1e=o9(/FILESTREAM/i),L1e=o9(/COLLATE/i),R1e=o9(/SPARSE/i),z1e=o9(/ROWGUIDCOL/i),B1e=o9(/MASKED/i),V1e=o9(/ENCRYPTED/i),o9(/FUNCTION/i),U1e=o9(/GENERATED ALWAYS AS ROW/i),W1e=o9(/START/i),G1e=o9(/END/i),K1e=o9(/HIDDEN/i),q1e=o9(/ASC/i),J1e=o9(/DESC/i),Y1e=o9(/TEXTIMAGE_ON/i),X1e=o9(/PERIOD FOR SYSTEM_TIME/i),Z1e=o9(/FILETABLE/i),d9=o9(/TABLE/i),f9=o9(/CREATE/i),Q1e=o9(/AS/i),$1e=o9(/PERSISTED/i),e0e=o9(/XML COLUMN_SET FOR ALL_SPARSE_COLUMNS/i),t0e=o9(/INCLUDE/i),n0e=o9(/IN/i),r0e=o9(/WHERE/i),i0e=o9(/FOR/i),a0e=o9(/WITH VALUES/i),o0e=o9(/CONNECTION/i),s0e=o9(/TO/i),c0e=o9(/ALTER/i),l0e=o9(/ADD/i),u0e=o9(/SET/i),d0e=o9(/REBUILD/i),f0e=o9(/SWITCH/i),p0e=o9(/ENABLE/i),m0e=o9(/DISABLE/i),o9(/NOCHECK/i),g0e=o9(/DROP/i),_0e=o9(/ALTER COLUMN/i),p9=o9(/GO/i),v0e=o9(/BULK INSERT/i),y0e=o9(/INSERT/i),b0e=o9(/UPDATE/i),x0e=o9(/MERGE/i),S0e=o9(/TRUNCATE TABLE/i),C0e=o9(/BACKUP/i),w0e=o9(/RESTORE/i),T0e=o9(/CLOSE/i),E0e=o9(/DENY/i),D0e=o9(/EXECUTE/i),O0e=o9(/EXEC/i),k0e=o9(/GRANT/i),A0e=o9(/OPEN/i),j0e=o9(/REVOKE/i),M0e=o9(/BEGIN/i),o9(/GET/i),P0e=o9(/MOVE/i),F0e=o9(/RECEIVE/i),I0e=o9(/SEND/i),L0e=o9(/RENAME/i),R0e=o9(/DELETE/i),z0e=o9(/IF/i),B0e=o9(/sp_addextendedproperty/i),V0e=o9(/IN/i),H0e=o9(/AND/i),a9(`<`),a9(`>`),m9=a9(`(`),h9=a9(`,`),g9=a9(`)`),a9(`"`),K0e=a9(`'`),a9(`[`),a9(`]`),_9=a9(`=`),v9=a9(`;`),Y0e=o9(/@name/i),X0e=o9(/@value/i),Z0e=o9(/@level0type/i),Q0e=o9(/@level0name/i),$0e=o9(/@level1type/i),e2e=o9(/@level1name/i),t2e=o9(/@level2type/i),n2e=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,r2e,i2e,a2e,j9,M9,o2e,s2e,c2e,l2e,u2e,d2e,f2e,p2e,m2e,N9,h2e,g2e,_2e,v2e,y2e,P9,b2e,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(h1e.result({type:`pk`,value:!0}),l9.result({type:`unique`,value:!0})),pKeywordClusteredOrNon:()=>E9.default.alt(g1e,_1e),pKeywordAscOrDesc:()=>E9.default.alt(q1e,J1e)}),k9=O9.pColumnNames,A9=O9.pDotDelimitedName,r2e=O9.pOptionList,i2e=O9.pOption,a2e=O9.pComparsionOp,j9=O9.pConst,M9=O9.pFunction,O9.pFunctionParam,O9.pMoney,O9.pSigned,O9.pUnicode,O9.pString,d2e=O9.pNumberList,O9.pNumber,O9.pBinary,O9.pScience,N9=O9.pIdentifier,O9.pDelimitedIdentifier,O9.pRegularIdentifier,O9.pDQDelimitedIdentifier,O9.pBracketDelimitedIdentifier,y2e=O9.pKeywordPKOrUnique,P9=O9.pKeywordClusteredOrNon,O9.pKeywordAscOrDesc}));function x2e(e,t){let n=t.value.endpoints.find(e=>!e.tableName);n.tableName=e.name,n.schemaName=e.schemaName}function S2e(e,t){t.value.tableName=e.name,t.value.schemaName=e.schemaName}function C2e(e,t,n){if(!n)return null;let r=C9(t);return n.forEach(e=>{if(e)switch(e.type){case`refs`:x2e(r,e);break;case`indexes`:case`dbdefault`:case`enums`:S2e(r,e);break;default:break}}),n}var w2e=o((()=>{T9()}));function T2e(e){return e.many().map(e=>e.join(``)).fallback(null).thru(S9(`token`))}function E2e(e){let t=g9.thru(T2e),n=m9.thru(T2e);return I9.default.seq(n,e,t)}function D2e(e){return I9.default.alt(E2e(e),e)}var I9,O2e,k2e,A2e=o((()=>{I9=u(t9()),F9(),y9(),i9(),T9(),Yu(),O2e=I9.default.createLanguage({ExpressionFinal:e=>e.Expression.map(e=>Su(e).map(e=>e?e.value:``).join(``)),Expression:e=>D2e(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 D2e(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=>D2e(I9.default.alt(M9,j9,e.ExpressionDDN).skip(r9)),ExpressionDDN:()=>A9.map(e=>e.join(`.`)).thru(S9(`identifier`))}),k2e=O2e.ExpressionFinal}));function j2e(e,t,n){return{tableName:e.name,schemaName:e.schemaName,fieldNames:t,relation:n}}function M2e(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 N2e(e,t,n,r){let i={};return i.endpoint=j2e(C9(t),n,`1`),M2e(i,r),{type:`inline_refs`,value:[i]}}function P2e(e){return{type:`endpoint`,value:{fieldNames:e}}}function F2e(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],M2e(o,a),{type:`refs`,value:o}}function I2e(e,t){return{type:e,setting:t.toLowerCase().trim().split(/[ ]+/).join(` `)}}var L2e=o((()=>{T9()})),L9,R2e,z2e,B2e,V2e=o((()=>{L9=u(t9()),y9(),F9(),T9(),L2e(),R2e=L9.default.createLanguage({TableConstraintFK:e=>L9.default.seqMap(b1e.fallback(null),e.TableEndpoint,y1e,A9,e.TableEndpoint.fallback(null),e.FKOptions.fallback(null),F2e),TableEndpoint:()=>L9.default.seqMap(k9,P2e).thru(b9()),ColumnConstraintFK:e=>L9.default.seqMap(e.FKKeywords,A9,x9(N9).fallback(null),e.FKOptions.fallback(null),N2e),FKOptions:e=>L9.default.alt(e.FKOnDelete,e.FKOnUpdate,e.FKNFR).many(),FKKeywords:()=>L9.default.seq(b1e.fallback(null),y1e),FKOnDelete:e=>L9.default.seqMap(T1e,e.FKOnOptions,I2e),FKOnUpdate:e=>L9.default.seqMap(E1e,e.FKOnOptions,I2e),FKNFR:()=>u9.map(e=>({type:e})),FKOnOptions:()=>L9.default.alt(k1e,A1e,O1e,D1e)}),z2e=R2e.ColumnConstraintFK,B2e=R2e.TableConstraintFK}));function H2e(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 U2e(e,t){return{type:`indexes`,value:{name:t,columns:[]}}}function W2e(e,t,n,r,i,a){return H2e(a,n,null,t)}function G2e(e,t,n){let r=null,i=null;return e.type===`pk`?r=!0:e.type===`unique`&&(i=!0),H2e(n,i,r)}var K2e=o((()=>{})),R9,z9,q2e,J2e,Y2e,X2e,Z2e,B9=o((()=>{R9=u(t9()),y9(),F9(),T9(),K2e(),z9=R9.default.createLanguage({TableIndex:e=>R9.default.seqMap(s9,N9,l9.fallback(null),P9.fallback(null),v1e.fallback(null),k9,W2e).thru(b9()).skip(e.IgnoredIndexOptions),TableConstraintIndex:e=>R9.default.seqMap(y2e,P9.fallback(null),k9,G2e).thru(b9()).skip(e.IgnoredIndexOptions),ColumnConstraintIndex:e=>R9.default.seq(y2e).skip(e.IgnoredIndexOptions).map(e=>e[0]),ColumnIndex:e=>R9.default.seqMap(s9,N9,U2e).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,r2e),WithFillFactorOption:()=>R9.default.seq(c9,i2e),OnIndexOption:()=>R9.default.seq(f1e,R9.default.alt(N9,M9)),ColumnIndexFilestream:()=>R9.default.seq(m1e,N9)}),q2e=z9.ColumnIndex,J2e=z9.IgnoredIndexOption,Y2e=z9.TableIndex,X2e=z9.ColumnConstraintIndex,Z2e=z9.TableConstraintIndex}));function Q2e(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 $2e(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 e4e(e,t){return t?{type:t.type,value:{...t.value,name:t.type===`indexes`&&t.value.pk?null:e}}:null}var t4e=o((()=>{})),V9,H9,n4e,r4e,i4e,a4e,o4e,U9=o((()=>{V9=u(t9()),y9(),A2e(),F9(),T9(),V2e(),B9(),t4e(),H9=V9.default.createLanguage({TableConstraint:e=>V9.default.seqMap(e.ConstraintName.fallback(null),e.TableConstraintOption,e4e).thru(b9()),TableConstraintOption:e=>V9.default.alt(B2e,Z2e,e.ConstraintCheck),ColumnConstraint:e=>V9.default.seq(e.ConstraintName.fallback(null),e.ColumnConstraintOption).map(e=>e[1]),ColumnConstraintOption:e=>V9.default.alt(X2e,z2e,e.ConstraintCheck,e.ConstraintDefault),ConstraintCheck:e=>V9.default.seq(x1e,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]),k2e.thru(S9(`expression`))),ConstraintCheckEnum:()=>V9.default.seqMap(N9,V0e,x9(j9.thru(b9())),$2e).thru(b9()),ConstraintDefault:e=>V9.default.seqMap(F1e,e.ConstExpr,Q2e),ConstExpr:e=>V9.default.alt(V9.default.seq(m9,e.ConstExpr,g9).map(e=>e[1]),M9,j9,N1e.thru(S9(`boolean`))),ConstraintName:()=>V9.default.seq(S1e,N9).map(e=>e[1])}),n4e=H9.ColumnConstraint,r4e=H9.TableConstraint,i4e=H9.ConstraintCheck,a4e=H9.ConstraintName,o4e=H9.ConstExpr}));function s4e(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 c4e=o((()=>{U9()}));function l4e(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 u4e(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 d4e=o((()=>{Yu()})),W9,G9,f4e,p4e,m4e,h4e=o((()=>{W9=u(t9()),y9(),F9(),T9(),B9(),U9(),A2e(),d4e(),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),u4e).thru(b9()),ColumnSetDefinition:()=>W9.default.seq(N9,e0e),ComputedColumnDefinition:()=>W9.default.seq(N9,Q1e,k2e,W9.default.seq($1e,P1e.fallback(null)).fallback(null),n4e.fallback(null)),ColumnSetting:e=>W9.default.alt(e.NullOrNot,e.Identity,q2e,n4e),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),l4e),DataTypeXML:()=>W9.default.seq(W9.default.alt(M1e,j1e),N9).tieWith(` `),NullOrNot:()=>W9.default.alt(N1e.result(!1),P1e.result(!0)).thru(S9(`not_null`)),Identity:()=>d1e.result(!0).skip(d2e.fallback(null)).thru(S9(`increment`)),ColumnSetting1Word:()=>W9.default.alt(I1e,u9,z1e,R1e),ColumnSettingWith:()=>W9.default.seq(W9.default.alt(B1e,V1e),c9,r2e),ColumnSettingCollate:()=>W9.default.seq(L1e,N9),ColumnSettingGAAR:()=>W9.default.seq(U1e,W9.default.alt(W1e,G1e),K1e.fallback(null))}),G9.Identity,G9.DataType,m4e=G9.ColumnsDefinition})),K9,g4e,_4e,v4e=o((()=>{K9=u(t9()),y9(),F9(),T9(),c4e(),V2e(),B9(),U9(),h4e(),g4e=K9.default.createLanguage({AddAction:e=>K9.default.seq(l0e,e.AddOption.sepBy1(h9)).map(e=>e[1]),AddOption:e=>K9.default.alt(e.AddConstraint,m4e.result(null),e.IgnoredAddSystemTimeOption.result(null)),IgnoredAddSystemTimeOption:()=>K9.default.alt(N9,K9.default.regexp(/[(),]/)).many(),AddConstraint:e=>K9.default.seqMap(a4e.fallback(null),e.AddConstraintOption,e4e).thru(b9()),AddConstraintOption:e=>K9.default.alt(B2e,Z2e,i4e,e.AddConstraintDefault,e.IgnoredAddConstraintOption.result(null)),IgnoredAddConstraintOption:e=>K9.default.alt(e.AddConstraintConnection),AddConstraintDefault:()=>K9.default.seqMap(F1e,o4e,i0e,N9,a0e.fallback(null),s4e),AddConstraintConnection:()=>K9.default.seq(o0e,x9(K9.default.seq(N9,s0e,N9)))}),_4e=g4e.AddAction})),q9,y4e,b4e,x4e=o((()=>{q9=u(t9()),y9(),F9(),w2e(),v4e(),y4e=q9.default.createLanguage({AlterTable:e=>q9.default.seqMap(e.AlterTableKeywords,A9,e.AlterTableActions,C2e),AlterTableActions:e=>q9.default.alt(_4e,e.IgnoredAlterTableActions),AlterTableKeywords:()=>q9.default.seq(c0e,d9),IgnoredAlterTableActions:e=>q9.default.seq(e.IgnoredAlterTableActionKeywords,D9).result(null),IgnoredAlterTableActionKeywords:()=>q9.default.alt(c9,_0e,g0e,p0e,m0e,x1e,f0e,u0e,d0e)}),b4e=y4e.AlterTable}));function S4e(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 C4e=o((()=>{T9()})),J9,w4e,T4e,E4e=o((()=>{J9=u(t9()),y9(),F9(),T9(),C4e(),B9(),w4e=J9.default.createLanguage({CreateIndex:e=>J9.default.seqMap(f9,l9.fallback(null),P9.fallback(null),s9,N9,f1e,A9,k9,S4e).thru(b9()).skip(e.IgnoredCreateIndexOptions),IgnoredCreateIndexOptions:e=>J9.default.alt(J2e,e.IncludeIndexOption,e.WhereIndexOption).many(),IncludeIndexOption:()=>J9.default.seq(t0e,k9),WhereIndexOption:e=>J9.default.seq(r0e,e.FilterPredicate),FilterPredicate:e=>J9.default.seq(e.Conjunct,J9.default.seq(H0e,e.Conjunct).fallback(null)),Conjunct:e=>J9.default.alt(e.Disjunct,e.Comparsion),Disjunct:()=>J9.default.seq(N9,n0e,x9(j9)),Comparsion:()=>J9.default.seq(N9,a2e,j9)}),T4e=w4e.CreateIndex}));function D4e(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 O4e(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 k4e(e,t){t.indexes&&=(t.indexes.columns.push({value:t.name,type:`column`}),e.push(t.indexes),null)}function A4e(e,t){let n={fields:[],enums:[],refs:[],indexes:[]};return e.forEach(e=>{if(e&&n[e.type]){if(e.type===`fields`&&(O4e(n.enums,e.value,t),k4e(n.indexes,e.value),D4e(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 j4e(e,t,n,r){let i=C9(t),a=A4e(r,i);return{type:`tables`,value:{...i,...a.value}}}var M4e=o((()=>{T9()})),Y9,N4e,P4e,F4e=o((()=>{Y9=u(t9()),y9(),F9(),T9(),U9(),B9(),h4e(),M4e(),N4e=Y9.default.createLanguage({CreateTable:e=>Y9.default.seqMap(e.CreateTableKeywords,A9,e.AsFileTableKeywords.fallback(null),x9(e.Line),j4e).thru(b9()).skip(e.IgnoredTableOptions),CreateTableKeywords:()=>Y9.default.seq(f9,d9),AsFileTableKeywords:()=>Y9.default.seq(Q1e,Z1e),Line:e=>Y9.default.alt(e.SystemTimeTableOption,r4e,Y2e,m4e),SystemTimeTableOption:()=>Y9.default.seq(X1e,x9(N9)).result(null),IgnoredTableOptions:e=>Y9.default.alt(J2e,e.TextImageTableOption).many(),TextImageTableOption:()=>Y9.default.seq(Y1e,N9)}),P4e=N4e.CreateTable}));function I4e({note:e,level:t}){let n=`unsupported`,r=null,i=null,a=null;return B4e(t)?(r=t[0].name,i=t[1].name,n=`table`):V4e(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 L4e,R4e,z4e,B4e,V4e,H4e=o((()=>{L4e=e=>e.toLowerCase()===`schema`,R4e=e=>e.toLowerCase()===`table`,z4e=e=>e.toLowerCase()===`column`,B4e=e=>e.length===2&&L4e(e[0].type)&&R4e(e[1].type),V4e=e=>e.length===3&&L4e(e[0].type)&&R4e(e[1].type)&&z4e(e[2].type)})),X9,U4e,W4e,G4e=o((()=>{X9=u(t9()),y9(),H4e(),T9(),U4e=X9.default.createLanguage({StartComment:()=>X9.default.seq(O0e,B0e),EndComment:()=>X9.default.seq(v9.atMost(1),p9),StartString:()=>X9.default.alt(K0e,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(K0e),NameOption:e=>Y0e.skip(_9).then(e.NVarchar),ValueOption:e=>X0e.skip(_9).then(e.NVarchar),Level0Type:e=>Z0e.skip(_9).then(e.NVarchar),Level0Name:e=>Q0e.skip(_9).then(e.NVarchar),Level1Type:e=>$0e.skip(_9).then(e.NVarchar),Level1Name:e=>e2e.skip(_9).then(e.NVarchar),Level2Type:e=>t2e.skip(_9).then(e.NVarchar),Level2Name:e=>n2e.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(I4e).thru(b9())}),W4e=U4e.CommentSyntax})),K4e=o((()=>{x4e(),E4e(),F4e(),G4e()}));function Z9(e,t,n){let r=n||`public`;return e.tables.find(e=>(e.schemaName||`public`)===r&&e.name===t)}function q4e(e,t){return e.fields.find(e=>e.name===t)}function J4e(e,t){Z9(t,e.tableName,e.schemaName).indexes.push(e),e.tableName=null}function Y4e(e,t){e.forEach(e=>{t.push(e)})}function X4e(e,t){Y4e(e.enums,t.enums),Y4e(e.refs,t.refs),e.enums.forEach(e=>{e.fieldName=null}),e.enums=null,e.refs=null}function Z4e(e,t){let n=q4e(Z9(t,e.tableName,e.schemaName),e.fieldName);e.fieldName=null,e.tableName=null,n.dbdefault=e}function Q4e(e,t){let n=q4e(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 $4e(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 e3e(e,t){let{schemaName:n}=e;n===`dbo`&&(n=null);let r=Z9(t,e.tableName,n);if(r){let t=q4e(r,e.columnName);t&&(t.note=e.note?{value:e.note}:null)}}function t3e(e,t){e.type===`table`?$4e(e,t):e.type===`column`&&e3e(e,t)}function n3e(e){let t={tables:[],refs:[],indexes:[],enums:[]};return ao(e).forEach(e=>{if(e){switch(e.type){case`tables`:X4e(e.value,t);break;case`indexes`:J4e(e.value,t);break;case`dbdefault`:Z4e(e.value,t);break;case`enums`:Q4e(e.value,t);break;case`comment`:t3e(e.value,t);break;default:break}e.type&&t[e.type]&&t[e.type].push(e.value)}}),t.indexes=null,t}var r3e=o((()=>{Yu()})),Q9,i3e,$9,a3e=o((()=>{Q9=u(t9()),y9(),K4e(),i9(),r3e(),F9(),i3e=Q9.default.createLanguage({Statements:e=>r9.then(e.Seperator).then(Q9.default.sepBy(e.StatementTypes,e.Seperator)).skip(e.Seperator).map(n3e),StatementTypes:e=>Q9.default.alt(T4e,P4e,b4e,W4e,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,l0e,T0e,u0e,z0e),IgnoredDDLSyntax:e=>Q9.default.alt(e.KeywordCreateWithoutTable,e.KeywordAlterWithoutTable,L1e,g0e,L0e,p0e,m0e),IgnoredDMLSyntax:()=>Q9.default.alt(v0e,y0e,b0e,x0e,S0e,R0e),IgnoredServiceBrokerSyntax:()=>Q9.default.alt(M0e,G1e,P0e,F0e,I0e),IgnoredPermissionSyntax:()=>Q9.default.alt(E0e,D0e,k0e,A0e,j0e),IgnoredBackupAndRestoreSyntax:()=>Q9.default.alt(C0e,w0e),KeywordCreateWithoutTable:()=>f9.notFollowedBy(d9),KeywordAlterWithoutTable:()=>c0e.notFollowedBy(d9),Seperator:()=>Q9.default.alt(v9,p9,Q9.default.seq(v9,p9)).many()}),$9=i3e.Statements})),o3e=c({default:()=>s3e},1),s3e,c3e=o((()=>{a3e(),$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}},s3e=$9})),l3e=s(((e,t)=>{t.exports=(c3e(),d(o3e))})),u3e=u(r1e()),d3e=u(i1e()),f3e=u(a1e()),p3e=u(o1e()),m3e=u(l3e()),h3e=class e{constructor(e){this.DBMLCompiler=e||new j_}static parseJSONToDatabase(e){return new Ive(e)}static parseMySQLToJSONv2(e){return Q7(e,`mysql`)}static parseMySQLToJSON(e){return u3e.default.parse(e)}static parsePostgresToJSONv2(e){return Q7(e,`postgres`)}static parsePostgresToJSON(e){return d3e.default.parse(e)}static parseDBMLToJSONv2(e,t){let n=t||new j_;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 f3e.default.parse(e)}static parseSchemaRbToJSON(e){return p3e.default.parse(e)}static parseMSSQLToJSON(e){return m3e.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)}}},g3e=h3e,_3e=e=>new Ive(e),v3e=e=>e.map(e=>{let{name:t,endpoints:n,onDelete:r,onUpdate:i}=e;return new oA({name:t,endpoints:n.map(e=>new aA(e)),onDelete:r,onUpdate:i}).toJSON()}),y3e=e=>e.map(e=>{let{name:t,schemaName:n,values:r}=e;return new sA({name:t,schemaName:n,values:r})}),b3e=(e,t)=>e.map(e=>{let n=t[e.name]||{};return new rA({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})}),x3e=e=>e.map(e=>{let{name:t,unique:n,pk:r,type:i,columns:a}=e;return new nA({name:t,unique:n,pk:r,type:i,columns:a})}),S3e=(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 iA({name:a,schemaName:o,fields:b3e(t[c],l),indexes:x3e(n[c]||[]),note:s,checks:r[c]})}),C3e=e=>{let{tables:t,fields:n,indexes:r,refs:i,enums:a,tableConstraints:o,checks:s}=e;try{let e=S3e(t,n,r,s,o),c=y3e(a);return _3e({schemas:[],tables:e,refs:v3e(i),enums:c,tableGroups:[],aliases:[],project:{}})}catch(e){throw Error(e)}};function w3e(e,t){let n=new g3e().parse(e,t);return oy.export(n.normalize(),`dbml`)}function T3e(e){let t=C3e(e);return oy.export(t.normalize(),`dbml`)}var E3e={import:w3e,generateDbml:T3e};function D3e(e,t,n={}){let r=new g3e().parse(e,`dbmlv2`);return oy.export(r.normalize(),t,n)}var O3e={export:D3e};function k3e(e,t,n){let r=new j_;return r.setSource(n),r.renameTable(e,t)}const A3e=`6.4.0-alpha.0`,j3e=`6.4.0-alpha.0`;exports.CompilerError=K7,exports.ModelExporter=oy,exports.Parser=g3e,exports.VERSION=`6.4.0-alpha.0`,exports.addDoubleQuoteIfNeeded=h_,exports.exporter=O3e,exports.formatRecordValue=Pfe,exports.importer=E3e,exports.isBinaryType=dh,exports.isBooleanType=lh,exports.isDateTimeType=fh,exports.isFloatType=sh,exports.isIntegerType=oh,exports.isNumericType=ch,exports.isSerialType=ph,exports.isStringType=uh,exports.renameTable=k3e,exports.tryExtractBoolean=t_,exports.tryExtractDateTime=r_,exports.tryExtractEnum=rfe,exports.tryExtractInteger=efe,exports.tryExtractNumeric=e_,exports.tryExtractString=n_;
|
package/lib/index.mjs
CHANGED
|
@@ -14945,12 +14945,12 @@ var DbmlExporter_default = class _ {
|
|
|
14945
14945
|
}).map((_) => ` ${_.map(formatRecordValue).join(", ")}`).join("\n")}\n}\n`;
|
|
14946
14946
|
}).join("\n");
|
|
14947
14947
|
}
|
|
14948
|
-
static export(HY) {
|
|
14949
|
-
let
|
|
14950
|
-
return
|
|
14951
|
-
let { enumIds: WY, tableIds: GY, tableGroupIds: KY, refIds: qY } = HY.schemas[
|
|
14952
|
-
isEmpty_default(WY) ||
|
|
14953
|
-
}), isEmpty_default(HY.notes) ||
|
|
14948
|
+
static export(HY, P = {}) {
|
|
14949
|
+
let UY = [], WY = HY.database[1], GY = P.includeRecords !== !1;
|
|
14950
|
+
return WY.schemaIds.forEach((P) => {
|
|
14951
|
+
let { enumIds: WY, tableIds: GY, tableGroupIds: KY, refIds: qY } = HY.schemas[P];
|
|
14952
|
+
isEmpty_default(WY) || UY.push(_.exportEnums(WY, HY)), isEmpty_default(GY) || UY.push(_.exportTables(GY, HY)), isEmpty_default(KY) || UY.push(_.exportTableGroups(KY, HY)), isEmpty_default(qY) || UY.push(_.exportRefs(qY, HY));
|
|
14953
|
+
}), isEmpty_default(HY.notes) || UY.push(_.exportStickyNotes(HY)), GY && !isEmpty_default(HY.records) && UY.push(_.exportRecords(HY)), UY.join("\n");
|
|
14954
14954
|
}
|
|
14955
14955
|
};
|
|
14956
14956
|
init_lodash();
|
|
@@ -15287,8 +15287,8 @@ var POSTGRES_BUILTIN_TYPES = /* @__PURE__ */ "SMALLINT.INTEGER.INT.BIGINT.DECIMA
|
|
|
15287
15287
|
return concat_default(KY.schemas, KY.enums, KY.tables, KY.indexes, KY.comments, KY.refs, JY).join("\n");
|
|
15288
15288
|
}
|
|
15289
15289
|
}, JsonExporter_default = class {
|
|
15290
|
-
static export(_, HY =
|
|
15291
|
-
return HY ? JSON.stringify(_, null, 2) : JSON.stringify(_
|
|
15290
|
+
static export(_, HY = {}) {
|
|
15291
|
+
return (typeof HY == "boolean" ? { isNormalized: HY } : HY).isNormalized === !1 ? JSON.stringify(_.export(), null, 2) : JSON.stringify(_, null, 2);
|
|
15292
15292
|
}
|
|
15293
15293
|
};
|
|
15294
15294
|
init_lodash();
|
|
@@ -15673,26 +15673,26 @@ QUOTA UNLIMITED ON system;
|
|
|
15673
15673
|
return concat_default(UY.schemas, UY.tables, UY.indexes, UY.comments, UY.referenceGrants, UY.refs, GY).join("\n");
|
|
15674
15674
|
}
|
|
15675
15675
|
}, ModelExporter_default = class {
|
|
15676
|
-
static export(_ = {}, HY = "", P =
|
|
15677
|
-
let UY = "", WY = P ?
|
|
15676
|
+
static export(_ = {}, HY = "", P = {}) {
|
|
15677
|
+
let UY = "", WY = typeof P == "boolean" ? { isNormalized: P } : P, GY = WY.isNormalized === !1 ? _.normalize() : _;
|
|
15678
15678
|
switch (HY) {
|
|
15679
15679
|
case "dbml":
|
|
15680
|
-
UY = DbmlExporter_default.export(WY);
|
|
15680
|
+
UY = DbmlExporter_default.export(GY, WY);
|
|
15681
15681
|
break;
|
|
15682
15682
|
case "mysql":
|
|
15683
|
-
UY = MysqlExporter_default.export(
|
|
15683
|
+
UY = MysqlExporter_default.export(GY);
|
|
15684
15684
|
break;
|
|
15685
15685
|
case "postgres":
|
|
15686
|
-
UY = PostgresExporter_default.export(
|
|
15686
|
+
UY = PostgresExporter_default.export(GY);
|
|
15687
15687
|
break;
|
|
15688
15688
|
case "json":
|
|
15689
|
-
UY = JsonExporter_default.export(_,
|
|
15689
|
+
UY = JsonExporter_default.export(_, WY);
|
|
15690
15690
|
break;
|
|
15691
15691
|
case "mssql":
|
|
15692
|
-
UY = SqlServerExporter_default.export(
|
|
15692
|
+
UY = SqlServerExporter_default.export(GY);
|
|
15693
15693
|
break;
|
|
15694
15694
|
case "oracle":
|
|
15695
|
-
UY = OracleExporter_default.export(
|
|
15695
|
+
UY = OracleExporter_default.export(GY);
|
|
15696
15696
|
break;
|
|
15697
15697
|
default: break;
|
|
15698
15698
|
}
|
|
@@ -1820174,7 +1820174,7 @@ var require_lodash = /* @__PURE__ */ __commonJSMin(((_, HY) => {
|
|
|
1820174
1820174
|
}]);
|
|
1820175
1820175
|
});
|
|
1820176
1820176
|
})), import_parsimmon_umd_min$14, Lang$12, whitespaces_default, init_whitespaces = __esmMin((() => {
|
|
1820177
|
-
import_parsimmon_umd_min$14 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820177
|
+
import_parsimmon_umd_min$14 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), Lang$12 = import_parsimmon_umd_min$14.default.createLanguage({
|
|
1820178
1820178
|
WhiteSpaces: (_) => import_parsimmon_umd_min$14.default.alt(_.WhiteSpace, _.InlineComment, _.MulLineComment).many().desc("whitespaces or comments"),
|
|
1820179
1820179
|
WhiteSpace: () => import_parsimmon_umd_min$14.default.regexp(/\s/).desc("whitespaces"),
|
|
1820180
1820180
|
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"),
|
|
@@ -1820195,7 +1820195,7 @@ function keyword(_) {
|
|
|
1820195
1820195
|
return HY = replaceWhitespaceWithRegexp(_), import_parsimmon_umd_min$13.default.regexp(HY).skip(whitespaces_default).desc(`"${P}"`);
|
|
1820196
1820196
|
}
|
|
1820197
1820197
|
var import_parsimmon_umd_min$13, init_keyword_utils = __esmMin((() => {
|
|
1820198
|
-
import_parsimmon_umd_min$13 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820198
|
+
import_parsimmon_umd_min$13 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_whitespaces();
|
|
1820199
1820199
|
})), 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((() => {
|
|
1820200
1820200
|
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);
|
|
1820201
1820201
|
}));
|
|
@@ -1820227,9 +1820227,9 @@ function getFullTableName(_) {
|
|
|
1820227
1820227
|
};
|
|
1820228
1820228
|
}
|
|
1820229
1820229
|
var import_parsimmon_umd_min$12, init_utils = __esmMin((() => {
|
|
1820230
|
-
import_parsimmon_umd_min$12 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820230
|
+
import_parsimmon_umd_min$12 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()), init_lodash(), init_keyword_parsers(), init_whitespaces();
|
|
1820231
1820231
|
})), import_parsimmon_umd_min$11, pIgnore, Lang$11, pColumnNames, pDotDelimitedName, pOptionList, pOption, pComparsionOp, pConst, pFunction, pNumberList, pIdentifier, pKeywordPKOrUnique, pKeywordClusteredOrNon, init_base_parsers = __esmMin((() => {
|
|
1820232
|
-
import_parsimmon_umd_min$11 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820232
|
+
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) => {
|
|
1820233
1820233
|
let P = HY, UY = !1, WY = "";
|
|
1820234
1820234
|
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;
|
|
1820235
1820235
|
return _.slice(P, P + 2).match(/GO/i) && --P, import_parsimmon_umd_min$11.default.makeSuccess(P + 1, "");
|
|
@@ -1820308,7 +1820308,7 @@ function enclosedOrNot(_) {
|
|
|
1820308
1820308
|
return import_parsimmon_umd_min$10.default.alt(enclose(_), _);
|
|
1820309
1820309
|
}
|
|
1820310
1820310
|
var import_parsimmon_umd_min$10, Lang$10, expression_default, init_expression = __esmMin((() => {
|
|
1820311
|
-
import_parsimmon_umd_min$10 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820311
|
+
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({
|
|
1820312
1820312
|
ExpressionFinal: (_) => _.Expression.map((_) => flattenDeep_default(_).map((_) => _ ? _.value : "").join("")),
|
|
1820313
1820313
|
Expression: (_) => enclosedOrNot(import_parsimmon_umd_min$10.default.seq(import_parsimmon_umd_min$10.default.alt(_.UnaryExpression, _.SimpleExpression), _.BinaryExpressionLR.fallback(null)).skip(whitespaces_default)),
|
|
1820314
1820314
|
UnaryExpression: (_) => {
|
|
@@ -1820368,7 +1820368,7 @@ function makeOnSetting(_, HY) {
|
|
|
1820368
1820368
|
var init_actions$8 = __esmMin((() => {
|
|
1820369
1820369
|
init_utils();
|
|
1820370
1820370
|
})), import_parsimmon_umd_min$9, Lang$9, pColumnConstraintFK, pTableConstraintFK, init_fk_definition = __esmMin((() => {
|
|
1820371
|
-
import_parsimmon_umd_min$9 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820371
|
+
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({
|
|
1820372
1820372
|
TableConstraintFK: (_) => import_parsimmon_umd_min$9.default.seqMap(KeywordForeignKey.fallback(null), _.TableEndpoint, KeywordReferences, pDotDelimitedName, _.TableEndpoint.fallback(null), _.FKOptions.fallback(null), makeTableConstraintFK),
|
|
1820373
1820373
|
TableEndpoint: () => import_parsimmon_umd_min$9.default.seqMap(pColumnNames, makeTableEndpoint).thru(makeNode()),
|
|
1820374
1820374
|
ColumnConstraintFK: (_) => import_parsimmon_umd_min$9.default.seqMap(_.FKKeywords, pDotDelimitedName, makeList(pIdentifier).fallback(null), _.FKOptions.fallback(null), makeColumnConstraintFK),
|
|
@@ -1820414,7 +1820414,7 @@ function makeTableConstraintIndex(_, HY, P) {
|
|
|
1820414
1820414
|
return _.type === "pk" ? UY = !0 : _.type === "unique" && (WY = !0), makeIndex$1(P, WY, UY);
|
|
1820415
1820415
|
}
|
|
1820416
1820416
|
var init_actions$7 = __esmMin((() => {})), import_parsimmon_umd_min$8, Lang$8, pColumnIndex, pIgnoredIndexOption, pTableIndex, pColumnConstraintIndex, pTableConstraintIndex, init_index_definition = __esmMin((() => {
|
|
1820417
|
-
import_parsimmon_umd_min$8 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820417
|
+
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({
|
|
1820418
1820418
|
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),
|
|
1820419
1820419
|
TableConstraintIndex: (_) => import_parsimmon_umd_min$8.default.seqMap(pKeywordPKOrUnique, pKeywordClusteredOrNon.fallback(null), pColumnNames, makeTableConstraintIndex).thru(makeNode()).skip(_.IgnoredIndexOptions),
|
|
1820420
1820420
|
ColumnConstraintIndex: (_) => import_parsimmon_umd_min$8.default.seq(pKeywordPKOrUnique).skip(_.IgnoredIndexOptions).map((_) => _[0]),
|
|
@@ -1820471,7 +1820471,7 @@ function makeTableConstraint(_, HY) {
|
|
|
1820471
1820471
|
} : null;
|
|
1820472
1820472
|
}
|
|
1820473
1820473
|
var init_actions$6 = __esmMin((() => {})), import_parsimmon_umd_min$7, Lang$7, pColumnConstraint, pTableConstraint, pConstraintCheck, pConstraintName, pConstExpr, init_constraint_definition = __esmMin((() => {
|
|
1820474
|
-
import_parsimmon_umd_min$7 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820474
|
+
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({
|
|
1820475
1820475
|
TableConstraint: (_) => import_parsimmon_umd_min$7.default.seqMap(_.ConstraintName.fallback(null), _.TableConstraintOption, makeTableConstraint).thru(makeNode()),
|
|
1820476
1820476
|
TableConstraintOption: (_) => import_parsimmon_umd_min$7.default.alt(pTableConstraintFK, pTableConstraintIndex, _.ConstraintCheck),
|
|
1820477
1820477
|
ColumnConstraint: (_) => import_parsimmon_umd_min$7.default.seq(_.ConstraintName.fallback(null), _.ColumnConstraintOption).map((_) => _[1]),
|
|
@@ -1820528,7 +1820528,7 @@ function makeColumn(_, HY, P) {
|
|
|
1820528
1820528
|
var init_actions$4 = __esmMin((() => {
|
|
1820529
1820529
|
init_lodash();
|
|
1820530
1820530
|
})), import_parsimmon_umd_min$6, Lang$6, pColumnsDefinition, init_column_definition = __esmMin((() => {
|
|
1820531
|
-
import_parsimmon_umd_min$6 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820531
|
+
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({
|
|
1820532
1820532
|
ColumnsDefinition: (_) => import_parsimmon_umd_min$6.default.alt(_.ComputedColumnDefinition.result(null), _.ColumnSetDefinition.result(null), _.ColumnDefinition),
|
|
1820533
1820533
|
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()),
|
|
1820534
1820534
|
ColumnSetDefinition: () => import_parsimmon_umd_min$6.default.seq(pIdentifier, KeywordColumnSet),
|
|
@@ -1820545,7 +1820545,7 @@ var init_actions$4 = __esmMin((() => {
|
|
|
1820545
1820545
|
ColumnSettingGAAR: () => import_parsimmon_umd_min$6.default.seq(KeywordGeneratedAAR, import_parsimmon_umd_min$6.default.alt(KeywordStart, KeywordEnd), KeywordHidden.fallback(null))
|
|
1820546
1820546
|
}), Lang$6.Identity, Lang$6.DataType, pColumnsDefinition = Lang$6.ColumnsDefinition;
|
|
1820547
1820547
|
})), import_parsimmon_umd_min$5, Lang$5, add_default, init_add = __esmMin((() => {
|
|
1820548
|
-
import_parsimmon_umd_min$5 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820548
|
+
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({
|
|
1820549
1820549
|
AddAction: (_) => import_parsimmon_umd_min$5.default.seq(KeywordAdd, _.AddOption.sepBy1(Comma)).map((_) => _[1]),
|
|
1820550
1820550
|
AddOption: (_) => import_parsimmon_umd_min$5.default.alt(_.AddConstraint, pColumnsDefinition.result(null), _.IgnoredAddSystemTimeOption.result(null)),
|
|
1820551
1820551
|
IgnoredAddSystemTimeOption: () => import_parsimmon_umd_min$5.default.alt(pIdentifier, import_parsimmon_umd_min$5.default.regexp(/[(),]/)).many(),
|
|
@@ -1820556,7 +1820556,7 @@ var init_actions$4 = __esmMin((() => {
|
|
|
1820556
1820556
|
AddConstraintConnection: () => import_parsimmon_umd_min$5.default.seq(KeywordConnection, makeList(import_parsimmon_umd_min$5.default.seq(pIdentifier, KeywordTo, pIdentifier)))
|
|
1820557
1820557
|
}), add_default = Lang$5.AddAction;
|
|
1820558
1820558
|
})), import_parsimmon_umd_min$4, Lang$4, alter_table_default, init_alter_table = __esmMin((() => {
|
|
1820559
|
-
import_parsimmon_umd_min$4 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820559
|
+
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({
|
|
1820560
1820560
|
AlterTable: (_) => import_parsimmon_umd_min$4.default.seqMap(_.AlterTableKeywords, pDotDelimitedName, _.AlterTableActions, handleAlterTableResult),
|
|
1820561
1820561
|
AlterTableActions: (_) => import_parsimmon_umd_min$4.default.alt(add_default, _.IgnoredAlterTableActions),
|
|
1820562
1820562
|
AlterTableKeywords: () => import_parsimmon_umd_min$4.default.seq(KeywordAlter, KeywordTable),
|
|
@@ -1820585,7 +1820585,7 @@ function makeIndex(_, HY, P, UY, WY, GY, KY, qY) {
|
|
|
1820585
1820585
|
var init_actions$3 = __esmMin((() => {
|
|
1820586
1820586
|
init_utils();
|
|
1820587
1820587
|
})), import_parsimmon_umd_min$3, Lang$3, create_index_default, init_create_index = __esmMin((() => {
|
|
1820588
|
-
import_parsimmon_umd_min$3 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820588
|
+
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({
|
|
1820589
1820589
|
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),
|
|
1820590
1820590
|
IgnoredCreateIndexOptions: (_) => import_parsimmon_umd_min$3.default.alt(pIgnoredIndexOption, _.IncludeIndexOption, _.WhereIndexOption).many(),
|
|
1820591
1820591
|
IncludeIndexOption: () => import_parsimmon_umd_min$3.default.seq(KeywordInclude, pColumnNames),
|
|
@@ -1820651,7 +1820651,7 @@ function makeTable(_, HY, P, UY) {
|
|
|
1820651
1820651
|
var init_actions$2 = __esmMin((() => {
|
|
1820652
1820652
|
init_utils();
|
|
1820653
1820653
|
})), import_parsimmon_umd_min$2, Lang$2, create_table_default, init_create_table = __esmMin((() => {
|
|
1820654
|
-
import_parsimmon_umd_min$2 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820654
|
+
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({
|
|
1820655
1820655
|
CreateTable: (_) => import_parsimmon_umd_min$2.default.seqMap(_.CreateTableKeywords, pDotDelimitedName, _.AsFileTableKeywords.fallback(null), makeList(_.Line), makeTable).thru(makeNode()).skip(_.IgnoredTableOptions),
|
|
1820656
1820656
|
CreateTableKeywords: () => import_parsimmon_umd_min$2.default.seq(KeywordCreate, KeywordTable),
|
|
1820657
1820657
|
AsFileTableKeywords: () => import_parsimmon_umd_min$2.default.seq(KeywordAs, KeywordFileTable),
|
|
@@ -1820677,7 +1820677,7 @@ function handleComment$1({ note: _, level: HY }) {
|
|
|
1820677
1820677
|
var isSchema, isTable, isColumn, isValidTableNote, isValidColumnNote, init_actions$1 = __esmMin((() => {
|
|
1820678
1820678
|
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);
|
|
1820679
1820679
|
})), import_parsimmon_umd_min$1, Lang$1, comments_default, init_comments = __esmMin((() => {
|
|
1820680
|
-
import_parsimmon_umd_min$1 = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820680
|
+
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({
|
|
1820681
1820681
|
StartComment: () => import_parsimmon_umd_min$1.default.seq(KeywordExec, KeywordSP_ADDEXTENDEDPROPERTY),
|
|
1820682
1820682
|
EndComment: () => import_parsimmon_umd_min$1.default.seq(Semicolon.atMost(1), KeywordGo),
|
|
1820683
1820683
|
StartString: () => import_parsimmon_umd_min$1.default.alt(SingleQuote, import_parsimmon_umd_min$1.default.string("N'")),
|
|
@@ -1820783,7 +1820783,7 @@ function handleStatement(_) {
|
|
|
1820783
1820783
|
var init_actions = __esmMin((() => {
|
|
1820784
1820784
|
init_lodash();
|
|
1820785
1820785
|
})), import_parsimmon_umd_min, Lang, statements_default, init_statements = __esmMin((() => {
|
|
1820786
|
-
import_parsimmon_umd_min = /* @__PURE__ */ __toESM(require_parsimmon_umd_min()
|
|
1820786
|
+
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({
|
|
1820787
1820787
|
Statements: (_) => whitespaces_default.then(_.Seperator).then(import_parsimmon_umd_min.default.sepBy(_.StatementTypes, _.Seperator)).skip(_.Seperator).map(handleStatement),
|
|
1820788
1820788
|
StatementTypes: (_) => import_parsimmon_umd_min.default.alt(create_index_default, create_table_default, alter_table_default, comments_default, _.IgnoredStatementTypes),
|
|
1820789
1820789
|
IgnoredStatementTypes: (_) => import_parsimmon_umd_min.default.seq(_.IgnoredStatementSyntax, pIgnore),
|
|
@@ -1820810,7 +1820810,7 @@ var init_actions = __esmMin((() => {
|
|
|
1820810
1820810
|
}, mssql_default = statements_default;
|
|
1820811
1820811
|
})), require_mssqlParser = /* @__PURE__ */ __commonJSMin(((_, HY) => {
|
|
1820812
1820812
|
HY.exports = (init_mssql(), __toCommonJS(mssql_exports));
|
|
1820813
|
-
})), import_mysqlParser = /* @__PURE__ */ __toESM(require_mysqlParser()
|
|
1820813
|
+
})), 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 _ {
|
|
1820814
1820814
|
constructor(_) {
|
|
1820815
1820815
|
this.DBMLCompiler = _ || new Compiler();
|
|
1820816
1820816
|
}
|
|
@@ -1820993,14 +1820993,14 @@ var import_default = {
|
|
|
1820993
1820993
|
import: _import,
|
|
1820994
1820994
|
generateDbml
|
|
1820995
1820995
|
};
|
|
1820996
|
-
function _export(_, HY) {
|
|
1820997
|
-
let
|
|
1820998
|
-
return ModelExporter_default.export(
|
|
1820996
|
+
function _export(_, HY, P = {}) {
|
|
1820997
|
+
let UY = new Parser_default().parse(_, "dbmlv2");
|
|
1820998
|
+
return ModelExporter_default.export(UY.normalize(), HY, P);
|
|
1820999
1820999
|
}
|
|
1821000
1821000
|
var export_default = { export: _export };
|
|
1821001
1821001
|
function renameTable(_, HY, P) {
|
|
1821002
1821002
|
let UY = new Compiler();
|
|
1821003
1821003
|
return UY.setSource(P), UY.renameTable(_, HY);
|
|
1821004
1821004
|
}
|
|
1821005
|
-
const VERSION = "6.
|
|
1821005
|
+
const VERSION = "6.4.0-alpha.0";
|
|
1821006
1821006
|
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.
|
|
4
|
+
"version": "6.4.0-alpha.0",
|
|
5
5
|
"description": "> TODO: description",
|
|
6
6
|
"author": "Holistics <dev@holistics.io>",
|
|
7
7
|
"license": "Apache-2.0",
|
|
@@ -19,7 +19,6 @@
|
|
|
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
24
|
"module": "./lib/index.mjs",
|
|
@@ -47,7 +46,7 @@
|
|
|
47
46
|
"lint:fix": "eslint --fix ."
|
|
48
47
|
},
|
|
49
48
|
"dependencies": {
|
|
50
|
-
"@dbml/parse": "^6.
|
|
49
|
+
"@dbml/parse": "^6.4.0-alpha.0",
|
|
51
50
|
"antlr4": "^4.13.1",
|
|
52
51
|
"lodash": "^4.17.15",
|
|
53
52
|
"lodash-es": "^4.17.15",
|
|
@@ -58,7 +57,7 @@
|
|
|
58
57
|
"devDependencies": {
|
|
59
58
|
"bluebird": "^3.5.5"
|
|
60
59
|
},
|
|
61
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "ba26cc72483183193335e053d122c28d0aa13575",
|
|
62
61
|
"engines": {
|
|
63
62
|
"node": ">=16"
|
|
64
63
|
}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import Database, { NormalizedModel } from '../model_structure/database';
|
|
2
2
|
|
|
3
3
|
export declare type ExportFormatOption = 'dbml' | 'mysql' | 'postgres' | 'json' | 'mssql' | 'oracle';
|
|
4
|
+
export interface ExportFlags {
|
|
5
|
+
isNormalized?: boolean;
|
|
6
|
+
includeRecords?: boolean;
|
|
7
|
+
}
|
|
4
8
|
declare class ModelExporter {
|
|
5
|
-
|
|
9
|
+
/**
|
|
10
|
+
* @deprecated Passing a boolean as the third argument is deprecated. Use `{ isNormalized: boolean }` instead.
|
|
11
|
+
*/
|
|
12
|
+
static export(model: Database | NormalizedModel, format: ExportFormatOption, isNormalized: boolean): string;
|
|
13
|
+
static export(model: Database | NormalizedModel, format: ExportFormatOption, flags?: ExportFlags): string;
|
|
6
14
|
}
|
|
7
15
|
export default ModelExporter;
|
package/types/export/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ExportFormatOption } from './ModelExporter';
|
|
1
|
+
import { ExportFormatOption, ExportFlags } from './ModelExporter';
|
|
2
2
|
import { RecordValueType } from '../model_structure/database';
|
|
3
3
|
|
|
4
|
-
declare function _export(str: string, format: ExportFormatOption): string;
|
|
4
|
+
declare function _export(str: string, format: ExportFormatOption, flags?: ExportFlags): string;
|
|
5
5
|
declare const _default: {
|
|
6
6
|
export: typeof _export;
|
|
7
7
|
};
|