w-orm-postgresql 1.0.10 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -133,6 +133,19 @@ let rsa = [
133
133
  },
134
134
  ]
135
135
 
136
+ let rsb = [
137
+ {
138
+ time: '2025-01-01T00:20:00Z',
139
+ name: 'bulk-1',
140
+ value: 201,
141
+ },
142
+ {
143
+ time: '2025-01-01T00:21:00Z',
144
+ name: 'bulk-2',
145
+ value: 202,
146
+ },
147
+ ]
148
+
136
149
  async function test() {
137
150
 
138
151
  //wo
@@ -155,6 +168,9 @@ async function test() {
155
168
  wo.on('change', function(mode, data, res) {
156
169
  console.log('change', mode)
157
170
  })
171
+ wo.on('error', function(mode, data, err) {
172
+ console.log('error', mode, err)
173
+ })
158
174
 
159
175
  //delAll
160
176
  await wo.delAll()
@@ -174,6 +190,24 @@ async function test() {
174
190
  console.log('insert catch', msg)
175
191
  })
176
192
 
193
+ //insertBulk, 全批視為一個單位, 全部插入成功或一筆都不寫入
194
+ await wo.insertBulk(rsb)
195
+ .then(function(msg) {
196
+ console.log('insertBulk then', msg)
197
+ })
198
+ .catch(function(msg) {
199
+ console.log('insertBulk catch', msg)
200
+ })
201
+
202
+ //insertBulk by pk existed, 任一筆之主鍵已存在即整批reject且不寫入任何一筆
203
+ await wo.insertBulk(rsb)
204
+ .then(function(msg) {
205
+ console.log('insertBulk by pk existed then', msg)
206
+ })
207
+ .catch(function(msg) {
208
+ console.log('insertBulk by pk existed catch', `${msg}`) //reject回傳Error物件, 以樣板字串取其訊息以免印出堆疊
209
+ })
210
+
177
211
  //save
178
212
  await wo.save(rsm, { autoInsert: false })
179
213
  .then(function(msg) {
@@ -236,6 +270,15 @@ async function test() {
236
270
  console.log('del catch', msg)
237
271
  })
238
272
 
273
+ //del by data without pk, 該筆無法處理故ok為0並附err, 整批仍resolve且另發出error事件
274
+ await wo.del({ name: 'no-pk' })
275
+ .then(function(msg) {
276
+ console.log('del by data without pk then', msg)
277
+ })
278
+ .catch(function(msg) {
279
+ console.log('del by data without pk catch', msg)
280
+ })
281
+
239
282
  //del
240
283
  let ssDel = await wo.select()
241
284
  let ds = ssDel.filter(function(v) {
@@ -321,6 +364,10 @@ test()
321
364
  // delAll then { n: 0, nDeleted: 0, ok: 1 }
322
365
  // change insert
323
366
  // insert then { n: 13, nInserted: 13, ok: 1 }
367
+ // change insertBulk
368
+ // insertBulk then { n: 2, nInserted: 2, ok: 1 }
369
+ // error insertBulk duplicate key value violates unique constraint "users_pkey"
370
+ // insertBulk by pk existed catch error: duplicate key value violates unique constraint "users_pkey"
324
371
  // change save
325
372
  // save then [
326
373
  // { n: 1, nInserted: 0, nModified: 0, ok: 1 },
@@ -340,6 +387,8 @@ test()
340
387
  // { time: 2025-01-01T00:07:00.000Z, name: 'rosemary', value: 124.76 },
341
388
  // { time: 2025-01-01T00:08:00.000Z, name: 'kettle', value: 524 },
342
389
  // { time: 2025-01-01T00:09:00.000Z, name: 'peter', value: 127 },
390
+ // { time: 2025-01-01T00:20:00.000Z, name: 'bulk-1', value: 201 },
391
+ // { time: 2025-01-01T00:21:00.000Z, name: 'bulk-2', value: 202 },
343
392
  // {
344
393
  // time: 2025-01-01T00:10:00.000Z,
345
394
  // name: 'rosemary(modify)',
@@ -375,6 +424,8 @@ test()
375
424
  // { time: 2025-01-01T00:03:00.000Z, name: 'peter', value: 200 },
376
425
  // { time: 2025-01-01T00:05:00.000Z, name: 'kettle', value: 488 },
377
426
  // { time: 2025-01-01T00:08:00.000Z, name: 'kettle', value: 524 },
427
+ // { time: 2025-01-01T00:20:00.000Z, name: 'bulk-1', value: 201 },
428
+ // { time: 2025-01-01T00:21:00.000Z, name: 'bulk-2', value: 202 },
378
429
  // {
379
430
  // time: 2025-01-01T00:11:00.000Z,
380
431
  // name: 'kettle(modify)',
@@ -392,10 +443,14 @@ test()
392
443
  // value: 447
393
444
  // }
394
445
  // ]
446
+ // change insert
395
447
  // change save
396
448
  // save then [ { n: 1, nInserted: 1, nModified: 0, ok: 1 } ]
397
449
  // change del
398
450
  // del then [ { n: 0, nDeleted: 0, ok: 1 } ]
451
+ // error del invalid time[undefined]
452
+ // change del
453
+ // del by data without pk then [ { n: 0, nDeleted: 0, ok: 0, err: 'invalid time[undefined]' } ]
399
454
  // change del
400
455
  // del then [
401
456
  // { n: 1, nDeleted: 1, ok: 1 },
@@ -413,6 +468,8 @@ test()
413
468
  // { time: 2025-01-01T00:01:00.000Z, name: 'rosemary', value: 123.456 },
414
469
  // { time: 2025-01-01T00:04:00.000Z, name: 'rosemary', value: 123.1236 },
415
470
  // { time: 2025-01-01T00:07:00.000Z, name: 'rosemary', value: 124.76 },
471
+ // { time: 2025-01-01T00:20:00.000Z, name: 'bulk-1', value: 201 },
472
+ // { time: 2025-01-01T00:21:00.000Z, name: 'bulk-2', value: 202 },
416
473
  // {
417
474
  // time: 2025-01-01T00:10:00.000Z,
418
475
  // name: 'rosemary(modify)',
@@ -1,7 +1,7 @@
1
1
  /*!
2
- * w-orm-postgresql v1.0.10
2
+ * w-orm-postgresql v1.0.12
3
3
  * (c) 2018-2021 yuda-lyu(semisphere)
4
4
  * Released under the MIT License.
5
5
  */
6
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("events"),require("pg"),require("mongo-sql")):"function"==typeof define&&define.amd?define(["events","pg","mongo-sql"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-orm-postgresql"]=e(t.events,t.pg,t["mongo-sql"])}(this,(function(t,e,r){"use strict";var n=Object.prototype;function o(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}function u(t,e){return function(r){return t(e(r))}}var i=u(Object.keys,Object),c=Object.prototype.hasOwnProperty;function a(t){if(!o(t))return i(t);var e=[];for(var r in Object(t))c.call(t,r)&&"constructor"!=r&&e.push(r);return e}var f="object"==typeof global&&global&&global.Object===Object&&global,l="object"==typeof self&&self&&self.Object===Object&&self,s=f||l||Function("return this")(),v=s.Symbol,p=Object.prototype,y=p.hasOwnProperty,d=p.toString,b=v?v.toStringTag:void 0;var h=Object.prototype.toString;var j=v?v.toStringTag:void 0;function g(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":j&&j in Object(t)?function(t){var e=y.call(t,b),r=t[b];try{t[b]=void 0;var n=!0}catch(t){}var o=d.call(t);return n&&(e?t[b]=r:delete t[b]),o}(t):function(t){return h.call(t)}(t)}function _(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function w(t){if(!_(t))return!1;var e=g(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var O,m=s["__core-js_shared__"],A=(O=/[^.]+$/.exec(m&&m.keys&&m.keys.IE_PROTO||""))?"Symbol(src)_1."+O:"";var S=Function.prototype.toString;function P(t){if(null!=t){try{return S.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var E=/^\[object .+?Constructor\]$/,$=Function.prototype,x=Object.prototype,I=$.toString,q=x.hasOwnProperty,k=RegExp("^"+I.call(q).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function N(t){return!(!_(t)||(e=t,A&&A in e))&&(w(t)?k:E).test(P(t));var e}function T(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return N(r)?r:void 0}var z=T(s,"DataView"),M=T(s,"Map"),C=T(s,"Promise"),D=T(s,"Set"),F=T(s,"WeakMap"),U="[object Map]",B="[object Promise]",R="[object Set]",L="[object WeakMap]",G="[object DataView]",V=P(z),W=P(M),J=P(C),X=P(D),H=P(F),Y=g;(z&&Y(new z(new ArrayBuffer(1)))!=G||M&&Y(new M)!=U||C&&Y(C.resolve())!=B||D&&Y(new D)!=R||F&&Y(new F)!=L)&&(Y=function(t){var e=g(t),r="[object Object]"==e?t.constructor:void 0,n=r?P(r):"";if(n)switch(n){case V:return G;case W:return U;case J:return B;case X:return R;case H:return L}return e});var Z=Y;function K(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function Q(t){return null!=t&&K(t.length)&&!w(t)}var tt=Array.isArray;function et(t){return null!=t&&"object"==typeof t}function rt(t){return function(e){return null==e?void 0:e[t]}}var nt=rt("length"),ot=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function ut(t){return ot.test(t)}var it="\\ud800-\\udfff",ct="["+it+"]",at="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ft="\\ud83c[\\udffb-\\udfff]",lt="[^"+it+"]",st="(?:\\ud83c[\\udde6-\\uddff]){2}",vt="[\\ud800-\\udbff][\\udc00-\\udfff]",pt="(?:"+at+"|"+ft+")"+"?",yt="[\\ufe0e\\ufe0f]?",dt=yt+pt+("(?:\\u200d(?:"+[lt,st,vt].join("|")+")"+yt+pt+")*"),bt="(?:"+[lt+at+"?",at,st,vt,ct].join("|")+")",ht=RegExp(ft+"(?="+ft+")|"+bt+dt,"g");function jt(t){return ut(t)?function(t){for(var e=ht.lastIndex=0;ht.test(t);)++e;return e}(t):nt(t)}function gt(t){if(null==t)return 0;if(Q(t))return"string"==typeof(e=t)||!tt(e)&&et(e)&&"[object String]"==g(e)?jt(t):t.length;var e,r=Z(t);return"[object Map]"==r||"[object Set]"==r?t.size:a(t).length}function _t(t){return"symbol"==typeof t||et(t)&&"[object Symbol]"==g(t)}var wt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Ot=/^\w*$/;function mt(t,e){if(tt(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!_t(t))||(Ot.test(t)||!wt.test(t)||null!=e&&t in Object(e))}var At=T(Object,"create");var St=Object.prototype.hasOwnProperty;var Pt=Object.prototype.hasOwnProperty;function Et(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function $t(t,e){return t===e||t!=t&&e!=e}function xt(t,e){for(var r=t.length;r--;)if($t(t[r][0],e))return r;return-1}Et.prototype.clear=function(){this.__data__=At?At(null):{},this.size=0},Et.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Et.prototype.get=function(t){var e=this.__data__;if(At){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return St.call(e,t)?e[t]:void 0},Et.prototype.has=function(t){var e=this.__data__;return At?void 0!==e[t]:Pt.call(e,t)},Et.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=At&&void 0===e?"__lodash_hash_undefined__":e,this};var It=Array.prototype.splice;function qt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function kt(t,e){var r,n,o=t.__data__;return("string"==(n=typeof(r=e))||"number"==n||"symbol"==n||"boolean"==n?"__proto__"!==r:null===r)?o["string"==typeof e?"string":"hash"]:o.map}function Nt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}qt.prototype.clear=function(){this.__data__=[],this.size=0},qt.prototype.delete=function(t){var e=this.__data__,r=xt(e,t);return!(r<0)&&(r==e.length-1?e.pop():It.call(e,r,1),--this.size,!0)},qt.prototype.get=function(t){var e=this.__data__,r=xt(e,t);return r<0?void 0:e[r][1]},qt.prototype.has=function(t){return xt(this.__data__,t)>-1},qt.prototype.set=function(t,e){var r=this.__data__,n=xt(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this},Nt.prototype.clear=function(){this.size=0,this.__data__={hash:new Et,map:new(M||qt),string:new Et}},Nt.prototype.delete=function(t){var e=kt(this,t).delete(t);return this.size-=e?1:0,e},Nt.prototype.get=function(t){return kt(this,t).get(t)},Nt.prototype.has=function(t){return kt(this,t).has(t)},Nt.prototype.set=function(t,e){var r=kt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Tt(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var r=function(){var n=arguments,o=e?e.apply(this,n):n[0],u=r.cache;if(u.has(o))return u.get(o);var i=t.apply(this,n);return r.cache=u.set(o,i)||u,i};return r.cache=new(Tt.Cache||Nt),r}Tt.Cache=Nt;var zt,Mt,Ct,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ft=/\\(\\)?/g,Ut=(zt=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Dt,(function(t,r,n,o){e.push(n?o.replace(Ft,"$1"):r||t)})),e},Mt=Tt(zt,(function(t){return 500===Ct.size&&Ct.clear(),t})),Ct=Mt.cache,Mt),Bt=Ut;function Rt(t,e){for(var r=-1,n=null==t?0:t.length,o=Array(n);++r<n;)o[r]=e(t[r],r,t);return o}var Lt=v?v.prototype:void 0,Gt=Lt?Lt.toString:void 0;function Vt(t){if("string"==typeof t)return t;if(tt(t))return Rt(t,Vt)+"";if(_t(t))return Gt?Gt.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Wt(t){return null==t?"":Vt(t)}function Jt(t,e){return tt(t)?t:mt(t,e)?[t]:Bt(Wt(t))}function Xt(t){if("string"==typeof t||_t(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Ht(t,e){for(var r=0,n=(e=Jt(e,t)).length;null!=t&&r<n;)t=t[Xt(e[r++])];return r&&r==n?t:void 0}function Yt(t,e,r){var n=null==t?void 0:Ht(t,e);return void 0===n?r:n}function Zt(t){var e=this.__data__=new qt(t);this.size=e.size}Zt.prototype.clear=function(){this.__data__=new qt,this.size=0},Zt.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Zt.prototype.get=function(t){return this.__data__.get(t)},Zt.prototype.has=function(t){return this.__data__.has(t)},Zt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof qt){var n=r.__data__;if(!M||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Nt(n)}return r.set(t,e),this.size=r.size,this};function Kt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Nt;++e<r;)this.add(t[e])}function Qt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}function te(t,e){return t.has(e)}Kt.prototype.add=Kt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Kt.prototype.has=function(t){return this.__data__.has(t)};function ee(t,e,r,n,o,u){var i=1&r,c=t.length,a=e.length;if(c!=a&&!(i&&a>c))return!1;var f=u.get(t),l=u.get(e);if(f&&l)return f==e&&l==t;var s=-1,v=!0,p=2&r?new Kt:void 0;for(u.set(t,e),u.set(e,t);++s<c;){var y=t[s],d=e[s];if(n)var b=i?n(d,y,s,e,t,u):n(y,d,s,t,e,u);if(void 0!==b){if(b)continue;v=!1;break}if(p){if(!Qt(e,(function(t,e){if(!te(p,e)&&(y===t||o(y,t,r,n,u)))return p.push(e)}))){v=!1;break}}else if(y!==d&&!o(y,d,r,n,u)){v=!1;break}}return u.delete(t),u.delete(e),v}var re=s.Uint8Array;function ne(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function oe(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var ue=v?v.prototype:void 0,ie=ue?ue.valueOf:void 0;function ce(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}function ae(t,e,r){var n=e(t);return tt(t)?n:ce(n,r(t))}function fe(t,e){for(var r=-1,n=null==t?0:t.length,o=0,u=[];++r<n;){var i=t[r];e(i,r,t)&&(u[o++]=i)}return u}function le(){return[]}var se=Object.prototype.propertyIsEnumerable,ve=Object.getOwnPropertySymbols,pe=ve?function(t){return null==t?[]:(t=Object(t),fe(ve(t),(function(e){return se.call(t,e)})))}:le;function ye(t){return et(t)&&"[object Arguments]"==g(t)}var de=Object.prototype,be=de.hasOwnProperty,he=de.propertyIsEnumerable,je=ye(function(){return arguments}())?ye:function(t){return et(t)&&be.call(t,"callee")&&!he.call(t,"callee")},ge=je;var _e="object"==typeof exports&&exports&&!exports.nodeType&&exports,we=_e&&"object"==typeof module&&module&&!module.nodeType&&module,Oe=we&&we.exports===_e?s.Buffer:void 0,me=(Oe?Oe.isBuffer:void 0)||function(){return!1},Ae=/^(?:0|[1-9]\d*)$/;function Se(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&Ae.test(t))&&t>-1&&t%1==0&&t<e}var Pe={};function Ee(t){return function(e){return t(e)}}Pe["[object Float32Array]"]=Pe["[object Float64Array]"]=Pe["[object Int8Array]"]=Pe["[object Int16Array]"]=Pe["[object Int32Array]"]=Pe["[object Uint8Array]"]=Pe["[object Uint8ClampedArray]"]=Pe["[object Uint16Array]"]=Pe["[object Uint32Array]"]=!0,Pe["[object Arguments]"]=Pe["[object Array]"]=Pe["[object ArrayBuffer]"]=Pe["[object Boolean]"]=Pe["[object DataView]"]=Pe["[object Date]"]=Pe["[object Error]"]=Pe["[object Function]"]=Pe["[object Map]"]=Pe["[object Number]"]=Pe["[object Object]"]=Pe["[object RegExp]"]=Pe["[object Set]"]=Pe["[object String]"]=Pe["[object WeakMap]"]=!1;var $e="object"==typeof exports&&exports&&!exports.nodeType&&exports,xe=$e&&"object"==typeof module&&module&&!module.nodeType&&module,Ie=xe&&xe.exports===$e&&f.process,qe=function(){try{var t=xe&&xe.require&&xe.require("util").types;return t||Ie&&Ie.binding&&Ie.binding("util")}catch(t){}}(),ke=qe&&qe.isTypedArray,Ne=ke?Ee(ke):function(t){return et(t)&&K(t.length)&&!!Pe[g(t)]},Te=Object.prototype.hasOwnProperty;function ze(t,e){var r=tt(t),n=!r&&ge(t),o=!r&&!n&&me(t),u=!r&&!n&&!o&&Ne(t),i=r||n||o||u,c=i?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],a=c.length;for(var f in t)!e&&!Te.call(t,f)||i&&("length"==f||o&&("offset"==f||"parent"==f)||u&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||Se(f,a))||c.push(f);return c}function Me(t){return Q(t)?ze(t):a(t)}function Ce(t){return ae(t,Me,pe)}var De=Object.prototype.hasOwnProperty;var Fe="[object Arguments]",Ue="[object Array]",Be="[object Object]",Re=Object.prototype.hasOwnProperty;function Le(t,e,r,n,o,u){var i=tt(t),c=tt(e),a=i?Ue:Z(t),f=c?Ue:Z(e),l=(a=a==Fe?Be:a)==Be,s=(f=f==Fe?Be:f)==Be,v=a==f;if(v&&me(t)){if(!me(e))return!1;i=!0,l=!1}if(v&&!l)return u||(u=new Zt),i||Ne(t)?ee(t,e,r,n,o,u):function(t,e,r,n,o,u,i){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!u(new re(t),new re(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return $t(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var c=ne;case"[object Set]":var a=1&n;if(c||(c=oe),t.size!=e.size&&!a)return!1;var f=i.get(t);if(f)return f==e;n|=2,i.set(t,e);var l=ee(c(t),c(e),n,o,u,i);return i.delete(t),l;case"[object Symbol]":if(ie)return ie.call(t)==ie.call(e)}return!1}(t,e,a,r,n,o,u);if(!(1&r)){var p=l&&Re.call(t,"__wrapped__"),y=s&&Re.call(e,"__wrapped__");if(p||y){var d=p?t.value():t,b=y?e.value():e;return u||(u=new Zt),o(d,b,r,n,u)}}return!!v&&(u||(u=new Zt),function(t,e,r,n,o,u){var i=1&r,c=Ce(t),a=c.length;if(a!=Ce(e).length&&!i)return!1;for(var f=a;f--;){var l=c[f];if(!(i?l in e:De.call(e,l)))return!1}var s=u.get(t),v=u.get(e);if(s&&v)return s==e&&v==t;var p=!0;u.set(t,e),u.set(e,t);for(var y=i;++f<a;){var d=t[l=c[f]],b=e[l];if(n)var h=i?n(b,d,l,e,t,u):n(d,b,l,t,e,u);if(!(void 0===h?d===b||o(d,b,r,n,u):h)){p=!1;break}y||(y="constructor"==l)}if(p&&!y){var j=t.constructor,g=e.constructor;j==g||!("constructor"in t)||!("constructor"in e)||"function"==typeof j&&j instanceof j&&"function"==typeof g&&g instanceof g||(p=!1)}return u.delete(t),u.delete(e),p}(t,e,r,n,o,u))}function Ge(t,e,r,n,o){return t===e||(null==t||null==e||!et(t)&&!et(e)?t!=t&&e!=e:Le(t,e,r,n,Ge,o))}function Ve(t){return t==t&&!_(t)}function We(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}function Je(t){var e=function(t){for(var e=Me(t),r=e.length;r--;){var n=e[r],o=t[n];e[r]=[n,o,Ve(o)]}return e}(t);return 1==e.length&&e[0][2]?We(e[0][0],e[0][1]):function(r){return r===t||function(t,e,r,n){var o=r.length,u=o,i=!n;if(null==t)return!u;for(t=Object(t);o--;){var c=r[o];if(i&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++o<u;){var a=(c=r[o])[0],f=t[a],l=c[1];if(i&&c[2]){if(void 0===f&&!(a in t))return!1}else{var s=new Zt;if(n)var v=n(f,l,a,t,e,s);if(!(void 0===v?Ge(l,f,3,n,s):v))return!1}}return!0}(r,t,e)}}function Xe(t,e){return null!=t&&e in Object(t)}function He(t,e){return null!=t&&function(t,e,r){for(var n=-1,o=(e=Jt(e,t)).length,u=!1;++n<o;){var i=Xt(e[n]);if(!(u=null!=t&&r(t,i)))break;t=t[i]}return u||++n!=o?u:!!(o=null==t?0:t.length)&&K(o)&&Se(i,o)&&(tt(t)||ge(t))}(t,e,Xe)}function Ye(t){return t}function Ze(t){return mt(t)?rt(Xt(t)):function(t){return function(e){return Ht(e,t)}}(t)}function Ke(t){return"function"==typeof t?t:null==t?Ye:"object"==typeof t?tt(t)?(e=t[0],r=t[1],mt(e)&&Ve(r)?We(Xt(e),r):function(t){var n=Yt(t,e);return void 0===n&&n===r?He(t,e):Ge(r,n,3)}):Je(t):Ze(t);var e,r}var Qe,tr=function(t,e,r){for(var n=-1,o=Object(t),u=r(t),i=u.length;i--;){var c=u[Qe?i:++n];if(!1===e(o[c],c,o))break}return t};var er=function(t,e){return function(r,n){if(null==r)return r;if(!Q(r))return t(r,n);for(var o=r.length,u=e?o:-1,i=Object(r);(e?u--:++u<o)&&!1!==n(i[u],u,i););return r}}((function(t,e){return t&&tr(t,e,Me)})),rr=er;function nr(t,e){var r=-1,n=Q(t)?Array(t.length):[];return rr(t,(function(t,o,u){n[++r]=e(t,o,u)})),n}function or(t,e){return(tt(t)?Rt:nr)(t,Ke(e))}function ur(t,e){var r=[];return rr(t,(function(t,n,o){e(t,n,o)&&r.push(t)})),r}function ir(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}var cr=function(){try{var t=T(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),ar=cr;function fr(t,e,r){"__proto__"==e&&ar?ar(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}var lr=Object.prototype.hasOwnProperty;function sr(t,e,r){var n=t[e];lr.call(t,e)&&$t(n,r)&&(void 0!==r||e in t)||fr(t,e,r)}function vr(t,e,r,n){var o=!r;r||(r={});for(var u=-1,i=e.length;++u<i;){var c=e[u],a=n?n(r[c],t[c],c,r,t):void 0;void 0===a&&(a=t[c]),o?fr(r,c,a):sr(r,c,a)}return r}var pr=Object.prototype.hasOwnProperty;function yr(t){if(!_(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=o(t),r=[];for(var n in t)("constructor"!=n||!e&&pr.call(t,n))&&r.push(n);return r}function dr(t){return Q(t)?ze(t,!0):yr(t)}var br="object"==typeof exports&&exports&&!exports.nodeType&&exports,hr=br&&"object"==typeof module&&module&&!module.nodeType&&module,jr=hr&&hr.exports===br?s.Buffer:void 0,gr=jr?jr.allocUnsafe:void 0;var _r=u(Object.getPrototypeOf,Object),wr=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)ce(e,pe(t)),t=_r(t);return e}:le,Or=wr;function mr(t){return ae(t,dr,Or)}var Ar=Object.prototype.hasOwnProperty;function Sr(t){var e=new t.constructor(t.byteLength);return new re(e).set(new re(t)),e}var Pr=/\w*$/;var Er=v?v.prototype:void 0,$r=Er?Er.valueOf:void 0;function xr(t,e,r){var n,o=t.constructor;switch(e){case"[object ArrayBuffer]":return Sr(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var r=e?Sr(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var r=e?Sr(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}(t,r);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Pr.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,$r?Object($r.call(n)):{}}}var Ir=Object.create,qr=function(){function t(){}return function(e){if(!_(e))return{};if(Ir)return Ir(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),kr=qr;var Nr=qe&&qe.isMap,Tr=Nr?Ee(Nr):function(t){return et(t)&&"[object Map]"==Z(t)};var zr=qe&&qe.isSet,Mr=zr?Ee(zr):function(t){return et(t)&&"[object Set]"==Z(t)},Cr="[object Arguments]",Dr="[object Function]",Fr="[object Object]",Ur={};function Br(t,e,r,n,u,i){var c,a=1&e,f=2&e,l=4&e;if(r&&(c=u?r(t,n,u,i):r(t)),void 0!==c)return c;if(!_(t))return t;var s=tt(t);if(s){if(c=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Ar.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!a)return function(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}(t,c)}else{var v=Z(t),p=v==Dr||"[object GeneratorFunction]"==v;if(me(t))return function(t,e){if(e)return t.slice();var r=t.length,n=gr?gr(r):new t.constructor(r);return t.copy(n),n}(t,a);if(v==Fr||v==Cr||p&&!u){if(c=f||p?{}:function(t){return"function"!=typeof t.constructor||o(t)?{}:kr(_r(t))}(t),!a)return f?function(t,e){return vr(t,Or(t),e)}(t,function(t,e){return t&&vr(e,dr(e),t)}(c,t)):function(t,e){return vr(t,pe(t),e)}(t,function(t,e){return t&&vr(e,Me(e),t)}(c,t))}else{if(!Ur[v])return u?t:{};c=xr(t,v,a)}}i||(i=new Zt);var y=i.get(t);if(y)return y;i.set(t,c),Mr(t)?t.forEach((function(n){c.add(Br(n,e,r,n,t,i))})):Tr(t)&&t.forEach((function(n,o){c.set(o,Br(n,e,r,o,t,i))}));var d=s?void 0:(l?f?mr:Ce:f?dr:Me)(t);return ir(d||t,(function(n,o){d&&(n=t[o=n]),sr(c,o,Br(n,e,r,o,t,i))})),c}function Rr(t,e,r){var n=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(r=r>o?o:r)<0&&(r+=o),o=e>r?0:r-e>>>0,e>>>=0;for(var u=Array(o);++n<o;)u[n]=t[n+e];return u}Ur[Cr]=Ur["[object Array]"]=Ur["[object ArrayBuffer]"]=Ur["[object DataView]"]=Ur["[object Boolean]"]=Ur["[object Date]"]=Ur["[object Float32Array]"]=Ur["[object Float64Array]"]=Ur["[object Int8Array]"]=Ur["[object Int16Array]"]=Ur["[object Int32Array]"]=Ur["[object Map]"]=Ur["[object Number]"]=Ur[Fr]=Ur["[object RegExp]"]=Ur["[object Set]"]=Ur["[object String]"]=Ur["[object Symbol]"]=Ur["[object Uint8Array]"]=Ur["[object Uint8ClampedArray]"]=Ur["[object Uint16Array]"]=Ur["[object Uint32Array]"]=!0,Ur["[object Error]"]=Ur[Dr]=Ur["[object WeakMap]"]=!1;var Lr=Object.prototype.hasOwnProperty;function Gr(t,e){var r=-1,n=(e=Jt(e,t)).length;if(!n)return!0;for(;++r<n;){var o=Xt(e[r]);if("__proto__"===o&&!Lr.call(t,"__proto__"))return!1;if(("constructor"===o||"prototype"===o)&&r<n-1)return!1}var u=function(t,e){return e.length<2?t:Ht(t,Rr(e,0,-1))}(t,e);return null==u||delete u[Xt(function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}(e))]}var Vr=Function.prototype,Wr=Object.prototype,Jr=Vr.toString,Xr=Wr.hasOwnProperty,Hr=Jr.call(Object);function Yr(t){return function(t){if(!et(t)||"[object Object]"!=g(t))return!1;var e=_r(t);if(null===e)return!0;var r=Xr.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&Jr.call(r)==Hr}(t)?void 0:t}var Zr=v?v.isConcatSpreadable:void 0;function Kr(t){return tt(t)||ge(t)||!!(Zr&&t&&t[Zr])}function Qr(t,e,r,n,o){var u=-1,i=t.length;for(r||(r=Kr),o||(o=[]);++u<i;){var c=t[u];e>0&&r(c)?e>1?Qr(c,e-1,r,n,o):ce(o,c):n||(o[o.length]=c)}return o}function tn(t){return(null==t?0:t.length)?Qr(t,1):[]}var en=Math.max;var rn=ar?function(t,e){return ar(t,"toString",{configurable:!0,enumerable:!1,value:(r=e,function(){return r}),writable:!0});var r}:Ye,nn=rn,on=Date.now;var un=function(t){var e=0,r=0;return function(){var n=on(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(nn),cn=un;var an=function(t){return cn(function(t,e,r){return e=en(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,u=en(n.length-e,0),i=Array(u);++o<u;)i[o]=n[e+o];o=-1;for(var c=Array(e+1);++o<e;)c[o]=n[o];return c[e]=r(i),function(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}(t,this,c)}}(t,void 0,tn),t+"")}((function(t,e){var r={};if(null==t)return r;var n=!1;e=Rt(e,(function(e){return e=Jt(e,t),n||(n=e.length>1),e})),vr(t,mr(t),r),n&&(r=Br(r,7,Yr));for(var o=e.length;o--;)Gr(r,e[o]);return r})),fn=an,ln=/\s/;var sn=/^\s+/;function vn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&ln.test(t.charAt(e)););return e}(t)+1).replace(sn,""):t}function pn(t){return t!=t}function yn(t,e,r){return e==e?function(t,e,r){for(var n=r-1,o=t.length;++n<o;)if(t[n]===e)return n;return-1}(t,e,r):function(t,e,r,n){for(var o=t.length,u=r+(n?1:-1);n?u--:++u<o;)if(e(t[u],u,t))return u;return-1}(t,pn,r)}var dn="\\ud800-\\udfff",bn="["+dn+"]",hn="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",jn="\\ud83c[\\udffb-\\udfff]",gn="[^"+dn+"]",_n="(?:\\ud83c[\\udde6-\\uddff]){2}",wn="[\\ud800-\\udbff][\\udc00-\\udfff]",On="(?:"+hn+"|"+jn+")"+"?",mn="[\\ufe0e\\ufe0f]?",An=mn+On+("(?:\\u200d(?:"+[gn,_n,wn].join("|")+")"+mn+On+")*"),Sn="(?:"+[gn+hn+"?",hn,_n,wn,bn].join("|")+")",Pn=RegExp(jn+"(?="+jn+")|"+Sn+An,"g");function En(t){return ut(t)?function(t){return t.match(Pn)||[]}(t):function(t){return t.split("")}(t)}function $n(t,e,r){if((t=Wt(t))&&(r||void 0===e))return vn(t);if(!t||!(e=Vt(e)))return t;var n=En(t),o=En(e),u=function(t,e){for(var r=-1,n=t.length;++r<n&&yn(e,t[r],0)>-1;);return r}(n,o),i=function(t,e){for(var r=t.length;r--&&yn(e,t[r],0)>-1;);return r}(n,o)+1;return function(t,e,r){var n=t.length;return r=void 0===r?n:r,!e&&r>=n?t:Rr(t,e,r)}(n,u,i).join("")}function xn(t){return Br(t,5)}function In(t){return"[object String]"===Object.prototype.toString.call(t)}function qn(t){return!(!In(t)||""===t)}function kn(t){return"[object Array]"===Object.prototype.toString.call(t)}function Nn(t){return"[object Object]"===Object.prototype.toString.call(t)}function Tn(t){return t!=t}function zn(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(Nn(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!In(t)||""!==t)}(t)||(!!function(t){return!!kn(t)&&0===t.length}(t)||!!Tn(t)))))}function Mn(t){return!!kn(t)&&(0!==t.length&&(1!==t.length||!zn(t[0])))}function Cn(t){if(Nn(t)){for(let e in t)return!0;return!1}return!1}function Dn(t){let e=!1;if(qn(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(Tn(t))return!1;e=!0}return e}var Fn=/^[-+]0x[0-9a-f]+$/i,Un=/^0b[01]+$/i,Bn=/^0o[0-7]+$/i,Rn=parseInt;var Ln=1/0;function Gn(t){return t?(t=function(t){if("number"==typeof t)return t;if(_t(t))return NaN;if(_(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=_(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=vn(t);var r=Un.test(t);return r||Bn.test(t)?Rn(t.slice(2),r?2:8):Fn.test(t)?NaN:+t}(t))===Ln||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Vn(t){var e=Gn(t),r=e%1;return e==e?r?e-r:e:0}function Wn(t){if(!Dn(t))return 0;return Gn(t)}function Jn(t){return!!Dn(t)&&(t=Wn(t),"number"==typeof(e=t)&&e==Vn(e));var e}function Xn(t){return!0===(e=t)||!1===e||et(e)&&"[object Boolean]"==g(e);var e}function Hn(t,e){var r;return(tt(t)?ir:rr)(t,"function"==typeof(r=e)?r:Ye)}function Yn(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}function Zn(t,e){let r=function(){let t,e,r=new Promise((function(){t=arguments[0],e=arguments[1]}));return r.resolve=t,r.reject=e,r}();if(!kn(t)&&!Nn(t))return r.reject("rs is not an array or object"),r;let n=!1;if(Nn(t)){n=!0;let e=[];Hn(t,((t,r)=>{e.push({k:r,v:t})})),t=e}Yn(e)||(e=function(t){return t});let o=-1,u=[];return t.reduce((function(t,r){return t.then((function(t){u.push(t),o+=1;let i=o,c=r;return n&&(i=r.k,c=r.v),Yn(e)?e(c,i):c}))}),Promise.resolve()).then((function(t){var e,n,o,i;u.push(t),i=null==(e=u)?0:e.length,u=i?Rr(e,(n=o||void 0===n?1:Vn(n))<0?0:n,i):[],r.resolve(u)})).catch((function(t){r.reject(t)})),r}return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=null,u=Yt(n,"url");qn(u)||(u="postgresql://user:password@127.0.0.1:5432");let i=Yt(n,"db");qn(i)||(i="worm");let c=Yt(n,"cl");qn(c)||(c="test");let a=Yt(n,"useCache");Xn(a)||(a=!1);let f=Yt(n,"pk");function l(t){return qn(t)||Dn(t)||Xn(t)||function(t){let e=t;return qn(t)&&(e=new Date(t)),Dn(t)&&(e=Wn(t),e=new Date(t)),e instanceof Date&&!isNaN(e)}(t)}function s(t,e,r){if(!Cn(r))throw new Error(`obj[${r}] is not an effective object`);let n=Object.entries(r).map((t=>{let[r,n]=t,o=function(t){if(In(t))return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z)?$/.test(t)?"TIMESTAMPTZ":"TEXT";return Dn(t)?Jn(t)?"INTEGER":"DOUBLE PRECISION":Xn(t)?"BOOLEAN":null===t?"TEXT":"JSONB"}(n),u=` ${r} ${o}`;return r===e&&(u=`${u} PRIMARY KEY`),u}));return`CREATE TABLE ${t} (\n${n.join(",\n")}\n);`}function v(t){let e=Me(t),r=[f],n=(u=t=>!r.includes(t),(tt(o=e)?fe:ur)(o,Ke(u)));var o,u;if(0===gt(n))return"";let i=n.map((t=>`${t} = EXCLUDED.${t}`)).join(",\n "),c=`\n ON CONFLICT (${r.join(", ")}) DO UPDATE SET\n ${i}\n `;return c=$n(c),c}qn(f)||(f="time");let p=`${u}/${i}`,y=new t.EventEmitter,d=e.Client;function b(){o=null}function h(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return JSON.stringify({find:t,order:e})}function j(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Cn(o)){let r=h(t,e);if(function(t,e){return!!Nn(t)&&!(!qn(e)&&!Dn(e))&&e in t}(o,r))return xn(o[r])}return null}function g(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];Cn(o)||(o={});let n=h(t,e);o[n]=xn(r)}return y.createTable=async function(t,e,r){qn(e)||(e=f);let n=!1,o=null,u=new d({connectionString:p});try{await u.connect()}catch(t){n=!0,o=t,u=null}if(n)return Promise.reject(o);try{let i=r;if(Mn(i)&&(i=i[0]),!Cn(i))throw new Error(`obj[${i}] is not an effective object`);let c=s(t,e,i);await u.query(c).then((()=>{o={ok:1}})).catch((t=>{n=!0,o=t.message}))}catch(t){n=!0,o=t}finally{await u.end(),u=null}return a&&b(),n?Promise.reject(o):o},y.select=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!1,o=null;if(a){let r=j(t,e);if(kn(r))return r}let u=new d({connectionString:p});try{await u.connect()}catch(t){n=!0,o=t,u=null}if(n)return Promise.reject(o);try{let i=r.sql({type:"select",table:c,where:t,order:e});o=Yt(await u.query(i.query,i.values),"rows"),kn(o)||(n=!0,o=`can not select by find[${JSON.stringify(t)}]`),a&&!n&&g(t,e,o)}catch(t){n=!0,o=t}finally{await u.end(),u=null}return n?Promise.reject(o):o},y.selectByPk=async function(t){let e=!1,n=null;if(!l(t))return null;let o={[f]:t};if(a){let t=j(o,{});if(kn(t))return Yt(t,0,null)}let u=new d({connectionString:p});try{await u.connect()}catch(t){e=!0,n=t,u=null}if(e)return Promise.reject(n);try{let e=r.sql({type:"select",table:c,where:o}),i=Yt(await u.query(e.query,e.values),"rows");if(!kn(i))throw new Error(`can not select by pk[${t}]`);a&&g(o,{},i);let f=Yt(i,0,null);n=Cn(f)?f:null}catch(t){!function(t){let e=Yt(t,"code");return"22P02"===e||"22007"===e}(t)?(e=!0,n=t):n=null}finally{await u.end(),u=null}return e?Promise.reject(n):n},y.insert=async function(t){let e=!1,n=null;if(!Cn(t)&&!Mn(t))return{n:0,nInserted:0,ok:1};t=xn(t);let o=new d({connectionString:p});try{await o.connect()}catch(t){e=!0,n=t,o=null}if(e)return Promise.reject(n);try{kn(t)||(t=[t]),t=or(t,(function(t,e){if(!l(Yt(t,f)))throw new Error(`invalid data[${e}].${f}[${Yt(t,f)}]`);return t}));let u=r.sql({type:"insert",table:c,values:t}),i=`${u.query} ON CONFLICT (${f}) DO NOTHING`,a=gt(t);await o.query(i,u.values).then((t=>{n={n:a,nInserted:t.rowCount,ok:1}})).catch((t=>{e=!0,n=t.message}))}catch(t){e=!0,n=t}finally{await o.end(),o=null}if(a&&b(),!e)try{y.emit("change","insert",t,n)}catch(t){console.log(t)}return e?Promise.reject(n):n},y.save=async function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!1,o=null;if(!Cn(t)&&!Mn(t))return[];t=xn(t);let u=Yt(e,"autoInsert",!0),i=new d({connectionString:p});try{await i.connect()}catch(t){n=!0,o=t,i=null}if(n)return Promise.reject(o);try{kn(t)||(t=[t]),t=or(t,(function(t,e){if(!l(Yt(t,f)))throw new Error(`invalid data[${e}].${f}[${Yt(t,f)}]`);return t})),o=await Zn(t,(async t=>{let e=null,n=Yt(t,f),o=null;{let t=r.sql({type:"select",table:c,where:{[f]:n}}),e=Yt(await i.query(t.query,t.values),"rows");o=Yt(e,0,null)}if(Cn(o)){let r=fn(o,f),n={...r,...fn(t,f)};if(Ge(n,r))return e={n:1,nInserted:0,nModified:0,ok:1},e}else if(!u)return e={n:0,nInserted:0,nModified:0,ok:1},e;if(u){let n=r.sql({type:"insert",table:c,values:t}),o=v(t);qn(o)||(o=`ON CONFLICT (${f}) DO NOTHING`);let u=`${n.query} ${o} RETURNING (xmax = 0) AS inserted`;await i.query(u,n.values).then((t=>{let r=Yt(t,"rows");e=Mn(r)?!0===Yt(r,"0.inserted")?{n:1,nInserted:1,nModified:0,ok:1}:{n:1,nInserted:0,nModified:1,ok:1}:{n:1,nInserted:0,nModified:0,ok:1}})).catch((t=>{e={n:1,nInserted:0,nModified:0,ok:0,err:t.message}}))}else{let o=r.sql({type:"update",table:c,updates:fn(t,f),where:{[f]:n}});await i.query(o.query,o.values).then((t=>{e=t.rowCount>0?{n:1,nInserted:0,nModified:1,ok:1}:{n:0,nInserted:0,nModified:0,ok:1}})).catch((t=>{e={n:1,nInserted:0,nModified:0,ok:0,err:t.message}}))}return e}))}catch(t){n=!0,o=t}finally{await i.end(),i=null}if(a&&b(),!n)try{y.emit("change","save",t,o)}catch(t){console.log(t)}return n?Promise.reject(o):o},y.del=async function(t){let e=!1,n=null;if(!Cn(t)&&!Mn(t))return[];t=xn(t);let o=new d({connectionString:p});try{await o.connect()}catch(t){e=!0,n=t,o=null}if(e)return Promise.reject(n);try{kn(t)||(t=[t]),n=await Zn(t,(async t=>{let e=null,n=Yt(t,f);if(!l(n))return e={n:0,nDeleted:0,ok:0,err:`invalid ${f}[${n}]`},e;let u=r.sql({type:"delete",table:c,where:{[f]:n}});return await o.query(u.query,u.values).then((t=>{e={n:t.rowCount,nDeleted:t.rowCount,ok:1}})).catch((t=>{e={n:1,nDeleted:0,ok:0,err:t.message}})),e}))}catch(t){e=!0,n=t}finally{await o.end(),o=null}if(a&&b(),!e)try{y.emit("change","del",t,n)}catch(t){console.log(t)}return e?Promise.reject(n):n},y.delAll=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=!1,n=null,o=new d({connectionString:p});try{await o.connect()}catch(t){e=!0,n=t,o=null}if(e)return Promise.reject(n);try{let u=r.sql({type:"delete",table:c,where:t});await o.query(u.query,u.values).then((t=>{n={n:t.rowCount,nDeleted:t.rowCount,ok:1}})).catch((t=>{e=!0,n=t.message}))}catch(t){e=!0,n=t}finally{await o.end(),o=null}if(a&&b(),!e)try{y.emit("change","delAll",null,n)}catch(t){console.log(t)}return e?Promise.reject(n):n},y}}));
6
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("pg"),require("mongo-sql")):"function"==typeof define&&define.amd?define(["pg","mongo-sql"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-orm-postgresql"]=e(t.pg,t["mongo-sql"])}(this,(function(t,e){"use strict";var n=Object.prototype;function r(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||n)}function o(t,e){return function(n){return t(e(n))}}var u=o(Object.keys,Object),i=Object.prototype.hasOwnProperty;function c(t){if(!r(t))return u(t);var e=[];for(var n in Object(t))i.call(t,n)&&"constructor"!=n&&e.push(n);return e}var a="object"==typeof global&&global&&global.Object===Object&&global,f="object"==typeof self&&self&&self.Object===Object&&self,l=a||f||Function("return this")(),s=l.Symbol,v=Object.prototype,p=v.hasOwnProperty,h=v.toString,y=s?s.toStringTag:void 0;var d=Object.prototype.toString;var b=s?s.toStringTag:void 0;function j(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":b&&b in Object(t)?function(t){var e=p.call(t,y),n=t[y];try{t[y]=void 0;var r=!0}catch(t){}var o=h.call(t);return r&&(e?t[y]=n:delete t[y]),o}(t):function(t){return d.call(t)}(t)}function g(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function _(t){if(!g(t))return!1;var e=j(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var w,O=l["__core-js_shared__"],m=(w=/[^.]+$/.exec(O&&O.keys&&O.keys.IE_PROTO||""))?"Symbol(src)_1."+w:"";var A=Function.prototype.toString;function x(t){if(null!=t){try{return A.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var S=/^\[object .+?Constructor\]$/,P=Function.prototype,k=Object.prototype,E=P.toString,$=k.hasOwnProperty,I=RegExp("^"+E.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function T(t){return!(!g(t)||(e=t,m&&m in e))&&(_(t)?I:S).test(x(t));var e}function q(t,e){var n=function(t,e){return null==t?void 0:t[e]}(t,e);return T(n)?n:void 0}var N=q(l,"DataView"),C=q(l,"Map"),M=q(l,"Promise"),z=q(l,"Set"),B=q(l,"WeakMap"),D="[object Map]",L="[object Promise]",F="[object Set]",U="[object WeakMap]",R="[object DataView]",G=x(N),V=x(C),W=x(M),J=x(z),X=x(B),H=j;(N&&H(new N(new ArrayBuffer(1)))!=R||C&&H(new C)!=D||M&&H(M.resolve())!=L||z&&H(new z)!=F||B&&H(new B)!=U)&&(H=function(t){var e=j(t),n="[object Object]"==e?t.constructor:void 0,r=n?x(n):"";if(r)switch(r){case G:return R;case V:return D;case W:return L;case J:return F;case X:return U}return e});var K=H;function Y(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function Z(t){return null!=t&&Y(t.length)&&!_(t)}var Q=Array.isArray;function tt(t){return null!=t&&"object"==typeof t}function et(t){return function(e){return null==e?void 0:e[t]}}var nt=et("length"),rt=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function ot(t){return rt.test(t)}var ut="\\ud800-\\udfff",it="["+ut+"]",ct="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",at="\\ud83c[\\udffb-\\udfff]",ft="[^"+ut+"]",lt="(?:\\ud83c[\\udde6-\\uddff]){2}",st="[\\ud800-\\udbff][\\udc00-\\udfff]",vt="(?:"+ct+"|"+at+")"+"?",pt="[\\ufe0e\\ufe0f]?",ht=pt+vt+("(?:\\u200d(?:"+[ft,lt,st].join("|")+")"+pt+vt+")*"),yt="(?:"+[ft+ct+"?",ct,lt,st,it].join("|")+")",dt=RegExp(at+"(?="+at+")|"+yt+ht,"g");function bt(t){return ot(t)?function(t){for(var e=dt.lastIndex=0;dt.test(t);)++e;return e}(t):nt(t)}function jt(t){if(null==t)return 0;if(Z(t))return"string"==typeof(e=t)||!Q(e)&&tt(e)&&"[object String]"==j(e)?bt(t):t.length;var e,n=K(t);return"[object Map]"==n||"[object Set]"==n?t.size:c(t).length}function gt(t){return"symbol"==typeof t||tt(t)&&"[object Symbol]"==j(t)}var _t=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wt=/^\w*$/;function Ot(t,e){if(Q(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!gt(t))||(wt.test(t)||!_t.test(t)||null!=e&&t in Object(e))}var mt=q(Object,"create");var At=Object.prototype.hasOwnProperty;var xt=Object.prototype.hasOwnProperty;function St(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function Pt(t,e){return t===e||t!=t&&e!=e}function kt(t,e){for(var n=t.length;n--;)if(Pt(t[n][0],e))return n;return-1}St.prototype.clear=function(){this.__data__=mt?mt(null):{},this.size=0},St.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},St.prototype.get=function(t){var e=this.__data__;if(mt){var n=e[t];return"__lodash_hash_undefined__"===n?void 0:n}return At.call(e,t)?e[t]:void 0},St.prototype.has=function(t){var e=this.__data__;return mt?void 0!==e[t]:xt.call(e,t)},St.prototype.set=function(t,e){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=mt&&void 0===e?"__lodash_hash_undefined__":e,this};var Et=Array.prototype.splice;function $t(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}function It(t,e){var n,r,o=t.__data__;return("string"==(r=typeof(n=e))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof e?"string":"hash"]:o.map}function Tt(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e<n;){var r=t[e];this.set(r[0],r[1])}}$t.prototype.clear=function(){this.__data__=[],this.size=0},$t.prototype.delete=function(t){var e=this.__data__,n=kt(e,t);return!(n<0)&&(n==e.length-1?e.pop():Et.call(e,n,1),--this.size,!0)},$t.prototype.get=function(t){var e=this.__data__,n=kt(e,t);return n<0?void 0:e[n][1]},$t.prototype.has=function(t){return kt(this.__data__,t)>-1},$t.prototype.set=function(t,e){var n=this.__data__,r=kt(n,t);return r<0?(++this.size,n.push([t,e])):n[r][1]=e,this},Tt.prototype.clear=function(){this.size=0,this.__data__={hash:new St,map:new(C||$t),string:new St}},Tt.prototype.delete=function(t){var e=It(this,t).delete(t);return this.size-=e?1:0,e},Tt.prototype.get=function(t){return It(this,t).get(t)},Tt.prototype.has=function(t){return It(this,t).has(t)},Tt.prototype.set=function(t,e){var n=It(this,t),r=n.size;return n.set(t,e),this.size+=n.size==r?0:1,this};function qt(t,e){if("function"!=typeof t||null!=e&&"function"!=typeof e)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=e?e.apply(this,r):r[0],u=n.cache;if(u.has(o))return u.get(o);var i=t.apply(this,r);return n.cache=u.set(o,i)||u,i};return n.cache=new(qt.Cache||Tt),n}qt.Cache=Tt;var Nt,Ct,Mt,zt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Bt=/\\(\\)?/g,Dt=(Nt=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(zt,(function(t,n,r,o){e.push(r?o.replace(Bt,"$1"):n||t)})),e},Ct=qt(Nt,(function(t){return 500===Mt.size&&Mt.clear(),t})),Mt=Ct.cache,Ct),Lt=Dt;function Ft(t,e){for(var n=-1,r=null==t?0:t.length,o=Array(r);++n<r;)o[n]=e(t[n],n,t);return o}var Ut=s?s.prototype:void 0,Rt=Ut?Ut.toString:void 0;function Gt(t){if("string"==typeof t)return t;if(Q(t))return Ft(t,Gt)+"";if(gt(t))return Rt?Rt.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Vt(t){return null==t?"":Gt(t)}function Wt(t,e){return Q(t)?t:Ot(t,e)?[t]:Lt(Vt(t))}function Jt(t){if("string"==typeof t||gt(t))return t;var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Xt(t,e){for(var n=0,r=(e=Wt(e,t)).length;null!=t&&n<r;)t=t[Jt(e[n++])];return n&&n==r?t:void 0}function Ht(t,e,n){var r=null==t?void 0:Xt(t,e);return void 0===r?n:r}function Kt(t){var e=this.__data__=new $t(t);this.size=e.size}Kt.prototype.clear=function(){this.__data__=new $t,this.size=0},Kt.prototype.delete=function(t){var e=this.__data__,n=e.delete(t);return this.size=e.size,n},Kt.prototype.get=function(t){return this.__data__.get(t)},Kt.prototype.has=function(t){return this.__data__.has(t)},Kt.prototype.set=function(t,e){var n=this.__data__;if(n instanceof $t){var r=n.__data__;if(!C||r.length<199)return r.push([t,e]),this.size=++n.size,this;n=this.__data__=new Tt(r)}return n.set(t,e),this.size=n.size,this};function Yt(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new Tt;++e<n;)this.add(t[e])}function Zt(t,e){for(var n=-1,r=null==t?0:t.length;++n<r;)if(e(t[n],n,t))return!0;return!1}function Qt(t,e){return t.has(e)}Yt.prototype.add=Yt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Yt.prototype.has=function(t){return this.__data__.has(t)};function te(t,e,n,r,o,u){var i=1&n,c=t.length,a=e.length;if(c!=a&&!(i&&a>c))return!1;var f=u.get(t),l=u.get(e);if(f&&l)return f==e&&l==t;var s=-1,v=!0,p=2&n?new Yt:void 0;for(u.set(t,e),u.set(e,t);++s<c;){var h=t[s],y=e[s];if(r)var d=i?r(y,h,s,e,t,u):r(h,y,s,t,e,u);if(void 0!==d){if(d)continue;v=!1;break}if(p){if(!Zt(e,(function(t,e){if(!Qt(p,e)&&(h===t||o(h,t,n,r,u)))return p.push(e)}))){v=!1;break}}else if(h!==y&&!o(h,y,n,r,u)){v=!1;break}}return u.delete(t),u.delete(e),v}var ee=l.Uint8Array;function ne(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function re(t){var e=-1,n=Array(t.size);return t.forEach((function(t){n[++e]=t})),n}var oe=s?s.prototype:void 0,ue=oe?oe.valueOf:void 0;function ie(t,e){for(var n=-1,r=e.length,o=t.length;++n<r;)t[o+n]=e[n];return t}function ce(t,e,n){var r=e(t);return Q(t)?r:ie(r,n(t))}function ae(t,e){for(var n=-1,r=null==t?0:t.length,o=0,u=[];++n<r;){var i=t[n];e(i,n,t)&&(u[o++]=i)}return u}function fe(){return[]}var le=Object.prototype.propertyIsEnumerable,se=Object.getOwnPropertySymbols,ve=se?function(t){return null==t?[]:(t=Object(t),ae(se(t),(function(e){return le.call(t,e)})))}:fe;function pe(t){return tt(t)&&"[object Arguments]"==j(t)}var he=Object.prototype,ye=he.hasOwnProperty,de=he.propertyIsEnumerable,be=pe(function(){return arguments}())?pe:function(t){return tt(t)&&ye.call(t,"callee")&&!de.call(t,"callee")},je=be;var ge="object"==typeof exports&&exports&&!exports.nodeType&&exports,_e=ge&&"object"==typeof module&&module&&!module.nodeType&&module,we=_e&&_e.exports===ge?l.Buffer:void 0,Oe=(we?we.isBuffer:void 0)||function(){return!1},me=/^(?:0|[1-9]\d*)$/;function Ae(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==n||"symbol"!=n&&me.test(t))&&t>-1&&t%1==0&&t<e}var xe={};function Se(t){return function(e){return t(e)}}xe["[object Float32Array]"]=xe["[object Float64Array]"]=xe["[object Int8Array]"]=xe["[object Int16Array]"]=xe["[object Int32Array]"]=xe["[object Uint8Array]"]=xe["[object Uint8ClampedArray]"]=xe["[object Uint16Array]"]=xe["[object Uint32Array]"]=!0,xe["[object Arguments]"]=xe["[object Array]"]=xe["[object ArrayBuffer]"]=xe["[object Boolean]"]=xe["[object DataView]"]=xe["[object Date]"]=xe["[object Error]"]=xe["[object Function]"]=xe["[object Map]"]=xe["[object Number]"]=xe["[object Object]"]=xe["[object RegExp]"]=xe["[object Set]"]=xe["[object String]"]=xe["[object WeakMap]"]=!1;var Pe="object"==typeof exports&&exports&&!exports.nodeType&&exports,ke=Pe&&"object"==typeof module&&module&&!module.nodeType&&module,Ee=ke&&ke.exports===Pe&&a.process,$e=function(){try{var t=ke&&ke.require&&ke.require("util").types;return t||Ee&&Ee.binding&&Ee.binding("util")}catch(t){}}(),Ie=$e&&$e.isTypedArray,Te=Ie?Se(Ie):function(t){return tt(t)&&Y(t.length)&&!!xe[j(t)]},qe=Object.prototype.hasOwnProperty;function Ne(t,e){var n=Q(t),r=!n&&je(t),o=!n&&!r&&Oe(t),u=!n&&!r&&!o&&Te(t),i=n||r||o||u,c=i?function(t,e){for(var n=-1,r=Array(t);++n<t;)r[n]=e(n);return r}(t.length,String):[],a=c.length;for(var f in t)!e&&!qe.call(t,f)||i&&("length"==f||o&&("offset"==f||"parent"==f)||u&&("buffer"==f||"byteLength"==f||"byteOffset"==f)||Ae(f,a))||c.push(f);return c}function Ce(t){return Z(t)?Ne(t):c(t)}function Me(t){return ce(t,Ce,ve)}var ze=Object.prototype.hasOwnProperty;var Be="[object Arguments]",De="[object Array]",Le="[object Object]",Fe=Object.prototype.hasOwnProperty;function Ue(t,e,n,r,o,u){var i=Q(t),c=Q(e),a=i?De:K(t),f=c?De:K(e),l=(a=a==Be?Le:a)==Le,s=(f=f==Be?Le:f)==Le,v=a==f;if(v&&Oe(t)){if(!Oe(e))return!1;i=!0,l=!1}if(v&&!l)return u||(u=new Kt),i||Te(t)?te(t,e,n,r,o,u):function(t,e,n,r,o,u,i){switch(n){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!u(new ee(t),new ee(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Pt(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var c=ne;case"[object Set]":var a=1&r;if(c||(c=re),t.size!=e.size&&!a)return!1;var f=i.get(t);if(f)return f==e;r|=2,i.set(t,e);var l=te(c(t),c(e),r,o,u,i);return i.delete(t),l;case"[object Symbol]":if(ue)return ue.call(t)==ue.call(e)}return!1}(t,e,a,n,r,o,u);if(!(1&n)){var p=l&&Fe.call(t,"__wrapped__"),h=s&&Fe.call(e,"__wrapped__");if(p||h){var y=p?t.value():t,d=h?e.value():e;return u||(u=new Kt),o(y,d,n,r,u)}}return!!v&&(u||(u=new Kt),function(t,e,n,r,o,u){var i=1&n,c=Me(t),a=c.length;if(a!=Me(e).length&&!i)return!1;for(var f=a;f--;){var l=c[f];if(!(i?l in e:ze.call(e,l)))return!1}var s=u.get(t),v=u.get(e);if(s&&v)return s==e&&v==t;var p=!0;u.set(t,e),u.set(e,t);for(var h=i;++f<a;){var y=t[l=c[f]],d=e[l];if(r)var b=i?r(d,y,l,e,t,u):r(y,d,l,t,e,u);if(!(void 0===b?y===d||o(y,d,n,r,u):b)){p=!1;break}h||(h="constructor"==l)}if(p&&!h){var j=t.constructor,g=e.constructor;j==g||!("constructor"in t)||!("constructor"in e)||"function"==typeof j&&j instanceof j&&"function"==typeof g&&g instanceof g||(p=!1)}return u.delete(t),u.delete(e),p}(t,e,n,r,o,u))}function Re(t,e,n,r,o){return t===e||(null==t||null==e||!tt(t)&&!tt(e)?t!=t&&e!=e:Ue(t,e,n,r,Re,o))}function Ge(t){return t==t&&!g(t)}function Ve(t,e){return function(n){return null!=n&&(n[t]===e&&(void 0!==e||t in Object(n)))}}function We(t){var e=function(t){for(var e=Ce(t),n=e.length;n--;){var r=e[n],o=t[r];e[n]=[r,o,Ge(o)]}return e}(t);return 1==e.length&&e[0][2]?Ve(e[0][0],e[0][1]):function(n){return n===t||function(t,e,n,r){var o=n.length,u=o,i=!r;if(null==t)return!u;for(t=Object(t);o--;){var c=n[o];if(i&&c[2]?c[1]!==t[c[0]]:!(c[0]in t))return!1}for(;++o<u;){var a=(c=n[o])[0],f=t[a],l=c[1];if(i&&c[2]){if(void 0===f&&!(a in t))return!1}else{var s=new Kt;if(r)var v=r(f,l,a,t,e,s);if(!(void 0===v?Re(l,f,3,r,s):v))return!1}}return!0}(n,t,e)}}function Je(t,e){return null!=t&&e in Object(t)}function Xe(t,e){return null!=t&&function(t,e,n){for(var r=-1,o=(e=Wt(e,t)).length,u=!1;++r<o;){var i=Jt(e[r]);if(!(u=null!=t&&n(t,i)))break;t=t[i]}return u||++r!=o?u:!!(o=null==t?0:t.length)&&Y(o)&&Ae(i,o)&&(Q(t)||je(t))}(t,e,Je)}function He(t){return t}function Ke(t){return Ot(t)?et(Jt(t)):function(t){return function(e){return Xt(e,t)}}(t)}function Ye(t){return"function"==typeof t?t:null==t?He:"object"==typeof t?Q(t)?(e=t[0],n=t[1],Ot(e)&&Ge(n)?Ve(Jt(e),n):function(t){var r=Ht(t,e);return void 0===r&&r===n?Xe(t,e):Re(n,r,3)}):We(t):Ke(t);var e,n}var Ze,Qe=function(t,e,n){for(var r=-1,o=Object(t),u=n(t),i=u.length;i--;){var c=u[Ze?i:++r];if(!1===e(o[c],c,o))break}return t};var tn=function(t,e){return function(n,r){if(null==n)return n;if(!Z(n))return t(n,r);for(var o=n.length,u=e?o:-1,i=Object(n);(e?u--:++u<o)&&!1!==r(i[u],u,i););return n}}((function(t,e){return t&&Qe(t,e,Ce)})),en=tn;function nn(t,e){var n=-1,r=Z(t)?Array(t.length):[];return en(t,(function(t,o,u){r[++n]=e(t,o,u)})),r}function rn(t,e){return(Q(t)?Ft:nn)(t,Ye(e))}function on(t,e){var n=[];return en(t,(function(t,r,o){e(t,r,o)&&n.push(t)})),n}function un(t,e){for(var n=-1,r=null==t?0:t.length;++n<r&&!1!==e(t[n],n,t););return t}var cn=function(){try{var t=q(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),an=cn;function fn(t,e,n){"__proto__"==e&&an?an(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n}var ln=Object.prototype.hasOwnProperty;function sn(t,e,n){var r=t[e];ln.call(t,e)&&Pt(r,n)&&(void 0!==n||e in t)||fn(t,e,n)}function vn(t,e,n,r){var o=!n;n||(n={});for(var u=-1,i=e.length;++u<i;){var c=e[u],a=r?r(n[c],t[c],c,n,t):void 0;void 0===a&&(a=t[c]),o?fn(n,c,a):sn(n,c,a)}return n}var pn=Object.prototype.hasOwnProperty;function hn(t){if(!g(t))return function(t){var e=[];if(null!=t)for(var n in Object(t))e.push(n);return e}(t);var e=r(t),n=[];for(var o in t)("constructor"!=o||!e&&pn.call(t,o))&&n.push(o);return n}function yn(t){return Z(t)?Ne(t,!0):hn(t)}var dn="object"==typeof exports&&exports&&!exports.nodeType&&exports,bn=dn&&"object"==typeof module&&module&&!module.nodeType&&module,jn=bn&&bn.exports===dn?l.Buffer:void 0,gn=jn?jn.allocUnsafe:void 0;var _n=o(Object.getPrototypeOf,Object),wn=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)ie(e,ve(t)),t=_n(t);return e}:fe,On=wn;function mn(t){return ce(t,yn,On)}var An=Object.prototype.hasOwnProperty;function xn(t){var e=new t.constructor(t.byteLength);return new ee(e).set(new ee(t)),e}var Sn=/\w*$/;var Pn=s?s.prototype:void 0,kn=Pn?Pn.valueOf:void 0;function En(t,e,n){var r,o=t.constructor;switch(e){case"[object ArrayBuffer]":return xn(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var n=e?xn(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return function(t,e){var n=e?xn(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}(t,n);case"[object Map]":case"[object Set]":return new o;case"[object Number]":case"[object String]":return new o(t);case"[object RegExp]":return function(t){var e=new t.constructor(t.source,Sn.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return r=t,kn?Object(kn.call(r)):{}}}var $n=Object.create,In=function(){function t(){}return function(e){if(!g(e))return{};if($n)return $n(e);t.prototype=e;var n=new t;return t.prototype=void 0,n}}(),Tn=In;var qn=$e&&$e.isMap,Nn=qn?Se(qn):function(t){return tt(t)&&"[object Map]"==K(t)};var Cn=$e&&$e.isSet,Mn=Cn?Se(Cn):function(t){return tt(t)&&"[object Set]"==K(t)},zn="[object Arguments]",Bn="[object Function]",Dn="[object Object]",Ln={};function Fn(t,e,n,o,u,i){var c,a=1&e,f=2&e,l=4&e;if(n&&(c=u?n(t,o,u,i):n(t)),void 0!==c)return c;if(!g(t))return t;var s=Q(t);if(s){if(c=function(t){var e=t.length,n=new t.constructor(e);return e&&"string"==typeof t[0]&&An.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!a)return function(t,e){var n=-1,r=t.length;for(e||(e=Array(r));++n<r;)e[n]=t[n];return e}(t,c)}else{var v=K(t),p=v==Bn||"[object GeneratorFunction]"==v;if(Oe(t))return function(t,e){if(e)return t.slice();var n=t.length,r=gn?gn(n):new t.constructor(n);return t.copy(r),r}(t,a);if(v==Dn||v==zn||p&&!u){if(c=f||p?{}:function(t){return"function"!=typeof t.constructor||r(t)?{}:Tn(_n(t))}(t),!a)return f?function(t,e){return vn(t,On(t),e)}(t,function(t,e){return t&&vn(e,yn(e),t)}(c,t)):function(t,e){return vn(t,ve(t),e)}(t,function(t,e){return t&&vn(e,Ce(e),t)}(c,t))}else{if(!Ln[v])return u?t:{};c=En(t,v,a)}}i||(i=new Kt);var h=i.get(t);if(h)return h;i.set(t,c),Mn(t)?t.forEach((function(r){c.add(Fn(r,e,n,r,t,i))})):Nn(t)&&t.forEach((function(r,o){c.set(o,Fn(r,e,n,o,t,i))}));var y=s?void 0:(l?f?mn:Me:f?yn:Ce)(t);return un(y||t,(function(r,o){y&&(r=t[o=r]),sn(c,o,Fn(r,e,n,o,t,i))})),c}function Un(t,e,n){var r=-1,o=t.length;e<0&&(e=-e>o?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var u=Array(o);++r<o;)u[r]=t[r+e];return u}Ln[zn]=Ln["[object Array]"]=Ln["[object ArrayBuffer]"]=Ln["[object DataView]"]=Ln["[object Boolean]"]=Ln["[object Date]"]=Ln["[object Float32Array]"]=Ln["[object Float64Array]"]=Ln["[object Int8Array]"]=Ln["[object Int16Array]"]=Ln["[object Int32Array]"]=Ln["[object Map]"]=Ln["[object Number]"]=Ln[Dn]=Ln["[object RegExp]"]=Ln["[object Set]"]=Ln["[object String]"]=Ln["[object Symbol]"]=Ln["[object Uint8Array]"]=Ln["[object Uint8ClampedArray]"]=Ln["[object Uint16Array]"]=Ln["[object Uint32Array]"]=!0,Ln["[object Error]"]=Ln[Bn]=Ln["[object WeakMap]"]=!1;var Rn=Object.prototype.hasOwnProperty;function Gn(t,e){var n=-1,r=(e=Wt(e,t)).length;if(!r)return!0;for(;++n<r;){var o=Jt(e[n]);if("__proto__"===o&&!Rn.call(t,"__proto__"))return!1;if(("constructor"===o||"prototype"===o)&&n<r-1)return!1}var u=function(t,e){return e.length<2?t:Xt(t,Un(e,0,-1))}(t,e);return null==u||delete u[Jt(function(t){var e=null==t?0:t.length;return e?t[e-1]:void 0}(e))]}var Vn=Function.prototype,Wn=Object.prototype,Jn=Vn.toString,Xn=Wn.hasOwnProperty,Hn=Jn.call(Object);function Kn(t){return function(t){if(!tt(t)||"[object Object]"!=j(t))return!1;var e=_n(t);if(null===e)return!0;var n=Xn.call(e,"constructor")&&e.constructor;return"function"==typeof n&&n instanceof n&&Jn.call(n)==Hn}(t)?void 0:t}var Yn=s?s.isConcatSpreadable:void 0;function Zn(t){return Q(t)||je(t)||!!(Yn&&t&&t[Yn])}function Qn(t,e,n,r,o){var u=-1,i=t.length;for(n||(n=Zn),o||(o=[]);++u<i;){var c=t[u];e>0&&n(c)?e>1?Qn(c,e-1,n,r,o):ie(o,c):r||(o[o.length]=c)}return o}function tr(t){return(null==t?0:t.length)?Qn(t,1):[]}var er=Math.max;var nr=an?function(t,e){return an(t,"toString",{configurable:!0,enumerable:!1,value:(n=e,function(){return n}),writable:!0});var n}:He,rr=nr,or=Date.now;var ur=function(t){var e=0,n=0;return function(){var r=or(),o=16-(r-n);if(n=r,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(rr),ir=ur;var cr=function(t){return ir(function(t,e,n){return e=er(void 0===e?t.length-1:e,0),function(){for(var r=arguments,o=-1,u=er(r.length-e,0),i=Array(u);++o<u;)i[o]=r[e+o];o=-1;for(var c=Array(e+1);++o<e;)c[o]=r[o];return c[e]=n(i),function(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}(t,this,c)}}(t,void 0,tr),t+"")}((function(t,e){var n={};if(null==t)return n;var r=!1;e=Ft(e,(function(e){return e=Wt(e,t),r||(r=e.length>1),e})),vn(t,mn(t),n),r&&(n=Fn(n,7,Kn));for(var o=e.length;o--;)Gn(n,e[o]);return n})),ar=cr,fr=/\s/;var lr=/^\s+/;function sr(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&fr.test(t.charAt(e)););return e}(t)+1).replace(lr,""):t}function vr(t){return t!=t}function pr(t,e,n){return e==e?function(t,e,n){for(var r=n-1,o=t.length;++r<o;)if(t[r]===e)return r;return-1}(t,e,n):function(t,e,n,r){for(var o=t.length,u=n+(r?1:-1);r?u--:++u<o;)if(e(t[u],u,t))return u;return-1}(t,vr,n)}var hr="\\ud800-\\udfff",yr="["+hr+"]",dr="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",br="\\ud83c[\\udffb-\\udfff]",jr="[^"+hr+"]",gr="(?:\\ud83c[\\udde6-\\uddff]){2}",_r="[\\ud800-\\udbff][\\udc00-\\udfff]",wr="(?:"+dr+"|"+br+")"+"?",Or="[\\ufe0e\\ufe0f]?",mr=Or+wr+("(?:\\u200d(?:"+[jr,gr,_r].join("|")+")"+Or+wr+")*"),Ar="(?:"+[jr+dr+"?",dr,gr,_r,yr].join("|")+")",xr=RegExp(br+"(?="+br+")|"+Ar+mr,"g");function Sr(t){return ot(t)?function(t){return t.match(xr)||[]}(t):function(t){return t.split("")}(t)}function Pr(t,e,n){if((t=Vt(t))&&(n||void 0===e))return sr(t);if(!t||!(e=Gt(e)))return t;var r=Sr(t),o=Sr(e),u=function(t,e){for(var n=-1,r=t.length;++n<r&&pr(e,t[n],0)>-1;);return n}(r,o),i=function(t,e){for(var n=t.length;n--&&pr(e,t[n],0)>-1;);return n}(r,o)+1;return function(t,e,n){var r=t.length;return n=void 0===n?r:n,!e&&n>=r?t:Un(t,e,n)}(r,u,i).join("")}function kr(t){return Fn(t,5)}function Er(t){return"[object String]"===Object.prototype.toString.call(t)}function $r(t){return!(!Er(t)||""===t)}function Ir(t){return"[object Array]"===Object.prototype.toString.call(t)}function Tr(t){return"[object Object]"===Object.prototype.toString.call(t)}function qr(t){return t!=t}function Nr(t){return!!function(t){return"[object Undefined]"===Object.prototype.toString.call(t)}(t)||(!!function(t){return"[object Null]"===Object.prototype.toString.call(t)}(t)||(!!function(t){if(Tr(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!Er(t)||""!==t)}(t)||(!!function(t){return!!Ir(t)&&0===t.length}(t)||!!qr(t)))))}function Cr(t){return!!Ir(t)&&(0!==t.length&&(1!==t.length||!Nr(t[0])))}function Mr(t){if(Tr(t)){for(let e in t)return!0;return!1}return!1}function zr(t){let e=!1;if($r(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(qr(t))return!1;e=!0}return e}var Br=/^[-+]0x[0-9a-f]+$/i,Dr=/^0b[01]+$/i,Lr=/^0o[0-7]+$/i,Fr=parseInt;var Ur=1/0;function Rr(t){return t?(t=function(t){if("number"==typeof t)return t;if(gt(t))return NaN;if(g(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=g(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=sr(t);var n=Dr.test(t);return n||Lr.test(t)?Fr(t.slice(2),n?2:8):Br.test(t)?NaN:+t}(t))===Ur||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Gr(t){var e=Rr(t),n=e%1;return e==e?n?e-n:e:0}function Vr(t){if(!zr(t))return 0;return Rr(t)}function Wr(t){return!!zr(t)&&(t=Vr(t),"number"==typeof(e=t)&&e==Gr(e));var e}function Jr(t){return!0===(e=t)||!1===e||tt(e)&&"[object Boolean]"==j(e);var e}function Xr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Hr={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,n="~";function r(){}function o(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function u(t,e,r,u,i){if("function"!=typeof r)throw new TypeError("The listener must be a function");var c=new o(r,u||t,i),a=n?n+e:e;return t._events[a]?t._events[a].fn?t._events[a]=[t._events[a],c]:t._events[a].push(c):(t._events[a]=c,t._eventsCount++),t}function i(t,e){0==--t._eventsCount?t._events=new r:delete t._events[e]}function c(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),c.prototype.eventNames=function(){var t,r,o=[];if(0===this._eventsCount)return o;for(r in t=this._events)e.call(t,r)&&o.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},c.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,u=r.length,i=new Array(u);o<u;o++)i[o]=r[o].fn;return i},c.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},c.prototype.emit=function(t,e,r,o,u,i){var c=n?n+t:t;if(!this._events[c])return!1;var a,f,l=this._events[c],s=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),s){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,r),!0;case 4:return l.fn.call(l.context,e,r,o),!0;case 5:return l.fn.call(l.context,e,r,o,u),!0;case 6:return l.fn.call(l.context,e,r,o,u,i),!0}for(f=1,a=new Array(s-1);f<s;f++)a[f-1]=arguments[f];l.fn.apply(l.context,a)}else{var v,p=l.length;for(f=0;f<p;f++)switch(l[f].once&&this.removeListener(t,l[f].fn,void 0,!0),s){case 1:l[f].fn.call(l[f].context);break;case 2:l[f].fn.call(l[f].context,e);break;case 3:l[f].fn.call(l[f].context,e,r);break;case 4:l[f].fn.call(l[f].context,e,r,o);break;default:if(!a)for(v=1,a=new Array(s-1);v<s;v++)a[v-1]=arguments[v];l[f].fn.apply(l[f].context,a)}}return!0},c.prototype.on=function(t,e,n){return u(this,t,e,n,!1)},c.prototype.once=function(t,e,n){return u(this,t,e,n,!0)},c.prototype.removeListener=function(t,e,r,o){var u=n?n+t:t;if(!this._events[u])return this;if(!e)return i(this,u),this;var c=this._events[u];if(c.fn)c.fn!==e||o&&!c.once||r&&c.context!==r||i(this,u);else{for(var a=0,f=[],l=c.length;a<l;a++)(c[a].fn!==e||o&&!c[a].once||r&&c[a].context!==r)&&f.push(c[a]);f.length?this._events[u]=1===f.length?f[0]:f:i(this,u)}return this},c.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&i(this,e)):(this._events=new r,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=n,c.EventEmitter=c,t.exports=c}(Hr);var Kr=Xr(Hr.exports);function Yr(t,e){var n;return(Q(t)?un:en)(t,"function"==typeof(n=e)?n:He)}function Zr(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}function Qr(t,e){let n=function(){let t,e,n=new Promise((function(){t=arguments[0],e=arguments[1]}));return n.resolve=t,n.reject=e,n}();if(!Ir(t)&&!Tr(t))return n.reject("rs is not an array or object"),n;let r=!1;if(Tr(t)){r=!0;let e=[];Yr(t,((t,n)=>{e.push({k:n,v:t})})),t=e}Zr(e)||(e=function(t){return t});let o=-1,u=[];return t.reduce((function(t,n){return t.then((function(t){u.push(t),o+=1;let i=o,c=n;return r&&(i=n.k,c=n.v),Zr(e)?e(c,i):c}))}),Promise.resolve()).then((function(t){var e,r,o,i;u.push(t),i=null==(e=u)?0:e.length,u=i?Un(e,(r=o||void 0===r?1:Gr(r))<0?0:r,i):[],n.resolve(u)})).catch((function(t){n.reject(t)})),n}return function(){let n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=null,o=Ht(n,"url");$r(o)||(o="postgresql://user:password@127.0.0.1:5432");let u=Ht(n,"db");$r(u)||(u="worm");let i=Ht(n,"cl");$r(i)||(i="test");let c=Ht(n,"useCache");Jr(c)||(c=!1);let a=Ht(n,"pk");function f(t){return $r(t)||zr(t)||Jr(t)||function(t){let e=t;return $r(t)&&(e=new Date(t)),zr(t)&&(e=Vr(t),e=new Date(t)),e instanceof Date&&!isNaN(e)}(t)}function l(t,e,n){if(!Mr(n))throw new Error(`obj[${n}] is not an effective object`);let r=Object.entries(n).map((t=>{let[n,r]=t,o=function(t){if(Er(t))return/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z)?$/.test(t)?"TIMESTAMPTZ":"TEXT";return zr(t)?Wr(t)?"INTEGER":"DOUBLE PRECISION":Jr(t)?"BOOLEAN":null===t?"TEXT":"JSONB"}(r),u=` ${n} ${o}`;return n===e&&(u=`${u} PRIMARY KEY`),u}));return`CREATE TABLE ${t} (\n${r.join(",\n")}\n);`}function s(t){let e=Ce(t),n=[a],r=(u=t=>!n.includes(t),(Q(o=e)?ae:on)(o,Ye(u)));var o,u;if(0===jt(r))return"";let i=r.map((t=>`${t} = EXCLUDED.${t}`)).join(",\n "),c=`\n ON CONFLICT (${n.join(", ")}) DO UPDATE SET\n ${i}\n `;return c=Pr(c),c}$r(a)||(a="time");let v=`${o}/${u}`,p=new Kr,h=(t,e,n)=>{try{p.emit("change",t,e,n)}catch(t){console.log(t)}},y=(t,e,n)=>{try{p.emit("error",t,e,(t=>{let e=Ht(t,"message");return $r(e)?e:String(t)})(n))}catch(t){console.log(t)}},d=t.Client;function b(){r=null}function j(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return JSON.stringify({find:t,order:e})}function g(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Mr(r)){let n=j(t,e);if(function(t,e){return!!Tr(t)&&!(!$r(e)&&!zr(e))&&e in t}(r,n))return kr(r[n])}return null}function _(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];Mr(r)||(r={});let o=j(t,e);r[o]=kr(n)}let w=async(t,n,r)=>{let o=1;n.forEach((function(t){o=Math.max(o,jt(Ce(t)))}));let u=Math.max(1,Math.floor(65535/o)),c=[];for(let t=0;t<jt(n);t+=u)c.push(n.slice(t,t+u));await t.query("BEGIN");try{let n=0;for(let o of c){let u=e.sql({type:"insert",table:i,values:o}),c=u.query;r&&(c=`${c} ON CONFLICT (${a}) DO NOTHING`),n+=(await t.query(c,u.values)).rowCount}return await t.query("COMMIT"),n}catch(e){throw await t.query("ROLLBACK").catch((()=>{})),e}};return p.createTable=async function(t,e,n){$r(e)||(e=a);let r=!1,o=null,u=new d({connectionString:v});try{await u.connect()}catch(t){r=!0,o=t,u=null}if(r)return y("createTable",n,o),Promise.reject(o);try{let i=n;if(Cr(i)&&(i=i[0]),!Mr(i))throw new Error(`obj[${i}] is not an effective object`);let c=l(t,e,i);await u.query(c).then((()=>{o={ok:1}})).catch((t=>{r=!0,o=t.message}))}catch(t){r=!0,o=t}finally{await u.end(),u=null}return c&&b(),r?(y("createTable",n,o),Promise.reject(o)):o},p.select=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!1,o=null;if(c){let e=g(t,n);if(Ir(e))return e}let u=new d({connectionString:v});try{await u.connect()}catch(t){r=!0,o=t,u=null}if(r)return y("select",null,o),Promise.reject(o);try{let a=e.sql({type:"select",table:i,where:t,order:n});o=Ht(await u.query(a.query,a.values),"rows"),Ir(o)||(r=!0,o=`can not select by find[${JSON.stringify(t)}]`),c&&!r&&_(t,n,o)}catch(t){r=!0,o=t}finally{await u.end(),u=null}return r?(y("select",null,o),Promise.reject(o)):o},p.selectByPk=async function(t){let n=!1,r=null;if(!f(t))return null;let o={[a]:t};if(c){let t=g(o,{});if(Ir(t))return Ht(t,0,null)}let u=new d({connectionString:v});try{await u.connect()}catch(t){n=!0,r=t,u=null}if(n)return y("selectByPk",null,r),Promise.reject(r);try{let n=e.sql({type:"select",table:i,where:o}),a=Ht(await u.query(n.query,n.values),"rows");if(!Ir(a))throw new Error(`can not select by pk[${t}]`);c&&_(o,{},a);let f=Ht(a,0,null);r=Mr(f)?f:null}catch(t){!function(t){let e=Ht(t,"code");return"22P02"===e||"22007"===e}(t)?(n=!0,r=t):r=null}finally{await u.end(),u=null}return n?(y("selectByPk",null,r),Promise.reject(r)):r},p.insert=async function(t){let e=!1,n=null;if(!Mr(t)&&!Cr(t))return{n:0,nInserted:0,ok:1};t=kr(t);let r=new d({connectionString:v});try{await r.connect()}catch(t){e=!0,n=t,r=null}if(e)return y("insert",t,n),Promise.reject(n);try{Ir(t)||(t=[t]),n={n:jt(t=rn(t,(function(t,e){if(!f(Ht(t,a)))throw new Error(`invalid data[${e}].${a}[${Ht(t,a)}]`);return t}))),nInserted:await w(r,t,!0),ok:1}}catch(t){e=!0,n=t}finally{await r.end(),r=null}return c&&b(),e||h("insert",t,n),e?(y("insert",t,n),Promise.reject(n)):n},p.insertBulk=async function(t){let e=!1,n=null;if(!Mr(t)&&!Cr(t))return{n:0,nInserted:0,ok:1};t=kr(t);let r=new d({connectionString:v});try{await r.connect()}catch(t){e=!0,n=t,r=null}if(e)return y("insertBulk",t,n),Promise.reject(n);try{Ir(t)||(t=[t]),n={n:jt(t=rn(t,(function(t,e){if(!f(Ht(t,a)))throw new Error(`invalid data[${e}].${a}[${Ht(t,a)}]`);return t}))),nInserted:await w(r,t,!1),ok:1}}catch(t){e=!0,n=t}finally{await r.end(),r=null}return c&&b(),e||h("insertBulk",t,n),e?(y("insertBulk",t,n),Promise.reject(n)):n},p.save=async function(t){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!1,o=null;if(!Mr(t)&&!Cr(t))return[];t=kr(t);let u=Ht(n,"autoInsert",!0),l=new d({connectionString:v});try{await l.connect()}catch(t){r=!0,o=t,l=null}if(r)return y("save",t,o),Promise.reject(o);try{Ir(t)||(t=[t]),t=rn(t,(function(t,e){if(!f(Ht(t,a)))throw new Error(`invalid data[${e}].${a}[${Ht(t,a)}]`);return t})),o=await Qr(t,(async t=>{let n=null,r=Ht(t,a),o=null;{let t=e.sql({type:"select",table:i,where:{[a]:r}}),n=Ht(await l.query(t.query,t.values),"rows");o=Ht(n,0,null)}if(Mr(o)){let e=ar(o,a),r={...e,...ar(t,a)};if(Re(r,e))return n={n:1,nInserted:0,nModified:0,ok:1},n}else if(!u)return n={n:0,nInserted:0,nModified:0,ok:1},n;if(u){let r=e.sql({type:"insert",table:i,values:t}),o=s(t);$r(o)||(o=`ON CONFLICT (${a}) DO NOTHING`);let u=`${r.query} ${o} RETURNING (xmax = 0) AS inserted`;await l.query(u,r.values).then((t=>{let e=Ht(t,"rows");n=Cr(e)?!0===Ht(e,"0.inserted")?{n:1,nInserted:1,nModified:0,ok:1}:{n:1,nInserted:0,nModified:1,ok:1}:{n:1,nInserted:0,nModified:0,ok:1}})).catch((t=>{n={n:1,nInserted:0,nModified:0,ok:0,err:t.message}}))}else{let o=e.sql({type:"update",table:i,updates:ar(t,a),where:{[a]:r}});await l.query(o.query,o.values).then((t=>{n=t.rowCount>0?{n:1,nInserted:0,nModified:1,ok:1}:{n:0,nInserted:0,nModified:0,ok:1}})).catch((t=>{n={n:1,nInserted:0,nModified:0,ok:0,err:t.message}}))}return 1===n.nInserted&&h("insert",[t],n),0===n.ok&&y("save",[t],n.err),n}))}catch(t){r=!0,o=t}finally{await l.end(),l=null}return c&&b(),r||h("save",t,o),r?(y("save",t,o),Promise.reject(o)):o},p.del=async function(t){let n=!1,r=null;if(!Mr(t)&&!Cr(t))return[];t=kr(t);let o=new d({connectionString:v});try{await o.connect()}catch(t){n=!0,r=t,o=null}if(n)return y("del",t,r),Promise.reject(r);try{Ir(t)||(t=[t]),r=await Qr(t,(async t=>{let n=null,r=Ht(t,a);if(!f(r))return n={n:0,nDeleted:0,ok:0,err:`invalid ${a}[${r}]`},y("del",[t],n.err),n;let u=e.sql({type:"delete",table:i,where:{[a]:r}});return await o.query(u.query,u.values).then((t=>{n={n:t.rowCount,nDeleted:t.rowCount,ok:1}})).catch((t=>{n={n:1,nDeleted:0,ok:0,err:t.message}})),0===n.ok&&y("del",[t],n.err),n}))}catch(t){n=!0,r=t}finally{await o.end(),o=null}return c&&b(),n||h("del",t,r),n?(y("del",t,r),Promise.reject(r)):r},p.delAll=async function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=!1,r=null,o=new d({connectionString:v});try{await o.connect()}catch(t){n=!0,r=t,o=null}if(n)return y("delAll",null,r),Promise.reject(r);try{let u=e.sql({type:"delete",table:i,where:t});await o.query(u.query,u.values).then((t=>{r={n:t.rowCount,nDeleted:t.rowCount,ok:1}})).catch((t=>{n=!0,r=t.message}))}catch(t){n=!0,r=t}finally{await o.end(),o=null}return c&&b(),n||h("delAll",null,r),n?(y("delAll",null,r),Promise.reject(r)):r},p}}));
7
7
  //# sourceMappingURL=w-orm-postgresql.umd.js.map