@aicblock/emysql 1.3.1 → 1.3.2

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.
Files changed (2) hide show
  1. package/lib/index.js +3 -3
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -1,3 +1,3 @@
1
- "use strict";var oe=Object.create;var $=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty;var le=(n,t)=>{for(var e in t)$(n,e,{get:t[e],enumerable:!0})},G=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ae(t))!ce.call(n,o)&&o!==e&&$(n,o,{get:()=>t[o],enumerable:!(r=se(t,o))||r.enumerable});return n};var ue=(n,t,e)=>(e=n!=null?oe(ie(n)):{},G(t||!n||!n.__esModule?$(e,"default",{value:n,enumerable:!0}):e,n)),pe=n=>G($({},"__esModule",{value:!0}),n);var Fe={};le(Fe,{DefineTable:()=>Ie,default:()=>Oe,version:()=>Ce});module.exports=pe(Fe);var K=ue(require("mysql2/promise")),me=async n=>{try{let t=K.default.createPool(n);return process.on("SIGINT",async()=>{t==null||t.end(),process.env.NODE_ENV!=="test"&&process.exit(0)}),(await t.getConnection()).release(),t}catch(t){return Promise.reject(t)}},Q=me;var J=(m=>(m.EQUAL="=",m.IN="IN",m.NOT_IN="NOT IN",m.LIKE="LIKE",m.LIKE_UPPER="LIKE",m.LIKE_LOWER="LIKE",m.NOT="!=",m.IS_NOT_NULL="IS NOT NULL",m.IS_NULL="IS NULL",m.GREATER_THAN_OR_EQUAL=">=",m.GREATER_THAN=">",m.LESS_THAN_OR_EQUAL="<=",m.LESS_THAN="<",m))(J||{}),V=(r=>(r["="]="?",r.IN="(?)",r["NOT IN"]="(?)",r.LIKE="?",r.NOT="?",r[">="]="?",r[">"]="?",r["<="]="?",r["<"]="?",r))(V||{});function A(n){let t=Array.isArray(n)&&n.length!==0,e=!Array.isArray(n)&&n!==void 0&&n!==null&&n!=="";return t||e}function W(n,t){let e=[`\`${n}\``];typeof t=="string"?e.push(`\`${t}\``):e.push(`\`${t.name}\``);let r=[e.join(".")];return typeof t!="string"&&t.alias&&r.push("AS",`\`${t.alias}\``),r.join(" ")}function he(n,t){let e=["SELECT"],r=de(t.fields);e.push(r.join(",")),e.push("FROM");let o=fe(n,t.t);e.push(o);let{where:s,values:a}=t.condition&&x(n,t.condition)||{};return t.join&&e.push(ye(n,t.join).join(`
2
- `)),s&&(s==null?void 0:s.length)>0&&e.push("WHERE",...s),t.orderBy&&e.push(...M(t.orderBy)),t.limit&&e.push(...Y(t.limit)),{sql:e.join(" "),values:a}}function x(n,t){let e=[],r=[],o=[],s=[],a=Object.keys(t),c=(u,h)=>{let i=typeof h=="string"?{value:h}:h,{value:f,type:m,or:g,t:j,subquery:q}=i,R;if(q){let E=q.fields||[u],{sql:d,values:y}=he(n,Object.assign({},q,{fields:E}));o.push(...y),R=d}else if(!["IS_NOT_NULL","IS_NULL"].includes(m||""))if((m==="IN"||m==="NOT_IN")&&Array.isArray(f)){let E=f;g?s.push(E):o.push(E)}else g?s.push(f):m!=="TO_DAYS"&&o.push(f);let b=[],_=j&&`\`${j}\`.\`${u}\``||`\`${u}\``;if(m==="TO_DAYS")b.push(`TO_DAYS(${_})`,"=","TO_DAYS(NOW())");else{let E=m&&J[m]||"=";b.push(_,E),["IS_NOT_NULL","IS_NULL"].includes(m||"")||(R?b.push(`(${R})`):(m==="IN"||m==="NOT_IN")&&Array.isArray(f)?b.push("(?)"):b.push(V[E]||"?"))}let S=b.join(" ");g&&r.push(S)||e.push(S)};a.forEach(u=>{let h=t[u];(typeof h!=="object"?[{value:h,type:"EQUAL"}]:Array.isArray(h)?h:[h]).forEach(m=>c(u,m))});let p=[];if(e.length>0||r.length>0)if(e.length===1&&r.length===1){let u=e.join(" AND "),h=r.join(" OR ");p.push(`(${u}) OR (${h})`)}else if(e.length===0&&r.length>0)p.push(r.join(" OR "));else if(e.length>0&&r.length===0)p.push(e.join(" AND "));else{let u=e.join(" AND "),h=r.join(" OR ");p.push(`(${u}) AND (${h})`)}return{where:p.filter(u=>A(u)),values:o.concat(s)}}function de(n){return n?(Array.isArray(n)?n:[n]).map(r=>{let o=typeof r=="string"?{name:r}:r,a=[o.t?`\`${o.t}\`.\`${o.name}\``:`\`${o.name}\``];return o.alias&&a.push("AS",`\`${o.alias}\``),a.join(" ")}):["*"]}function fe(n,t){return(Array.isArray(t)?t:[t]).map(o=>W(n,o)).join(",")}function ye(n,t){return(Array.isArray(t)?t:[t]).map(o=>{let{type:s,on:a}=o,{name:c,alias:p}=typeof o.t=="string"?{name:o.t,alias:void 0}:o.t,u=W(n,o.t),h=s==="LEFT"?"LEFT JOIN":s==="RIGHT"?"RIGHT JOIN":"INNER JOIN",i=p?[`\`${p}\``,`\`${a.joinField}\``]:[`\`${c}\``,`\`${a.joinField}\``],f=[`\`${a.mainTable}\``,`\`${a.mainField}\``];return[h,u,"ON",i.join("."),"=",f.join(".")].join(" ")})}function M(n){let{field:t,type:e,t:r}=n,o=["ORDER BY"];return r?o.push([l(r),l(t)].join(".")):o.push(t),e&&o.push(e),o}var Y=n=>["LIMIT",[n.start.toString(),",",n.length.toFixed()].join("")],l=n=>`\`${n}\``;function _e(n){let e=Object.assign({},{charset:"utf8mb4",collate:"utf8mb4_0900_bin",engine:"InnoDB"},n),r=[],{tableName:o,columns:s,engine:a,charset:c,collate:p}=e;r.push(l(o));let u=s.filter(i=>i.primaryKey),h=s.map(i=>{let f=[];f.push(l(i.name));let m=i.dataType,g=m;if(m==="DECIMAL"&&i.length&&i.point?g=`${m}(${i.length},${i.point})`:i.length&&(g=`${m}(${i.length})`),f.push(g),i.primaryKey&&(u.length===1?f.push("PRIMARY KEY","NOT NULL"):f.push("NOT NULL")),i.autoIncrement&&f.push("AUTO_INCREMENT"),i.notNull&&!i.primaryKey&&f.push("NOT NULL"),i.unique&&f.push("UNIQUE"),A(i.defaultValue)){let j=i.defaultValue,q=typeof j=="string"&&!j.startsWith("CURRENT_")?`'${j}'`:j;f.push("DEFAULT",q)}return A(i.comments)&&f.push(`COMMENT '${i.comments}'`),f.join(" ")});return u.length>1&&h.push(["PRIMARY KEY",`(${u.map(i=>l(i.name)).join(",")})`].join(" ")),r.push(`(${h.join(",")})`),r.push(`ENGINE=${a}`),r.push(`DEFAULT CHARSET=${c}`),r.push(`COLLATE=${p}`),r.join(" ")}async function X(n,t,e){try{let s=["TRUNCATE TABLE",[l(n),l(e)].join(".")].join(" ");return await t.query(s),Promise.resolve()}catch(r){return t.release(),Promise.reject(r)}}async function z(n,t,e){try{let s=["DROP TABLE IF EXISTS",[l(n),l(e)].join(".")].join(" ");return await t.query(s),Promise.resolve()}catch(r){return t.release(),Promise.reject(r)}}async function Z(n,t,e){try{let r=`SHOW TABLES IN ${l(n)} LIKE ?`,o=[e],[s]=await t.query({sql:r,values:o});return s.length===0?Promise.resolve(!1):Promise.resolve(!0)}catch(r){return t.release(),Promise.reject(r)}}var v=async(n,t,e)=>{try{let o=(Array.isArray(e)?e:[e]).map(a=>{let c=["CREATE TABLE IF NOT EXISTS"];return c.push([l(n),a.createSQL].join(".")),c.join(" ")}),s=a=>t.query(a);await Promise.all(o.map(s))}catch(r){return t.release(),Promise.reject(r)}},ee=n=>{let{tableName:t}=n,e=n.columns.map(p=>p.name),r={charset:"utf8mb4",collate:"utf8mb4_0900_bin",engine:"InnoDB"},{charset:o,collate:s,engine:a}=Object.assign({},r,n);return{name:t,createSQL:_e(n),fields:e,columns:n.columns,tableCharacter:{charset:o,collate:s,engine:a}}};var te=n=>(Array.isArray(n)?n:[n]).map(r=>{let o=typeof r=="string"?{name:r}:r,s=[];o.t&&s.push(o.t),s.push(o.name);let c=[s.map(l).join(".")];return o.alias&&c.push("AS",l(o.alias)),c.join(" ")}),P=(n,t)=>{let e=[];return(Array.isArray(t)?t:[t]).forEach(o=>{let a=[[l(n),l(o.name)].join(".")];o.alias&&a.push("AS",l(o.alias)),e.push(a.join(" "))}),e.join(",")},ge=(n,t)=>{let e=Array.isArray(t)?t:[t],r=[];return e.forEach(o=>{let{type:s,t:a,on:c}=o,p=s==="LEFT"?"LEFT JOIN":s==="RIGHT"?"RIGHT JOIN":"INNER JOIN",u=P(n,a),h=[p,u,"ON"],i=[];i.push(a.alias?l(a.alias):l(a.name),l(c.joinField)),h.push(i.join("."),"=");let f=[];f.push(c.mainTable.alias?l(c.mainTable.alias):l(c.mainTable.name),l(c.mainField)),h.push(f.join(".")),r.push(h.join(" "))}),r};function w(n){let t=["SELECT"];t.push(n.escape_fields.join(",")),t.push("FROM"),t.push(P(n.db,n.t));let e,r;if(n.condition&&Object.keys(n.condition).length>0){let s=x(n.db,n.condition);e=s.where,r=s.values}return n.join&&t.push(ge(n.db,n.join).join(`
3
- `)),e&&e.length>0&&t.push("WHERE",...e),n.orderBy&&t.push(...M(n.orderBy)),n.limit&&t.push(...Y(n.limit)),{sql:t.join(" "),values:r}}var Pe=async(n,t,e)=>{try{let[r,o]=await n.query({sql:t,values:e});return{data:r,fields:o}}catch(r){return n.release(),Promise.reject(r)}},I=Pe;var je=(n,t,e)=>{let r=[],o=Array.isArray(n)?n:[n];if(o.forEach(c=>{r.push(...c.fields.map(p=>{let u=[];return(o.length>1||e)&&u.push(l(c.alias||c.name)),u.push(l(p)),u.join(".")}))}),e&&(Array.isArray(e)?e:[e]).forEach(p=>{let u=p.t;typeof u!="string"&&u.fields&&r.push(...u.fields.map(h=>{let i=[];return i.push(l(u.alias||u.name)),i.push(l(h)),i.join(".")}))}),!t)return r;if(!(Array.isArray(t)?t:[t]).every(c=>{let p=typeof c=="string"?{name:c}:c,u=[];p.t&&u.push(p.t),u.push(p.name);let h=u.map(l).join(".");return r.includes(h)}))throw new Error("fields not found");return te(t)},qe=async(n,t,e)=>{try{let r=je(e.t,e.fields,e.join),{sql:o,values:s}=w({...e,db:t,escape_fields:r});console.info("[info] sql query::",o);let{data:a}=await I(n,o,s);return a}catch(r){return n.release(),Promise.reject(r)}},L=qe;var H=n=>{let t=Array.isArray(n)?n:[n],e=Array.from(new Set(t.map(o=>Object.keys(o)).flat())).map(o=>l(o)),r=t.map(o=>e.map(s=>{let a=s.replace(/`/g,"");return a in o?o[a]:null}));return{fields:e,values:r}},Ee=(n,t)=>{let e=["INSERT INTO"],r="table"in t.t?t.t.table.name:t.t.name,o=[l(n),l(r)];e.push(o.join("."));let s="table"in t.t?t.t.alias:void 0;s&&e.push("AS",l(s));let{fields:a,values:c}=H(t.params),p=["("].concat(a.join(",")).concat(")");return e.push(p.join(""),"VALUES"),e.push("?"),{sql:e.join(" "),values:[c]}},be=async(n,t,e)=>{try{let{sql:r,values:o}=Ee(n,e);console.info("[info] sql insert::",r);let[s]=await t.query({sql:r,values:o});return s}catch(r){return t.release(),Promise.reject(r)}},C=be;var Te=async(n,t,e)=>{var r,o;try{let s=typeof e.field=="string"?e.field:((r=e.field)==null?void 0:r.name)||"id",a=[];typeof e.field=="object"&&e.field.t&&(e.field.t.alias?a.push(l(e.field.t.alias)):a.push(l(e.field.t.name))),a.push(l(s));let c=[`COUNT(${a.join(".")}) AS total`],{sql:p,values:u}=w({...e,db:t,escape_fields:c});console.info("[info] sql query::",p);let{data:h}=await I(n,p,u);return((o=h[0])==null?void 0:o.total)||0}catch(s){return n.release(),Promise.reject(s)}},O=Te;var Re=async(n,t,e)=>{try{if(!e.condition||Object.keys(e.condition).length===0)throw Error("The deletion condition cannot be empty.");let r=["DELETE FROM",P(n,e.t)],{where:o,values:s}=x(n,e.condition),a=r.concat("WHERE").concat(o).join(" ");console.info("[info] sql delte::",a);let[c]=await t.execute({sql:a,values:s});return c}catch(r){return t.release(),Promise.reject(r)}},F=Re;var Se=async(n,t,e)=>{try{if(!e.params||Object.keys(e.params).length===0)throw Error("The update params cannot be empty.");if(!e.condition||Object.keys(e.condition).length===0)throw Error("The update condition cannot be empty.");let r=["UPDATE",P(n,e.t),"SET"],{fields:o,values:s}=H(e.params);r.push(o.map(i=>`${i}=?`).join(","));let{where:a,values:c}=x(n,e.condition),p=r.concat("WHERE").concat(a).join(" ");console.info("[info] sql update::",p);let u=[...s[0],...c],[h]=await t.query({sql:p,values:u});return h}catch(r){return t.release(),Promise.reject(r)}},U=Se;var Ae=(n,t)=>{let{t:e,unique:r,excludeField:o}=t,s=t.data,a=["INSERT INTO",P(n,e)],c=Array.isArray(s),p=Array.isArray(s)?s:[s],h=Array.from(new Set(p.map(_=>Object.keys(_)).flat())).map(_=>l(_)),i=p.map(_=>h.map(S=>{let E=S.replace(/`/g,"");return E in _?_[E]:null})),f=["("].concat(h.join(","),")");a.push(f.join(""),"VALUES");let m=h.map(()=>"?"),g=["("].concat(m.join(",")).concat(")");c?a.push("?"):a.push(g.join(""));let j=[r||"id"].concat(o||[]),q=h.filter(_=>{let S=_.replace(/`/g,"");return!j.includes(S)}).map(_=>`${_} = VALUES(${_})`).join(",");a.push("ON DUPLICATE KEY UPDATE",q);let R=a.join(" "),b=c?[i]:i[0];return{sql:R,values:b}},xe=(n,t)=>{let{t:e,conditionField:r}=t,o=t.data,s=["UPDATE",P(n,e),"SET"],a={},c=[];Array.from(new Set(o.map(i=>Object.keys(i)).flat())).filter(i=>i!==r).forEach(i=>{let f=[];o.forEach(m=>{i in m&&(f.push(["WHEN","?","THEN","?"]),c.push(m[r],m[i]))}),a[i]=f}),Object.keys(a).forEach((i,f,m)=>{let g=a[i].map(q=>q.join(" ")).join(" "),j=[l(i),"=","CASE",r,g,"END"];m.length-1!==f&&j.push(","),s.push(...j)}),s.push("WHERE",r,"IN","?");let u=o.map(i=>i[r]);c.push([u]);let h=s.join(" ");return{values:c,sql:h}},Le=(n,t)=>{let{t:e}=t,{charset:r,collate:o,engine:s}=e.tableCharacter,a=t.data;if(!t.conditionField)throw Error("PARAM_ERROR::[CONDITIONFIELD] IS NOT NULL");let c=["temp_",e.name].join(""),p=Array.from(new Set(a.map(d=>Object.keys(d)).flat()));console.info("[info] allFields::",p);let u=p.map(d=>e.columns.find(y=>y.name===d)).filter(d=>d!==void 0),h=u.filter(d=>d.primaryKey),i=u.map(d=>{let y=[];y.push(l(d.name));let T=d.dataType,D=T;if(T==="DECIMAL"&&d.length&&d.point?D=`${T}(${d.length},${d.point})`:d.length&&(D=`${T}(${d.length})`),y.push(D),d.primaryKey&&(h.length===1?y.push("PRIMARY KEY","NOT NULL"):y.push("NOT NULL")),d.autoIncrement&&y.push("AUTO_INCREMENT"),d.notNull&&!d.primaryKey&&y.push("NOT NULL"),d.unique&&y.push("UNIQUE"),A(d.defaultValue)){let N=d.defaultValue,ne=typeof N=="string"&&!N.startsWith("CURRENT_")?`'${N}'`:N;y.push("DEFAULT",ne)}return A(d.comments)&&y.push(`COMMENT '${d.comments}'`),y.join(" ")}),f=["CREATE TEMPORARY TABLE IF NOT EXISTS",l(c),`(${i.join(",")})`,`ENGINE=${s}`,`DEFAULT CHARSET=${r}`,`COLLATE=${o}`].join(" ");console.info("[info] sql create temporary table::",f);let m={name:c,createSQL:f,fields:p,columns:e.columns,tableCharacter:{charset:r,collate:o,engine:s}},g=["INSERT INTO",l(c)],j=p.map(d=>l(d)).join(",");g.push("(",j,") VALUES");let q=a.map(d=>`(${p.map(T=>T in d?d[T]:null).map(()=>"?").join(",")})`).join(",");g.push(q);let R=a.flatMap(d=>p.map(y=>y in d?d[y]:null)),b={sql:g.join(" "),values:R},_=["UPDATE",P(n,e),"JOIN",P(n,m),"ON",`${P(n,e)}.${l(t.conditionField)}`,"=",`${P(n,m)}.${l(t.conditionField)}`,"SET"];return p.filter(d=>d!==t.conditionField).forEach((d,y,T)=>{_.push(`${P(n,e)}.${l(d)}`,"=",`${P(n,m)}.${l(d)}`),T.length-1!==y&&_.push(",")}),{create:{values:[],sql:f},insert:b,update:{values:[],sql:_.join(" ")},drop:{values:[],sql:["DROP TEMPORARY TABLE IF EXISTS",l(c)].join(" ")}}},we=async(n,t,e)=>{try{if(!e.params)throw new Error("params is required");if(e.type==="TEMPORARY"){let a=e.params,{create:c,insert:p,update:u,drop:h}=Le(n,a);console.info("[info] sql temporary batch create::",c.sql),await t.query(c),console.info("[info] sql temporary batch insert::",p.sql),await t.query(p),console.info("[info] sql temporary batch update::",u.sql);let[i]=await t.query(u);return await t.query(h),i}let{values:r,sql:o}=e.type==="DUPLICATE"?Ae(n,e.params):xe(n,e.params);console.info("[info] sql batch update::",o);let[s]=await t.query({sql:o,values:r});return s}catch(r){return t.release(),Promise.reject(r)}},B=we;var Ne=(n,t)=>{let e=async(o,s,a)=>{try{console.info("[info] trx::sql query::",s);let[c]=await o.query(s,a);return c}catch(c){return Promise.reject(c)}};return{sql:(o,s)=>e(t,o,s),query:o=>L(t,n,o),detail:async o=>{try{return(await L(t,n,Object.assign({},o,{limit:{start:0,length:1}})))[0]}catch(s){return Promise.reject(s)}},count:o=>O(t,n,o),change:{insert:o=>C(n,t,o),batchUpdate:o=>B(n,t,o),delete:o=>F(n,t,o),update:o=>U(n,t,o)}}},$e=async(n,t,e)=>{try{await t.beginTransaction();let r=Ne(n,t);console.info("[info] transaction exec list");let o=await e(r);return await t.commit(),o}catch(r){return await t.rollback(),t.release(),Promise.reject(r)}},re=$e;var k=class{constructor(t){this.log="none";this.pool=void 0;this.conf={};this.change={insert:async t=>{try{this.check_db();let e=await this.create_conn(),r=await C(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},delete:async t=>{try{this.check_db();let e=await this.create_conn(),r=await F(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},update:async t=>{try{this.check_db();let e=await this.create_conn(),r=await U(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},batchUpdate:async t=>{try{this.check_db();let e=await this.create_conn(),r=await B(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}};this.table={create:async t=>{try{let e=await this.create_conn();return this.check_db(),await v(this.db,e,t),e.release(),Promise.resolve()}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},truncate:async t=>{try{this.check_db();let e=await this.create_conn();return await X(this.db,e,t),e.release(),Promise.resolve()}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},drop:async t=>{try{this.check_db();let e=await this.create_conn();return await z(this.db,e,t),e.release(),Promise.resolve()}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},exist:async t=>{try{this.check_db();let e=await this.create_conn(),r=await Z(this.db,e,t);return e.release(),Promise.resolve(r)}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}};if(this.log=t.log||"none",!t.connConfig)throw Error("CONN_CONFIG_REQUIRED");this.db=t.connConfig.database,this.conf=t.connConfig}check_db(){if(!this.db)throw this.log==="error"&&console.error("The database name is not initialized. Procedure"),Error("DB_UNINITIALIZED")}async init(){try{if(this.pool)return;this.pool=await Q(this.conf)}catch(t){throw this.log==="error"&&console.error(t),Error("CREATE_POOL_FAILED")}}async create_conn(){try{return this.pool?await this.pool.getConnection():(this.log==="error"&&console.error("The connection pool is not initialized. Procedure"),Promise.reject("POOL_UNINITIALIZED"))}catch(t){return Promise.reject(t)}}async detail(t){try{this.check_db();let e=await this.create_conn(),r=await L(e,this.db,Object.assign({},t,{limit:{start:0,length:1}}));return e.release(),r[0]}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}async query(t){try{this.check_db();let e=await this.create_conn(),r=await L(e,this.db,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}async count(t){try{this.check_db();let e=await this.create_conn(),r=await O(e,this.db,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}async transaction(t){try{this.check_db();let e=await this.create_conn(),r=await re(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}async close(){var t;try{return await((t=this.pool)==null?void 0:t.end()),this.pool=void 0,Promise.resolve()}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}},Ie=ee,Ce=`1.3.1:${Date.now()}`,Oe=k;0&&(module.exports={DefineTable,version});
1
+ "use strict";var oe=Object.create;var I=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var ae=Object.getOwnPropertyNames;var ie=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty;var le=(n,t)=>{for(var e in t)I(n,e,{get:t[e],enumerable:!0})},G=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ae(t))!ce.call(n,o)&&o!==e&&I(n,o,{get:()=>t[o],enumerable:!(r=se(t,o))||r.enumerable});return n};var ue=(n,t,e)=>(e=n!=null?oe(ie(n)):{},G(t||!n||!n.__esModule?I(e,"default",{value:n,enumerable:!0}):e,n)),pe=n=>G(I({},"__esModule",{value:!0}),n);var Fe={};le(Fe,{DefineTable:()=>Ie,default:()=>Oe,version:()=>Ce});module.exports=pe(Fe);var K=ue(require("mysql2/promise")),me=async n=>{try{let t=K.default.createPool(n);return process.on("SIGINT",async()=>{t==null||t.end(),process.env.NODE_ENV!=="test"&&process.exit(0)}),(await t.getConnection()).release(),t}catch(t){return Promise.reject(t)}},Q=me;var J=(p=>(p.EQUAL="=",p.IN="IN",p.NOT_IN="NOT IN",p.LIKE="LIKE",p.LIKE_UPPER="LIKE",p.LIKE_LOWER="LIKE",p.NOT="!=",p.IS_NOT_NULL="IS NOT NULL",p.IS_NULL="IS NULL",p.GREATER_THAN_OR_EQUAL=">=",p.GREATER_THAN=">",p.LESS_THAN_OR_EQUAL="<=",p.LESS_THAN="<",p))(J||{}),V=(r=>(r["="]="?",r.IN="(?)",r["NOT IN"]="(?)",r.LIKE="?",r.NOT="?",r[">="]="?",r[">"]="?",r["<="]="?",r["<"]="?",r))(V||{});function S(n){let t=Array.isArray(n)&&n.length!==0,e=!Array.isArray(n)&&n!==void 0&&n!==null&&n!=="";return t||e}function W(n,t){let e=[`\`${n}\``];typeof t=="string"?e.push(`\`${t}\``):e.push(`\`${t.name}\``);let r=[e.join(".")];return typeof t!="string"&&t.alias&&r.push("AS",`\`${t.alias}\``),r.join(" ")}function he(n,t){let e=["SELECT"],r=de(t.fields);e.push(r.join(",")),e.push("FROM");let o=fe(n,t.t);e.push(o);let{where:s,values:a}=t.condition&&x(n,t.condition)||{};return t.join&&e.push(ye(n,t.join).join(`
2
+ `)),s&&(s==null?void 0:s.length)>0&&e.push("WHERE",...s),t.orderBy&&e.push(...M(t.orderBy)),t.limit&&e.push(...Y(t.limit)),{sql:e.join(" "),values:a}}function x(n,t){let e=[],r=[],o=[],s=[],a=Object.keys(t),c=(u,h)=>{let i=typeof h=="string"?{value:h}:h,{value:f,type:p,or:g,t:j,subquery:q}=i;if((p==="IN"||p==="NOT_IN")&&Array.isArray(f)&&f.length===0)return;let A;if(q){let E=q.fields||[u],{sql:d,values:y}=he(n,Object.assign({},q,{fields:E}));o.push(...y),A=d}else if(!["IS_NOT_NULL","IS_NULL"].includes(p||""))if((p==="IN"||p==="NOT_IN")&&Array.isArray(f)){let E=f;g?s.push(E):o.push(E)}else g?s.push(f):p!=="TO_DAYS"&&o.push(f);let T=[],_=j&&`\`${j}\`.\`${u}\``||`\`${u}\``;if(p==="TO_DAYS")T.push(`TO_DAYS(${_})`,"=","TO_DAYS(NOW())");else{let E=p&&J[p]||"=";T.push(_,E),["IS_NOT_NULL","IS_NULL"].includes(p||"")||(A?T.push(`(${A})`):(p==="IN"||p==="NOT_IN")&&Array.isArray(f)?T.push("(?)"):T.push(V[E]||"?"))}let R=T.join(" ");g&&r.push(R)||e.push(R)};a.forEach(u=>{let h=t[u];(typeof h!=="object"?[{value:h,type:"EQUAL"}]:Array.isArray(h)?h:[h]).forEach(p=>c(u,p))});let m=[];if(e.length>0||r.length>0)if(e.length===1&&r.length===1){let u=e.join(" AND "),h=r.join(" OR ");m.push(`(${u}) OR (${h})`)}else if(e.length===0&&r.length>0)m.push(r.join(" OR "));else if(e.length>0&&r.length===0)m.push(e.join(" AND "));else{let u=e.join(" AND "),h=r.join(" OR ");m.push(`(${u}) AND (${h})`)}return{where:m.filter(u=>S(u)),values:o.concat(s)}}function de(n){return n?(Array.isArray(n)?n:[n]).map(r=>{let o=typeof r=="string"?{name:r}:r,a=[o.t?`\`${o.t}\`.\`${o.name}\``:`\`${o.name}\``];return o.alias&&a.push("AS",`\`${o.alias}\``),a.join(" ")}):["*"]}function fe(n,t){return(Array.isArray(t)?t:[t]).map(o=>W(n,o)).join(",")}function ye(n,t){return(Array.isArray(t)?t:[t]).map(o=>{let{type:s,on:a}=o,{name:c,alias:m}=typeof o.t=="string"?{name:o.t,alias:void 0}:o.t,u=W(n,o.t),h=s==="LEFT"?"LEFT JOIN":s==="RIGHT"?"RIGHT JOIN":"INNER JOIN",i=m?[`\`${m}\``,`\`${a.joinField}\``]:[`\`${c}\``,`\`${a.joinField}\``],f=[`\`${a.mainTable}\``,`\`${a.mainField}\``];return[h,u,"ON",i.join("."),"=",f.join(".")].join(" ")})}function M(n){let{field:t,type:e,t:r}=n,o=["ORDER BY"];return r?o.push([l(r),l(t)].join(".")):o.push(t),e&&o.push(e),o}var Y=n=>["LIMIT",[n.start.toString(),",",n.length.toFixed()].join("")],l=n=>`\`${n}\``;function _e(n){let e=Object.assign({},{charset:"utf8mb4",collate:"utf8mb4_0900_bin",engine:"InnoDB"},n),r=[],{tableName:o,columns:s,engine:a,charset:c,collate:m}=e;r.push(l(o));let u=s.filter(i=>i.primaryKey),h=s.map(i=>{let f=[];f.push(l(i.name));let p=i.dataType,g=p;if(p==="DECIMAL"&&i.length&&i.point?g=`${p}(${i.length},${i.point})`:i.length&&(g=`${p}(${i.length})`),f.push(g),i.primaryKey&&(u.length===1?f.push("PRIMARY KEY","NOT NULL"):f.push("NOT NULL")),i.autoIncrement&&f.push("AUTO_INCREMENT"),i.notNull&&!i.primaryKey&&f.push("NOT NULL"),i.unique&&f.push("UNIQUE"),S(i.defaultValue)){let j=i.defaultValue,q=typeof j=="string"&&!j.startsWith("CURRENT_")?`'${j}'`:j;f.push("DEFAULT",q)}return S(i.comments)&&f.push(`COMMENT '${i.comments}'`),f.join(" ")});return u.length>1&&h.push(["PRIMARY KEY",`(${u.map(i=>l(i.name)).join(",")})`].join(" ")),r.push(`(${h.join(",")})`),r.push(`ENGINE=${a}`),r.push(`DEFAULT CHARSET=${c}`),r.push(`COLLATE=${m}`),r.join(" ")}async function X(n,t,e){try{let s=["TRUNCATE TABLE",[l(n),l(e)].join(".")].join(" ");return await t.query(s),Promise.resolve()}catch(r){return t.release(),Promise.reject(r)}}async function z(n,t,e){try{let s=["DROP TABLE IF EXISTS",[l(n),l(e)].join(".")].join(" ");return await t.query(s),Promise.resolve()}catch(r){return t.release(),Promise.reject(r)}}async function Z(n,t,e){try{let r=`SHOW TABLES IN ${l(n)} LIKE ?`,o=[e],[s]=await t.query({sql:r,values:o});return s.length===0?Promise.resolve(!1):Promise.resolve(!0)}catch(r){return t.release(),Promise.reject(r)}}var v=async(n,t,e)=>{try{let o=(Array.isArray(e)?e:[e]).map(a=>{let c=["CREATE TABLE IF NOT EXISTS"];return c.push([l(n),a.createSQL].join(".")),c.join(" ")}),s=a=>t.query(a);await Promise.all(o.map(s))}catch(r){return t.release(),Promise.reject(r)}},ee=n=>{let{tableName:t}=n,e=n.columns.map(m=>m.name),r={charset:"utf8mb4",collate:"utf8mb4_0900_bin",engine:"InnoDB"},{charset:o,collate:s,engine:a}=Object.assign({},r,n);return{name:t,createSQL:_e(n),fields:e,columns:n.columns,tableCharacter:{charset:o,collate:s,engine:a}}};var te=n=>(Array.isArray(n)?n:[n]).map(r=>{let o=typeof r=="string"?{name:r}:r,s=[];o.t&&s.push(o.t),s.push(o.name);let c=[s.map(l).join(".")];return o.alias&&c.push("AS",l(o.alias)),c.join(" ")}),P=(n,t)=>{let e=[];return(Array.isArray(t)?t:[t]).forEach(o=>{let a=[[l(n),l(o.name)].join(".")];o.alias&&a.push("AS",l(o.alias)),e.push(a.join(" "))}),e.join(",")},ge=(n,t)=>{let e=Array.isArray(t)?t:[t],r=[];return e.forEach(o=>{let{type:s,t:a,on:c}=o,m=s==="LEFT"?"LEFT JOIN":s==="RIGHT"?"RIGHT JOIN":"INNER JOIN",u=P(n,a),h=[m,u,"ON"],i=[];i.push(a.alias?l(a.alias):l(a.name),l(c.joinField)),h.push(i.join("."),"=");let f=[];f.push(c.mainTable.alias?l(c.mainTable.alias):l(c.mainTable.name),l(c.mainField)),h.push(f.join(".")),r.push(h.join(" "))}),r};function N(n){let t=["SELECT"];t.push(n.escape_fields.join(",")),t.push("FROM"),t.push(P(n.db,n.t));let e,r;if(n.condition&&Object.keys(n.condition).length>0){let s=x(n.db,n.condition);e=s.where,r=s.values}return n.join&&t.push(ge(n.db,n.join).join(`
3
+ `)),e&&e.length>0&&t.push("WHERE",...e),n.orderBy&&t.push(...M(n.orderBy)),n.limit&&t.push(...Y(n.limit)),{sql:t.join(" "),values:r}}var Pe=async(n,t,e)=>{try{let[r,o]=await n.query({sql:t,values:e});return{data:r,fields:o}}catch(r){return n.release(),Promise.reject(r)}},L=Pe;var je=(n,t,e)=>{let r=[],o=Array.isArray(n)?n:[n];if(o.forEach(c=>{r.push(...c.fields.map(m=>{let u=[];return(o.length>1||e)&&u.push(l(c.alias||c.name)),u.push(l(m)),u.join(".")}))}),e&&(Array.isArray(e)?e:[e]).forEach(m=>{let u=m.t;typeof u!="string"&&u.fields&&r.push(...u.fields.map(h=>{let i=[];return i.push(l(u.alias||u.name)),i.push(l(h)),i.join(".")}))}),!t)return r;if(!(Array.isArray(t)?t:[t]).every(c=>{let m=typeof c=="string"?{name:c}:c,u=[];m.t&&u.push(m.t),u.push(m.name);let h=u.map(l).join(".");return r.includes(h)}))throw new Error("fields not found");return te(t)},qe=async(n,t,e)=>{try{let r=je(e.t,e.fields,e.join),{sql:o,values:s}=N({...e,db:t,escape_fields:r});console.info("[info] sql query::",o);let{data:a}=await L(n,o,s);return a}catch(r){return n.release(),Promise.reject(r)}},w=qe;var H=n=>{let t=Array.isArray(n)?n:[n],e=Array.from(new Set(t.map(o=>Object.keys(o)).flat())).map(o=>l(o)),r=t.map(o=>e.map(s=>{let a=s.replace(/`/g,"");return a in o?o[a]:null}));return{fields:e,values:r}},Ee=(n,t)=>{let e=["INSERT INTO"],r="table"in t.t?t.t.table.name:t.t.name,o=[l(n),l(r)];e.push(o.join("."));let s="table"in t.t?t.t.alias:void 0;s&&e.push("AS",l(s));let{fields:a,values:c}=H(t.params),m=["("].concat(a.join(",")).concat(")");return e.push(m.join(""),"VALUES"),e.push("?"),{sql:e.join(" "),values:[c]}},Te=async(n,t,e)=>{try{let{sql:r,values:o}=Ee(n,e);console.info("[info] sql insert::",r);let[s]=await t.query({sql:r,values:o});return s}catch(r){return t.release(),Promise.reject(r)}},C=Te;var be=async(n,t,e)=>{var r,o;try{let s=typeof e.field=="string"?e.field:((r=e.field)==null?void 0:r.name)||"id",a=[];typeof e.field=="object"&&e.field.t&&(e.field.t.alias?a.push(l(e.field.t.alias)):a.push(l(e.field.t.name))),a.push(l(s));let c=[`COUNT(${a.join(".")}) AS total`],{sql:m,values:u}=N({...e,db:t,escape_fields:c});console.info("[info] sql query::",m);let{data:h}=await L(n,m,u);return((o=h[0])==null?void 0:o.total)||0}catch(s){return n.release(),Promise.reject(s)}},O=be;var Ae=async(n,t,e)=>{try{if(!e.condition||Object.keys(e.condition).length===0)throw Error("The deletion condition cannot be empty.");let r=["DELETE FROM",P(n,e.t)],{where:o,values:s}=x(n,e.condition);if(o.length===0)throw Error("The deletion condition cannot be empty.");let a=r.concat("WHERE").concat(o).join(" ");console.info("[info] sql delte::",a);let{data:c}=await L(t,a,s);return c}catch(r){return t.release(),Promise.reject(r)}},F=Ae;var Re=async(n,t,e)=>{try{if(!e.params||Object.keys(e.params).length===0)throw Error("The update params cannot be empty.");if(!e.condition||Object.keys(e.condition).length===0)throw Error("The update condition cannot be empty.");let r=["UPDATE",P(n,e.t),"SET"],{fields:o,values:s}=H(e.params);r.push(o.map(i=>`${i}=?`).join(","));let{where:a,values:c}=x(n,e.condition),m=r.concat("WHERE").concat(a).join(" ");console.info("[info] sql update::",m);let u=[...s[0],...c],[h]=await t.query({sql:m,values:u});return h}catch(r){return t.release(),Promise.reject(r)}},U=Re;var Se=(n,t)=>{let{t:e,unique:r,excludeField:o}=t,s=t.data,a=["INSERT INTO",P(n,e)],c=Array.isArray(s),m=Array.isArray(s)?s:[s],h=Array.from(new Set(m.map(_=>Object.keys(_)).flat())).map(_=>l(_)),i=m.map(_=>h.map(R=>{let E=R.replace(/`/g,"");return E in _?_[E]:null})),f=["("].concat(h.join(","),")");a.push(f.join(""),"VALUES");let p=h.map(()=>"?"),g=["("].concat(p.join(",")).concat(")");c?a.push("?"):a.push(g.join(""));let j=[r||"id"].concat(o||[]),q=h.filter(_=>{let R=_.replace(/`/g,"");return!j.includes(R)}).map(_=>`${_} = VALUES(${_})`).join(",");a.push("ON DUPLICATE KEY UPDATE",q);let A=a.join(" "),T=c?[i]:i[0];return{sql:A,values:T}},xe=(n,t)=>{let{t:e,conditionField:r}=t,o=t.data,s=["UPDATE",P(n,e),"SET"],a={},c=[];Array.from(new Set(o.map(i=>Object.keys(i)).flat())).filter(i=>i!==r).forEach(i=>{let f=[];o.forEach(p=>{i in p&&(f.push(["WHEN","?","THEN","?"]),c.push(p[r],p[i]))}),a[i]=f}),Object.keys(a).forEach((i,f,p)=>{let g=a[i].map(q=>q.join(" ")).join(" "),j=[l(i),"=","CASE",r,g,"END"];p.length-1!==f&&j.push(","),s.push(...j)}),s.push("WHERE",r,"IN","?");let u=o.map(i=>i[r]);c.push([u]);let h=s.join(" ");return{values:c,sql:h}},Le=(n,t)=>{let{t:e}=t,{charset:r,collate:o,engine:s}=e.tableCharacter,a=t.data;if(!t.conditionField)throw Error("PARAM_ERROR::[CONDITIONFIELD] IS NOT NULL");let c=["temp_",e.name].join(""),m=Array.from(new Set(a.map(d=>Object.keys(d)).flat()));console.info("[info] allFields::",m);let u=m.map(d=>e.columns.find(y=>y.name===d)).filter(d=>d!==void 0),h=u.filter(d=>d.primaryKey),i=u.map(d=>{let y=[];y.push(l(d.name));let b=d.dataType,D=b;if(b==="DECIMAL"&&d.length&&d.point?D=`${b}(${d.length},${d.point})`:d.length&&(D=`${b}(${d.length})`),y.push(D),d.primaryKey&&(h.length===1?y.push("PRIMARY KEY","NOT NULL"):y.push("NOT NULL")),d.autoIncrement&&y.push("AUTO_INCREMENT"),d.notNull&&!d.primaryKey&&y.push("NOT NULL"),d.unique&&y.push("UNIQUE"),S(d.defaultValue)){let $=d.defaultValue,ne=typeof $=="string"&&!$.startsWith("CURRENT_")?`'${$}'`:$;y.push("DEFAULT",ne)}return S(d.comments)&&y.push(`COMMENT '${d.comments}'`),y.join(" ")}),f=["CREATE TEMPORARY TABLE IF NOT EXISTS",l(c),`(${i.join(",")})`,`ENGINE=${s}`,`DEFAULT CHARSET=${r}`,`COLLATE=${o}`].join(" ");console.info("[info] sql create temporary table::",f);let p={name:c,createSQL:f,fields:m,columns:e.columns,tableCharacter:{charset:r,collate:o,engine:s}},g=["INSERT INTO",l(c)],j=m.map(d=>l(d)).join(",");g.push("(",j,") VALUES");let q=a.map(d=>`(${m.map(b=>b in d?d[b]:null).map(()=>"?").join(",")})`).join(",");g.push(q);let A=a.flatMap(d=>m.map(y=>y in d?d[y]:null)),T={sql:g.join(" "),values:A},_=["UPDATE",P(n,e),"JOIN",P(n,p),"ON",`${P(n,e)}.${l(t.conditionField)}`,"=",`${P(n,p)}.${l(t.conditionField)}`,"SET"];return m.filter(d=>d!==t.conditionField).forEach((d,y,b)=>{_.push(`${P(n,e)}.${l(d)}`,"=",`${P(n,p)}.${l(d)}`),b.length-1!==y&&_.push(",")}),{create:{values:[],sql:f},insert:T,update:{values:[],sql:_.join(" ")},drop:{values:[],sql:["DROP TEMPORARY TABLE IF EXISTS",l(c)].join(" ")}}},we=async(n,t,e)=>{try{if(!e.params)throw new Error("params is required");if(e.type==="TEMPORARY"){let a=e.params,{create:c,insert:m,update:u,drop:h}=Le(n,a);console.info("[info] sql temporary batch create::",c.sql),await t.query(c),console.info("[info] sql temporary batch insert::",m.sql),await t.query(m),console.info("[info] sql temporary batch update::",u.sql);let[i]=await t.query(u);return await t.query(h),i}let{values:r,sql:o}=e.type==="DUPLICATE"?Se(n,e.params):xe(n,e.params);console.info("[info] sql batch update::",o);let[s]=await t.query({sql:o,values:r});return s}catch(r){return t.release(),Promise.reject(r)}},B=we;var Ne=(n,t)=>{let e=async(o,s,a)=>{try{console.info("[info] trx::sql query::",s);let[c]=await o.query(s,a);return c}catch(c){return Promise.reject(c)}};return{sql:(o,s)=>e(t,o,s),query:o=>w(t,n,o),detail:async o=>{try{return(await w(t,n,Object.assign({},o,{limit:{start:0,length:1}})))[0]}catch(s){return Promise.reject(s)}},count:o=>O(t,n,o),change:{insert:o=>C(n,t,o),batchUpdate:o=>B(n,t,o),delete:o=>F(n,t,o),update:o=>U(n,t,o)}}},$e=async(n,t,e)=>{try{await t.beginTransaction();let r=Ne(n,t);console.info("[info] transaction exec list");let o=await e(r);return await t.commit(),o}catch(r){return await t.rollback(),t.release(),Promise.reject(r)}},re=$e;var k=class{constructor(t){this.log="none";this.pool=void 0;this.conf={};this.change={insert:async t=>{try{this.check_db();let e=await this.create_conn(),r=await C(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},delete:async t=>{try{this.check_db();let e=await this.create_conn(),r=await F(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},update:async t=>{try{this.check_db();let e=await this.create_conn(),r=await U(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},batchUpdate:async t=>{try{this.check_db();let e=await this.create_conn(),r=await B(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}};this.table={create:async t=>{try{let e=await this.create_conn();return this.check_db(),await v(this.db,e,t),e.release(),Promise.resolve()}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},truncate:async t=>{try{this.check_db();let e=await this.create_conn();return await X(this.db,e,t),e.release(),Promise.resolve()}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},drop:async t=>{try{this.check_db();let e=await this.create_conn();return await z(this.db,e,t),e.release(),Promise.resolve()}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}},exist:async t=>{try{this.check_db();let e=await this.create_conn(),r=await Z(this.db,e,t);return e.release(),Promise.resolve(r)}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}};if(this.log=t.log||"none",!t.connConfig)throw Error("CONN_CONFIG_REQUIRED");this.db=t.connConfig.database,this.conf=t.connConfig}check_db(){if(!this.db)throw this.log==="error"&&console.error("The database name is not initialized. Procedure"),Error("DB_UNINITIALIZED")}async init(){try{if(this.pool)return;this.pool=await Q(this.conf)}catch(t){throw this.log==="error"&&console.error(t),Error("CREATE_POOL_FAILED")}}async create_conn(){try{return this.pool?await this.pool.getConnection():(this.log==="error"&&console.error("The connection pool is not initialized. Procedure"),Promise.reject("POOL_UNINITIALIZED"))}catch(t){return Promise.reject(t)}}async detail(t){try{this.check_db();let e=await this.create_conn(),r=await w(e,this.db,Object.assign({},t,{limit:{start:0,length:1}}));return e.release(),r[0]}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}async query(t){try{this.check_db();let e=await this.create_conn(),r=await w(e,this.db,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}async count(t){try{this.check_db();let e=await this.create_conn(),r=await O(e,this.db,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}async transaction(t){try{this.check_db();let e=await this.create_conn(),r=await re(this.db,e,t);return e.release(),r}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}async close(){var t;try{return await((t=this.pool)==null?void 0:t.end()),this.pool=void 0,Promise.resolve()}catch(e){return this.log==="error"&&console.error(e),Promise.reject(e)}}},Ie=ee,Ce=`1.3.2:${Date.now()}`,Oe=k;0&&(module.exports={DefineTable,version});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aicblock/emysql",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "🛠️ Based on the basic secondary package of `mysql`, the pursuit of creating a simple and easy to use `mysql-ORM` library.",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {