@tensorix/metahub 0.5.2 → 0.5.3
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/README.md +8 -4
- package/README.zh-CN.md +9 -5
- package/dist/cli.js +4945 -3979
- package/dist/cli.js.map +63 -57
- package/dist/core/compact.d.ts.map +1 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/crdt.d.ts +12 -4
- package/dist/core/crdt.d.ts.map +1 -1
- package/dist/core/databases.d.ts +3 -2
- package/dist/core/databases.d.ts.map +1 -1
- package/dist/core/db.d.ts.map +1 -1
- package/dist/core/documents.d.ts.map +1 -1
- package/dist/core/driver.d.ts +5 -1
- package/dist/core/driver.d.ts.map +1 -1
- package/dist/core/errors.d.ts +19 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/guest-intent.d.ts +1 -1
- package/dist/core/guest-intent.d.ts.map +1 -1
- package/dist/core/history-cache.d.ts +13 -0
- package/dist/core/history-cache.d.ts.map +1 -0
- package/dist/core/history.d.ts.map +1 -1
- package/dist/core/hlc.d.ts +13 -0
- package/dist/core/hlc.d.ts.map +1 -1
- package/dist/core/integrity.d.ts +15 -3
- package/dist/core/integrity.d.ts.map +1 -1
- package/dist/core/resolve.d.ts +8 -0
- package/dist/core/resolve.d.ts.map +1 -1
- package/dist/core/schema-init.d.ts +1 -1
- package/dist/core/schema-init.d.ts.map +1 -1
- package/dist/core/search.d.ts +1 -1
- package/dist/core/search.d.ts.map +1 -1
- package/dist/core/site-channel-store.d.ts +1 -1
- package/dist/core/site-channel-store.d.ts.map +1 -1
- package/dist/core/snapshot.d.ts.map +1 -1
- package/dist/core/sync/auth.d.ts +2 -4
- package/dist/core/sync/auth.d.ts.map +1 -1
- package/dist/core/sync/cf-oauth.d.ts.map +1 -1
- package/dist/core/sync/client.d.ts +4 -0
- package/dist/core/sync/client.d.ts.map +1 -1
- package/dist/core/sync/drop-protocol.d.ts.map +1 -1
- package/dist/core/sync/drop-pull.d.ts +1 -1
- package/dist/core/sync/drop-pull.d.ts.map +1 -1
- package/dist/core/sync/http-status.d.ts.map +1 -1
- package/dist/core/sync/locale.d.ts +8 -0
- package/dist/core/sync/locale.d.ts.map +1 -0
- package/dist/core/sync/page-messages.d.ts +106 -0
- package/dist/core/sync/page-messages.d.ts.map +1 -0
- package/dist/core/sync/pairing.d.ts +4 -1
- package/dist/core/sync/pairing.d.ts.map +1 -1
- package/dist/core/sync/peers.d.ts +1 -1
- package/dist/core/sync/peers.d.ts.map +1 -1
- package/dist/core/sync/protocol.d.ts +1 -0
- package/dist/core/sync/protocol.d.ts.map +1 -1
- package/dist/core/sync/remote-shares-cache.d.ts +32 -0
- package/dist/core/sync/remote-shares-cache.d.ts.map +1 -0
- package/dist/core/sync/room-client.d.ts +1 -1
- package/dist/core/sync/room-client.d.ts.map +1 -1
- package/dist/core/sync/room-protocol.d.ts +1 -1
- package/dist/core/sync/room-protocol.d.ts.map +1 -1
- package/dist/core/sync/room-serve.d.ts.map +1 -1
- package/dist/core/sync/routes.d.ts +1 -1
- package/dist/core/sync/routes.d.ts.map +1 -1
- package/dist/core/sync/server.d.ts +2 -0
- package/dist/core/sync/server.d.ts.map +1 -1
- package/dist/core/sync/share-actions.d.ts +7 -2
- package/dist/core/sync/share-actions.d.ts.map +1 -1
- package/dist/core/sync/share-copy.d.ts +7 -0
- package/dist/core/sync/share-copy.d.ts.map +1 -0
- package/dist/core/sync/share-export.d.ts +3 -1
- package/dist/core/sync/share-export.d.ts.map +1 -1
- package/dist/core/sync/share-serve.d.ts.map +1 -1
- package/dist/core/sync/sites-serve.d.ts.map +1 -1
- package/dist/core/sync/storage.d.ts +1 -1
- package/dist/core/sync/storage.d.ts.map +1 -1
- package/dist/db-worker.js +115 -88
- package/dist/edge-worker.js +319 -84
- package/dist/index.js +1597 -384
- package/dist/index.js.map +52 -45
- package/dist/metahub-sdk.js +5 -5
- package/dist/mh-runtime.js +9 -1
- package/dist/sw.js +15 -7
- package/dist/webui/server/assets.d.ts.map +1 -1
- package/dist/webui/server/changes-route.d.ts +2 -0
- package/dist/webui/server/changes-route.d.ts.map +1 -1
- package/dist/webui/server/edge-routes.d.ts.map +1 -1
- package/dist/webui/server/routes.d.ts +2 -0
- package/dist/webui/server/routes.d.ts.map +1 -1
- package/dist/webui-fmt.js +1 -1
- package/dist/webui.js +173 -215
- package/package.json +1 -1
package/dist/webui-fmt.js
CHANGED
|
@@ -422,4 +422,4 @@ ${this.dialectInfo()}`)}dialectInfo(){if(this.dialectName==="sql")return`This li
|
|
|
422
422
|
If possible, please select a more specific dialect (like sqlite, postgresql, etc).`;else return`SQL dialect used: "${this.dialectName}".`}getWhitespace(){HR.lastIndex=this.index;let e=HR.exec(this.input);if(e)return this.index+=e[0].length,e[0];return}getNextToken(){for(let e of this.rules){let t=this.match(e);if(t)return t}return}match(e){e.regex.lastIndex=this.index;let t=e.regex.exec(this.input);if(t){let r=t[0],s={type:e.type,raw:r,text:e.text?e.text(r):r,start:this.index};if(e.key)s.key=e.key(r);return this.index+=r.length,s}return}}var Ek=/\/\*/uy,Oie=/[\s\S]/uy,_ie=/\*\//uy;class $R{constructor(){this.lastIndex=0}exec(e){let t="",r,s=0;if(r=this.matchSection(Ek,e))t+=r,s++;else return null;while(s>0)if(r=this.matchSection(Ek,e))t+=r,s++;else if(r=this.matchSection(_ie,e))t+=r,s--;else if(r=this.matchSection(Oie,e))t+=r;else return null;return[t]}matchSection(e,t){e.lastIndex=this.lastIndex;let r=e.exec(t);if(r)this.lastIndex+=r[0].length;return r?r[0]:null}}class hA{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){let r=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],s=new pA(r,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(s):s}buildRulesBeforeParams(e){var t,r,s;return this.validRules([{type:ue.DISABLE_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:ue.BLOCK_COMMENT,regex:e.nestedBlockComments?new $R:/(\/\*[^]*?\*\/)/uy},{type:ue.LINE_COMMENT,regex:lk((t=e.lineCommentTypes)!==null&&t!==void 0?t:["--"])},{type:ue.QUOTED_IDENTIFIER,regex:XR(e.identTypes)},{type:ue.NUMBER,regex:e.underscoresInNumbers?/(?:0x[0-9a-fA-F_]+|0b[01_]+|(?:-\s*)?(?:[0-9_]*\.[0-9_]+|[0-9_]+(?:\.[0-9_]*)?)(?:[eE][-+]?[0-9_]+(?:\.[0-9_]+)?)?)(?![\w\p{Alphabetic}])/uy:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:ue.RESERVED_KEYWORD_PHRASE,regex:_n((r=e.reservedKeywordPhrases)!==null&&r!==void 0?r:[],e.identChars),text:tr},{type:ue.RESERVED_DATA_TYPE_PHRASE,regex:_n((s=e.reservedDataTypePhrases)!==null&&s!==void 0?s:[],e.identChars),text:tr},{type:ue.CASE,regex:/CASE\b/iuy,text:tr},{type:ue.END,regex:/END\b/iuy,text:tr},{type:ue.BETWEEN,regex:/BETWEEN\b/iuy,text:tr},{type:ue.LIMIT,regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:tr},{type:ue.RESERVED_CLAUSE,regex:_n(e.reservedClauses,e.identChars),text:tr},{type:ue.RESERVED_SELECT,regex:_n(e.reservedSelect,e.identChars),text:tr},{type:ue.RESERVED_SET_OPERATION,regex:_n(e.reservedSetOperations,e.identChars),text:tr},{type:ue.WHEN,regex:/WHEN\b/iuy,text:tr},{type:ue.ELSE,regex:/ELSE\b/iuy,text:tr},{type:ue.THEN,regex:/THEN\b/iuy,text:tr},{type:ue.RESERVED_JOIN,regex:_n(e.reservedJoins,e.identChars),text:tr},{type:ue.AND,regex:/AND\b/iuy,text:tr},{type:ue.OR,regex:/OR\b/iuy,text:tr},{type:ue.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:tr},...e.operatorKeyword?[{type:ue.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:ue.RESERVED_FUNCTION_NAME,regex:_n(e.reservedFunctionNames,e.identChars),text:tr},{type:ue.RESERVED_DATA_TYPE,regex:_n(e.reservedDataTypes,e.identChars),text:tr},{type:ue.RESERVED_KEYWORD,regex:_n(e.reservedKeywords,e.identChars),text:tr}])}buildRulesAfterParams(e){var t,r;return this.validRules([{type:ue.VARIABLE,regex:e.variableTypes?pk(e.variableTypes):void 0},{type:ue.STRING,regex:XR(e.stringTypes)},{type:ue.IDENTIFIER,regex:hk(e.identChars)},{type:ue.DELIMITER,regex:/[;]/uy},{type:ue.COMMA,regex:/[,]/y},{type:ue.OPEN_PAREN,regex:YR("open",e.extraParens)},{type:ue.CLOSE_PAREN,regex:YR("close",e.extraParens)},{type:ue.OPERATOR,regex:VR(["+","-","/",">","<","=","<>","<=",">=","!=",...(t=e.operators)!==null&&t!==void 0?t:[]])},{type:ue.ASTERISK,regex:/[*]/uy},{type:ue.PROPERTY_ACCESS_OPERATOR,regex:VR([".",...(r=e.propertyAccessOperators)!==null&&r!==void 0?r:[]])}])}buildParamRules(e,t){var r,s,n,i,a;let u={named:(t===null||t===void 0?void 0:t.named)||((r=e.paramTypes)===null||r===void 0?void 0:r.named)||[],quoted:(t===null||t===void 0?void 0:t.quoted)||((s=e.paramTypes)===null||s===void 0?void 0:s.quoted)||[],numbered:(t===null||t===void 0?void 0:t.numbered)||((n=e.paramTypes)===null||n===void 0?void 0:n.numbered)||[],positional:typeof(t===null||t===void 0?void 0:t.positional)==="boolean"?t.positional:(i=e.paramTypes)===null||i===void 0?void 0:i.positional,custom:(t===null||t===void 0?void 0:t.custom)||((a=e.paramTypes)===null||a===void 0?void 0:a.custom)||[]};return this.validRules([{type:ue.NAMED_PARAMETER,regex:lA(u.named,KR(e.paramChars||e.identChars)),key:(l)=>l.slice(1)},{type:ue.QUOTED_PARAMETER,regex:lA(u.quoted,WR(e.identTypes)),key:(l)=>(({tokenKey:c,quoteChar:p})=>c.replace(new RegExp(us("\\"+p),"gu"),p))({tokenKey:l.slice(2,-1),quoteChar:l.slice(-1)})},{type:ue.NUMBERED_PARAMETER,regex:lA(u.numbered,"[0-9]+"),key:(l)=>l.slice(1)},{type:ue.POSITIONAL_PARAMETER,regex:u.positional?/[?]/y:void 0},...u.custom.map((l)=>{var c;return{type:ue.CUSTOM_PARAMETER,regex:oi(l.regex),key:(c=l.key)!==null&&c!==void 0?c:(p)=>p}})])}validRules(e){return e.filter((t)=>Boolean(t.regex))}}var tr=(e)=>Mu(e.toUpperCase());var dk=new Map,Tk=(e)=>{let t=dk.get(e);if(!t)t=gie(e),dk.set(e,t);return t},gie=(e)=>({tokenizer:new hA(e.tokenizerOptions,e.name),formatOptions:Lie(e)}),Lie=({tokenizerOptions:e,formatOptions:t})=>{var r,s;return{alwaysDenseOperators:t.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(t.onelineClauses.map((n)=>[n,!0])),tabularOnelineClauses:Object.fromEntries(((r=t.tabularOnelineClauses)!==null&&r!==void 0?r:t.onelineClauses).map((n)=>[n,!0])),identifierDashes:Boolean((s=e.identChars)===null||s===void 0?void 0:s.dashes)}};function fk(e){if(e.indentStyle==="tabularLeft"||e.indentStyle==="tabularRight")return" ".repeat(10);if(e.useTabs)return"\t";return" ".repeat(e.tabWidth)}function io(e){return e.indentStyle==="tabularLeft"||e.indentStyle==="tabularRight"}class EA{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){if(!this.params)return t;if(e)return this.params[e];return this.params[this.index++]}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}}var Nk=VN(mk(),1);function Dk(e){return e.map(Pie).map(xie).map(Fie).map(bie).map(vie)}var Pie=(e,t,r)=>{if(oA(e.type)){let s=kie(r,t);if(s&&s.type===ue.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:ue.IDENTIFIER,text:e.raw});let n=wu(r,t);if(n&&n.type===ue.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},e),{type:ue.IDENTIFIER,text:e.raw})}return e},xie=(e,t,r)=>{if(e.type===ue.RESERVED_FUNCTION_NAME){let s=wu(r,t);if(!s||!Sk(s))return Object.assign(Object.assign({},e),{type:ue.IDENTIFIER,text:e.raw})}return e},Fie=(e,t,r)=>{if(e.type===ue.RESERVED_DATA_TYPE){let s=wu(r,t);if(s&&Sk(s))return Object.assign(Object.assign({},e),{type:ue.RESERVED_PARAMETERIZED_DATA_TYPE})}return e},bie=(e,t,r)=>{if(e.type===ue.IDENTIFIER){let s=wu(r,t);if(s&&Ck(s))return Object.assign(Object.assign({},e),{type:ue.ARRAY_IDENTIFIER})}return e},vie=(e,t,r)=>{if(e.type===ue.RESERVED_DATA_TYPE){let s=wu(r,t);if(s&&Ck(s))return Object.assign(Object.assign({},e),{type:ue.ARRAY_KEYWORD})}return e},kie=(e,t)=>wu(e,t,-1),wu=(e,t,r=1)=>{let s=1;while(e[t+s*r]&&Mie(e[t+s*r]))s++;return e[t+s*r]},Sk=(e)=>e.type===ue.OPEN_PAREN&&e.text==="(",Ck=(e)=>e.type===ue.OPEN_PAREN&&e.text==="[",Mie=(e)=>e.type===ue.BLOCK_COMMENT||e.type===ue.LINE_COMMENT;class Bu{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){let{line:t,col:r}=cA(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${r}`}has(e){return e in ue}}var we;(function(e){e.statement="statement",e.clause="clause",e.set_operation="set_operation",e.function_call="function_call",e.parameterized_data_type="parameterized_data_type",e.array_subscript="array_subscript",e.property_access="property_access",e.parenthesis="parenthesis",e.between_predicate="between_predicate",e.case_expression="case_expression",e.case_when="case_when",e.case_else="case_else",e.limit_clause="limit_clause",e.all_columns_asterisk="all_columns_asterisk",e.literal="literal",e.identifier="identifier",e.keyword="keyword",e.data_type="data_type",e.parameter="parameter",e.operator="operator",e.comma="comma",e.line_comment="line_comment",e.block_comment="block_comment",e.disable_comment="disable_comment"})(we=we||(we={}));function jR(e){return e[0]}var je=new Bu((e)=>[]),ao=([[e]])=>e,ur=(e)=>({type:we.keyword,tokenType:e.type,text:e.text,raw:e.raw}),Ik=(e)=>({type:we.data_type,text:e.text,raw:e.raw}),lr=(e,{leading:t,trailing:r})=>{if(t===null||t===void 0?void 0:t.length)e=Object.assign(Object.assign({},e),{leadingComments:t});if(r===null||r===void 0?void 0:r.length)e=Object.assign(Object.assign({},e),{trailingComments:r});return e},wie=(e,{leading:t,trailing:r})=>{if(t===null||t===void 0?void 0:t.length){let[s,...n]=e;e=[lr(s,{leading:t}),...n]}if(r===null||r===void 0?void 0:r.length){let s=e.slice(0,-1),n=e[e.length-1];e=[...s,lr(n,{trailing:r})]}return e},Bie={Lexer:je,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:(e)=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([e])=>{let t=e[e.length-1];if(t&&!t.hasSemicolon)return t.children.length>0?e:e.slice(0,-1);else return e}},{name:"statement$subexpression$1",symbols:[je.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[je.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([e,[t]])=>({type:we.statement,children:e,hasSemicolon:t.type===ue.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:(e)=>e[0].concat([e[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:(e)=>e[0].concat([e[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([e,t])=>[...e,...t]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:ao},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:(e)=>e[0].concat([e[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[je.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:jR},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[je.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([e,t,r,s])=>{if(s){let[n,i]=s;return{type:we.limit_clause,limitKw:lr(ur(e),{trailing:t}),offset:r,count:i}}else return{type:we.limit_clause,limitKw:lr(ur(e),{trailing:t}),count:r}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:(e)=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:(e)=>e[0].concat([e[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[je.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([e,[t,r]])=>({type:we.clause,nameKw:ur(e),children:[t,...r]})},{name:"select_clause",symbols:[je.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([e])=>({type:we.clause,nameKw:ur(e),children:[]})},{name:"all_columns_asterisk",symbols:[je.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:we.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:(e)=>e[0].concat([e[1]])},{name:"other_clause",symbols:[je.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([e,t])=>({type:we.clause,nameKw:ur(e),children:t})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:(e)=>e[0].concat([e[1]])},{name:"set_operation",symbols:[je.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([e,t])=>({type:we.set_operation,nameKw:ur(e),children:t})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:(e)=>e[0].concat([e[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:jR},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:(e)=>e[0].concat([e[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:(e)=>e[0].concat([e[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([e,t])=>[e,...t]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([e,t])=>lr(e,{trailing:t})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([e,t])=>lr(t,{leading:e})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([e,t])=>lr(t,{leading:e})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:ao},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:ao},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:ao},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:ao},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:ao},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:ao},{name:"array_subscript",symbols:[je.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([e,t,r])=>({type:we.array_subscript,array:lr({type:we.identifier,quoted:!1,text:e.text},{trailing:t}),parenthesis:r})},{name:"array_subscript",symbols:[je.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([e,t,r])=>({type:we.array_subscript,array:lr(ur(e),{trailing:t}),parenthesis:r})},{name:"function_call",symbols:[je.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([e,t,r])=>({type:we.function_call,nameKw:lr(ur(e),{trailing:t}),parenthesis:r})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([e,t,r])=>({type:we.parenthesis,children:t,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:(e)=>e[0].concat([e[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([e,t,r])=>({type:we.parenthesis,children:t,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:(e)=>e[0].concat([e[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([e,t,r])=>({type:we.parenthesis,children:t,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",je.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([e,t,r,s,[n]])=>({type:we.property_access,object:lr(e,{trailing:t}),operator:r.text,property:lr(n,{leading:s})})},{name:"between_predicate",symbols:[je.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",je.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([e,t,r,s,n,i,a])=>({type:we.between_predicate,betweenKw:ur(e),expr1:wie(r,{leading:t,trailing:s}),andKw:ur(n),expr2:[lr(a,{leading:i})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:jR},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:(e)=>e[0].concat([e[1]])},{name:"case_expression",symbols:[je.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",je.has("END")?{type:"END"}:END],postprocess:([e,t,r,s,n])=>({type:we.case_expression,caseKw:lr(ur(e),{trailing:t}),endKw:ur(n),expr:r||[],clauses:s})},{name:"case_clause",symbols:[je.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",je.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([e,t,r,s,n,i])=>({type:we.case_when,whenKw:lr(ur(e),{trailing:t}),thenKw:lr(ur(s),{trailing:n}),condition:r,result:i})},{name:"case_clause",symbols:[je.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([e,t,r])=>({type:we.case_else,elseKw:lr(ur(e),{trailing:t}),result:r})},{name:"comma$subexpression$1",symbols:[je.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[e]])=>({type:we.comma})},{name:"asterisk$subexpression$1",symbols:[je.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[e]])=>({type:we.operator,text:e.text})},{name:"operator$subexpression$1",symbols:[je.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[e]])=>({type:we.operator,text:e.text})},{name:"identifier$subexpression$1",symbols:[je.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[je.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[je.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[e]])=>({type:we.identifier,quoted:e.type!=="IDENTIFIER",text:e.text})},{name:"parameter$subexpression$1",symbols:[je.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[je.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[je.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[je.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[je.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[e]])=>({type:we.parameter,key:e.key,text:e.text})},{name:"literal$subexpression$1",symbols:[je.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[je.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[e]])=>({type:we.literal,text:e.text})},{name:"keyword$subexpression$1",symbols:[je.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[je.has("RESERVED_KEYWORD_PHRASE")?{type:"RESERVED_KEYWORD_PHRASE"}:RESERVED_KEYWORD_PHRASE]},{name:"keyword$subexpression$1",symbols:[je.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[e]])=>ur(e)},{name:"data_type$subexpression$1",symbols:[je.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type$subexpression$1",symbols:[je.has("RESERVED_DATA_TYPE_PHRASE")?{type:"RESERVED_DATA_TYPE_PHRASE"}:RESERVED_DATA_TYPE_PHRASE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[e]])=>Ik(e)},{name:"data_type",symbols:[je.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([e,t,r])=>({type:we.parameterized_data_type,dataType:lr(Ik(e),{trailing:t}),parenthesis:r})},{name:"logic_operator$subexpression$1",symbols:[je.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[je.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[je.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[e]])=>ur(e)},{name:"other_keyword$subexpression$1",symbols:[je.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[je.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[je.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[je.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[e]])=>ur(e)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:(e)=>e[0].concat([e[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([e])=>e},{name:"comment",symbols:[je.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([e])=>({type:we.line_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[je.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([e])=>({type:we.block_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})},{name:"comment",symbols:[je.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([e])=>({type:we.disable_comment,text:e.text,precedingWhitespace:e.precedingWhitespace})}],ParserStart:"main"},Rk=Bie;var{Parser:Uie,Grammar:Gie}=Nk.default;function yk(e){let t={},r=new Bu((n)=>[...Dk(e.tokenize(n,t)),mR(n.length)]),s=new Uie(Gie.fromCompiled(Rk),{lexer:r});return{parse:(n,i)=>{t=i;let{results:a}=s.feed(n);if(a.length===1)return a[0];else if(a.length===0)throw Error("Parse error: Invalid SQL");else throw Error(`Parse error: Ambiguous grammar
|
|
423
423
|
${JSON.stringify(a,void 0,2)}`)}}}var le;(function(e){e[e.SPACE=0]="SPACE",e[e.NO_SPACE=1]="NO_SPACE",e[e.NO_NEWLINE=2]="NO_NEWLINE",e[e.NEWLINE=3]="NEWLINE",e[e.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",e[e.INDENT=5]="INDENT",e[e.SINGLE_INDENT=6]="SINGLE_INDENT"})(le=le||(le={}));class Uu{constructor(e){this.indentation=e,this.items=[]}add(...e){for(let t of e)switch(t){case le.SPACE:this.items.push(le.SPACE);break;case le.NO_SPACE:this.trimHorizontalWhitespace();break;case le.NO_NEWLINE:this.trimWhitespace();break;case le.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(le.NEWLINE);break;case le.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(le.MANDATORY_NEWLINE);break;case le.INDENT:this.addIndentation();break;case le.SINGLE_INDENT:this.items.push(le.SINGLE_INDENT);break;default:this.items.push(t)}}trimHorizontalWhitespace(){while(Hie(Qi(this.items)))this.items.pop()}trimWhitespace(){while(Yie(Qi(this.items)))this.items.pop()}addNewline(e){if(this.items.length>0)switch(Qi(this.items)){case le.NEWLINE:this.items.pop(),this.items.push(e);break;case le.MANDATORY_NEWLINE:break;default:this.items.push(e);break}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(le.SINGLE_INDENT)}toString(){return this.items.map((e)=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}isAtStartOfLine(){for(let e=this.items.length-1;e>=0;e--){let t=this.items[e];if(t===le.SINGLE_INDENT)continue;return t===le.NEWLINE||t===le.MANDATORY_NEWLINE}return!1}itemToString(e){switch(e){case le.SPACE:return" ";case le.NEWLINE:case le.MANDATORY_NEWLINE:return`
|
|
424
424
|
`;case le.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return e}}}var Hie=(e)=>e===le.SPACE||e===le.SINGLE_INDENT,Yie=(e)=>e===le.SPACE||e===le.SINGLE_INDENT||e===le.NEWLINE;function TA(e,t){if(t==="standard")return e;let r=[];if(e.length>=10&&e.includes(" "))[e,...r]=e.split(" ");if(t==="tabularLeft")e=e.padEnd(9," ");else e=e.padStart(9," ");return e+["",...r].join(" ")}function qR(e){return hb(e)||e===ue.RESERVED_CLAUSE||e===ue.RESERVED_SELECT||e===ue.RESERVED_SET_OPERATION||e===ue.RESERVED_JOIN||e===ue.LIMIT}var JR="top-level",Vie="block-level";class Gu{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(JR)}increaseBlockLevel(){this.indentTypes.push(Vie)}decreaseTopLevel(){if(this.indentTypes.length>0&&Qi(this.indentTypes)===JR)this.indentTypes.pop()}decreaseBlockLevel(){while(this.indentTypes.length>0)if(this.indentTypes.pop()!==JR)break}}class fA extends Uu{constructor(e){super(new Gu(""));this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach((t)=>this.addToLength(t)),this.length>this.expressionWidth)throw new Vp;super.add(...e)}addToLength(e){if(typeof e==="string")this.length+=e.length,this.trailingSpace=!1;else if(e===le.MANDATORY_NEWLINE||e===le.NEWLINE)throw new Vp;else if(e===le.INDENT||e===le.SINGLE_INDENT||e===le.SPACE){if(!this.trailingSpace)this.length++,this.trailingSpace=!0}else if(e===le.NO_NEWLINE||e===le.NO_SPACE){if(this.trailingSpace)this.trailingSpace=!1,this.length--}}}class Vp extends Error{}class Hu{constructor({cfg:e,dialectCfg:t,params:r,layout:s,inline:n=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=n,this.params=r,this.layout=s}format(e){this.nodes=e;for(this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case we.function_call:return this.formatFunctionCall(e);case we.parameterized_data_type:return this.formatParameterizedDataType(e);case we.array_subscript:return this.formatArraySubscript(e);case we.property_access:return this.formatPropertyAccess(e);case we.parenthesis:return this.formatParenthesis(e);case we.between_predicate:return this.formatBetweenPredicate(e);case we.case_expression:return this.formatCaseExpression(e);case we.case_when:return this.formatCaseWhen(e);case we.case_else:return this.formatCaseElse(e);case we.clause:return this.formatClause(e);case we.set_operation:return this.formatSetOperation(e);case we.limit_clause:return this.formatLimitClause(e);case we.all_columns_asterisk:return this.formatAllColumnsAsterisk(e);case we.literal:return this.formatLiteral(e);case we.identifier:return this.formatIdentifier(e);case we.parameter:return this.formatParameter(e);case we.operator:return this.formatOperator(e);case we.comma:return this.formatComma(e);case we.line_comment:return this.formatLineComment(e);case we.block_comment:return this.formatBlockComment(e);case we.disable_comment:return this.formatBlockComment(e);case we.data_type:return this.formatDataType(e);case we.keyword:return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case we.data_type:t=this.showDataType(e.array);break;case we.keyword:t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array);break}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(le.NO_SPACE,e.operator),this.formatNode(e.property)}formatParenthesis(e){let t=this.formatInlineExpression(e.children);if(t)this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(le.NO_SPACE,e.closeParen,le.SPACE);else{if(this.layout.add(e.openParen,le.NEWLINE),io(this.cfg))this.layout.add(le.INDENT),this.layout=this.formatSubExpression(e.children);else this.layout.indentation.increaseBlockLevel(),this.layout.add(le.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel();this.layout.add(le.NEWLINE,le.INDENT,e.closeParen,le.SPACE)}}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),le.SPACE),this.layout=this.formatSubExpression(e.expr1),this.layout.add(le.NO_SPACE,le.SPACE,this.showNonTabularKw(e.andKw),le.SPACE),this.layout=this.formatSubExpression(e.expr2),this.layout.add(le.SPACE)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(le.NEWLINE,le.INDENT),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(le.NEWLINE,le.INDENT),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(le.NEWLINE,le.INDENT),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){if(this.isOnelineClause(e))this.formatClauseInOnelineStyle(e);else if(io(this.cfg))this.formatClauseInTabularStyle(e);else this.formatClauseInIndentedStyle(e)}isOnelineClause(e){if(io(this.cfg))return this.dialectCfg.tabularOnelineClauses[e.nameKw.text];else return this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e.nameKw),le.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(le.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e.nameKw),le.SPACE),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e.nameKw),le.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e.nameKw),le.NEWLINE),this.layout.add(le.INDENT),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){if(this.withComments(e.limitKw,()=>{this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),io(this.cfg))this.layout.add(le.SPACE);else this.layout.add(le.NEWLINE,le.INDENT);if(e.offset)this.layout=this.formatSubExpression(e.offset),this.layout.add(le.NO_SPACE,",",le.SPACE),this.layout=this.formatSubExpression(e.count);else this.layout=this.formatSubExpression(e.count);this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",le.SPACE)}formatLiteral(e){this.layout.add(e.text,le.SPACE)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),le.SPACE)}formatParameter(e){this.layout.add(this.params.get(e),le.SPACE)}formatOperator({text:e}){if(e==="-"&&this.dialectCfg.identifierDashes)this.layout.add(e,le.SPACE);else if(this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e))this.layout.add(le.NO_SPACE,e);else if(e===":")this.layout.add(le.NO_SPACE,e,le.SPACE);else this.layout.add(e,le.SPACE)}formatComma(e){if(!this.inline)this.layout.add(le.NO_SPACE,",",le.NEWLINE,le.INDENT);else this.layout.add(le.NO_SPACE,",",le.SPACE)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){if(!e)return;e.forEach((t)=>{if(t.type===we.line_comment)this.formatLineComment(t);else this.formatBlockComment(t)})}formatLineComment(e){if(uA(e.precedingWhitespace||""))this.layout.add(le.NEWLINE,le.INDENT,e.text,le.MANDATORY_NEWLINE,le.INDENT);else if(this.layout.getLayoutItems().length>0)this.layout.add(le.NO_NEWLINE,le.SPACE,e.text,le.MANDATORY_NEWLINE,le.INDENT);else this.layout.add(e.text,le.MANDATORY_NEWLINE,le.INDENT)}formatBlockComment(e){if(e.type===we.block_comment&&this.isStandaloneBlockComment(e))this.splitBlockComment(e.text).forEach((t)=>{this.layout.add(le.NEWLINE,le.INDENT,t)}),this.layout.add(le.NEWLINE,le.INDENT);else this.layout.add(e.text,le.SPACE)}isStandaloneBlockComment(e){return uA(e.text)||uA(e.precedingWhitespace||"")||this.layout.isAtStartOfLine()}isDocComment(e){let t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every((r)=>/^\s*\*/.test(r))&&/^\s*\*\/$/.test(Qi(t))}splitBlockComment(e){if(this.isDocComment(e))return e.split(/\n/).map((t)=>{if(/^\s*\*/.test(t))return" "+t.replace(/^\s*/,"");else return t});else return e.split(/\n/).map((t)=>t.replace(/^\s*/,""))}formatSubExpression(e){return new Hu({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(e)}formatInlineExpression(e){let t=this.params.getPositionalParameterIndex();try{return new Hu({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new fA(this.cfg.expressionWidth),inline:!0}).format(e)}catch(r){if(r instanceof Vp){this.params.setPositionalParameterIndex(t);return}else throw r}}formatKeywordNode(e){switch(e.tokenType){case ue.RESERVED_JOIN:return this.formatJoin(e);case ue.AND:case ue.OR:case ue.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){if(io(this.cfg))this.layout.indentation.decreaseTopLevel(),this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e),le.SPACE),this.layout.indentation.increaseTopLevel();else this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e),le.SPACE)}formatKeyword(e){this.layout.add(this.showKw(e),le.SPACE)}formatLogicalOperator(e){if(this.cfg.logicalOperatorNewline==="before")if(io(this.cfg))this.layout.indentation.decreaseTopLevel(),this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e),le.SPACE),this.layout.indentation.increaseTopLevel();else this.layout.add(le.NEWLINE,le.INDENT,this.showKw(e),le.SPACE);else this.layout.add(this.showKw(e),le.NEWLINE,le.INDENT)}formatDataType(e){this.layout.add(this.showDataType(e),le.SPACE)}showKw(e){if(qR(e.tokenType))return TA(this.showNonTabularKw(e),this.cfg.indentStyle);else return this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return Mu(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){if(qR(e.tokenType))return TA(this.showNonTabularFunctionKw(e),this.cfg.indentStyle);else return this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return Mu(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;else switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return Mu(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}}class AA{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new EA(this.cfg.params)}format(e){let t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return yk(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map((t)=>this.formatStatement(t)).join(`
|
|
425
|
-
`.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){let t=new Hu({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new Uu(new Gu(fk(this.cfg)))}).format(e.children);if(!e.hasSemicolon);else if(this.cfg.newlineBeforeSemicolon)t.add(le.NEWLINE,";");else t.add(le.NO_NEWLINE,";");return t.toString()}}class Yu extends Error{}function Ok(e){let t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(let r of t)if(r in e)throw new Yu(`${r} config is no more supported.`);if(e.expressionWidth<=0)throw new Yu(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);if(e.params&&!Wie(e.params))console.warn('WARNING: All "params" option values should be strings.');if(e.paramTypes&&!Xie(e.paramTypes))throw new Yu("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}function Wie(e){return(e instanceof Array?e:Object.values(e)).every((r)=>typeof r==="string")}function Xie(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every((t)=>t.regex!=="");return!0}var Kie=function(e,t){var r={};for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0)r[s]=e[s];if(e!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var n=0,s=Object.getOwnPropertySymbols(e);n<s.length;n++)if(t.indexOf(s[n])<0&&Object.prototype.propertyIsEnumerable.call(e,s[n]))r[s[n]]=e[s[n]]}return r},_k={bigquery:"bigquery",clickhouse:"clickhouse",db2:"db2",db2i:"db2i",duckdb:"duckdb",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},gk=Object.keys(_k),$ie={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},QR=(e,t={})=>{if(typeof t.language==="string"&&!gk.includes(t.language))throw new Yu(`Unsupported SQL dialect: ${t.language}`);let r=_k[t.language||"sql"];return Lk(e,Object.assign(Object.assign({},t),{dialect:UR[r]}))},Lk=(e,t)=>{var{dialect:r}=t,s=Kie(t,["dialect"]);if(typeof e!=="string")throw Error("Invalid query argument. Expected string, instead got "+typeof e);let n=Ok(Object.assign(Object.assign({},$ie),s));return new AA(Tk(r),n).format(e)};var tde="mh-fmt-core",qie=[zD,lC,WC,RI,dR,jie],Jie={javascript:"babel",js:"babel",jsx:"babel",mjs:"babel",cjs:"babel",typescript:"babel-ts",ts:"babel-ts",tsx:"babel-ts",jsonc:"jsonc",json5:"json5",css:"css",scss:"scss",less:"less",xml:"html",html:"html",yaml:"yaml",yml:"yaml",php:"php"};async function rde(e,t,r){if(t==="sql")return{text:QR(e,{language:"sql",tabWidth:2}),cursor:r};let s=Jie[t];if(!s)throw Error(
|
|
425
|
+
`.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){let t=new Hu({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new Uu(new Gu(fk(this.cfg)))}).format(e.children);if(!e.hasSemicolon);else if(this.cfg.newlineBeforeSemicolon)t.add(le.NEWLINE,";");else t.add(le.NO_NEWLINE,";");return t.toString()}}class Yu extends Error{}function Ok(e){let t=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(let r of t)if(r in e)throw new Yu(`${r} config is no more supported.`);if(e.expressionWidth<=0)throw new Yu(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);if(e.params&&!Wie(e.params))console.warn('WARNING: All "params" option values should be strings.');if(e.paramTypes&&!Xie(e.paramTypes))throw new Yu("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return e}function Wie(e){return(e instanceof Array?e:Object.values(e)).every((r)=>typeof r==="string")}function Xie(e){if(e.custom&&Array.isArray(e.custom))return e.custom.every((t)=>t.regex!=="");return!0}var Kie=function(e,t){var r={};for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0)r[s]=e[s];if(e!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var n=0,s=Object.getOwnPropertySymbols(e);n<s.length;n++)if(t.indexOf(s[n])<0&&Object.prototype.propertyIsEnumerable.call(e,s[n]))r[s[n]]=e[s[n]]}return r},_k={bigquery:"bigquery",clickhouse:"clickhouse",db2:"db2",db2i:"db2i",duckdb:"duckdb",hive:"hive",mariadb:"mariadb",mysql:"mysql",n1ql:"n1ql",plsql:"plsql",postgresql:"postgresql",redshift:"redshift",spark:"spark",sqlite:"sqlite",sql:"sql",tidb:"tidb",trino:"trino",transactsql:"transactsql",tsql:"transactsql",singlestoredb:"singlestoredb",snowflake:"snowflake"},gk=Object.keys(_k),$ie={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},QR=(e,t={})=>{if(typeof t.language==="string"&&!gk.includes(t.language))throw new Yu(`Unsupported SQL dialect: ${t.language}`);let r=_k[t.language||"sql"];return Lk(e,Object.assign(Object.assign({},t),{dialect:UR[r]}))},Lk=(e,t)=>{var{dialect:r}=t,s=Kie(t,["dialect"]);if(typeof e!=="string")throw Error("Invalid query argument. Expected string, instead got "+typeof e);let n=Ok(Object.assign(Object.assign({},$ie),s));return new AA(Tk(r),n).format(e)};var tde="mh-fmt-core",qie=[zD,lC,WC,RI,dR,jie],Jie={javascript:"babel",js:"babel",jsx:"babel",mjs:"babel",cjs:"babel",typescript:"babel-ts",ts:"babel-ts",tsx:"babel-ts",jsonc:"jsonc",json5:"json5",css:"css",scss:"scss",less:"less",xml:"html",html:"html",yaml:"yaml",yml:"yaml",php:"php"};async function rde(e,t,r){if(t==="sql")return{text:QR(e,{language:"sql",tabWidth:2}),cursor:r};let s=Jie[t];if(!s)throw Error(`unsupported language: ${t}`);let n=await zd(e,{parser:s,plugins:qie,tabWidth:2,cursorOffset:Math.max(0,r)});return{text:n.formatted,cursor:n.cursorOffset}}export{tde as MARKER,rde as format};
|