squel 6.0.2 → 6.0.5
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/CHANGELOG.md +11 -0
- package/README.md +2 -1
- package/dist/browser/squel.min.js +1 -1
- package/dist/cjs/index.js +20 -10
- package/dist/cjs/index.js.map +2 -2
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [6.0.5](https://github.com/hiddentao/squel/compare/v6.0.4...v6.0.5) (2026-04-14)
|
|
6
|
+
|
|
7
|
+
## [6.0.4](https://github.com/hiddentao/squel/compare/v6.0.3...v6.0.4) (2026-04-14)
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Documentation
|
|
11
|
+
|
|
12
|
+
* add coveralls badge and scope ci badge to master ([#401](https://github.com/hiddentao/squel/issues/401)) ([e7cd480](https://github.com/hiddentao/squel/commit/e7cd480159149db97b48b5dd2262002528f8abbe))
|
|
13
|
+
|
|
14
|
+
## [6.0.3](https://github.com/hiddentao/squel/compare/v6.0.2...v6.0.3) (2026-04-14)
|
|
15
|
+
|
|
5
16
|
## [6.0.2](https://github.com/hiddentao/squel/compare/v6.0.1...v6.0.2) (2026-04-14)
|
|
6
17
|
|
|
7
18
|
## 6.0.1 (2026-04-14)
|
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# squel — SQL query string builder
|
|
2
2
|
|
|
3
|
-
[](https://github.com/hiddentao/squel/actions/workflows/ci.yml)
|
|
3
|
+
[](https://github.com/hiddentao/squel/actions/workflows/ci.yml?query=branch%3Amaster)
|
|
4
|
+
[](https://coveralls.io/github/hiddentao/squel?branch=master)
|
|
4
5
|
[](https://www.npmjs.com/package/squel)
|
|
5
6
|
[](https://www.npmjs.com/package/squel)
|
|
6
7
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var{defineProperty:b,getOwnPropertyNames:Q,getOwnPropertyDescriptor:V}=Object,$=Object.prototype.hasOwnProperty;var O=new WeakMap,z=(c)=>{var t=O.get(c),s;if(t)return t;if(t=b({},"__esModule",{value:!0}),c&&typeof c==="object"||typeof c==="function")Q(c).map((i)=>!$.call(t,i)&&b(t,i,{get:()=>c[i],enumerable:!(s=V(c,i))||s.enumerable}));return O.set(c,t),t};var A=(c,t)=>{for(var s in t)b(c,s,{get:t[s],enumerable:!0,configurable:!0,set:(i)=>t[s]=()=>i})};var C={};A(C,{squel:()=>S,default:()=>D});var P={name:"squel",version:"6.0.2",description:"SQL query string builder",keywords:["sql","database","rdbms","query-builder","mysql","postgres","mssql"],author:"Ramesh Nair <ram@hiddentao.com> (http://www.hiddentao.com/)",contributors:["Ramesh Nair <ram@hiddentao.com> (http://www.hiddentao.com/)","Sergej Brjuchanov <serges@seznam.cz>"],license:"MIT",repository:{type:"git",url:"https://github.com/hiddentao/squel.git"},homepage:"https://github.com/hiddentao/squel",bugs:{url:"https://github.com/hiddentao/squel/issues"},type:"module",main:"./dist/cjs/index.js",module:"./dist/esm/index.js",types:"./dist/types/index.d.ts",exports:{".":{types:"./dist/types/index.d.ts",import:"./dist/esm/index.js",require:"./dist/cjs/index.js"},"./browser":"./dist/browser/squel.min.js"},files:["dist","README.md","LICENSE.md","CHANGELOG.md"],engines:{node:">=18.0.0"},publishConfig:{access:"public",provenance:!0},scripts:{build:"bun run scripts/build.ts",test:"bun test","test:coverage":"bun test --coverage --coverage-reporter=lcov","test:watch":"bun test --watch",lint:"biome check --write ./src ./tests ./scripts",format:"biome format --write ./src ./tests ./scripts",check:"biome check ./src ./tests ./scripts",typecheck:"tsc --noEmit",prepare:"husky",prepublishOnly:"bun run build && bun run test"},dependencies:{},devDependencies:{"@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@commitlint/config-conventional":"^19.8.1","@types/bun":"latest","@types/node":"^22.0.0","commit-and-tag-version":"^12.6.0",husky:"^9.1.7",typescript:"^5.3.0"}};function p(c,t){return c.length?c+t:c}function f(c,...t){if(c&&t){for(let s of t)if(s&&typeof s==="object")for(let i of Object.getOwnPropertyNames(s))c[i]=s[i]}return c}function x(c){return!!c&&c.constructor.prototype===Object.prototype}function B(c){return!!c&&c.constructor.prototype===Array.prototype}function E(c){if(!c)return c;let t=c;if(typeof t.clone==="function")return t.clone();if(x(c)||B(c)){let s=new t.constructor;for(let i of Object.getOwnPropertyNames(c))if(typeof t[i]!=="function")s[i]=E(t[i]);return s}return JSON.parse(JSON.stringify(c))}function v(c,t,s){let i=typeof t;if(i!=="function"&&i!=="string")throw Error("type must be a class constructor or string");if(typeof s!=="function")throw Error("handler must be a function");for(let e of c)if(e.type===t){e.handler=s;return}c.push({type:t,handler:s})}function T(c,t,s){return F(c,t)||F(c,s)}function F(c,t){for(let s of t)if(typeof c===s.type||typeof s.type!=="string"&&c instanceof s.type)return s.handler;return}function N(c=null){let t={isSquelBuilder(e){return!!e&&!!e._toParamString}},s=(e)=>{return!t.isSquelBuilder(e)||!e.options.rawNesting};t.DefaultQueryBuilderOptions={autoQuoteTableNames:!1,autoQuoteFieldNames:!1,autoQuoteAliasNames:!0,useAsForTableAliasNames:!1,nameQuoteCharacter:"`",tableAliasQuoteCharacter:"`",fieldAliasQuoteCharacter:'"',valueHandlers:[],parameterCharacter:"?",numberedParameters:!1,numberedParametersPrefix:"$",numberedParametersStartAt:1,replaceSingleQuotes:!1,singleQuoteReplacement:"''",separator:" ",stringFormatter:null,rawNesting:!1},t.globalValueHandlers=[],t.registerValueHandler=(e,n)=>{v(t.globalValueHandlers,e,n)},t.Cloneable=class{clone(){let e=new this.constructor;return f(e,E(f({},this)))}},t.BaseBuilder=class extends t.Cloneable{options;constructor(e){super();let n=JSON.parse(JSON.stringify(t.DefaultQueryBuilderOptions));n.stringFormatter=t.DefaultQueryBuilderOptions.stringFormatter,this.options=f(n,e)}registerValueHandler(e,n){return v(this.options.valueHandlers,e,n),this}_sanitizeExpression(e){if(!t.isSquelBuilder(e)){if(typeof e!=="string")throw Error("expression must be a string or builder instance")}return e}_sanitizeName(e,n){if(typeof e!=="string")throw Error(`${n} must be a string`);return e}_sanitizeField(e){if(!t.isSquelBuilder(e))return this._sanitizeName(e,"field name");return e}_sanitizeBaseBuilder(e){if(t.isSquelBuilder(e))return e;throw Error("must be a builder instance")}_sanitizeTable(e,n){if(typeof e!=="string")try{return this._sanitizeBaseBuilder(e)}catch(r){throw Error("table name must be a string or a builder")}return this._sanitizeName(e,"table")}_sanitizeTableAlias(e){return this._sanitizeName(e,"table alias")}_sanitizeFieldAlias(e){return this._sanitizeName(e,"field alias")}_sanitizeLimitOffset(e){let n=Number.parseInt(e,10);if(n<0||Number.isNaN(n))throw Error("limit/offset must be >= 0");return n}_sanitizeValue(e){let n=typeof e;if(e===null);else if(n==="string"||n==="number"||n==="boolean");else if(t.isSquelBuilder(e));else if(!T(e,this.options.valueHandlers,t.globalValueHandlers))throw Error("field value must be a string, number, boolean, null or one of the registered custom value types");return e}_escapeValue(e){return this.options.replaceSingleQuotes&&e?e.replace(/'/g,this.options.singleQuoteReplacement):e}_formatTableName(e){if(this.options.autoQuoteTableNames){let n=this.options.nameQuoteCharacter;e=`${n}${e}${n}`}return e}_formatFieldAlias(e){if(this.options.autoQuoteAliasNames){let n=this.options.fieldAliasQuoteCharacter;e=`${n}${e}${n}`}return e}_formatTableAlias(e){if(this.options.autoQuoteAliasNames){let n=this.options.tableAliasQuoteCharacter;e=`${n}${e}${n}`}return this.options.useAsForTableAliasNames?`AS ${e}`:e}_formatFieldName(e,n={}){if(this.options.autoQuoteFieldNames){let r=this.options.nameQuoteCharacter;if(n.ignorePeriodsForFieldNameQuotes)e=`${r}${e}${r}`;else e=e.split(".").map((a)=>a==="*"?a:`${r}${a}${r}`).join(".")}return e}_formatCustomValue(e,n,r){let a=T(e,this.options.valueHandlers,t.globalValueHandlers);if(a){if(e=a(e,n,r),e&&e.rawNesting)return{formatted:!0,rawNesting:!0,value:e.value}}return{formatted:!!a,value:e}}_formatValueForParamArray(e,n={}){if(B(e))return e.map((r)=>this._formatValueForParamArray(r,n));return this._formatCustomValue(e,!0,n).value}_formatValueForQueryString(e,n={}){let{rawNesting:r,formatted:a,value:o}=this._formatCustomValue(e,!1,n),l=o;if(a){if(r)return l;return this._applyNestingFormatting(l,s(e))}if(B(l))l=l.map((u)=>this._formatValueForQueryString(u)),l=this._applyNestingFormatting(l.join(", "),s(l));else{let u=typeof l;if(l===null)l="NULL";else if(u==="boolean")l=l?"TRUE":"FALSE";else if(t.isSquelBuilder(l))l=this._applyNestingFormatting(l.toString(),s(l));else if(u!=="number"){if(u==="string"&&this.options.stringFormatter)return this.options.stringFormatter(l);if(n.dontQuote)l=`${l}`;else l=`'${this._escapeValue(l)}'`}}return l}_applyNestingFormatting(e,n=!0){if(e&&typeof e==="string"&&n&&!this.options.rawNesting){let r=e.charAt(0)==="("&&e.charAt(e.length-1)===")";if(r){let a=0,o=1;while(e.length-1>++a){let l=e.charAt(a);if(l==="(")o++;else if(l===")"){if(o--,o<1){r=!1;break}}}}if(!r)e=`(${e})`}return e}_buildString(e,n,r={}){let{nested:a,buildParameterized:o,formattingOptions:l}=r;n=n||[],e=e||"";let u="",d=-1,h=[],y=this.options.parameterCharacter,_=0;while(e.length>_)if(e.substring(_,_+y.length)===y){let g=n[++d];if(o)if(t.isSquelBuilder(g)){let w=g._toParamString({buildParameterized:o,nested:!0});u+=w.text,w.values.forEach((k)=>h.push(k))}else if(g=this._formatValueForParamArray(g,l),B(g)){let w=g.map(()=>y).join(", ");u+=`(${w})`,g.forEach((k)=>h.push(k))}else u+=y,h.push(g);else u+=this._formatValueForQueryString(g,l);_+=y.length}else u+=e.charAt(_),_++;return{text:this._applyNestingFormatting(u,!!a),values:h}}_buildManyStrings(e,n,r={}){let a=[],o=[];for(let u=0;e.length>u;++u){let d=e[u],h=n[u],{text:y,values:_}=this._buildString(d,h,{buildParameterized:r.buildParameterized,nested:!1});a.push(y),_.forEach((g)=>o.push(g))}let l=a.join(this.options.separator);return{text:l.length?this._applyNestingFormatting(l,!!r.nested):"",values:o}}_toParamString(e){throw Error("Not yet implemented")}toString(e={}){return this._toParamString(e).text}toParam(e={}){return this._toParamString({...e,buildParameterized:!0})}},t.Expression=class extends t.BaseBuilder{_nodes;constructor(e){super(e);this._nodes=[]}and(e,...n){return e=this._sanitizeExpression(e),this._nodes.push({type:"AND",expr:e,para:n}),this}or(e,...n){return e=this._sanitizeExpression(e),this._nodes.push({type:"OR",expr:e,para:n}),this}_toParamString(e={}){let n=[],r=[];for(let a of this._nodes){let{type:o,expr:l,para:u}=a,{text:d,values:h}=t.isSquelBuilder(l)?l._toParamString({buildParameterized:e.buildParameterized,nested:!0}):this._buildString(l,u,{buildParameterized:e.buildParameterized});if(n.length)n.push(o);n.push(d),h.forEach((y)=>r.push(y))}return n=n.join(" "),{text:this._applyNestingFormatting(n,!!e.nested),values:r}}},t.Case=class extends t.BaseBuilder{_fieldName=null;_cases;_elseValue=null;constructor(e,n={}){super(n);let r=null;if(x(e))n=e;else if(e)r=this._sanitizeField(e);this._fieldName=r,this.options=f(Object.assign({},t.DefaultQueryBuilderOptions),n),this._cases=[]}when(e,...n){return this._cases.unshift({expression:e,values:n||[]}),this}then(e){if(this._cases.length===0)throw Error("when() needs to be called first");return this._cases[0].result=e,this}else(e){return this._elseValue=e,this}_toParamString(e={}){let n="",r=[];for(let{expression:a,values:o,result:l}of this._cases){n=p(n," ");let u=this._buildString(a,o,{buildParameterized:e.buildParameterized,nested:!0});n+=`WHEN ${u.text} THEN ${this._formatValueForQueryString(l)}`,u.values.forEach((d)=>r.push(d))}if(n.length){if(n+=` ELSE ${this._formatValueForQueryString(this._elseValue)} END`,this._fieldName)n=`${this._fieldName} ${n}`;n=`CASE ${n}`}else n=this._formatValueForQueryString(this._elseValue);return{text:n,values:r}}},t.Block=class extends t.BaseBuilder{constructor(e){super(e)}exposedMethods(){let e={},n=this;while(n){for(let r of Object.getOwnPropertyNames(n))if(r!=="constructor"&&typeof n[r]==="function"&&r.charAt(0)!=="_"&&!t.Block.prototype[r])e[r]=n[r];n=Object.getPrototypeOf(n)}return e}},t.StringBlock=class extends t.Block{_str;constructor(e,n){super(e);this._str=n}_toParamString(e={}){return{text:this._str,values:[]}}},t.FunctionBlock=class extends t.Block{_strings;_values;constructor(e){super(e);this._strings=[],this._values=[]}function(e,...n){this._strings.push(e),this._values.push(n)}_toParamString(e={}){return this._buildManyStrings(this._strings,this._values,e)}},t.registerValueHandler(t.FunctionBlock,(e,n=!1)=>{return n?e.toParam():e.toString()}),t.AbstractTableBlock=class extends t.Block{_tables;constructor(e,n){super(e);this._tables=[]}_table(e,n=null){if(n=n?this._sanitizeTableAlias(n):n,e=this._sanitizeTable(e),this.options.singleTable)this._tables=[];this._tables.push({table:e,alias:n})}_hasTable(){return this._tables.length>0}_toParamString(e={}){let n="",r=[];if(this._hasTable()){for(let{table:a,alias:o}of this._tables){n=p(n,", ");let l;if(t.isSquelBuilder(a)){let{text:u,values:d}=a._toParamString({buildParameterized:e.buildParameterized,nested:!0});l=u,d.forEach((h)=>r.push(h))}else l=this._formatTableName(a);if(o)l+=` ${this._formatTableAlias(o)}`;n+=l}if(this.options.prefix)n=`${this.options.prefix} ${n}`}return{text:n,values:r}}},t.TargetTableBlock=class extends t.AbstractTableBlock{target(e){this._table(e)}},t.UpdateTableBlock=class extends t.AbstractTableBlock{table(e,n=null){this._table(e,n)}_toParamString(e={}){if(!this._hasTable())throw Error("table() needs to be called");return super._toParamString(e)}},t.FromTableBlock=class extends t.AbstractTableBlock{constructor(e){super(f({},e,{prefix:"FROM"}))}from(e,n=null){this._table(e,n)}},t.IntoTableBlock=class extends t.AbstractTableBlock{constructor(e){super(f({},e,{prefix:"INTO",singleTable:!0}))}into(e){this._table(e)}_toParamString(e={}){if(!this._hasTable())throw Error("into() needs to be called");return super._toParamString(e)}},t.GetFieldBlock=class extends t.Block{_fields;constructor(e){super(e);this._fields=[]}fields(e,n={}){if(B(e))for(let r of e)this.field(r,null,n);else for(let r in e){let a=e[r];this.field(r,a,n)}}field(e,n=null,r={}){if(n=n?this._sanitizeFieldAlias(n):n,e=this._sanitizeField(e),this._fields.filter((o)=>o.name===e&&o.alias===n).length)return this;this._fields.push({name:e,alias:n,options:r});return}_toParamString(e={}){let{queryBuilder:n,buildParameterized:r}=e,a="",o=[];for(let l of this._fields){a=p(a,", ");let{name:u,alias:d,options:h}=l;if(typeof u==="string")a+=this._formatFieldName(u,h);else{let y=u._toParamString({nested:!0,buildParameterized:r});a+=y.text,y.values.forEach((_)=>o.push(_))}if(d)a+=` AS ${this._formatFieldAlias(d)}`}if(!a.length){let l=n?.getBlock(t.FromTableBlock);if(l&&l._hasTable())a="*"}return{text:a,values:o}}},t.AbstractSetFieldBlock=class extends t.Block{_fields;_values;_valueOptions;constructor(e){super(e);this._fields=[],this._values=[[]],this._valueOptions=[[]]}_reset(){this._fields=[],this._values=[[]],this._valueOptions=[[]]}_set(e,n,r={}){if(this._values.length>1)throw Error("Cannot set multiple rows of fields this way.");if(typeof n<"u")n=this._sanitizeValue(n);e=this._sanitizeField(e);let a=this._fields.indexOf(e);if(a===-1)this._fields.push(e),a=this._fields.length-1;this._values[0][a]=n,this._valueOptions[0][a]=r}_setFields(e,n={}){if(typeof e!=="object")throw Error(`Expected an object but got ${typeof e}`);for(let r in e)this._set(r,e[r],n)}_setFieldsRows(e,n={}){if(!B(e))throw Error(`Expected an array of objects but got ${typeof e}`);this._reset();for(let r=0;e.length>r;++r){let a=e[r];for(let o in a){let l=a[o];o=this._sanitizeField(o),l=this._sanitizeValue(l);let u=this._fields.indexOf(o);if(r>0&&u===-1)throw Error("All fields in subsequent rows must match the fields in the first row");if(u===-1)this._fields.push(o),u=this._fields.length-1;if(!B(this._values[r]))this._values[r]=[],this._valueOptions[r]=[];this._values[r][u]=l,this._valueOptions[r][u]=n}}}},t.SetFieldBlock=class extends t.AbstractSetFieldBlock{set(e,n,r){this._set(e,n,r)}setFields(e,n){this._setFields(e,n)}_toParamString(e={}){let{buildParameterized:n}=e;if(this._fields.length<=0)throw Error("set() needs to be called");let r="",a=[];for(let o=0;o<this._fields.length;++o){r=p(r,", ");let l=this._formatFieldName(this._fields[o]),u=this._values[0][o];if(l.indexOf("=")<0)l=`${l} = ${this.options.parameterCharacter}`;let d=this._buildString(l,[u],{buildParameterized:n,formattingOptions:this._valueOptions[0][o]});r+=d.text,d.values.forEach((h)=>a.push(h))}return{text:`SET ${r}`,values:a}}},t.InsertFieldValueBlock=class extends t.AbstractSetFieldBlock{set(e,n,r={}){this._set(e,n,r)}setFields(e,n){this._setFields(e,n)}setFieldsRows(e,n){this._setFieldsRows(e,n)}_toParamString(e={}){let{buildParameterized:n}=e,r=this._fields.map((l)=>this._formatFieldName(l)).join(", "),a=[],o=[];for(let l=0;l<this._values.length;++l){a[l]="";for(let u=0;u<this._values[l].length;++u){let d=this._buildString(this.options.parameterCharacter,[this._values[l][u]],{buildParameterized:n,formattingOptions:this._valueOptions[l][u]});d.values.forEach((h)=>o.push(h)),a[l]=p(a[l],", "),a[l]+=d.text}}return{text:r.length?`(${r}) VALUES (${a.join("), (")})`:"",values:o}}},t.InsertFieldsFromQueryBlock=class extends t.Block{_fields;_query=null;constructor(e){super(e);this._fields=[]}fromQuery(e,n){this._fields=e.map((r)=>this._sanitizeField(r)),this._query=this._sanitizeBaseBuilder(n)}_toParamString(e={}){let n="",r=[];if(this._fields.length&&this._query){let{text:a,values:o}=this._query._toParamString({buildParameterized:e.buildParameterized,nested:!0});n=`(${this._fields.join(", ")}) ${this._applyNestingFormatting(a)}`,r=o}return{text:n,values:r}}},t.DistinctBlock=class extends t.Block{_useDistinct=!1;distinct(){this._useDistinct=!0}_toParamString(){return{text:this._useDistinct?"DISTINCT":"",values:[]}}},t.GroupByBlock=class extends t.Block{_groups;constructor(e){super(e);this._groups=[]}group(e){this._groups.push(this._sanitizeField(e))}_toParamString(e={}){return{text:this._groups.length?`GROUP BY ${this._groups.join(", ")}`:"",values:[]}}},t.AbstractVerbSingleValueBlock=class extends t.Block{_value=null;constructor(e){super(e)}_setValue(e){this._value=e!==null?this._sanitizeLimitOffset(e):e}_toParamString(e={}){let n=this._value!==null?`${this.options.verb} ${this.options.parameterCharacter}`:"",r=this._value!==null?[this._value]:[];return this._buildString(n,r,e)}},t.OffsetBlock=class extends t.AbstractVerbSingleValueBlock{constructor(e){super(f({},e,{verb:"OFFSET"}))}offset(e){this._setValue(e)}},t.LimitBlock=class extends t.AbstractVerbSingleValueBlock{constructor(e){super(f({},e,{verb:"LIMIT"}))}limit(e){this._setValue(e)}},t.AbstractConditionBlock=class extends t.Block{_conditions;constructor(e){super(e);this._conditions=[]}_condition(e,...n){e=this._sanitizeExpression(e),this._conditions.push({expr:e,values:n||[]})}_toParamString(e={}){let n=[],r=[];for(let{expr:o,values:l}of this._conditions){let u=t.isSquelBuilder(o)?o._toParamString({buildParameterized:e.buildParameterized}):this._buildString(o,l,{buildParameterized:e.buildParameterized});if(u.text.length)n.push(u.text);u.values.forEach((d)=>r.push(d))}let a=n.join(") AND (");return{text:a.length?`${this.options.verb} (${a})`:"",values:r}}},t.WhereBlock=class extends t.AbstractConditionBlock{constructor(e){super(f({},e,{verb:"WHERE"}))}where(e,...n){this._condition(e,...n)}},t.HavingBlock=class extends t.AbstractConditionBlock{constructor(e){super(f({},e,{verb:"HAVING"}))}having(e,...n){this._condition(e,...n)}},t.OrderByBlock=class extends t.Block{_orders;constructor(e){super(e);this._orders=[]}order(e,n,...r){e=this._sanitizeField(e);let a;if(typeof n==="string")a=n;else if(n===void 0)a="ASC";else if(n===null)a=null;else a=n?"ASC":"DESC";this._orders.push({field:e,dir:a,values:r||[]})}_toParamString(e={}){let n="",r=[];for(let{field:a,dir:o,values:l}of this._orders){n=p(n,", ");let u=this._buildString(a,l,{buildParameterized:e.buildParameterized});if(n+=u.text,B(u.values))u.values.forEach((d)=>r.push(d));if(o!==null)n+=` ${o}`}return{text:n.length?`ORDER BY ${n}`:"",values:r}}},t.JoinBlock=class extends t.Block{_joins;constructor(e){super(e);this._joins=[]}join(e,n=null,r=null,a="INNER"){e=this._sanitizeTable(e,!0),n=n?this._sanitizeTableAlias(n):n,r=r?this._sanitizeExpression(r):r,this._joins.push({type:a,table:e,alias:n,condition:r})}left_join(e,n=null,r=null){this.join(e,n,r,"LEFT")}right_join(e,n=null,r=null){this.join(e,n,r,"RIGHT")}outer_join(e,n=null,r=null){this.join(e,n,r,"OUTER")}left_outer_join(e,n=null,r=null){this.join(e,n,r,"LEFT OUTER")}full_join(e,n=null,r=null){this.join(e,n,r,"FULL")}cross_join(e,n=null,r=null){this.join(e,n,r,"CROSS")}_toParamString(e={}){let n="",r=[];for(let{type:a,table:o,alias:l,condition:u}of this._joins){n=p(n,this.options.separator);let d;if(t.isSquelBuilder(o)){let h=o._toParamString({buildParameterized:e.buildParameterized,nested:!0});h.values.forEach((y)=>r.push(y)),d=h.text}else d=this._formatTableName(o);if(n+=`${a} JOIN ${d}`,l)n+=` ${this._formatTableAlias(l)}`;if(u){n+=" ON ";let h;if(t.isSquelBuilder(u))h=u._toParamString({buildParameterized:e.buildParameterized});else h=this._buildString(u,[],{buildParameterized:e.buildParameterized});n+=this._applyNestingFormatting(h.text),h.values.forEach((y)=>r.push(y))}}return{text:n,values:r}}},t.UnionBlock=class extends t.Block{_unions;constructor(e){super(e);this._unions=[]}union(e,n="UNION"){e=this._sanitizeTable(e),this._unions.push({type:n,table:e})}union_all(e){this.union(e,"UNION ALL")}_toParamString(e={}){let n="",r=[];for(let{type:a,table:o}of this._unions){n=p(n,this.options.separator);let l;if(o instanceof t.BaseBuilder){let u=o._toParamString({buildParameterized:e.buildParameterized,nested:!0});l=u.text,u.values.forEach((d)=>r.push(d))}else n=this._formatTableName(o),l="";n+=`${a} ${l}`}return{text:n,values:r}}},t.QueryBuilder=class extends t.BaseBuilder{blocks;constructor(e,n){super(e);this.blocks=n||[];for(let r of this.blocks){let a=r.exposedMethods();for(let o in a){let l=a[o];if(this[o]!==void 0)throw Error(`Builder already has a builder method called: ${o}`);((u,d,h)=>{this[d]=(...y)=>{return h.call(u,...y),this}})(r,o,l)}}}registerValueHandler(e,n){for(let r of this.blocks)r.registerValueHandler(e,n);return super.registerValueHandler(e,n),this}updateOptions(e){this.options=f(this.options,e);for(let n of this.blocks)n.options=f(n.options,e)}_toParamString(e={}){let n=f({},this.options,e),r=this.blocks.map((d)=>d._toParamString({buildParameterized:n.buildParameterized,queryBuilder:this})),a=r.map((d)=>d.text),o=r.map((d)=>d.values),l=a.filter((d)=>d.length>0).join(n.separator),u=[];if(o.forEach((d)=>d.forEach((h)=>u.push(h))),!n.nested){if(n.numberedParameters){let d=n.numberedParametersStartAt!==void 0?n.numberedParametersStartAt:1,h=n.parameterCharacter.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");l=l.replace(new RegExp(h,"g"),()=>{return`${n.numberedParametersPrefix}${d++}`})}}return{text:this._applyNestingFormatting(l,!!n.nested),values:u}}clone(){let e=this.blocks.map((n)=>n.clone());return new this.constructor(this.options,e)}getBlock(e){return this.blocks.filter((n)=>n instanceof e)[0]}},t.Select=class extends t.QueryBuilder{constructor(e,n=null){n=n||[new t.StringBlock(e,"SELECT"),new t.FunctionBlock(e),new t.DistinctBlock(e),new t.GetFieldBlock(e),new t.FromTableBlock(e),new t.JoinBlock(e),new t.WhereBlock(e),new t.GroupByBlock(e),new t.HavingBlock(e),new t.OrderByBlock(e),new t.LimitBlock(e),new t.OffsetBlock(e),new t.UnionBlock(e)];super(e,n)}},t.Update=class extends t.QueryBuilder{constructor(e,n=null){n=n||[new t.StringBlock(e,"UPDATE"),new t.UpdateTableBlock(e),new t.SetFieldBlock(e),new t.WhereBlock(e),new t.OrderByBlock(e),new t.LimitBlock(e)];super(e,n)}},t.Delete=class extends t.QueryBuilder{constructor(e,n=null){n=n||[new t.StringBlock(e,"DELETE"),new t.TargetTableBlock(e),new t.FromTableBlock(f({},e,{singleTable:!0})),new t.JoinBlock(e),new t.WhereBlock(e),new t.OrderByBlock(e),new t.LimitBlock(e)];super(e,n)}},t.Insert=class extends t.QueryBuilder{constructor(e,n=null){n=n||[new t.StringBlock(e,"INSERT"),new t.IntoTableBlock(e),new t.InsertFieldValueBlock(e),new t.InsertFieldsFromQueryBlock(e)];super(e,n)}};let i={VERSION:P.version,flavour:c,expr:(e)=>new t.Expression(e),case:(e,n)=>new t.Case(e,n),select:(e,n)=>new t.Select(e,n),update:(e,n)=>new t.Update(e,n),insert:(e,n)=>new t.Insert(e,n),delete:(e,n)=>new t.Delete(e,n),str:(...e)=>{let n=new t.FunctionBlock;return n.function(...e),n},rstr:(...e)=>{let n=new t.FunctionBlock({rawNesting:!0});return n.function(...e),n},registerValueHandler:t.registerValueHandler};return i.remove=i.delete,i.cls=t,i}var m=N();m.flavours={};m.useFlavour=function(t=null){if(!t)return m;if(m.flavours[t]instanceof Function){let s=N(t);return m.flavours[t].call(null,s),s.flavours=m.flavours,s.useFlavour=m.useFlavour,s}throw Error(`Flavour not available: ${t}`)};var S=m;m.flavours.mysql=(c)=>{let t=c.cls;t.MysqlOnDuplicateKeyUpdateBlock=class extends t.AbstractSetFieldBlock{onDupUpdate(s,i,e){this._set(s,i,e)}_toParamString(s={}){let i="",e=[];for(let n=0;n<this._fields.length;++n){i=p(i,", ");let r=this._fields[n],a=this._values[0][n],o=this._valueOptions[0][n];if(typeof a>"u")i+=r;else{let l=this._buildString(`${r} = ${this.options.parameterCharacter}`,[a],{buildParameterized:s.buildParameterized,formattingOptions:o});i+=l.text,l.values.forEach((u)=>e.push(u))}}return{text:!i.length?"":`ON DUPLICATE KEY UPDATE ${i}`,values:e}}},t.Insert=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"INSERT"),new t.IntoTableBlock(s),new t.InsertFieldValueBlock(s),new t.InsertFieldsFromQueryBlock(s),new t.MysqlOnDuplicateKeyUpdateBlock(s)];super(s,i)}},t.Replace=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"REPLACE"),new t.IntoTableBlock(s),new t.InsertFieldValueBlock(s),new t.InsertFieldsFromQueryBlock(s)];super(s,i)}},c.replace=(s,i)=>new t.Replace(s,i)};m.flavours.postgres=(c)=>{let t=c.cls;t.DefaultQueryBuilderOptions.numberedParameters=!0,t.DefaultQueryBuilderOptions.numberedParametersStartAt=1,t.DefaultQueryBuilderOptions.autoQuoteAliasNames=!1,t.DefaultQueryBuilderOptions.useAsForTableAliasNames=!0,t.PostgresOnConflictKeyUpdateBlock=class extends t.AbstractSetFieldBlock{_onConflict;_dupFields;constructor(s){super(s);this._onConflict=!1,this._dupFields=[]}onConflict(s,i){if(this._onConflict=!0,!s)return;if(!B(s))s=[s];if(this._dupFields=s.map(this._sanitizeField.bind(this)),i)Object.keys(i).forEach((e)=>{this._set(e,i[e])})}_toParamString(s={}){let i="",e=[];for(let r=0;r<this._fields.length;++r){i=p(i,", ");let a=this._fields[r],o=this._values[0][r],l=this._valueOptions[0][r];if(typeof o>"u")i+=a;else{let u=this._buildString(`${a} = ${this.options.parameterCharacter}`,[o],{buildParameterized:s.buildParameterized,formattingOptions:l});i+=u.text,u.values.forEach((d)=>e.push(d))}}let n={text:"",values:e};if(this._onConflict){let r=this._dupFields.length?`(${this._dupFields.join(", ")}) `:"",a=i.length?`UPDATE SET ${i}`:"NOTHING";n.text=`ON CONFLICT ${r}DO ${a}`}return n}},t.ReturningBlock=class extends t.Block{_fields;constructor(s){super(s);this._fields=[]}returning(s,i=null,e={}){if(i=i?this._sanitizeFieldAlias(i):i,s=this._sanitizeField(s),this._fields.filter((r)=>r.name===s&&r.alias===i).length)return this;this._fields.push({name:s,alias:i,options:e})}_toParamString(s={}){let{buildParameterized:i}=s,e="",n=[];for(let r of this._fields){e=p(e,", ");let{name:a,alias:o,options:l}=r;if(typeof a==="string")e+=this._formatFieldName(a,l);else{let u=a._toParamString({nested:!0,buildParameterized:i});e+=u.text,u.values.forEach((d)=>n.push(d))}if(o)e+=` AS ${this._formatFieldAlias(o)}`}return{text:e.length>0?`RETURNING ${e}`:"",values:n}}},t.WithBlock=class extends t.Block{_tables;constructor(s){super(s);this._tables=[]}with(s,i){this._tables.push({alias:s,table:i})}_toParamString(s={}){let i=[],e=[];for(let{alias:n,table:r}of this._tables){let a=r._toParamString({buildParameterized:s.buildParameterized,nested:!0});i.push(`${n} AS ${a.text}`),a.values.forEach((o)=>e.push(o))}return{text:i.length?`WITH ${i.join(", ")}`:"",values:e}}},t.DistinctOnBlock=class extends t.Block{_useDistinct=!1;_distinctFields;constructor(s){super(s);this._distinctFields=[]}distinct(...s){this._useDistinct=!0,s.forEach((i)=>{this._distinctFields.push(this._sanitizeField(i))})}_toParamString(){let s="";if(this._useDistinct){if(s="DISTINCT",this._distinctFields.length)s+=` ON (${this._distinctFields.join(", ")})`}return{text:s,values:[]}}},t.Select=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.WithBlock(s),new t.StringBlock(s,"SELECT"),new t.FunctionBlock(s),new t.DistinctOnBlock(s),new t.GetFieldBlock(s),new t.FromTableBlock(s),new t.JoinBlock(s),new t.WhereBlock(s),new t.GroupByBlock(s),new t.HavingBlock(s),new t.OrderByBlock(s),new t.LimitBlock(s),new t.OffsetBlock(s),new t.UnionBlock(s)];super(s,i)}},t.Insert=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.WithBlock(s),new t.StringBlock(s,"INSERT"),new t.IntoTableBlock(s),new t.InsertFieldValueBlock(s),new t.InsertFieldsFromQueryBlock(s),new t.PostgresOnConflictKeyUpdateBlock(s),new t.ReturningBlock(s)];super(s,i)}},t.Update=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.WithBlock(s),new t.StringBlock(s,"UPDATE"),new t.UpdateTableBlock(s),new t.SetFieldBlock(s),new t.FromTableBlock(s),new t.WhereBlock(s),new t.OrderByBlock(s),new t.LimitBlock(s),new t.ReturningBlock(s)];super(s,i)}},t.Delete=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.WithBlock(s),new t.StringBlock(s,"DELETE"),new t.TargetTableBlock(s),new t.FromTableBlock({...s,singleTable:!0}),new t.JoinBlock(s),new t.WhereBlock(s),new t.OrderByBlock(s),new t.LimitBlock(s),new t.ReturningBlock(s)];super(s,i)}}};m.flavours.mssql=(c)=>{let t=c.cls;t.DefaultQueryBuilderOptions.replaceSingleQuotes=!0,t.DefaultQueryBuilderOptions.autoQuoteAliasNames=!1,t.DefaultQueryBuilderOptions.numberedParametersPrefix="@",c.registerValueHandler(Date,(s)=>{let i=s;return`'${i.getUTCFullYear()}-${i.getUTCMonth()+1}-${i.getUTCDate()} ${i.getUTCHours()}:${i.getUTCMinutes()}:${i.getUTCSeconds()}'`}),t.MssqlLimitOffsetTopBlock=class extends t.Block{_limits;_offsets;ParentBlock;LimitBlock;TopBlock;OffsetBlock;constructor(s){super(s);this._limits=null,this._offsets=null;let i=function(e){e=this._sanitizeLimitOffset(e),this._parent._limits=e};this.ParentBlock=class extends t.Block{_parent;constructor(e){super(e.options);this._parent=e}},this.LimitBlock=class extends this.ParentBlock{limit;constructor(e){super(e);this.limit=i}_toParamString(){let e="";if(this._parent._limits&&this._parent._offsets)e=`FETCH NEXT ${this._parent._limits} ROWS ONLY`;return{text:e,values:[]}}},this.TopBlock=class extends this.ParentBlock{top;constructor(e){super(e);this.top=i}_toParamString(){let e="";if(this._parent._limits&&!this._parent._offsets)e=`TOP (${this._parent._limits})`;return{text:e,values:[]}}},this.OffsetBlock=class extends this.ParentBlock{offset(e){this._parent._offsets=this._sanitizeLimitOffset(e)}_toParamString(){let e="";if(this._parent._offsets)e=`OFFSET ${this._parent._offsets} ROWS`;return{text:e,values:[]}}}}LIMIT(){return new this.LimitBlock(this)}TOP(){return new this.TopBlock(this)}OFFSET(){return new this.OffsetBlock(this)}},t.MssqlUpdateTopBlock=class extends t.Block{_limits;limit;top;constructor(s){super(s);this._limits=null;let i=(e)=>{this._limits=this._sanitizeLimitOffset(e)};this.limit=i,this.top=i}_toParamString(){return{text:this._limits?`TOP (${this._limits})`:"",values:[]}}},t.MssqlInsertFieldValueBlock=class extends t.InsertFieldValueBlock{_outputs;constructor(s){super(s);this._outputs=[]}output(s){if(typeof s==="string")this._outputs.push(`INSERTED.${this._sanitizeField(s)}`);else s.forEach((i)=>{this._outputs.push(`INSERTED.${this._sanitizeField(i)}`)})}_toParamString(s){let i=super._toParamString(s);if(i.text.length&&this._outputs.length>0){let e=`OUTPUT ${this._outputs.join(", ")} `,n=i.text.indexOf("VALUES");i.text=i.text.substring(0,n)+e+i.text.substring(n)}return i}},t.MssqlUpdateDeleteOutputBlock=class extends t.Block{_outputs;constructor(s){super(s);this._outputs=[]}outputs(s){for(let i in s)this.output(i,s[i])}output(s,i=null){s=this._sanitizeField(s),i=i?this._sanitizeFieldAlias(i):i,this._outputs.push({name:this.options.forDelete?`DELETED.${s}`:`INSERTED.${s}`,alias:i})}_toParamString(s){let i="";if(this._outputs.length){for(let e of this._outputs)if(i=p(i,", "),i+=e.name,e.alias)i+=` AS ${this._formatFieldAlias(e.alias)}`;i=`OUTPUT ${i}`}return{text:i,values:[]}}},t.Select=class extends t.QueryBuilder{constructor(s,i=null){let e=new t.MssqlLimitOffsetTopBlock(s);i=i||[new t.StringBlock(s,"SELECT"),new t.DistinctBlock(s),e.TOP(),new t.GetFieldBlock(s),new t.FromTableBlock(s),new t.JoinBlock(s),new t.WhereBlock(s),new t.GroupByBlock(s),new t.OrderByBlock(s),e.OFFSET(),e.LIMIT(),new t.UnionBlock(s)];super(s,i)}},t.Update=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"UPDATE"),new t.MssqlUpdateTopBlock(s),new t.UpdateTableBlock(s),new t.SetFieldBlock(s),new t.MssqlUpdateDeleteOutputBlock(s),new t.WhereBlock(s)];super(s,i)}},t.Delete=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"DELETE"),new t.TargetTableBlock(s),new t.FromTableBlock(f({},s,{singleTable:!0})),new t.JoinBlock(s),new t.MssqlUpdateDeleteOutputBlock(f({},s,{forDelete:!0})),new t.WhereBlock(s),new t.OrderByBlock(s),new t.LimitBlock(s)];super(s,i)}},t.Insert=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"INSERT"),new t.IntoTableBlock(s),new t.MssqlInsertFieldValueBlock(s),new t.InsertFieldsFromQueryBlock(s)];super(s,i)}}};var D=S;})();
|
|
1
|
+
(()=>{var{defineProperty:b,getOwnPropertyNames:Q,getOwnPropertyDescriptor:V}=Object,$=Object.prototype.hasOwnProperty;function z(c){return this[c]}var A=(c)=>{var t=(O??=new WeakMap).get(c),s;if(t)return t;if(t=b({},"__esModule",{value:!0}),c&&typeof c==="object"||typeof c==="function"){for(var i of Q(c))if(!$.call(t,i))b(t,i,{get:z.bind(c,i),enumerable:!(s=V(c,i))||s.enumerable})}return O.set(c,t),t},O;var q=(c)=>c;function C(c,t){this[c]=q.bind(null,t)}var D=(c,t)=>{for(var s in t)b(c,s,{get:t[s],enumerable:!0,configurable:!0,set:C.bind(t,s)})};var j={};D(j,{squel:()=>S,default:()=>H});var P={name:"squel",version:"6.0.5",description:"SQL query string builder",keywords:["sql","database","rdbms","query-builder","mysql","postgres","mssql"],author:"Ramesh Nair <ram@hiddentao.com> (http://www.hiddentao.com/)",contributors:["Ramesh Nair <ram@hiddentao.com> (http://www.hiddentao.com/)","Sergej Brjuchanov <serges@seznam.cz>"],license:"MIT",repository:{type:"git",url:"https://github.com/hiddentao/squel.git"},homepage:"https://github.com/hiddentao/squel",bugs:{url:"https://github.com/hiddentao/squel/issues"},type:"module",main:"./dist/cjs/index.js",module:"./dist/esm/index.js",types:"./dist/types/index.d.ts",exports:{".":{types:"./dist/types/index.d.ts",import:"./dist/esm/index.js",require:"./dist/cjs/index.js"},"./browser":"./dist/browser/squel.min.js"},files:["dist","README.md","LICENSE.md","CHANGELOG.md"],engines:{node:">=18.0.0"},publishConfig:{access:"public",provenance:!0},scripts:{build:"bun run scripts/build.ts",test:"bun test","test:coverage":"bun test --coverage --coverage-reporter=lcov","test:watch":"bun test --watch",lint:"biome check --write ./src ./tests ./scripts",format:"biome format --write ./src ./tests ./scripts",check:"biome check ./src ./tests ./scripts",typecheck:"tsc --noEmit",prepare:"husky",prepublishOnly:"bun run build && bun run test"},dependencies:{},devDependencies:{"@biomejs/biome":"^1.9.4","@commitlint/cli":"^19.8.1","@commitlint/config-conventional":"^19.8.1","@types/bun":"latest","@types/node":"^22.0.0","commit-and-tag-version":"^12.6.0",husky:"^9.1.7",typescript:"^5.3.0"}};function p(c,t){return c.length?c+t:c}function f(c,...t){if(c&&t){for(let s of t)if(s&&typeof s==="object")for(let i of Object.getOwnPropertyNames(s))c[i]=s[i]}return c}function x(c){return!!c&&c.constructor.prototype===Object.prototype}function B(c){return!!c&&c.constructor.prototype===Array.prototype}function E(c){if(!c)return c;let t=c;if(typeof t.clone==="function")return t.clone();if(x(c)||B(c)){let s=new t.constructor;for(let i of Object.getOwnPropertyNames(c))if(typeof t[i]!=="function")s[i]=E(t[i]);return s}return JSON.parse(JSON.stringify(c))}function v(c,t,s){let i=typeof t;if(i!=="function"&&i!=="string")throw Error("type must be a class constructor or string");if(typeof s!=="function")throw Error("handler must be a function");for(let e of c)if(e.type===t){e.handler=s;return}c.push({type:t,handler:s})}function T(c,t,s){return F(c,t)||F(c,s)}function F(c,t){for(let s of t)if(typeof c===s.type||typeof s.type!=="string"&&c instanceof s.type)return s.handler;return}function N(c=null){let t={isSquelBuilder(e){return!!e&&!!e._toParamString}},s=(e)=>{return!t.isSquelBuilder(e)||!e.options.rawNesting};t.DefaultQueryBuilderOptions={autoQuoteTableNames:!1,autoQuoteFieldNames:!1,autoQuoteAliasNames:!0,useAsForTableAliasNames:!1,nameQuoteCharacter:"`",tableAliasQuoteCharacter:"`",fieldAliasQuoteCharacter:'"',valueHandlers:[],parameterCharacter:"?",numberedParameters:!1,numberedParametersPrefix:"$",numberedParametersStartAt:1,replaceSingleQuotes:!1,singleQuoteReplacement:"''",separator:" ",stringFormatter:null,rawNesting:!1},t.globalValueHandlers=[],t.registerValueHandler=(e,n)=>{v(t.globalValueHandlers,e,n)},t.Cloneable=class{clone(){let e=new this.constructor;return f(e,E(f({},this)))}},t.BaseBuilder=class extends t.Cloneable{options;constructor(e){super();let n=JSON.parse(JSON.stringify(t.DefaultQueryBuilderOptions));n.stringFormatter=t.DefaultQueryBuilderOptions.stringFormatter,this.options=f(n,e)}registerValueHandler(e,n){return v(this.options.valueHandlers,e,n),this}_sanitizeExpression(e){if(!t.isSquelBuilder(e)){if(typeof e!=="string")throw Error("expression must be a string or builder instance")}return e}_sanitizeName(e,n){if(typeof e!=="string")throw Error(`${n} must be a string`);return e}_sanitizeField(e){if(!t.isSquelBuilder(e))return this._sanitizeName(e,"field name");return e}_sanitizeBaseBuilder(e){if(t.isSquelBuilder(e))return e;throw Error("must be a builder instance")}_sanitizeTable(e,n){if(typeof e!=="string")try{return this._sanitizeBaseBuilder(e)}catch(r){throw Error("table name must be a string or a builder")}return this._sanitizeName(e,"table")}_sanitizeTableAlias(e){return this._sanitizeName(e,"table alias")}_sanitizeFieldAlias(e){return this._sanitizeName(e,"field alias")}_sanitizeLimitOffset(e){let n=Number.parseInt(e,10);if(n<0||Number.isNaN(n))throw Error("limit/offset must be >= 0");return n}_sanitizeValue(e){let n=typeof e;if(e===null);else if(n==="string"||n==="number"||n==="boolean");else if(t.isSquelBuilder(e));else if(!T(e,this.options.valueHandlers,t.globalValueHandlers))throw Error("field value must be a string, number, boolean, null or one of the registered custom value types");return e}_escapeValue(e){return this.options.replaceSingleQuotes&&e?e.replace(/'/g,this.options.singleQuoteReplacement):e}_formatTableName(e){if(this.options.autoQuoteTableNames){let n=this.options.nameQuoteCharacter;e=`${n}${e}${n}`}return e}_formatFieldAlias(e){if(this.options.autoQuoteAliasNames){let n=this.options.fieldAliasQuoteCharacter;e=`${n}${e}${n}`}return e}_formatTableAlias(e){if(this.options.autoQuoteAliasNames){let n=this.options.tableAliasQuoteCharacter;e=`${n}${e}${n}`}return this.options.useAsForTableAliasNames?`AS ${e}`:e}_formatFieldName(e,n={}){if(this.options.autoQuoteFieldNames){let r=this.options.nameQuoteCharacter;if(n.ignorePeriodsForFieldNameQuotes)e=`${r}${e}${r}`;else e=e.split(".").map((a)=>a==="*"?a:`${r}${a}${r}`).join(".")}return e}_formatCustomValue(e,n,r){let a=T(e,this.options.valueHandlers,t.globalValueHandlers);if(a){if(e=a(e,n,r),e&&e.rawNesting)return{formatted:!0,rawNesting:!0,value:e.value}}return{formatted:!!a,value:e}}_formatValueForParamArray(e,n={}){if(B(e))return e.map((r)=>this._formatValueForParamArray(r,n));return this._formatCustomValue(e,!0,n).value}_formatValueForQueryString(e,n={}){let{rawNesting:r,formatted:a,value:o}=this._formatCustomValue(e,!1,n),l=o;if(a){if(r)return l;return this._applyNestingFormatting(l,s(e))}if(B(l))l=l.map((u)=>this._formatValueForQueryString(u)),l=this._applyNestingFormatting(l.join(", "),s(l));else{let u=typeof l;if(l===null)l="NULL";else if(u==="boolean")l=l?"TRUE":"FALSE";else if(t.isSquelBuilder(l))l=this._applyNestingFormatting(l.toString(),s(l));else if(u!=="number"){if(u==="string"&&this.options.stringFormatter)return this.options.stringFormatter(l);if(n.dontQuote)l=`${l}`;else l=`'${this._escapeValue(l)}'`}}return l}_applyNestingFormatting(e,n=!0){if(e&&typeof e==="string"&&n&&!this.options.rawNesting){let r=e.charAt(0)==="("&&e.charAt(e.length-1)===")";if(r){let a=0,o=1;while(e.length-1>++a){let l=e.charAt(a);if(l==="(")o++;else if(l===")"){if(o--,o<1){r=!1;break}}}}if(!r)e=`(${e})`}return e}_buildString(e,n,r={}){let{nested:a,buildParameterized:o,formattingOptions:l}=r;n=n||[],e=e||"";let u="",d=-1,h=[],y=this.options.parameterCharacter,_=0;while(e.length>_)if(e.substring(_,_+y.length)===y){let g=n[++d];if(o)if(t.isSquelBuilder(g)){let w=g._toParamString({buildParameterized:o,nested:!0});u+=w.text,w.values.forEach((k)=>h.push(k))}else if(g=this._formatValueForParamArray(g,l),B(g)){let w=g.map(()=>y).join(", ");u+=`(${w})`,g.forEach((k)=>h.push(k))}else u+=y,h.push(g);else u+=this._formatValueForQueryString(g,l);_+=y.length}else u+=e.charAt(_),_++;return{text:this._applyNestingFormatting(u,!!a),values:h}}_buildManyStrings(e,n,r={}){let a=[],o=[];for(let u=0;e.length>u;++u){let d=e[u],h=n[u],{text:y,values:_}=this._buildString(d,h,{buildParameterized:r.buildParameterized,nested:!1});a.push(y),_.forEach((g)=>o.push(g))}let l=a.join(this.options.separator);return{text:l.length?this._applyNestingFormatting(l,!!r.nested):"",values:o}}_toParamString(e){throw Error("Not yet implemented")}toString(e={}){return this._toParamString(e).text}toParam(e={}){return this._toParamString({...e,buildParameterized:!0})}},t.Expression=class extends t.BaseBuilder{_nodes;constructor(e){super(e);this._nodes=[]}and(e,...n){return e=this._sanitizeExpression(e),this._nodes.push({type:"AND",expr:e,para:n}),this}or(e,...n){return e=this._sanitizeExpression(e),this._nodes.push({type:"OR",expr:e,para:n}),this}_toParamString(e={}){let n=[],r=[];for(let a of this._nodes){let{type:o,expr:l,para:u}=a,{text:d,values:h}=t.isSquelBuilder(l)?l._toParamString({buildParameterized:e.buildParameterized,nested:!0}):this._buildString(l,u,{buildParameterized:e.buildParameterized});if(n.length)n.push(o);n.push(d),h.forEach((y)=>r.push(y))}return n=n.join(" "),{text:this._applyNestingFormatting(n,!!e.nested),values:r}}},t.Case=class extends t.BaseBuilder{_fieldName=null;_cases;_elseValue=null;constructor(e,n={}){super(n);let r=null;if(x(e))n=e;else if(e)r=this._sanitizeField(e);this._fieldName=r,this.options=f(Object.assign({},t.DefaultQueryBuilderOptions),n),this._cases=[]}when(e,...n){return this._cases.unshift({expression:e,values:n||[]}),this}then(e){if(this._cases.length===0)throw Error("when() needs to be called first");return this._cases[0].result=e,this}else(e){return this._elseValue=e,this}_toParamString(e={}){let n="",r=[];for(let{expression:a,values:o,result:l}of this._cases){n=p(n," ");let u=this._buildString(a,o,{buildParameterized:e.buildParameterized,nested:!0});n+=`WHEN ${u.text} THEN ${this._formatValueForQueryString(l)}`,u.values.forEach((d)=>r.push(d))}if(n.length){if(n+=` ELSE ${this._formatValueForQueryString(this._elseValue)} END`,this._fieldName)n=`${this._fieldName} ${n}`;n=`CASE ${n}`}else n=this._formatValueForQueryString(this._elseValue);return{text:n,values:r}}},t.Block=class extends t.BaseBuilder{constructor(e){super(e)}exposedMethods(){let e={},n=this;while(n){for(let r of Object.getOwnPropertyNames(n))if(r!=="constructor"&&typeof n[r]==="function"&&r.charAt(0)!=="_"&&!t.Block.prototype[r])e[r]=n[r];n=Object.getPrototypeOf(n)}return e}},t.StringBlock=class extends t.Block{_str;constructor(e,n){super(e);this._str=n}_toParamString(e={}){return{text:this._str,values:[]}}},t.FunctionBlock=class extends t.Block{_strings;_values;constructor(e){super(e);this._strings=[],this._values=[]}function(e,...n){this._strings.push(e),this._values.push(n)}_toParamString(e={}){return this._buildManyStrings(this._strings,this._values,e)}},t.registerValueHandler(t.FunctionBlock,(e,n=!1)=>{return n?e.toParam():e.toString()}),t.AbstractTableBlock=class extends t.Block{_tables;constructor(e,n){super(e);this._tables=[]}_table(e,n=null){if(n=n?this._sanitizeTableAlias(n):n,e=this._sanitizeTable(e),this.options.singleTable)this._tables=[];this._tables.push({table:e,alias:n})}_hasTable(){return this._tables.length>0}_toParamString(e={}){let n="",r=[];if(this._hasTable()){for(let{table:a,alias:o}of this._tables){n=p(n,", ");let l;if(t.isSquelBuilder(a)){let{text:u,values:d}=a._toParamString({buildParameterized:e.buildParameterized,nested:!0});l=u,d.forEach((h)=>r.push(h))}else l=this._formatTableName(a);if(o)l+=` ${this._formatTableAlias(o)}`;n+=l}if(this.options.prefix)n=`${this.options.prefix} ${n}`}return{text:n,values:r}}},t.TargetTableBlock=class extends t.AbstractTableBlock{target(e){this._table(e)}},t.UpdateTableBlock=class extends t.AbstractTableBlock{table(e,n=null){this._table(e,n)}_toParamString(e={}){if(!this._hasTable())throw Error("table() needs to be called");return super._toParamString(e)}},t.FromTableBlock=class extends t.AbstractTableBlock{constructor(e){super(f({},e,{prefix:"FROM"}))}from(e,n=null){this._table(e,n)}},t.IntoTableBlock=class extends t.AbstractTableBlock{constructor(e){super(f({},e,{prefix:"INTO",singleTable:!0}))}into(e){this._table(e)}_toParamString(e={}){if(!this._hasTable())throw Error("into() needs to be called");return super._toParamString(e)}},t.GetFieldBlock=class extends t.Block{_fields;constructor(e){super(e);this._fields=[]}fields(e,n={}){if(B(e))for(let r of e)this.field(r,null,n);else for(let r in e){let a=e[r];this.field(r,a,n)}}field(e,n=null,r={}){if(n=n?this._sanitizeFieldAlias(n):n,e=this._sanitizeField(e),this._fields.filter((o)=>o.name===e&&o.alias===n).length)return this;this._fields.push({name:e,alias:n,options:r});return}_toParamString(e={}){let{queryBuilder:n,buildParameterized:r}=e,a="",o=[];for(let l of this._fields){a=p(a,", ");let{name:u,alias:d,options:h}=l;if(typeof u==="string")a+=this._formatFieldName(u,h);else{let y=u._toParamString({nested:!0,buildParameterized:r});a+=y.text,y.values.forEach((_)=>o.push(_))}if(d)a+=` AS ${this._formatFieldAlias(d)}`}if(!a.length){let l=n?.getBlock(t.FromTableBlock);if(l&&l._hasTable())a="*"}return{text:a,values:o}}},t.AbstractSetFieldBlock=class extends t.Block{_fields;_values;_valueOptions;constructor(e){super(e);this._fields=[],this._values=[[]],this._valueOptions=[[]]}_reset(){this._fields=[],this._values=[[]],this._valueOptions=[[]]}_set(e,n,r={}){if(this._values.length>1)throw Error("Cannot set multiple rows of fields this way.");if(typeof n<"u")n=this._sanitizeValue(n);e=this._sanitizeField(e);let a=this._fields.indexOf(e);if(a===-1)this._fields.push(e),a=this._fields.length-1;this._values[0][a]=n,this._valueOptions[0][a]=r}_setFields(e,n={}){if(typeof e!=="object")throw Error(`Expected an object but got ${typeof e}`);for(let r in e)this._set(r,e[r],n)}_setFieldsRows(e,n={}){if(!B(e))throw Error(`Expected an array of objects but got ${typeof e}`);this._reset();for(let r=0;e.length>r;++r){let a=e[r];for(let o in a){let l=a[o];o=this._sanitizeField(o),l=this._sanitizeValue(l);let u=this._fields.indexOf(o);if(r>0&&u===-1)throw Error("All fields in subsequent rows must match the fields in the first row");if(u===-1)this._fields.push(o),u=this._fields.length-1;if(!B(this._values[r]))this._values[r]=[],this._valueOptions[r]=[];this._values[r][u]=l,this._valueOptions[r][u]=n}}}},t.SetFieldBlock=class extends t.AbstractSetFieldBlock{set(e,n,r){this._set(e,n,r)}setFields(e,n){this._setFields(e,n)}_toParamString(e={}){let{buildParameterized:n}=e;if(this._fields.length<=0)throw Error("set() needs to be called");let r="",a=[];for(let o=0;o<this._fields.length;++o){r=p(r,", ");let l=this._formatFieldName(this._fields[o]),u=this._values[0][o];if(l.indexOf("=")<0)l=`${l} = ${this.options.parameterCharacter}`;let d=this._buildString(l,[u],{buildParameterized:n,formattingOptions:this._valueOptions[0][o]});r+=d.text,d.values.forEach((h)=>a.push(h))}return{text:`SET ${r}`,values:a}}},t.InsertFieldValueBlock=class extends t.AbstractSetFieldBlock{set(e,n,r={}){this._set(e,n,r)}setFields(e,n){this._setFields(e,n)}setFieldsRows(e,n){this._setFieldsRows(e,n)}_toParamString(e={}){let{buildParameterized:n}=e,r=this._fields.map((l)=>this._formatFieldName(l)).join(", "),a=[],o=[];for(let l=0;l<this._values.length;++l){a[l]="";for(let u=0;u<this._values[l].length;++u){let d=this._buildString(this.options.parameterCharacter,[this._values[l][u]],{buildParameterized:n,formattingOptions:this._valueOptions[l][u]});d.values.forEach((h)=>o.push(h)),a[l]=p(a[l],", "),a[l]+=d.text}}return{text:r.length?`(${r}) VALUES (${a.join("), (")})`:"",values:o}}},t.InsertFieldsFromQueryBlock=class extends t.Block{_fields;_query=null;constructor(e){super(e);this._fields=[]}fromQuery(e,n){this._fields=e.map((r)=>this._sanitizeField(r)),this._query=this._sanitizeBaseBuilder(n)}_toParamString(e={}){let n="",r=[];if(this._fields.length&&this._query){let{text:a,values:o}=this._query._toParamString({buildParameterized:e.buildParameterized,nested:!0});n=`(${this._fields.join(", ")}) ${this._applyNestingFormatting(a)}`,r=o}return{text:n,values:r}}},t.DistinctBlock=class extends t.Block{_useDistinct=!1;distinct(){this._useDistinct=!0}_toParamString(){return{text:this._useDistinct?"DISTINCT":"",values:[]}}},t.GroupByBlock=class extends t.Block{_groups;constructor(e){super(e);this._groups=[]}group(e){this._groups.push(this._sanitizeField(e))}_toParamString(e={}){return{text:this._groups.length?`GROUP BY ${this._groups.join(", ")}`:"",values:[]}}},t.AbstractVerbSingleValueBlock=class extends t.Block{_value=null;constructor(e){super(e)}_setValue(e){this._value=e!==null?this._sanitizeLimitOffset(e):e}_toParamString(e={}){let n=this._value!==null?`${this.options.verb} ${this.options.parameterCharacter}`:"",r=this._value!==null?[this._value]:[];return this._buildString(n,r,e)}},t.OffsetBlock=class extends t.AbstractVerbSingleValueBlock{constructor(e){super(f({},e,{verb:"OFFSET"}))}offset(e){this._setValue(e)}},t.LimitBlock=class extends t.AbstractVerbSingleValueBlock{constructor(e){super(f({},e,{verb:"LIMIT"}))}limit(e){this._setValue(e)}},t.AbstractConditionBlock=class extends t.Block{_conditions;constructor(e){super(e);this._conditions=[]}_condition(e,...n){e=this._sanitizeExpression(e),this._conditions.push({expr:e,values:n||[]})}_toParamString(e={}){let n=[],r=[];for(let{expr:o,values:l}of this._conditions){let u=t.isSquelBuilder(o)?o._toParamString({buildParameterized:e.buildParameterized}):this._buildString(o,l,{buildParameterized:e.buildParameterized});if(u.text.length)n.push(u.text);u.values.forEach((d)=>r.push(d))}let a=n.join(") AND (");return{text:a.length?`${this.options.verb} (${a})`:"",values:r}}},t.WhereBlock=class extends t.AbstractConditionBlock{constructor(e){super(f({},e,{verb:"WHERE"}))}where(e,...n){this._condition(e,...n)}},t.HavingBlock=class extends t.AbstractConditionBlock{constructor(e){super(f({},e,{verb:"HAVING"}))}having(e,...n){this._condition(e,...n)}},t.OrderByBlock=class extends t.Block{_orders;constructor(e){super(e);this._orders=[]}order(e,n,...r){e=this._sanitizeField(e);let a;if(typeof n==="string")a=n;else if(n===void 0)a="ASC";else if(n===null)a=null;else a=n?"ASC":"DESC";this._orders.push({field:e,dir:a,values:r||[]})}_toParamString(e={}){let n="",r=[];for(let{field:a,dir:o,values:l}of this._orders){n=p(n,", ");let u=this._buildString(a,l,{buildParameterized:e.buildParameterized});if(n+=u.text,B(u.values))u.values.forEach((d)=>r.push(d));if(o!==null)n+=` ${o}`}return{text:n.length?`ORDER BY ${n}`:"",values:r}}},t.JoinBlock=class extends t.Block{_joins;constructor(e){super(e);this._joins=[]}join(e,n=null,r=null,a="INNER"){e=this._sanitizeTable(e,!0),n=n?this._sanitizeTableAlias(n):n,r=r?this._sanitizeExpression(r):r,this._joins.push({type:a,table:e,alias:n,condition:r})}left_join(e,n=null,r=null){this.join(e,n,r,"LEFT")}right_join(e,n=null,r=null){this.join(e,n,r,"RIGHT")}outer_join(e,n=null,r=null){this.join(e,n,r,"OUTER")}left_outer_join(e,n=null,r=null){this.join(e,n,r,"LEFT OUTER")}full_join(e,n=null,r=null){this.join(e,n,r,"FULL")}cross_join(e,n=null,r=null){this.join(e,n,r,"CROSS")}_toParamString(e={}){let n="",r=[];for(let{type:a,table:o,alias:l,condition:u}of this._joins){n=p(n,this.options.separator);let d;if(t.isSquelBuilder(o)){let h=o._toParamString({buildParameterized:e.buildParameterized,nested:!0});h.values.forEach((y)=>r.push(y)),d=h.text}else d=this._formatTableName(o);if(n+=`${a} JOIN ${d}`,l)n+=` ${this._formatTableAlias(l)}`;if(u){n+=" ON ";let h;if(t.isSquelBuilder(u))h=u._toParamString({buildParameterized:e.buildParameterized});else h=this._buildString(u,[],{buildParameterized:e.buildParameterized});n+=this._applyNestingFormatting(h.text),h.values.forEach((y)=>r.push(y))}}return{text:n,values:r}}},t.UnionBlock=class extends t.Block{_unions;constructor(e){super(e);this._unions=[]}union(e,n="UNION"){e=this._sanitizeTable(e),this._unions.push({type:n,table:e})}union_all(e){this.union(e,"UNION ALL")}_toParamString(e={}){let n="",r=[];for(let{type:a,table:o}of this._unions){n=p(n,this.options.separator);let l;if(o instanceof t.BaseBuilder){let u=o._toParamString({buildParameterized:e.buildParameterized,nested:!0});l=u.text,u.values.forEach((d)=>r.push(d))}else n=this._formatTableName(o),l="";n+=`${a} ${l}`}return{text:n,values:r}}},t.QueryBuilder=class extends t.BaseBuilder{blocks;constructor(e,n){super(e);this.blocks=n||[];for(let r of this.blocks){let a=r.exposedMethods();for(let o in a){let l=a[o];if(this[o]!==void 0)throw Error(`Builder already has a builder method called: ${o}`);((u,d,h)=>{this[d]=(...y)=>{return h.call(u,...y),this}})(r,o,l)}}}registerValueHandler(e,n){for(let r of this.blocks)r.registerValueHandler(e,n);return super.registerValueHandler(e,n),this}updateOptions(e){this.options=f(this.options,e);for(let n of this.blocks)n.options=f(n.options,e)}_toParamString(e={}){let n=f({},this.options,e),r=this.blocks.map((d)=>d._toParamString({buildParameterized:n.buildParameterized,queryBuilder:this})),a=r.map((d)=>d.text),o=r.map((d)=>d.values),l=a.filter((d)=>d.length>0).join(n.separator),u=[];if(o.forEach((d)=>d.forEach((h)=>u.push(h))),!n.nested){if(n.numberedParameters){let d=n.numberedParametersStartAt!==void 0?n.numberedParametersStartAt:1,h=n.parameterCharacter.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&");l=l.replace(new RegExp(h,"g"),()=>{return`${n.numberedParametersPrefix}${d++}`})}}return{text:this._applyNestingFormatting(l,!!n.nested),values:u}}clone(){let e=this.blocks.map((n)=>n.clone());return new this.constructor(this.options,e)}getBlock(e){return this.blocks.filter((n)=>n instanceof e)[0]}},t.Select=class extends t.QueryBuilder{constructor(e,n=null){n=n||[new t.StringBlock(e,"SELECT"),new t.FunctionBlock(e),new t.DistinctBlock(e),new t.GetFieldBlock(e),new t.FromTableBlock(e),new t.JoinBlock(e),new t.WhereBlock(e),new t.GroupByBlock(e),new t.HavingBlock(e),new t.OrderByBlock(e),new t.LimitBlock(e),new t.OffsetBlock(e),new t.UnionBlock(e)];super(e,n)}},t.Update=class extends t.QueryBuilder{constructor(e,n=null){n=n||[new t.StringBlock(e,"UPDATE"),new t.UpdateTableBlock(e),new t.SetFieldBlock(e),new t.WhereBlock(e),new t.OrderByBlock(e),new t.LimitBlock(e)];super(e,n)}},t.Delete=class extends t.QueryBuilder{constructor(e,n=null){n=n||[new t.StringBlock(e,"DELETE"),new t.TargetTableBlock(e),new t.FromTableBlock(f({},e,{singleTable:!0})),new t.JoinBlock(e),new t.WhereBlock(e),new t.OrderByBlock(e),new t.LimitBlock(e)];super(e,n)}},t.Insert=class extends t.QueryBuilder{constructor(e,n=null){n=n||[new t.StringBlock(e,"INSERT"),new t.IntoTableBlock(e),new t.InsertFieldValueBlock(e),new t.InsertFieldsFromQueryBlock(e)];super(e,n)}};let i={VERSION:P.version,flavour:c,expr:(e)=>new t.Expression(e),case:(e,n)=>new t.Case(e,n),select:(e,n)=>new t.Select(e,n),update:(e,n)=>new t.Update(e,n),insert:(e,n)=>new t.Insert(e,n),delete:(e,n)=>new t.Delete(e,n),str:(...e)=>{let n=new t.FunctionBlock;return n.function(...e),n},rstr:(...e)=>{let n=new t.FunctionBlock({rawNesting:!0});return n.function(...e),n},registerValueHandler:t.registerValueHandler};return i.remove=i.delete,i.cls=t,i}var m=N();m.flavours={};m.useFlavour=function(t=null){if(!t)return m;if(m.flavours[t]instanceof Function){let s=N(t);return m.flavours[t].call(null,s),s.flavours=m.flavours,s.useFlavour=m.useFlavour,s}throw Error(`Flavour not available: ${t}`)};var S=m;m.flavours.mysql=(c)=>{let t=c.cls;t.MysqlOnDuplicateKeyUpdateBlock=class extends t.AbstractSetFieldBlock{onDupUpdate(s,i,e){this._set(s,i,e)}_toParamString(s={}){let i="",e=[];for(let n=0;n<this._fields.length;++n){i=p(i,", ");let r=this._fields[n],a=this._values[0][n],o=this._valueOptions[0][n];if(typeof a>"u")i+=r;else{let l=this._buildString(`${r} = ${this.options.parameterCharacter}`,[a],{buildParameterized:s.buildParameterized,formattingOptions:o});i+=l.text,l.values.forEach((u)=>e.push(u))}}return{text:!i.length?"":`ON DUPLICATE KEY UPDATE ${i}`,values:e}}},t.Insert=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"INSERT"),new t.IntoTableBlock(s),new t.InsertFieldValueBlock(s),new t.InsertFieldsFromQueryBlock(s),new t.MysqlOnDuplicateKeyUpdateBlock(s)];super(s,i)}},t.Replace=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"REPLACE"),new t.IntoTableBlock(s),new t.InsertFieldValueBlock(s),new t.InsertFieldsFromQueryBlock(s)];super(s,i)}},c.replace=(s,i)=>new t.Replace(s,i)};m.flavours.postgres=(c)=>{let t=c.cls;t.DefaultQueryBuilderOptions.numberedParameters=!0,t.DefaultQueryBuilderOptions.numberedParametersStartAt=1,t.DefaultQueryBuilderOptions.autoQuoteAliasNames=!1,t.DefaultQueryBuilderOptions.useAsForTableAliasNames=!0,t.PostgresOnConflictKeyUpdateBlock=class extends t.AbstractSetFieldBlock{_onConflict;_dupFields;constructor(s){super(s);this._onConflict=!1,this._dupFields=[]}onConflict(s,i){if(this._onConflict=!0,!s)return;if(!B(s))s=[s];if(this._dupFields=s.map(this._sanitizeField.bind(this)),i)Object.keys(i).forEach((e)=>{this._set(e,i[e])})}_toParamString(s={}){let i="",e=[];for(let r=0;r<this._fields.length;++r){i=p(i,", ");let a=this._fields[r],o=this._values[0][r],l=this._valueOptions[0][r];if(typeof o>"u")i+=a;else{let u=this._buildString(`${a} = ${this.options.parameterCharacter}`,[o],{buildParameterized:s.buildParameterized,formattingOptions:l});i+=u.text,u.values.forEach((d)=>e.push(d))}}let n={text:"",values:e};if(this._onConflict){let r=this._dupFields.length?`(${this._dupFields.join(", ")}) `:"",a=i.length?`UPDATE SET ${i}`:"NOTHING";n.text=`ON CONFLICT ${r}DO ${a}`}return n}},t.ReturningBlock=class extends t.Block{_fields;constructor(s){super(s);this._fields=[]}returning(s,i=null,e={}){if(i=i?this._sanitizeFieldAlias(i):i,s=this._sanitizeField(s),this._fields.filter((r)=>r.name===s&&r.alias===i).length)return this;this._fields.push({name:s,alias:i,options:e})}_toParamString(s={}){let{buildParameterized:i}=s,e="",n=[];for(let r of this._fields){e=p(e,", ");let{name:a,alias:o,options:l}=r;if(typeof a==="string")e+=this._formatFieldName(a,l);else{let u=a._toParamString({nested:!0,buildParameterized:i});e+=u.text,u.values.forEach((d)=>n.push(d))}if(o)e+=` AS ${this._formatFieldAlias(o)}`}return{text:e.length>0?`RETURNING ${e}`:"",values:n}}},t.WithBlock=class extends t.Block{_tables;constructor(s){super(s);this._tables=[]}with(s,i){this._tables.push({alias:s,table:i})}_toParamString(s={}){let i=[],e=[];for(let{alias:n,table:r}of this._tables){let a=r._toParamString({buildParameterized:s.buildParameterized,nested:!0});i.push(`${n} AS ${a.text}`),a.values.forEach((o)=>e.push(o))}return{text:i.length?`WITH ${i.join(", ")}`:"",values:e}}},t.DistinctOnBlock=class extends t.Block{_useDistinct=!1;_distinctFields;constructor(s){super(s);this._distinctFields=[]}distinct(...s){this._useDistinct=!0,s.forEach((i)=>{this._distinctFields.push(this._sanitizeField(i))})}_toParamString(){let s="";if(this._useDistinct){if(s="DISTINCT",this._distinctFields.length)s+=` ON (${this._distinctFields.join(", ")})`}return{text:s,values:[]}}},t.Select=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.WithBlock(s),new t.StringBlock(s,"SELECT"),new t.FunctionBlock(s),new t.DistinctOnBlock(s),new t.GetFieldBlock(s),new t.FromTableBlock(s),new t.JoinBlock(s),new t.WhereBlock(s),new t.GroupByBlock(s),new t.HavingBlock(s),new t.OrderByBlock(s),new t.LimitBlock(s),new t.OffsetBlock(s),new t.UnionBlock(s)];super(s,i)}},t.Insert=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.WithBlock(s),new t.StringBlock(s,"INSERT"),new t.IntoTableBlock(s),new t.InsertFieldValueBlock(s),new t.InsertFieldsFromQueryBlock(s),new t.PostgresOnConflictKeyUpdateBlock(s),new t.ReturningBlock(s)];super(s,i)}},t.Update=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.WithBlock(s),new t.StringBlock(s,"UPDATE"),new t.UpdateTableBlock(s),new t.SetFieldBlock(s),new t.FromTableBlock(s),new t.WhereBlock(s),new t.OrderByBlock(s),new t.LimitBlock(s),new t.ReturningBlock(s)];super(s,i)}},t.Delete=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.WithBlock(s),new t.StringBlock(s,"DELETE"),new t.TargetTableBlock(s),new t.FromTableBlock({...s,singleTable:!0}),new t.JoinBlock(s),new t.WhereBlock(s),new t.OrderByBlock(s),new t.LimitBlock(s),new t.ReturningBlock(s)];super(s,i)}}};m.flavours.mssql=(c)=>{let t=c.cls;t.DefaultQueryBuilderOptions.replaceSingleQuotes=!0,t.DefaultQueryBuilderOptions.autoQuoteAliasNames=!1,t.DefaultQueryBuilderOptions.numberedParametersPrefix="@",c.registerValueHandler(Date,(s)=>{let i=s;return`'${i.getUTCFullYear()}-${i.getUTCMonth()+1}-${i.getUTCDate()} ${i.getUTCHours()}:${i.getUTCMinutes()}:${i.getUTCSeconds()}'`}),t.MssqlLimitOffsetTopBlock=class extends t.Block{_limits;_offsets;ParentBlock;LimitBlock;TopBlock;OffsetBlock;constructor(s){super(s);this._limits=null,this._offsets=null;let i=function(e){e=this._sanitizeLimitOffset(e),this._parent._limits=e};this.ParentBlock=class extends t.Block{_parent;constructor(e){super(e.options);this._parent=e}},this.LimitBlock=class extends this.ParentBlock{limit;constructor(e){super(e);this.limit=i}_toParamString(){let e="";if(this._parent._limits&&this._parent._offsets)e=`FETCH NEXT ${this._parent._limits} ROWS ONLY`;return{text:e,values:[]}}},this.TopBlock=class extends this.ParentBlock{top;constructor(e){super(e);this.top=i}_toParamString(){let e="";if(this._parent._limits&&!this._parent._offsets)e=`TOP (${this._parent._limits})`;return{text:e,values:[]}}},this.OffsetBlock=class extends this.ParentBlock{offset(e){this._parent._offsets=this._sanitizeLimitOffset(e)}_toParamString(){let e="";if(this._parent._offsets)e=`OFFSET ${this._parent._offsets} ROWS`;return{text:e,values:[]}}}}LIMIT(){return new this.LimitBlock(this)}TOP(){return new this.TopBlock(this)}OFFSET(){return new this.OffsetBlock(this)}},t.MssqlUpdateTopBlock=class extends t.Block{_limits;limit;top;constructor(s){super(s);this._limits=null;let i=(e)=>{this._limits=this._sanitizeLimitOffset(e)};this.limit=i,this.top=i}_toParamString(){return{text:this._limits?`TOP (${this._limits})`:"",values:[]}}},t.MssqlInsertFieldValueBlock=class extends t.InsertFieldValueBlock{_outputs;constructor(s){super(s);this._outputs=[]}output(s){if(typeof s==="string")this._outputs.push(`INSERTED.${this._sanitizeField(s)}`);else s.forEach((i)=>{this._outputs.push(`INSERTED.${this._sanitizeField(i)}`)})}_toParamString(s){let i=super._toParamString(s);if(i.text.length&&this._outputs.length>0){let e=`OUTPUT ${this._outputs.join(", ")} `,n=i.text.indexOf("VALUES");i.text=i.text.substring(0,n)+e+i.text.substring(n)}return i}},t.MssqlUpdateDeleteOutputBlock=class extends t.Block{_outputs;constructor(s){super(s);this._outputs=[]}outputs(s){for(let i in s)this.output(i,s[i])}output(s,i=null){s=this._sanitizeField(s),i=i?this._sanitizeFieldAlias(i):i,this._outputs.push({name:this.options.forDelete?`DELETED.${s}`:`INSERTED.${s}`,alias:i})}_toParamString(s){let i="";if(this._outputs.length){for(let e of this._outputs)if(i=p(i,", "),i+=e.name,e.alias)i+=` AS ${this._formatFieldAlias(e.alias)}`;i=`OUTPUT ${i}`}return{text:i,values:[]}}},t.Select=class extends t.QueryBuilder{constructor(s,i=null){let e=new t.MssqlLimitOffsetTopBlock(s);i=i||[new t.StringBlock(s,"SELECT"),new t.DistinctBlock(s),e.TOP(),new t.GetFieldBlock(s),new t.FromTableBlock(s),new t.JoinBlock(s),new t.WhereBlock(s),new t.GroupByBlock(s),new t.OrderByBlock(s),e.OFFSET(),e.LIMIT(),new t.UnionBlock(s)];super(s,i)}},t.Update=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"UPDATE"),new t.MssqlUpdateTopBlock(s),new t.UpdateTableBlock(s),new t.SetFieldBlock(s),new t.MssqlUpdateDeleteOutputBlock(s),new t.WhereBlock(s)];super(s,i)}},t.Delete=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"DELETE"),new t.TargetTableBlock(s),new t.FromTableBlock(f({},s,{singleTable:!0})),new t.JoinBlock(s),new t.MssqlUpdateDeleteOutputBlock(f({},s,{forDelete:!0})),new t.WhereBlock(s),new t.OrderByBlock(s),new t.LimitBlock(s)];super(s,i)}},t.Insert=class extends t.QueryBuilder{constructor(s,i=null){i=i||[new t.StringBlock(s,"INSERT"),new t.IntoTableBlock(s),new t.MssqlInsertFieldValueBlock(s),new t.InsertFieldsFromQueryBlock(s)];super(s,i)}}};var H=S;})();
|
package/dist/cjs/index.js
CHANGED
|
@@ -2,27 +2,37 @@ var __defProp = Object.defineProperty;
|
|
|
2
2
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
3
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
|
|
5
|
+
function __accessProp(key) {
|
|
6
|
+
return this[key];
|
|
7
|
+
}
|
|
6
8
|
var __toCommonJS = (from) => {
|
|
7
|
-
var entry = __moduleCache.get(from), desc;
|
|
9
|
+
var entry = (__moduleCache ??= new WeakMap).get(from), desc;
|
|
8
10
|
if (entry)
|
|
9
11
|
return entry;
|
|
10
12
|
entry = __defProp({}, "__esModule", { value: true });
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function")
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (var key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(entry, key))
|
|
16
|
+
__defProp(entry, key, {
|
|
17
|
+
get: __accessProp.bind(from, key),
|
|
18
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
19
|
+
});
|
|
20
|
+
}
|
|
16
21
|
__moduleCache.set(from, entry);
|
|
17
22
|
return entry;
|
|
18
23
|
};
|
|
24
|
+
var __moduleCache;
|
|
25
|
+
var __returnValue = (v) => v;
|
|
26
|
+
function __exportSetter(name, newValue) {
|
|
27
|
+
this[name] = __returnValue.bind(null, newValue);
|
|
28
|
+
}
|
|
19
29
|
var __export = (target, all) => {
|
|
20
30
|
for (var name in all)
|
|
21
31
|
__defProp(target, name, {
|
|
22
32
|
get: all[name],
|
|
23
33
|
enumerable: true,
|
|
24
34
|
configurable: true,
|
|
25
|
-
set: (
|
|
35
|
+
set: __exportSetter.bind(all, name)
|
|
26
36
|
});
|
|
27
37
|
};
|
|
28
38
|
|
|
@@ -36,7 +46,7 @@ module.exports = __toCommonJS(exports_src);
|
|
|
36
46
|
// package.json
|
|
37
47
|
var package_default = {
|
|
38
48
|
name: "squel",
|
|
39
|
-
version: "6.0.
|
|
49
|
+
version: "6.0.5",
|
|
40
50
|
description: "SQL query string builder",
|
|
41
51
|
keywords: [
|
|
42
52
|
"sql",
|
|
@@ -1811,4 +1821,4 @@ squel.flavours.mssql = (_squel) => {
|
|
|
1811
1821
|
// src/index.ts
|
|
1812
1822
|
var src_default = core_default;
|
|
1813
1823
|
|
|
1814
|
-
//# debugId=
|
|
1824
|
+
//# debugId=C450E93AEB966A1364756E2164756E21
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"import { _extend, _pad, squel } from \"./core\"\nimport type { Squel } from \"./types\"\n\nsquel.flavours.mssql = (_squel: Squel) => {\n const cls = _squel.cls as any\n\n cls.DefaultQueryBuilderOptions.replaceSingleQuotes = true\n cls.DefaultQueryBuilderOptions.autoQuoteAliasNames = false\n cls.DefaultQueryBuilderOptions.numberedParametersPrefix = \"@\"\n\n _squel.registerValueHandler(Date, (value) => {\n const date = value as Date\n return `'${date.getUTCFullYear()}-${date.getUTCMonth() + 1}-${date.getUTCDate()} ${date.getUTCHours()}:${date.getUTCMinutes()}:${date.getUTCSeconds()}'`\n })\n\n cls.MssqlLimitOffsetTopBlock = class extends cls.Block {\n _limits: any\n _offsets: any\n ParentBlock: any\n LimitBlock: any\n TopBlock: any\n OffsetBlock: any\n\n constructor(options: any) {\n super(options)\n this._limits = null\n this._offsets = null\n\n const _limit = function (this: any, max: number): void {\n max = this._sanitizeLimitOffset(max)\n this._parent._limits = max\n }\n\n this.ParentBlock = class extends cls.Block {\n _parent: any\n constructor(parent: any) {\n super(parent.options)\n this._parent = parent\n }\n }\n\n this.LimitBlock = class extends this.ParentBlock {\n limit: any\n constructor(parent: any) {\n super(parent)\n this.limit = _limit\n }\n\n _toParamString(): any {\n let str = \"\"\n if (this._parent._limits && this._parent._offsets) {\n str = `FETCH NEXT ${this._parent._limits} ROWS ONLY`\n }\n return { text: str, values: [] }\n }\n }\n\n this.TopBlock = class extends this.ParentBlock {\n top: any\n constructor(parent: any) {\n super(parent)\n this.top = _limit\n }\n\n _toParamString(): any {\n let str = \"\"\n if (this._parent._limits && !this._parent._offsets) {\n str = `TOP (${this._parent._limits})`\n }\n return { text: str, values: [] }\n }\n }\n\n this.OffsetBlock = class extends this.ParentBlock {\n offset(start: any): void {\n this._parent._offsets = this._sanitizeLimitOffset(start)\n }\n\n _toParamString(): any {\n let str = \"\"\n if (this._parent._offsets) {\n str = `OFFSET ${this._parent._offsets} ROWS`\n }\n return { text: str, values: [] }\n }\n }\n }\n\n LIMIT(): any {\n return new this.LimitBlock(this)\n }\n\n TOP(): any {\n return new this.TopBlock(this)\n }\n\n OFFSET(): any {\n return new this.OffsetBlock(this)\n }\n }\n\n cls.MssqlUpdateTopBlock = class extends cls.Block {\n _limits: any\n limit: any\n top: any\n\n constructor(options: any) {\n super(options)\n this._limits = null\n const setter = (max: any): void => {\n this._limits = this._sanitizeLimitOffset(max)\n }\n this.limit = setter\n this.top = setter\n }\n\n _toParamString(): any {\n return {\n text: this._limits ? `TOP (${this._limits})` : \"\",\n values: [],\n }\n }\n }\n\n cls.MssqlInsertFieldValueBlock = class extends cls.InsertFieldValueBlock {\n _outputs: string[]\n\n constructor(options: any) {\n super(options)\n this._outputs = []\n }\n\n output(fields: any): void {\n if (typeof fields === \"string\") {\n this._outputs.push(`INSERTED.${this._sanitizeField(fields)}`)\n } else {\n fields.forEach((f: any) => {\n this._outputs.push(`INSERTED.${this._sanitizeField(f)}`)\n })\n }\n }\n\n _toParamString(options?: any): any {\n const ret = super._toParamString(options)\n if (ret.text.length && this._outputs.length > 0) {\n const innerStr = `OUTPUT ${this._outputs.join(\", \")} `\n const valuesPos = ret.text.indexOf(\"VALUES\")\n ret.text =\n ret.text.substring(0, valuesPos) +\n innerStr +\n ret.text.substring(valuesPos)\n }\n return ret\n }\n }\n\n cls.MssqlUpdateDeleteOutputBlock = class extends cls.Block {\n _outputs: any[]\n\n constructor(options: any) {\n super(options)\n this._outputs = []\n }\n\n outputs(outputs: any): void {\n for (const output in outputs) {\n this.output(output, outputs[output])\n }\n }\n\n output(output: any, alias: any = null): void {\n output = this._sanitizeField(output)\n alias = alias ? this._sanitizeFieldAlias(alias) : alias\n this._outputs.push({\n name: this.options.forDelete\n ? `DELETED.${output}`\n : `INSERTED.${output}`,\n alias,\n })\n }\n\n _toParamString(_queryBuilder?: any): any {\n let totalStr = \"\"\n if (this._outputs.length) {\n for (const output of this._outputs) {\n totalStr = _pad(totalStr, \", \")\n totalStr += output.name\n if (output.alias) {\n totalStr += ` AS ${this._formatFieldAlias(output.alias)}`\n }\n }\n totalStr = `OUTPUT ${totalStr}`\n }\n return { text: totalStr, values: [] }\n }\n }\n\n cls.Select = class extends cls.QueryBuilder {\n constructor(options?: any, blocks: any = null) {\n const limitOffsetTopBlock = new cls.MssqlLimitOffsetTopBlock(options)\n blocks = blocks || [\n new cls.StringBlock(options, \"SELECT\"),\n new cls.DistinctBlock(options),\n limitOffsetTopBlock.TOP(),\n new cls.GetFieldBlock(options),\n new cls.FromTableBlock(options),\n new cls.JoinBlock(options),\n new cls.WhereBlock(options),\n new cls.GroupByBlock(options),\n new cls.OrderByBlock(options),\n limitOffsetTopBlock.OFFSET(),\n limitOffsetTopBlock.LIMIT(),\n new cls.UnionBlock(options),\n ]\n super(options, blocks)\n }\n }\n\n cls.Update = class extends cls.QueryBuilder {\n constructor(options?: any, blocks: any = null) {\n blocks = blocks || [\n new cls.StringBlock(options, \"UPDATE\"),\n new cls.MssqlUpdateTopBlock(options),\n new cls.UpdateTableBlock(options),\n new cls.SetFieldBlock(options),\n new cls.MssqlUpdateDeleteOutputBlock(options),\n new cls.WhereBlock(options),\n ]\n super(options, blocks)\n }\n }\n\n cls.Delete = class extends cls.QueryBuilder {\n constructor(options?: any, blocks: any = null) {\n blocks = blocks || [\n new cls.StringBlock(options, \"DELETE\"),\n new cls.TargetTableBlock(options),\n new cls.FromTableBlock(_extend({}, options, { singleTable: true })),\n new cls.JoinBlock(options),\n new cls.MssqlUpdateDeleteOutputBlock(\n _extend({}, options, { forDelete: true }),\n ),\n new cls.WhereBlock(options),\n new cls.OrderByBlock(options),\n new cls.LimitBlock(options),\n ]\n super(options, blocks)\n }\n }\n\n cls.Insert = class extends cls.QueryBuilder {\n constructor(options?: any, blocks: any = null) {\n blocks = blocks || [\n new cls.StringBlock(options, \"INSERT\"),\n new cls.IntoTableBlock(options),\n new cls.MssqlInsertFieldValueBlock(options),\n new cls.InsertFieldsFromQueryBlock(options),\n ]\n super(options, blocks)\n }\n }\n}\n",
|
|
9
9
|
"import squel from \"./core\"\nimport \"./mysql\"\nimport \"./postgres\"\nimport \"./mssql\"\n\nexport default squel\nexport { squel }\nexport type {\n BaseBuilder,\n Case,\n Cloneable,\n Delete,\n Expression,\n Flavour,\n FormattingOptions,\n Insert,\n ParamString,\n QueryBuilder,\n QueryBuilderOptions,\n Select,\n Squel,\n ToParamOptions,\n Update,\n ValueHandler,\n} from \"./types\"\n"
|
|
10
10
|
],
|
|
11
|
-
"mappings": "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",
|
|
12
|
-
"debugId": "
|
|
11
|
+
"mappings": "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",
|
|
12
|
+
"debugId": "C450E93AEB966A1364756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// package.json
|
|
2
2
|
var package_default = {
|
|
3
3
|
name: "squel",
|
|
4
|
-
version: "6.0.
|
|
4
|
+
version: "6.0.5",
|
|
5
5
|
description: "SQL query string builder",
|
|
6
6
|
keywords: [
|
|
7
7
|
"sql",
|
|
@@ -1780,4 +1780,4 @@ export {
|
|
|
1780
1780
|
src_default as default
|
|
1781
1781
|
};
|
|
1782
1782
|
|
|
1783
|
-
//# debugId=
|
|
1783
|
+
//# debugId=2B307E5814C63D4664756E2164756E21
|
package/dist/esm/index.js.map
CHANGED
|
@@ -9,6 +9,6 @@
|
|
|
9
9
|
"import squel from \"./core\"\nimport \"./mysql\"\nimport \"./postgres\"\nimport \"./mssql\"\n\nexport default squel\nexport { squel }\nexport type {\n BaseBuilder,\n Case,\n Cloneable,\n Delete,\n Expression,\n Flavour,\n FormattingOptions,\n Insert,\n ParamString,\n QueryBuilder,\n QueryBuilderOptions,\n Select,\n Squel,\n ToParamOptions,\n Update,\n ValueHandler,\n} from \"./types\"\n"
|
|
10
10
|
],
|
|
11
11
|
"mappings": "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",
|
|
12
|
-
"debugId": "
|
|
12
|
+
"debugId": "2B307E5814C63D4664756E2164756E21",
|
|
13
13
|
"names": []
|
|
14
14
|
}
|