w-orm-lmdb 1.0.18 → 1.0.20
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 +44 -2
- package/dist/w-orm-lmdb.umd.js +2 -2
- package/dist/w-orm-lmdb.umd.js.map +1 -1
- package/docs/WOrmLmdb.html +303 -12
- package/docs/WOrmLmdb.mjs.html +184 -15
- package/docs/index.html +2 -2
- package/g-basic.mjs +43 -1
- package/package.json +1 -1
- package/src/WOrmLmdb.mjs +182 -13
- package/test/unit-closed.test.mjs +108 -0
- package/test/unit-insertbulk.test.mjs +205 -0
- package/test/unit-returnlist.test.mjs +195 -0
- package/toolg/gDistRollup.mjs +1 -1
- package//350/263/207/346/226/231/345/272/253/345/207/275/346/225/270/345/233/236/345/202/263/345/256/232/347/276/251/350/250/210/347/256/227.md +228 -42
- package/dist/req-mingo.umd.js +0 -7
- package/dist/req-mingo.umd.js.map +0 -1
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ An operator for lmdb in nodejs.
|
|
|
10
10
|
|
|
11
11
|
## Keypoint
|
|
12
12
|
|
|
13
|
-
注意: 因lmdb-js綁定層限制, 須使用單程序操作lmdb
|
|
13
|
+
注意: 因lmdb-js綁定層限制, 無法支援跨程序併發, 須使用單程序操作lmdb才能避免競爭條件失效.
|
|
14
14
|
|
|
15
15
|
### Use a single process for writing
|
|
16
16
|
|
|
@@ -212,10 +212,44 @@ async function test() {
|
|
|
212
212
|
console.log('del by data without id catch', msg)
|
|
213
213
|
})
|
|
214
214
|
|
|
215
|
+
//insertBulk, 全批視為一個單位, 無衝突時nInserted恆等於n
|
|
216
|
+
await wo.insertBulk([{ id: 'id-bulk1', name: 'bulk1' }, { id: 'id-bulk2', name: 'bulk2' }])
|
|
217
|
+
.then(function(msg) {
|
|
218
|
+
console.log('insertBulk then', msg)
|
|
219
|
+
})
|
|
220
|
+
.catch(function(msg) {
|
|
221
|
+
console.log('insertBulk catch', msg)
|
|
222
|
+
})
|
|
223
|
+
|
|
224
|
+
//insertBulk by data with existed id, 非insert之加速版而係衝突政策不同
|
|
225
|
+
//insert於主鍵已存在時跳過該筆而整批ok為1, insertBulk則整批reject且不寫入任何一筆
|
|
226
|
+
await wo.insertBulk([{ id: 'id-bulk3', name: 'bulk3' }, { id: 'id-peter', name: 'conflict' }])
|
|
227
|
+
.then(function(msg) {
|
|
228
|
+
console.log('insertBulk by data with existed id then', msg)
|
|
229
|
+
})
|
|
230
|
+
.catch(function(msg) {
|
|
231
|
+
console.log('insertBulk by data with existed id catch', msg.toString())
|
|
232
|
+
})
|
|
233
|
+
|
|
234
|
+
//select all, 可見id-bulk3因整批reject而未寫入
|
|
235
|
+
let sb2 = await wo.select()
|
|
236
|
+
console.log('ids after insertBulk', _.map(_.sortBy(sb2, 'id'), 'id'))
|
|
237
|
+
|
|
238
|
+
//insert by returnList, 回傳與輸入等長保序之逐筆結果, nInserted為1即該筆為新增
|
|
239
|
+
//聚合計數只回答有幾筆是新的, 逐筆結果方能回答是哪幾筆, 供下游僅對新資料執行昂貴動作
|
|
240
|
+
let rl = await wo.insert([{ id: 'id-peter', name: 'dup' }, { id: 'id-new1', name: 'new1' }], { returnList: true })
|
|
241
|
+
console.log('insert by returnList', rl)
|
|
242
|
+
|
|
243
|
+
//filter, 以逐筆結果對位取出新增之數據
|
|
244
|
+
let fresh = [{ id: 'id-peter', name: 'dup' }, { id: 'id-new1', name: 'new1' }].filter(function(v, i) {
|
|
245
|
+
return rl[i].nInserted === 1
|
|
246
|
+
})
|
|
247
|
+
console.log('fresh by returnList', _.map(fresh, 'id'))
|
|
248
|
+
|
|
215
249
|
}
|
|
216
250
|
test()
|
|
217
251
|
// change delAll
|
|
218
|
-
// delAll then { n:
|
|
252
|
+
// delAll then { n: 5, nDeleted: 5, ok: 1 }
|
|
219
253
|
// change insert
|
|
220
254
|
// insert then { n: 3, nInserted: 3, ok: 1 }
|
|
221
255
|
// change save
|
|
@@ -263,4 +297,12 @@ test()
|
|
|
263
297
|
// error del can not delete by invalid id[]
|
|
264
298
|
// change del
|
|
265
299
|
// del by data without id then [ { n: 0, nDeleted: 0, ok: 0, err: 'can not delete by invalid id[]' } ]
|
|
300
|
+
// change insertBulk
|
|
301
|
+
// insertBulk then { n: 2, nInserted: 2, ok: 1 }
|
|
302
|
+
// error insertBulk can not insertBulk by existed id[id-peter]
|
|
303
|
+
// insertBulk by data with existed id catch Error: can not insertBulk by existed id[id-peter]
|
|
304
|
+
// ids after insertBulk [ 'id-bulk1', 'id-bulk2', 'id-peter', 'id-rosemary' ]
|
|
305
|
+
// change insert
|
|
306
|
+
// insert by returnList [ { n: 1, nInserted: 0, ok: 1 }, { n: 1, nInserted: 1, ok: 1 } ]
|
|
307
|
+
// fresh by returnList [ 'id-new1' ]
|
|
266
308
|
```
|
package/dist/w-orm-lmdb.umd.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* w-orm-lmdb v1.0.
|
|
2
|
+
* w-orm-lmdb v1.0.20
|
|
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("lmdb"),require("mingo")):"function"==typeof define&&define.amd?define(["lmdb","mingo"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-orm-lmdb"]=e(t.lmdb,t.mingo)}(this,function(t,e){"use strict";function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var n=r(e),o=Object.prototype;function u(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||o)}function i(t,e){return function(r){return t(e(r))}}var c=i(Object.keys,Object),a=Object.prototype.hasOwnProperty;function f(t){if(!u(t))return c(t);var e=[];for(var r in Object(t))a.call(t,r)&&"constructor"!=r&&e.push(r);return e}var l="object"==typeof global&&global&&global.Object===Object&&global,s="object"==typeof self&&self&&self.Object===Object&&self,p=l||s||Function("return this")(),v=p.Symbol,y=Object.prototype,b=y.hasOwnProperty,h=y.toString,d=v?v.toStringTag:void 0;var j=Object.prototype.toString;var g=v?v.toStringTag:void 0;function _(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":g&&g in Object(t)?function(t){var e=b.call(t,d),r=t[d];try{t[d]=void 0;var n=!0}catch(t){}var o=h.call(t);return n&&(e?t[d]=r:delete t[d]),o}(t):function(t){return j.call(t)}(t)}function w(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function m(t){if(!w(t))return!1;var e=_(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var O,A=p["__core-js_shared__"],x=(O=/[^.]+$/.exec(A&&A.keys&&A.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 k=/^\[object .+?Constructor\]$/,I=Function.prototype,z=Object.prototype,E=I.toString,$=z.hasOwnProperty,M=RegExp("^"+E.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function F(t){return!(!w(t)||(e=t,x&&x in e))&&(m(t)?M:k).test(P(t));var e}function U(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return F(r)?r:void 0}var D=U(p,"DataView"),N=U(p,"Map"),B=U(p,"Promise"),C=U(p,"Set"),T=U(p,"WeakMap"),L="[object Map]",R="[object Promise]",q="[object Set]",V="[object WeakMap]",G="[object DataView]",W=P(D),Q=P(N),J=P(B),H=P(C),K=P(T),X=_;(D&&X(new D(new ArrayBuffer(1)))!=G||N&&X(new N)!=L||B&&X(B.resolve())!=R||C&&X(new C)!=q||T&&X(new T)!=V)&&(X=function(t){var e=_(t),r="[object Object]"==e?t.constructor:void 0,n=r?P(r):"";if(n)switch(n){case W:return G;case Q:return L;case J:return R;case H:return q;case K:return V}return e});var Y=X;function Z(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function tt(t){return null!=t&&Z(t.length)&&!m(t)}var et=Array.isArray;function rt(t){return null!=t&&"object"==typeof t}function nt(t){return function(e){return null==e?void 0:e[t]}}var ot=nt("length"),ut=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var it="\\ud800-\\udfff",ct="["+it+"]",at="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ft="\\ud83c[\\udffb-\\udfff]",lt="[^"+it+"]",st="(?:\\ud83c[\\udde6-\\uddff]){2}",pt="[\\ud800-\\udbff][\\udc00-\\udfff]",vt="(?:"+at+"|"+ft+")"+"?",yt="[\\ufe0e\\ufe0f]?",bt=yt+vt+("(?:\\u200d(?:"+[lt,st,pt].join("|")+")"+yt+vt+")*"),ht="(?:"+[lt+at+"?",at,st,pt,ct].join("|")+")",dt=RegExp(ft+"(?="+ft+")|"+ht+bt,"g");function jt(t){return function(t){return ut.test(t)}(t)?function(t){for(var e=dt.lastIndex=0;dt.test(t);)++e;return e}(t):ot(t)}function gt(t){if(null==t)return 0;if(tt(t))return"string"==typeof(e=t)||!et(e)&&rt(e)&&"[object String]"==_(e)?jt(t):t.length;var e,r=Y(t);return"[object Map]"==r||"[object Set]"==r?t.size:f(t).length}function _t(t){return"symbol"==typeof t||rt(t)&&"[object Symbol]"==_(t)}var wt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mt=/^\w*$/;function Ot(t,e){if(et(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!_t(t))||(mt.test(t)||!wt.test(t)||null!=e&&t in Object(e))}var At=U(Object,"create");var xt=Object.prototype.hasOwnProperty;var St=Object.prototype.hasOwnProperty;function Pt(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){return t===e||t!=t&&e!=e}function It(t,e){for(var r=t.length;r--;)if(kt(t[r][0],e))return r;return-1}Pt.prototype.clear=function(){this.__data__=At?At(null):{},this.size=0},Pt.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Pt.prototype.get=function(t){var e=this.__data__;if(At){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return xt.call(e,t)?e[t]:void 0},Pt.prototype.has=function(t){var e=this.__data__;return At?void 0!==e[t]:St.call(e,t)},Pt.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 zt=Array.prototype.splice;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){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 Mt(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])}}Et.prototype.clear=function(){this.__data__=[],this.size=0},Et.prototype.delete=function(t){var e=this.__data__,r=It(e,t);return!(r<0)&&(r==e.length-1?e.pop():zt.call(e,r,1),--this.size,!0)},Et.prototype.get=function(t){var e=this.__data__,r=It(e,t);return r<0?void 0:e[r][1]},Et.prototype.has=function(t){return It(this.__data__,t)>-1},Et.prototype.set=function(t,e){var r=this.__data__,n=It(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this},Mt.prototype.clear=function(){this.size=0,this.__data__={hash:new Pt,map:new(N||Et),string:new Pt}},Mt.prototype.delete=function(t){var e=$t(this,t).delete(t);return this.size-=e?1:0,e},Mt.prototype.get=function(t){return $t(this,t).get(t)},Mt.prototype.has=function(t){return $t(this,t).has(t)},Mt.prototype.set=function(t,e){var r=$t(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Ft(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(Ft.Cache||Mt),r}Ft.Cache=Mt;var Ut,Dt,Nt,Bt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ct=/\\(\\)?/g,Tt=(Ut=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Bt,function(t,r,n,o){e.push(n?o.replace(Ct,"$1"):r||t)}),e},Dt=Ft(Ut,function(t){return 500===Nt.size&&Nt.clear(),t}),Nt=Dt.cache,Dt),Lt=Tt;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 qt=v?v.prototype:void 0,Vt=qt?qt.toString:void 0;function Gt(t){if("string"==typeof t)return t;if(et(t))return Rt(t,Gt)+"";if(_t(t))return Vt?Vt.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Wt(t){return null==t?"":Gt(t)}function Qt(t,e){return et(t)?t:Ot(t,e)?[t]:Lt(Wt(t))}function Jt(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=Qt(e,t)).length;null!=t&&r<n;)t=t[Jt(e[r++])];return r&&r==n?t:void 0}function Kt(t,e,r){var n=null==t?void 0:Ht(t,e);return void 0===n?r:n}function Xt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}var Yt,Zt=function(t,e,r){for(var n=-1,o=Object(t),u=r(t),i=u.length;i--;){var c=u[Yt?i:++n];if(!1===e(o[c],c,o))break}return t};function te(t){return rt(t)&&"[object Arguments]"==_(t)}var ee=Object.prototype,re=ee.hasOwnProperty,ne=ee.propertyIsEnumerable,oe=te(function(){return arguments}())?te:function(t){return rt(t)&&re.call(t,"callee")&&!ne.call(t,"callee")},ue=oe;var ie="object"==typeof exports&&exports&&!exports.nodeType&&exports,ce=ie&&"object"==typeof module&&module&&!module.nodeType&&module,ae=ce&&ce.exports===ie?p.Buffer:void 0,fe=(ae?ae.isBuffer:void 0)||function(){return!1},le=/^(?:0|[1-9]\d*)$/;function se(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&le.test(t))&&t>-1&&t%1==0&&t<e}var pe={};function ve(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 ye="object"==typeof exports&&exports&&!exports.nodeType&&exports,be=ye&&"object"==typeof module&&module&&!module.nodeType&&module,he=be&&be.exports===ye&&l.process,de=function(){try{var t=be&&be.require&&be.require("util").types;return t||he&&he.binding&&he.binding("util")}catch(t){}}(),je=de&&de.isTypedArray,ge=je?ve(je):function(t){return rt(t)&&Z(t.length)&&!!pe[_(t)]},_e=Object.prototype.hasOwnProperty;function we(t,e){var r=et(t),n=!r&&ue(t),o=!r&&!n&&fe(t),u=!r&&!n&&!o&&ge(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&&!_e.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 tt(t)?we(t):f(t)}var Oe=function(t,e){return function(r,n){if(null==r)return r;if(!tt(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&&Zt(t,e,me)}),Ae=Oe;function xe(t){return t}function Se(t,e){var r;return(et(t)?Xt:Ae)(t,"function"==typeof(r=e)?r:xe)}function Pe(t){var e=this.__data__=new Et(t);this.size=e.size}Pe.prototype.clear=function(){this.__data__=new Et,this.size=0},Pe.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Pe.prototype.get=function(t){return this.__data__.get(t)},Pe.prototype.has=function(t){return this.__data__.has(t)},Pe.prototype.set=function(t,e){var r=this.__data__;if(r instanceof Et){var n=r.__data__;if(!N||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Mt(n)}return r.set(t,e),this.size=r.size,this};function ke(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Mt;++e<r;)this.add(t[e])}function Ie(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 ze(t,e){return t.has(e)}ke.prototype.add=ke.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},ke.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,p=!0,v=2&r?new ke:void 0;for(u.set(t,e),u.set(e,t);++s<c;){var y=t[s],b=e[s];if(n)var h=i?n(b,y,s,e,t,u):n(y,b,s,t,e,u);if(void 0!==h){if(h)continue;p=!1;break}if(v){if(!Ie(e,function(t,e){if(!ze(v,e)&&(y===t||o(y,t,r,n,u)))return v.push(e)})){p=!1;break}}else if(y!==b&&!o(y,b,r,n,u)){p=!1;break}}return u.delete(t),u.delete(e),p}var $e=p.Uint8Array;function Me(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function Fe(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}var Ue=v?v.prototype:void 0,De=Ue?Ue.valueOf:void 0;function Ne(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}function Be(t,e,r){var n=e(t);return et(t)?n:Ne(n,r(t))}function Ce(){return[]}var Te=Object.prototype.propertyIsEnumerable,Le=Object.getOwnPropertySymbols,Re=Le?function(t){return null==t?[]:(t=Object(t),function(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}(Le(t),function(e){return Te.call(t,e)}))}:Ce,qe=Re;function Ve(t){return Be(t,me,qe)}var Ge=Object.prototype.hasOwnProperty;var We="[object Arguments]",Qe="[object Array]",Je="[object Object]",He=Object.prototype.hasOwnProperty;function Ke(t,e,r,n,o,u){var i=et(t),c=et(e),a=i?Qe:Y(t),f=c?Qe:Y(e),l=(a=a==We?Je:a)==Je,s=(f=f==We?Je:f)==Je,p=a==f;if(p&&fe(t)){if(!fe(e))return!1;i=!0,l=!1}if(p&&!l)return u||(u=new Pe),i||ge(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 $e(t),new $e(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return kt(+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=Me;case"[object Set]":var a=1&n;if(c||(c=Fe),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(De)return De.call(t)==De.call(e)}return!1}(t,e,a,r,n,o,u);if(!(1&r)){var v=l&&He.call(t,"__wrapped__"),y=s&&He.call(e,"__wrapped__");if(v||y){var b=v?t.value():t,h=y?e.value():e;return u||(u=new Pe),o(b,h,r,n,u)}}return!!p&&(u||(u=new Pe),function(t,e,r,n,o,u){var i=1&r,c=Ve(t),a=c.length;if(a!=Ve(e).length&&!i)return!1;for(var f=a;f--;){var l=c[f];if(!(i?l in e:Ge.call(e,l)))return!1}var s=u.get(t),p=u.get(e);if(s&&p)return s==e&&p==t;var v=!0;u.set(t,e),u.set(e,t);for(var y=i;++f<a;){var b=t[l=c[f]],h=e[l];if(n)var d=i?n(h,b,l,e,t,u):n(b,h,l,t,e,u);if(!(void 0===d?b===h||o(b,h,r,n,u):d)){v=!1;break}y||(y="constructor"==l)}if(v&&!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||(v=!1)}return u.delete(t),u.delete(e),v}(t,e,r,n,o,u))}function Xe(t,e,r,n,o){return t===e||(null==t||null==e||!rt(t)&&!rt(e)?t!=t&&e!=e:Ke(t,e,r,n,Xe,o))}function Ye(t){return t==t&&!w(t)}function Ze(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}function tr(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,Ye(o)]}return e}(t);return 1==e.length&&e[0][2]?Ze(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 Pe;if(n)var p=n(f,l,a,t,e,s);if(!(void 0===p?Xe(l,f,3,n,s):p))return!1}}return!0}(r,t,e)}}function er(t,e){return null!=t&&e in Object(t)}function rr(t,e){return null!=t&&function(t,e,r){for(var n=-1,o=(e=Qt(e,t)).length,u=!1;++n<o;){var i=Jt(e[n]);if(!(u=null!=t&&r(t,i)))break;t=t[i]}return u||++n!=o?u:!!(o=null==t?0:t.length)&&Z(o)&&se(i,o)&&(et(t)||ue(t))}(t,e,er)}function nr(t){return Ot(t)?nt(Jt(t)):function(t){return function(e){return Ht(e,t)}}(t)}function or(t){return"function"==typeof t?t:null==t?xe:"object"==typeof t?et(t)?(e=t[0],r=t[1],Ot(e)&&Ye(r)?Ze(Jt(e),r):function(t){var n=Kt(t,e);return void 0===n&&n===r?rr(t,e):Xe(r,n,3)}):tr(t):nr(t);var e,r}function ur(t,e){var r=-1,n=tt(t)?Array(t.length):[];return Ae(t,function(t,o,u){n[++r]=e(t,o,u)}),n}function ir(t,e){return(et(t)?Rt:ur)(t,or(e))}var cr=function(){try{var t=U(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}function lr(t,e,r){(void 0!==r&&!kt(t[e],r)||void 0===r&&!(e in t))&&fr(t,e,r)}var sr="object"==typeof exports&&exports&&!exports.nodeType&&exports,pr=sr&&"object"==typeof module&&module&&!module.nodeType&&module,vr=pr&&pr.exports===sr?p.Buffer:void 0,yr=vr?vr.allocUnsafe:void 0;function br(t,e){if(e)return t.slice();var r=t.length,n=yr?yr(r):new t.constructor(r);return t.copy(n),n}function hr(t){var e=new t.constructor(t.byteLength);return new $e(e).set(new $e(t)),e}function dr(t,e){var r=e?hr(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}function jr(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var gr=Object.create,_r=function(){function t(){}return function(e){if(!w(e))return{};if(gr)return gr(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),wr=_r,mr=i(Object.getPrototypeOf,Object);function Or(t){return"function"!=typeof t.constructor||u(t)?{}:wr(mr(t))}var Ar=Function.prototype,xr=Object.prototype,Sr=Ar.toString,Pr=xr.hasOwnProperty,kr=Sr.call(Object);function Ir(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var zr=Object.prototype.hasOwnProperty;function Er(t,e,r){var n=t[e];zr.call(t,e)&&kt(n,r)&&(void 0!==r||e in t)||fr(t,e,r)}function $r(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):Er(r,c,a)}return r}var Mr=Object.prototype.hasOwnProperty;function Fr(t){if(!w(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=u(t),r=[];for(var n in t)("constructor"!=n||!e&&Mr.call(t,n))&&r.push(n);return r}function Ur(t){return tt(t)?we(t,!0):Fr(t)}function Dr(t,e,r,n,o,u,i){var c=Ir(t,r),a=Ir(e,r),f=i.get(a);if(f)lr(t,r,f);else{var l,s=u?u(c,a,r+"",t,e,i):void 0,p=void 0===s;if(p){var v=et(a),y=!v&&fe(a),b=!v&&!y&&ge(a);s=a,v||y||b?et(c)?s=c:rt(l=c)&&tt(l)?s=jr(c):y?(p=!1,s=br(a,!0)):b?(p=!1,s=dr(a,!0)):s=[]:function(t){if(!rt(t)||"[object Object]"!=_(t))return!1;var e=mr(t);if(null===e)return!0;var r=Pr.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&Sr.call(r)==kr}(a)||ue(a)?(s=c,ue(c)?s=function(t){return $r(t,Ur(t))}(c):w(c)&&!m(c)||(s=Or(a))):p=!1}p&&(i.set(a,s),o(s,a,n,u,i),i.delete(a)),lr(t,r,s)}}function Nr(t,e,r,n,o){t!==e&&Zt(e,function(u,i){if(o||(o=new Pe),w(u))Dr(t,e,i,r,Nr,n,o);else{var c=n?n(Ir(t,i),u,i+"",t,e,o):void 0;void 0===c&&(c=u),lr(t,i,c)}},Ur)}var Br=Math.max;var Cr=ar?function(t,e){return ar(t,"toString",{configurable:!0,enumerable:!1,value:(r=e,function(){return r}),writable:!0});var r}:xe,Tr=Cr,Lr=Date.now;var Rr=function(t){var e=0,r=0;return function(){var n=Lr(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Tr),qr=Rr;function Vr(t,e){return qr(function(t,e,r){return e=Br(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,u=Br(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,e,xe),t+"")}var Gr,Wr=(Gr=function(t,e,r){Nr(t,e,r)},Vr(function(t,e){var r=-1,n=e.length,o=n>1?e[n-1]:void 0,u=n>2?e[2]:void 0;for(o=Gr.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,e,r){if(!w(r))return!1;var n=typeof e;return!!("number"==n?tt(r)&&se(e,r.length):"string"==n&&e in r)&&kt(r[e],t)}(e[0],e[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++r<n;){var i=e[r];i&&Gr(t,i,r,o)}return t}));function Qr(t,e){return Xe(t,e)}var Jr=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Ne(e,qe(t)),t=mr(t);return e}:Ce,Hr=Jr;function Kr(t){return Be(t,Ur,Hr)}var Xr=Object.prototype.hasOwnProperty;var Yr=/\w*$/;var Zr=v?v.prototype:void 0,tn=Zr?Zr.valueOf:void 0;function en(t,e,r){var n,o=t.constructor;switch(e){case"[object ArrayBuffer]":return hr(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var r=e?hr(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 dr(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,Yr.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,tn?Object(tn.call(n)):{}}}var rn=de&&de.isMap,nn=rn?ve(rn):function(t){return rt(t)&&"[object Map]"==Y(t)};var on=de&&de.isSet,un=on?ve(on):function(t){return rt(t)&&"[object Set]"==Y(t)},cn="[object Arguments]",an="[object Function]",fn="[object Object]",ln={};function sn(t,e,r,n,o,u){var i,c=1&e,a=2&e,f=4&e;if(r&&(i=o?r(t,n,o,u):r(t)),void 0!==i)return i;if(!w(t))return t;var l=et(t);if(l){if(i=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Xr.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!c)return jr(t,i)}else{var s=Y(t),p=s==an||"[object GeneratorFunction]"==s;if(fe(t))return br(t,c);if(s==fn||s==cn||p&&!o){if(i=a||p?{}:Or(t),!c)return a?function(t,e){return $r(t,Hr(t),e)}(t,function(t,e){return t&&$r(e,Ur(e),t)}(i,t)):function(t,e){return $r(t,qe(t),e)}(t,function(t,e){return t&&$r(e,me(e),t)}(i,t))}else{if(!ln[s])return o?t:{};i=en(t,s,c)}}u||(u=new Pe);var v=u.get(t);if(v)return v;u.set(t,i),un(t)?t.forEach(function(n){i.add(sn(n,e,r,n,t,u))}):nn(t)&&t.forEach(function(n,o){i.set(o,sn(n,e,r,o,t,u))});var y=l?void 0:(f?a?Kr:Ve:a?Ur:me)(t);return Xt(y||t,function(n,o){y&&(n=t[o=n]),Er(i,o,sn(n,e,r,o,t,u))}),i}ln[cn]=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[fn]=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[an]=ln["[object WeakMap]"]=!1;function pn(t){return sn(t,5)}function vn(t){return"[object String]"===Object.prototype.toString.call(t)}function yn(t){return!(!vn(t)||""===t)}function bn(t){return"[object Array]"===Object.prototype.toString.call(t)}function hn(t){return"[object Object]"===Object.prototype.toString.call(t)}function dn(t){return t!=t}function jn(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(hn(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!vn(t)||""!==t)}(t)||(!!function(t){return!!bn(t)&&0===t.length}(t)||!!dn(t)))))}function gn(t){return!!bn(t)&&(0!==t.length&&(1!==t.length||!jn(t[0])))}function _n(t){if(hn(t)){for(let e in t)return!0;return!1}return!1}function wn(t){return!0===(e=t)||!1===e||rt(e)&&"[object Boolean]"==_(e);var e}function mn(t){let e=!1;if(yn(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(dn(t))return!1;e=!0}return e}function On(t,e){return!!hn(t)&&(!(!yn(e)&&!mn(e))&&e in t)}var An={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}function o(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function u(t,e,n,u,i){if("function"!=typeof n)throw new TypeError("The listener must be a function");var c=new o(n,u||t,i),a=r?r+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 n:delete t._events[e]}function c(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),c.prototype.eventNames=function(){var t,n,o=[];if(0===this._eventsCount)return o;for(n in t=this._events)e.call(t,n)&&o.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},c.prototype.listeners=function(t){var e=r?r+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,u=n.length,i=new Array(u);o<u;o++)i[o]=n[o].fn;return i},c.prototype.listenerCount=function(t){var e=r?r+t:t,n=this._events[e];return n?n.fn?1:n.length:0},c.prototype.emit=function(t,e,n,o,u,i){var c=r?r+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,n),!0;case 4:return l.fn.call(l.context,e,n,o),!0;case 5:return l.fn.call(l.context,e,n,o,u),!0;case 6:return l.fn.call(l.context,e,n,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 p,v=l.length;for(f=0;f<v;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,n);break;case 4:l[f].fn.call(l[f].context,e,n,o);break;default:if(!a)for(p=1,a=new Array(s-1);p<s;p++)a[p-1]=arguments[p];l[f].fn.apply(l[f].context,a)}}return!0},c.prototype.on=function(t,e,r){return u(this,t,e,r,!1)},c.prototype.once=function(t,e,r){return u(this,t,e,r,!0)},c.prototype.removeListener=function(t,e,n,o){var u=r?r+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||n&&c.context!==n||i(this,u);else{for(var a=0,f=[],l=c.length;a<l;a++)(c[a].fn!==e||o&&!c[a].once||n&&c[a].context!==n)&&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=r?r+t:t,this._events[e]&&i(this,e)):(this._events=new n,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t.exports=c}(An);var xn=r(An.exports);const Sn=[];for(let t=0;t<256;++t)Sn.push((t+256).toString(16).slice(1));const Pn=new Uint8Array(16);function kn(){return crypto.getRandomValues(Pn)}const In={};function zn(t,e,r){let n;if(t)n=En(t.random??t.rng?.()??kn(),t.msecs,t.seq,e,r);else{const t=Date.now(),o=kn();!function(t,e,r){t.msecs??=-1/0,t.seq??=0,e>t.msecs?(t.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],t.msecs=e):(t.seq=t.seq+1|0,0===t.seq&&t.msecs++)}(In,t,o),n=En(o,In.msecs,In.seq,e,r)}return e??function(t,e=0){return(Sn[t[e+0]]+Sn[t[e+1]]+Sn[t[e+2]]+Sn[t[e+3]]+"-"+Sn[t[e+4]]+Sn[t[e+5]]+"-"+Sn[t[e+6]]+Sn[t[e+7]]+"-"+Sn[t[e+8]]+Sn[t[e+9]]+"-"+Sn[t[e+10]]+Sn[t[e+11]]+Sn[t[e+12]]+Sn[t[e+13]]+Sn[t[e+14]]+Sn[t[e+15]]).toLowerCase()}(n)}function En(t,e,r,n,o=0){if(t.length<16)throw new Error("Random bytes length must be >= 16");if(n){if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`)}else n=new Uint8Array(16),o=0;return e??=Date.now(),r??=127*t[6]<<24|t[7]<<16|t[8]<<8|t[9],n[o++]=e/1099511627776&255,n[o++]=e/4294967296&255,n[o++]=e/16777216&255,n[o++]=e/65536&255,n[o++]=e/256&255,n[o++]=255&e,n[o++]=112|r>>>28&15,n[o++]=r>>>20&255,n[o++]=128|r>>>14&63,n[o++]=r>>>6&255,n[o++]=r<<2&255|3&t[10],n[o++]=t[11],n[o++]=t[12],n[o++]=t[13],n[o++]=t[14],n[o++]=t[15],n}var $n=/\s/;var Mn=/^\s+/;function Fn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&$n.test(t.charAt(e)););return e}(t)+1).replace(Mn,""):t}var Un=/^[-+]0x[0-9a-f]+$/i,Dn=/^0b[01]+$/i,Nn=/^0o[0-7]+$/i,Bn=parseInt;function Cn(t){if("number"==typeof t)return t;if(_t(t))return NaN;if(w(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=w(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Fn(t);var r=Dn.test(t);return r||Nn.test(t)?Bn(t.slice(2),r?2:8):Un.test(t)?NaN:+t}var Tn=1/0;function Ln(t){return t?(t=Cn(t))===Tn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Rn(t){var e=Ln(t),r=e%1;return e==e?r?e-r:e:0}function qn(t,e,r){var n=null==t?0:t.length;return n?function(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}(t,(e=r||void 0===e?1:Rn(e))<0?0:e,n):[]}function Vn(){let t,e,r=new Promise(function(){t=arguments[0],e=arguments[1]});return r.resolve=t,r.reject=e,r}function Gn(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}function Wn(t,e){let r=Vn();if(!bn(t)&&!hn(t))return r.reject("rs is not an array or object"),r;let n=!1;if(hn(t)){n=!0;let e=[];Se(t,(t,r)=>{e.push({k:r,v:t})}),t=e}Gn(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),Gn(e)?e(c,i):c})},Promise.resolve()).then(function(t){u.push(t),u=qn(u),r.resolve(u)}).catch(function(t){r.reject(t)}),r}function Qn(t){if(!mn(t))return 0;return Ln(t)}function Jn(t){return!!mn(t)&&(t=Qn(t),"number"==typeof(e=t)&&e==Rn(e));var e}var Hn=p.isFinite,Kn=Math.min;var Xn=function(t){var e=Math[t];return function(t,r){if(t=Cn(t),(r=null==r?0:Kn(Rn(r),292))&&Hn(t)){var n=(Wt(t)+"e").split("e");return+((n=(Wt(e(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return e(t)}}("round"),Yn=Xn;function Zn(t){if(!Jn(t))return!1;let e=function(t){if(!mn(t))return 0;t=Qn(t);let e=Yn(t);return"0"===String(e)?0:e}(t)>0;return e}async function to(t,e={}){let r=null,n=Vn();if(!Gn(t))return n.reject("waitfunction需輸入函數f"),n;let o=async()=>{let e=t();return function(t){let e,r=Object.prototype.toString.call(t);if(e="[object Promise]"===r,e)return!0;if("[object Function]"!==r)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}(e)&&(e=await e),e};if(r=await o(),!0===r)return n.resolve(),n;let u=Kt(e,"attemptNum",null);Zn(u)||(u=200);let i=Kt(e,"timeInterval",null);Zn(i)||(i=1e3);let c=0,a=setInterval(async()=>{c+=1,r=await o(),!0===r&&(clearInterval(a),n.resolve()),c>u&&(clearInterval(a),n.reject(`exceeded attemptNum[${u}]`))},i);return n}return function(e={}){let r=null,o=Kt(e,"url");yn(o)||(o="./_db");let u=Kt(e,"db");yn(u)||(u="worm");let i=Kt(e,"cl");yn(i)||(i="test");let c=Kt(e,"useCache");wn(c)||(c=!1);let a=Kt(e,"autoGenPk");wn(a)||(a=!0);let f=`${o}/${u}/${i}`,l=t.open({path:f,compression:!0,useVersions:!0}),s=new xn,p=async()=>{if(c&&bn(r))return pn(r);await v();let t=[];for await(let{value:e}of l.getRange())t.push(e);return c?(r=t,pn(t)):t},v=async()=>{await to(()=>("closed"===l.status&&console.log(`client.status[${l.status}], level is closed`),"open"===l.status))},y=(t,e,r)=>{try{s.emit("change",t,e,r)}catch(t){console.log(t)}},b=(t,e,r)=>{try{s.emit("error",t,e,h(r))}catch(t){console.log(t)}},h=t=>{let e=Kt(t,"message");return yn(e)?e:String(t)},d=(t,e)=>a?ir(t,function(t){return yn(t.id)||(t.id=zn()),t}):(Se(t,function(t,r){if(!yn(Kt(t,"id")))throw new Error(`can not ${e} by data[${r}] without valid id when autoGenPk is false`)}),t),j=async t=>{let e=null;try{e=await l.get(t)}catch(t){}return e};return s.select=async function(t={}){let e=!1,r=null;try{let o=await p();if(_n(t)){r=new n.Query(t).find(o).all()}else r=o;bn(r)||(e=!0,r=`can not select by find[${JSON.stringify(t)}]`)}catch(t){e=!0,r=t}return e?(b("select",null,r),Promise.reject(r)):r},s.selectByPk=async function(t){let e=!1,r=null;try{if(!yn(t))return null;await v();let e=await j(t);r=_n(e)?e:null}catch(t){e=!0,r=t}return e?(b("selectByPk",null,r),Promise.reject(r)):r},s.insert=async function(t){let e=!1;if(!_n(t)&&!gn(t))return{n:0,nInserted:0,ok:1};t=pn(t);let n=null;try{bn(t)||(t=[t]);let e=gt(t=d(t,"insert")),r=await Promise.all(ir(t,function(t){return l.ifNoExists(t.id,()=>{l.put(t.id,t)})})),o=0;Se(r,function(t){t&&o++}),n={n:e,nInserted:o,ok:1}}catch(t){e=!0,n=t}return r=null,e||y("insert",t,n),e?(b("insert",t,n),Promise.reject(n)):n},s.save=async function(t,e={}){let n=!1;if(!_n(t)&&!gn(t))return[];t=pn(t);let o=Kt(e,"autoInsert",!0),u=null;try{bn(t)||(t=[t]),t=d(t,"save"),u=await Wn(t,async t=>{let e=null,n=!1;try{let r=await j(t.id);if(_n(r)&&Qr(Wr({},r,t),r))return{n:1,nInserted:0,nModified:0,ok:1};let u=!1,i=!1;await l.transaction(()=>{let e=l.get(t.id);if(u=_n(e),u){let r=Wr({},e,t);Qr(r,e)||(l.put(t.id,r),i=!0)}else o&&(l.put(t.id,t),n=!0)}),e=n?{n:1,nInserted:1,nModified:0,ok:1}:i?{n:1,nInserted:0,nModified:1,ok:1}:{n:u?1:0,nInserted:0,nModified:0,ok:1}}catch(t){e={n:1,nInserted:0,nModified:0,ok:0,err:h(t)}}return n&&(r=null,y("insert",[t],e)),0===e.ok&&b("save",[t],e.err),e})}catch(t){n=!0,u=t}return r=null,n||y("save",t,u),n?(b("save",t,u),Promise.reject(u)):u},s.del=async function(t){let e=!1;if(!_n(t)&&!gn(t))return[];t=pn(t);let n=null;try{bn(t)||(t=[t]),n=await Wn(t,async t=>{let e=null;try{let r=Kt(t,"id","");if(yn(r)){_n(await j(r))?(await l.del(r),e={n:1,nDeleted:1,ok:1}):e={n:0,nDeleted:0,ok:1}}else e={n:0,nDeleted:0,ok:0,err:`can not delete by invalid id[${r}]`}}catch(t){e={n:1,nDeleted:0,ok:0,err:h(t)}}return 0===e.ok&&b("del",[t],e.err),e})}catch(t){e=!0,n=t}return r=null,e||y("del",t,n),e?(b("del",t,n),Promise.reject(n)):n},s.delAll=async function(t={}){let e=!1,o=null;try{let e=await p(),r=gt(e),u=0;if(_n(t)){let o=new n.Query(t).find(e).all();if(u=gt(o),0===u);else if(r===u)for(let t of e)await l.del(t.id);else{let t={};Se(o,(e,r)=>{t[e.id]={k:r,v:e}});for(let r of e)On(t,r.id)&&await l.del(r.id)}}else{u=r;for(let t of e)await l.del(t.id)}o={n:u,nDeleted:u,ok:1}}catch(t){e=!0,o=t}return r=null,e||y("delAll",null,o),e?(b("delAll",null,o),Promise.reject(o)):o},s.close=async()=>{l&&"closed"!==l.status&&await l.close()},s}});
|
|
6
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("lmdb"),require("mingo")):"function"==typeof define&&define.amd?define(["lmdb","mingo"],e):(t="undefined"!=typeof globalThis?globalThis:t||self)["w-orm-lmdb"]=e(t.lmdb,t.mingo)}(this,function(t,e){"use strict";function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var n=r(e),o=Object.prototype;function u(t){var e=t&&t.constructor;return t===("function"==typeof e&&e.prototype||o)}function i(t,e){return function(r){return t(e(r))}}var c=i(Object.keys,Object),a=Object.prototype.hasOwnProperty;function f(t){if(!u(t))return c(t);var e=[];for(var r in Object(t))a.call(t,r)&&"constructor"!=r&&e.push(r);return e}var l="object"==typeof global&&global&&global.Object===Object&&global,s="object"==typeof self&&self&&self.Object===Object&&self,p=l||s||Function("return this")(),v=p.Symbol,y=Object.prototype,b=y.hasOwnProperty,d=y.toString,h=v?v.toStringTag:void 0;var j=Object.prototype.toString;var g=v?v.toStringTag:void 0;function _(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":g&&g in Object(t)?function(t){var e=b.call(t,h),r=t[h];try{t[h]=void 0;var n=!0}catch(t){}var o=d.call(t);return n&&(e?t[h]=r:delete t[h]),o}(t):function(t){return j.call(t)}(t)}function w(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function m(t){if(!w(t))return!1;var e=_(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var O,A=p["__core-js_shared__"],x=(O=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||""))?"Symbol(src)_1."+O:"";var k=Function.prototype.toString;function S(t){if(null!=t){try{return k.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var P=/^\[object .+?Constructor\]$/,I=Function.prototype,E=Object.prototype,z=I.toString,$=E.hasOwnProperty,B=RegExp("^"+z.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function M(t){return!(!w(t)||(e=t,x&&x in e))&&(m(t)?B:P).test(S(t));var e}function F(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return M(r)?r:void 0}var N=F(p,"DataView"),U=F(p,"Map"),D=F(p,"Promise"),T=F(p,"Set"),C=F(p,"WeakMap"),L="[object Map]",R="[object Promise]",q="[object Set]",V="[object WeakMap]",G="[object DataView]",W=S(N),Q=S(U),J=S(D),H=S(T),K=S(C),X=_;(N&&X(new N(new ArrayBuffer(1)))!=G||U&&X(new U)!=L||D&&X(D.resolve())!=R||T&&X(new T)!=q||C&&X(new C)!=V)&&(X=function(t){var e=_(t),r="[object Object]"==e?t.constructor:void 0,n=r?S(r):"";if(n)switch(n){case W:return G;case Q:return L;case J:return R;case H:return q;case K:return V}return e});var Y=X;function Z(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}function tt(t){return null!=t&&Z(t.length)&&!m(t)}var et=Array.isArray;function rt(t){return null!=t&&"object"==typeof t}function nt(t){return function(e){return null==e?void 0:e[t]}}var ot=nt("length"),ut=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");var it="\\ud800-\\udfff",ct="["+it+"]",at="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",ft="\\ud83c[\\udffb-\\udfff]",lt="[^"+it+"]",st="(?:\\ud83c[\\udde6-\\uddff]){2}",pt="[\\ud800-\\udbff][\\udc00-\\udfff]",vt="(?:"+at+"|"+ft+")"+"?",yt="[\\ufe0e\\ufe0f]?",bt=yt+vt+("(?:\\u200d(?:"+[lt,st,pt].join("|")+")"+yt+vt+")*"),dt="(?:"+[lt+at+"?",at,st,pt,ct].join("|")+")",ht=RegExp(ft+"(?="+ft+")|"+dt+bt,"g");function jt(t){return function(t){return ut.test(t)}(t)?function(t){for(var e=ht.lastIndex=0;ht.test(t);)++e;return e}(t):ot(t)}function gt(t){if(null==t)return 0;if(tt(t))return"string"==typeof(e=t)||!et(e)&&rt(e)&&"[object String]"==_(e)?jt(t):t.length;var e,r=Y(t);return"[object Map]"==r||"[object Set]"==r?t.size:f(t).length}function _t(t){return"symbol"==typeof t||rt(t)&&"[object Symbol]"==_(t)}var wt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mt=/^\w*$/;function Ot(t,e){if(et(t))return!1;var r=typeof t;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=t&&!_t(t))||(mt.test(t)||!wt.test(t)||null!=e&&t in Object(e))}var At=F(Object,"create");var xt=Object.prototype.hasOwnProperty;var kt=Object.prototype.hasOwnProperty;function St(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 Pt(t,e){return t===e||t!=t&&e!=e}function It(t,e){for(var r=t.length;r--;)if(Pt(t[r][0],e))return r;return-1}St.prototype.clear=function(){this.__data__=At?At(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(At){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return xt.call(e,t)?e[t]:void 0},St.prototype.has=function(t){var e=this.__data__;return At?void 0!==e[t]:kt.call(e,t)},St.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 Et=Array.prototype.splice;function zt(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){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 Bt(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])}}zt.prototype.clear=function(){this.__data__=[],this.size=0},zt.prototype.delete=function(t){var e=this.__data__,r=It(e,t);return!(r<0)&&(r==e.length-1?e.pop():Et.call(e,r,1),--this.size,!0)},zt.prototype.get=function(t){var e=this.__data__,r=It(e,t);return r<0?void 0:e[r][1]},zt.prototype.has=function(t){return It(this.__data__,t)>-1},zt.prototype.set=function(t,e){var r=this.__data__,n=It(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this},Bt.prototype.clear=function(){this.size=0,this.__data__={hash:new St,map:new(U||zt),string:new St}},Bt.prototype.delete=function(t){var e=$t(this,t).delete(t);return this.size-=e?1:0,e},Bt.prototype.get=function(t){return $t(this,t).get(t)},Bt.prototype.has=function(t){return $t(this,t).has(t)},Bt.prototype.set=function(t,e){var r=$t(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Mt(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(Mt.Cache||Bt),r}Mt.Cache=Bt;var Ft,Nt,Ut,Dt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Tt=/\\(\\)?/g,Ct=(Ft=function(t){var e=[];return 46===t.charCodeAt(0)&&e.push(""),t.replace(Dt,function(t,r,n,o){e.push(n?o.replace(Tt,"$1"):r||t)}),e},Nt=Mt(Ft,function(t){return 500===Ut.size&&Ut.clear(),t}),Ut=Nt.cache,Nt),Lt=Ct;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 qt=v?v.prototype:void 0,Vt=qt?qt.toString:void 0;function Gt(t){if("string"==typeof t)return t;if(et(t))return Rt(t,Gt)+"";if(_t(t))return Vt?Vt.call(t):"";var e=t+"";return"0"==e&&1/t==-1/0?"-0":e}function Wt(t){return null==t?"":Gt(t)}function Qt(t,e){return et(t)?t:Ot(t,e)?[t]:Lt(Wt(t))}function Jt(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=Qt(e,t)).length;null!=t&&r<n;)t=t[Jt(e[r++])];return r&&r==n?t:void 0}function Kt(t,e,r){var n=null==t?void 0:Ht(t,e);return void 0===n?r:n}function Xt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n&&!1!==e(t[r],r,t););return t}var Yt,Zt=function(t,e,r){for(var n=-1,o=Object(t),u=r(t),i=u.length;i--;){var c=u[Yt?i:++n];if(!1===e(o[c],c,o))break}return t};function te(t){return rt(t)&&"[object Arguments]"==_(t)}var ee=Object.prototype,re=ee.hasOwnProperty,ne=ee.propertyIsEnumerable,oe=te(function(){return arguments}())?te:function(t){return rt(t)&&re.call(t,"callee")&&!ne.call(t,"callee")},ue=oe;var ie="object"==typeof exports&&exports&&!exports.nodeType&&exports,ce=ie&&"object"==typeof module&&module&&!module.nodeType&&module,ae=ce&&ce.exports===ie?p.Buffer:void 0,fe=(ae?ae.isBuffer:void 0)||function(){return!1},le=/^(?:0|[1-9]\d*)$/;function se(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&le.test(t))&&t>-1&&t%1==0&&t<e}var pe={};function ve(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 ye="object"==typeof exports&&exports&&!exports.nodeType&&exports,be=ye&&"object"==typeof module&&module&&!module.nodeType&&module,de=be&&be.exports===ye&&l.process,he=function(){try{var t=be&&be.require&&be.require("util").types;return t||de&&de.binding&&de.binding("util")}catch(t){}}(),je=he&&he.isTypedArray,ge=je?ve(je):function(t){return rt(t)&&Z(t.length)&&!!pe[_(t)]},_e=Object.prototype.hasOwnProperty;function we(t,e){var r=et(t),n=!r&&ue(t),o=!r&&!n&&fe(t),u=!r&&!n&&!o&&ge(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&&!_e.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 tt(t)?we(t):f(t)}var Oe=function(t,e){return function(r,n){if(null==r)return r;if(!tt(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&&Zt(t,e,me)}),Ae=Oe;function xe(t){return t}function ke(t,e){var r;return(et(t)?Xt:Ae)(t,"function"==typeof(r=e)?r:xe)}function Se(t){var e=this.__data__=new zt(t);this.size=e.size}Se.prototype.clear=function(){this.__data__=new zt,this.size=0},Se.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Se.prototype.get=function(t){return this.__data__.get(t)},Se.prototype.has=function(t){return this.__data__.has(t)},Se.prototype.set=function(t,e){var r=this.__data__;if(r instanceof zt){var n=r.__data__;if(!U||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new Bt(n)}return r.set(t,e),this.size=r.size,this};function Pe(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new Bt;++e<r;)this.add(t[e])}function Ie(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 Ee(t,e){return t.has(e)}Pe.prototype.add=Pe.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Pe.prototype.has=function(t){return this.__data__.has(t)};function ze(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,p=!0,v=2&r?new Pe:void 0;for(u.set(t,e),u.set(e,t);++s<c;){var y=t[s],b=e[s];if(n)var d=i?n(b,y,s,e,t,u):n(y,b,s,t,e,u);if(void 0!==d){if(d)continue;p=!1;break}if(v){if(!Ie(e,function(t,e){if(!Ee(v,e)&&(y===t||o(y,t,r,n,u)))return v.push(e)})){p=!1;break}}else if(y!==b&&!o(y,b,r,n,u)){p=!1;break}}return u.delete(t),u.delete(e),p}var $e=p.Uint8Array;function Be(t){var e=-1,r=Array(t.size);return t.forEach(function(t,n){r[++e]=[n,t]}),r}function Me(t){var e=-1,r=Array(t.size);return t.forEach(function(t){r[++e]=t}),r}var Fe=v?v.prototype:void 0,Ne=Fe?Fe.valueOf:void 0;function Ue(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}function De(t,e,r){var n=e(t);return et(t)?n:Ue(n,r(t))}function Te(){return[]}var Ce=Object.prototype.propertyIsEnumerable,Le=Object.getOwnPropertySymbols,Re=Le?function(t){return null==t?[]:(t=Object(t),function(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}(Le(t),function(e){return Ce.call(t,e)}))}:Te,qe=Re;function Ve(t){return De(t,me,qe)}var Ge=Object.prototype.hasOwnProperty;var We="[object Arguments]",Qe="[object Array]",Je="[object Object]",He=Object.prototype.hasOwnProperty;function Ke(t,e,r,n,o,u){var i=et(t),c=et(e),a=i?Qe:Y(t),f=c?Qe:Y(e),l=(a=a==We?Je:a)==Je,s=(f=f==We?Je:f)==Je,p=a==f;if(p&&fe(t)){if(!fe(e))return!1;i=!0,l=!1}if(p&&!l)return u||(u=new Se),i||ge(t)?ze(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 $e(t),new $e(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=Be;case"[object Set]":var a=1&n;if(c||(c=Me),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=ze(c(t),c(e),n,o,u,i);return i.delete(t),l;case"[object Symbol]":if(Ne)return Ne.call(t)==Ne.call(e)}return!1}(t,e,a,r,n,o,u);if(!(1&r)){var v=l&&He.call(t,"__wrapped__"),y=s&&He.call(e,"__wrapped__");if(v||y){var b=v?t.value():t,d=y?e.value():e;return u||(u=new Se),o(b,d,r,n,u)}}return!!p&&(u||(u=new Se),function(t,e,r,n,o,u){var i=1&r,c=Ve(t),a=c.length;if(a!=Ve(e).length&&!i)return!1;for(var f=a;f--;){var l=c[f];if(!(i?l in e:Ge.call(e,l)))return!1}var s=u.get(t),p=u.get(e);if(s&&p)return s==e&&p==t;var v=!0;u.set(t,e),u.set(e,t);for(var y=i;++f<a;){var b=t[l=c[f]],d=e[l];if(n)var h=i?n(d,b,l,e,t,u):n(b,d,l,t,e,u);if(!(void 0===h?b===d||o(b,d,r,n,u):h)){v=!1;break}y||(y="constructor"==l)}if(v&&!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||(v=!1)}return u.delete(t),u.delete(e),v}(t,e,r,n,o,u))}function Xe(t,e,r,n,o){return t===e||(null==t||null==e||!rt(t)&&!rt(e)?t!=t&&e!=e:Ke(t,e,r,n,Xe,o))}function Ye(t){return t==t&&!w(t)}function Ze(t,e){return function(r){return null!=r&&(r[t]===e&&(void 0!==e||t in Object(r)))}}function tr(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,Ye(o)]}return e}(t);return 1==e.length&&e[0][2]?Ze(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 Se;if(n)var p=n(f,l,a,t,e,s);if(!(void 0===p?Xe(l,f,3,n,s):p))return!1}}return!0}(r,t,e)}}function er(t,e){return null!=t&&e in Object(t)}function rr(t,e){return null!=t&&function(t,e,r){for(var n=-1,o=(e=Qt(e,t)).length,u=!1;++n<o;){var i=Jt(e[n]);if(!(u=null!=t&&r(t,i)))break;t=t[i]}return u||++n!=o?u:!!(o=null==t?0:t.length)&&Z(o)&&se(i,o)&&(et(t)||ue(t))}(t,e,er)}function nr(t){return Ot(t)?nt(Jt(t)):function(t){return function(e){return Ht(e,t)}}(t)}function or(t){return"function"==typeof t?t:null==t?xe:"object"==typeof t?et(t)?(e=t[0],r=t[1],Ot(e)&&Ye(r)?Ze(Jt(e),r):function(t){var n=Kt(t,e);return void 0===n&&n===r?rr(t,e):Xe(r,n,3)}):tr(t):nr(t);var e,r}function ur(t,e){var r=-1,n=tt(t)?Array(t.length):[];return Ae(t,function(t,o,u){n[++r]=e(t,o,u)}),n}function ir(t,e){return(et(t)?Rt:ur)(t,or(e))}var cr=function(){try{var t=F(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}function lr(t,e,r){(void 0!==r&&!Pt(t[e],r)||void 0===r&&!(e in t))&&fr(t,e,r)}var sr="object"==typeof exports&&exports&&!exports.nodeType&&exports,pr=sr&&"object"==typeof module&&module&&!module.nodeType&&module,vr=pr&&pr.exports===sr?p.Buffer:void 0,yr=vr?vr.allocUnsafe:void 0;function br(t,e){if(e)return t.slice();var r=t.length,n=yr?yr(r):new t.constructor(r);return t.copy(n),n}function dr(t){var e=new t.constructor(t.byteLength);return new $e(e).set(new $e(t)),e}function hr(t,e){var r=e?dr(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}function jr(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var gr=Object.create,_r=function(){function t(){}return function(e){if(!w(e))return{};if(gr)return gr(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}(),wr=_r,mr=i(Object.getPrototypeOf,Object);function Or(t){return"function"!=typeof t.constructor||u(t)?{}:wr(mr(t))}var Ar=Function.prototype,xr=Object.prototype,kr=Ar.toString,Sr=xr.hasOwnProperty,Pr=kr.call(Object);function Ir(t,e){if(("constructor"!==e||"function"!=typeof t[e])&&"__proto__"!=e)return t[e]}var Er=Object.prototype.hasOwnProperty;function zr(t,e,r){var n=t[e];Er.call(t,e)&&Pt(n,r)&&(void 0!==r||e in t)||fr(t,e,r)}function $r(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):zr(r,c,a)}return r}var Br=Object.prototype.hasOwnProperty;function Mr(t){if(!w(t))return function(t){var e=[];if(null!=t)for(var r in Object(t))e.push(r);return e}(t);var e=u(t),r=[];for(var n in t)("constructor"!=n||!e&&Br.call(t,n))&&r.push(n);return r}function Fr(t){return tt(t)?we(t,!0):Mr(t)}function Nr(t,e,r,n,o,u,i){var c=Ir(t,r),a=Ir(e,r),f=i.get(a);if(f)lr(t,r,f);else{var l,s=u?u(c,a,r+"",t,e,i):void 0,p=void 0===s;if(p){var v=et(a),y=!v&&fe(a),b=!v&&!y&&ge(a);s=a,v||y||b?et(c)?s=c:rt(l=c)&&tt(l)?s=jr(c):y?(p=!1,s=br(a,!0)):b?(p=!1,s=hr(a,!0)):s=[]:function(t){if(!rt(t)||"[object Object]"!=_(t))return!1;var e=mr(t);if(null===e)return!0;var r=Sr.call(e,"constructor")&&e.constructor;return"function"==typeof r&&r instanceof r&&kr.call(r)==Pr}(a)||ue(a)?(s=c,ue(c)?s=function(t){return $r(t,Fr(t))}(c):w(c)&&!m(c)||(s=Or(a))):p=!1}p&&(i.set(a,s),o(s,a,n,u,i),i.delete(a)),lr(t,r,s)}}function Ur(t,e,r,n,o){t!==e&&Zt(e,function(u,i){if(o||(o=new Se),w(u))Nr(t,e,i,r,Ur,n,o);else{var c=n?n(Ir(t,i),u,i+"",t,e,o):void 0;void 0===c&&(c=u),lr(t,i,c)}},Fr)}var Dr=Math.max;var Tr=ar?function(t,e){return ar(t,"toString",{configurable:!0,enumerable:!1,value:(r=e,function(){return r}),writable:!0});var r}:xe,Cr=Tr,Lr=Date.now;var Rr=function(t){var e=0,r=0;return function(){var n=Lr(),o=16-(n-r);if(r=n,o>0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(Cr),qr=Rr;function Vr(t,e){return qr(function(t,e,r){return e=Dr(void 0===e?t.length-1:e,0),function(){for(var n=arguments,o=-1,u=Dr(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,e,xe),t+"")}var Gr,Wr=(Gr=function(t,e,r){Ur(t,e,r)},Vr(function(t,e){var r=-1,n=e.length,o=n>1?e[n-1]:void 0,u=n>2?e[2]:void 0;for(o=Gr.length>3&&"function"==typeof o?(n--,o):void 0,u&&function(t,e,r){if(!w(r))return!1;var n=typeof e;return!!("number"==n?tt(r)&&se(e,r.length):"string"==n&&e in r)&&Pt(r[e],t)}(e[0],e[1],u)&&(o=n<3?void 0:o,n=1),t=Object(t);++r<n;){var i=e[r];i&&Gr(t,i,r,o)}return t}));function Qr(t,e){return Xe(t,e)}var Jr=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)Ue(e,qe(t)),t=mr(t);return e}:Te,Hr=Jr;function Kr(t){return De(t,Fr,Hr)}var Xr=Object.prototype.hasOwnProperty;var Yr=/\w*$/;var Zr=v?v.prototype:void 0,tn=Zr?Zr.valueOf:void 0;function en(t,e,r){var n,o=t.constructor;switch(e){case"[object ArrayBuffer]":return dr(t);case"[object Boolean]":case"[object Date]":return new o(+t);case"[object DataView]":return function(t,e){var r=e?dr(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 hr(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,Yr.exec(t));return e.lastIndex=t.lastIndex,e}(t);case"[object Symbol]":return n=t,tn?Object(tn.call(n)):{}}}var rn=he&&he.isMap,nn=rn?ve(rn):function(t){return rt(t)&&"[object Map]"==Y(t)};var on=he&&he.isSet,un=on?ve(on):function(t){return rt(t)&&"[object Set]"==Y(t)},cn="[object Arguments]",an="[object Function]",fn="[object Object]",ln={};function sn(t,e,r,n,o,u){var i,c=1&e,a=2&e,f=4&e;if(r&&(i=o?r(t,n,o,u):r(t)),void 0!==i)return i;if(!w(t))return t;var l=et(t);if(l){if(i=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&Xr.call(t,"index")&&(r.index=t.index,r.input=t.input),r}(t),!c)return jr(t,i)}else{var s=Y(t),p=s==an||"[object GeneratorFunction]"==s;if(fe(t))return br(t,c);if(s==fn||s==cn||p&&!o){if(i=a||p?{}:Or(t),!c)return a?function(t,e){return $r(t,Hr(t),e)}(t,function(t,e){return t&&$r(e,Fr(e),t)}(i,t)):function(t,e){return $r(t,qe(t),e)}(t,function(t,e){return t&&$r(e,me(e),t)}(i,t))}else{if(!ln[s])return o?t:{};i=en(t,s,c)}}u||(u=new Se);var v=u.get(t);if(v)return v;u.set(t,i),un(t)?t.forEach(function(n){i.add(sn(n,e,r,n,t,u))}):nn(t)&&t.forEach(function(n,o){i.set(o,sn(n,e,r,o,t,u))});var y=l?void 0:(f?a?Kr:Ve:a?Fr:me)(t);return Xt(y||t,function(n,o){y&&(n=t[o=n]),zr(i,o,sn(n,e,r,o,t,u))}),i}ln[cn]=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[fn]=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[an]=ln["[object WeakMap]"]=!1;function pn(t){return sn(t,5)}function vn(t){return"[object String]"===Object.prototype.toString.call(t)}function yn(t){return!(!vn(t)||""===t)}function bn(t){return"[object Array]"===Object.prototype.toString.call(t)}function dn(t){return"[object Object]"===Object.prototype.toString.call(t)}function hn(t){return t!=t}function jn(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(dn(t)){for(let e in t)return!1;return!0}return!1}(t)||(!!function(t){return!(!vn(t)||""!==t)}(t)||(!!function(t){return!!bn(t)&&0===t.length}(t)||!!hn(t)))))}function gn(t){return!!bn(t)&&(0!==t.length&&(1!==t.length||!jn(t[0])))}function _n(t){if(dn(t)){for(let e in t)return!0;return!1}return!1}function wn(t){return!0===(e=t)||!1===e||rt(e)&&"[object Boolean]"==_(e);var e}function mn(t){let e=!1;if(yn(t))e=!isNaN(Number(t));else if(function(t){return"[object Number]"===Object.prototype.toString.call(t)}(t)){if(hn(t))return!1;e=!0}return e}function On(t,e){return!!dn(t)&&(!(!yn(e)&&!mn(e))&&e in t)}var An={exports:{}};!function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}function o(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function u(t,e,n,u,i){if("function"!=typeof n)throw new TypeError("The listener must be a function");var c=new o(n,u||t,i),a=r?r+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 n:delete t._events[e]}function c(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),c.prototype.eventNames=function(){var t,n,o=[];if(0===this._eventsCount)return o;for(n in t=this._events)e.call(t,n)&&o.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},c.prototype.listeners=function(t){var e=r?r+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,u=n.length,i=new Array(u);o<u;o++)i[o]=n[o].fn;return i},c.prototype.listenerCount=function(t){var e=r?r+t:t,n=this._events[e];return n?n.fn?1:n.length:0},c.prototype.emit=function(t,e,n,o,u,i){var c=r?r+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,n),!0;case 4:return l.fn.call(l.context,e,n,o),!0;case 5:return l.fn.call(l.context,e,n,o,u),!0;case 6:return l.fn.call(l.context,e,n,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 p,v=l.length;for(f=0;f<v;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,n);break;case 4:l[f].fn.call(l[f].context,e,n,o);break;default:if(!a)for(p=1,a=new Array(s-1);p<s;p++)a[p-1]=arguments[p];l[f].fn.apply(l[f].context,a)}}return!0},c.prototype.on=function(t,e,r){return u(this,t,e,r,!1)},c.prototype.once=function(t,e,r){return u(this,t,e,r,!0)},c.prototype.removeListener=function(t,e,n,o){var u=r?r+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||n&&c.context!==n||i(this,u);else{for(var a=0,f=[],l=c.length;a<l;a++)(c[a].fn!==e||o&&!c[a].once||n&&c[a].context!==n)&&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=r?r+t:t,this._events[e]&&i(this,e)):(this._events=new n,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=r,c.EventEmitter=c,t.exports=c}(An);var xn=r(An.exports);const kn=[];for(let t=0;t<256;++t)kn.push((t+256).toString(16).slice(1));const Sn=new Uint8Array(16);function Pn(){return crypto.getRandomValues(Sn)}const In={};function En(t,e,r){let n;if(t)n=zn(t.random??t.rng?.()??Pn(),t.msecs,t.seq,e,r);else{const t=Date.now(),o=Pn();!function(t,e,r){t.msecs??=-1/0,t.seq??=0,e>t.msecs?(t.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],t.msecs=e):(t.seq=t.seq+1|0,0===t.seq&&t.msecs++)}(In,t,o),n=zn(o,In.msecs,In.seq,e,r)}return e??function(t,e=0){return(kn[t[e+0]]+kn[t[e+1]]+kn[t[e+2]]+kn[t[e+3]]+"-"+kn[t[e+4]]+kn[t[e+5]]+"-"+kn[t[e+6]]+kn[t[e+7]]+"-"+kn[t[e+8]]+kn[t[e+9]]+"-"+kn[t[e+10]]+kn[t[e+11]]+kn[t[e+12]]+kn[t[e+13]]+kn[t[e+14]]+kn[t[e+15]]).toLowerCase()}(n)}function zn(t,e,r,n,o=0){if(t.length<16)throw new Error("Random bytes length must be >= 16");if(n){if(o<0||o+16>n.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`)}else n=new Uint8Array(16),o=0;return e??=Date.now(),r??=127*t[6]<<24|t[7]<<16|t[8]<<8|t[9],n[o++]=e/1099511627776&255,n[o++]=e/4294967296&255,n[o++]=e/16777216&255,n[o++]=e/65536&255,n[o++]=e/256&255,n[o++]=255&e,n[o++]=112|r>>>28&15,n[o++]=r>>>20&255,n[o++]=128|r>>>14&63,n[o++]=r>>>6&255,n[o++]=r<<2&255|3&t[10],n[o++]=t[11],n[o++]=t[12],n[o++]=t[13],n[o++]=t[14],n[o++]=t[15],n}var $n=/\s/;var Bn=/^\s+/;function Mn(t){return t?t.slice(0,function(t){for(var e=t.length;e--&&$n.test(t.charAt(e)););return e}(t)+1).replace(Bn,""):t}var Fn=/^[-+]0x[0-9a-f]+$/i,Nn=/^0b[01]+$/i,Un=/^0o[0-7]+$/i,Dn=parseInt;function Tn(t){if("number"==typeof t)return t;if(_t(t))return NaN;if(w(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=w(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=Mn(t);var r=Nn.test(t);return r||Un.test(t)?Dn(t.slice(2),r?2:8):Fn.test(t)?NaN:+t}var Cn=1/0;function Ln(t){return t?(t=Tn(t))===Cn||t===-1/0?17976931348623157e292*(t<0?-1:1):t==t?t:0:0===t?t:0}function Rn(t){var e=Ln(t),r=e%1;return e==e?r?e-r:e:0}function qn(t,e,r){var n=null==t?0:t.length;return n?function(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}(t,(e=r||void 0===e?1:Rn(e))<0?0:e,n):[]}function Vn(){let t,e,r=new Promise(function(){t=arguments[0],e=arguments[1]});return r.resolve=t,r.reject=e,r}function Gn(t){let e=Object.prototype.toString.call(t);return"[object Function]"===e||"[object AsyncFunction]"===e}function Wn(t,e){let r=Vn();if(!bn(t)&&!dn(t))return r.reject("rs is not an array or object"),r;let n=!1;if(dn(t)){n=!0;let e=[];ke(t,(t,r)=>{e.push({k:r,v:t})}),t=e}Gn(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),Gn(e)?e(c,i):c})},Promise.resolve()).then(function(t){u.push(t),u=qn(u),r.resolve(u)}).catch(function(t){r.reject(t)}),r}function Qn(t){if(!mn(t))return 0;return Ln(t)}function Jn(t){return!!mn(t)&&(t=Qn(t),"number"==typeof(e=t)&&e==Rn(e));var e}var Hn=p.isFinite,Kn=Math.min;var Xn=function(t){var e=Math[t];return function(t,r){if(t=Tn(t),(r=null==r?0:Kn(Rn(r),292))&&Hn(t)){var n=(Wt(t)+"e").split("e");return+((n=(Wt(e(n[0]+"e"+(+n[1]+r)))+"e").split("e"))[0]+"e"+(+n[1]-r))}return e(t)}}("round"),Yn=Xn;function Zn(t){if(!Jn(t))return!1;let e=function(t){if(!mn(t))return 0;t=Qn(t);let e=Yn(t);return"0"===String(e)?0:e}(t)>0;return e}async function to(t,e={}){let r=null,n=Vn();if(!Gn(t))return n.reject("waitfunction需輸入函數f"),n;let o=async()=>{let e=t();return function(t){let e,r=Object.prototype.toString.call(t);if(e="[object Promise]"===r,e)return!0;if("[object Function]"!==r)return!1;try{e="function"!=typeof t.subscribe&&"function"==typeof t.then}catch(t){}return e}(e)&&(e=await e),e};if(r=await o(),!0===r)return n.resolve(),n;let u=Kt(e,"attemptNum",null);Zn(u)||(u=200);let i=Kt(e,"timeInterval",null);Zn(i)||(i=1e3);let c=0,a=setInterval(async()=>{c+=1,r=await o(),!0===r&&(clearInterval(a),n.resolve()),c>u&&(clearInterval(a),n.reject(`exceeded attemptNum[${u}]`))},i);return n}return function(e={}){let r=null,o=Kt(e,"url");yn(o)||(o="./_db");let u=Kt(e,"db");yn(u)||(u="worm");let i=Kt(e,"cl");yn(i)||(i="test");let c=Kt(e,"useCache");wn(c)||(c=!1);let a=Kt(e,"autoGenPk");wn(a)||(a=!0);let f=`${o}/${u}/${i}`,l=t.open({path:f,compression:!0,useVersions:!0}),s=new xn,p=async()=>{if(c&&bn(r))return pn(r);await v();let t=[];for await(let{value:e}of l.getRange())t.push(e);return c?(r=t,pn(t)):t},v=async()=>{if("closed"===l.status)throw new Error("client is closed, instance can not be used after close()");await to(()=>"open"===l.status,{attemptNum:50,timeInterval:200})},y=(t,e)=>{let r=`can not ${t} by closed client, instance can not be used after close()`;return d(t,e,r),Promise.reject(new Error(r))},b=(t,e,r)=>{try{s.emit("change",t,e,r)}catch(t){console.log(t)}},d=(t,e,r)=>{try{s.emit("error",t,e,h(r))}catch(t){console.log(t)}},h=t=>{let e=Kt(t,"message");return yn(e)?e:String(t)},j=(t,e)=>a?ir(t,function(t){return yn(t.id)||(t.id=En()),t}):(ke(t,function(t,r){if(!yn(Kt(t,"id")))throw new Error(`can not ${e} by data[${r}] without valid id when autoGenPk is false`)}),t),g=async t=>{let e=null;try{e=await l.get(t)}catch(t){}return e};return s.select=async function(t={}){if("closed"===l.status)return y("select",null);let e=!1,r=null;try{let o=await p();if(_n(t)){r=new n.Query(t).find(o).all()}else r=o;bn(r)||(e=!0,r=`can not select by find[${JSON.stringify(t)}]`)}catch(t){e=!0,r=t}return e?(d("select",null,r),Promise.reject(r)):r},s.selectByPk=async function(t){if("closed"===l.status)return y("selectByPk",null);let e=!1,r=null;try{if(!yn(t))return null;await v();let e=await g(t);r=_n(e)?e:null}catch(t){e=!0,r=t}return e?(d("selectByPk",null,r),Promise.reject(r)):r},s.insert=async function(t,e={}){if("closed"===l.status)return y("insert",t);let n=!1,o=Kt(e,"returnList");if(wn(o)||(o=!1),!_n(t)&&!gn(t))return o?[]:{n:0,nInserted:0,ok:1};t=pn(t);let u=null;try{bn(t)||(t=[t]);let e=gt(t=j(t,"insert")),r=await Promise.all(ir(t,function(t){return l.ifNoExists(t.id,()=>{l.put(t.id,t)})})),n=0;ke(r,function(t){t&&n++}),u=o?ir(r,function(t){return{n:1,nInserted:t?1:0,ok:1}}):{n:e,nInserted:n,ok:1}}catch(t){n=!0,u=t}return r=null,n||b("insert",t,u),n?(d("insert",t,u),Promise.reject(u)):u},s.insertBulk=async function(e){if("closed"===l.status)return y("insertBulk",e);let n=!1;if(!_n(e)&&!gn(e))return{n:0,nInserted:0,ok:1};e=pn(e);let o=null;try{bn(e)||(e=[e]);let r=gt(e=j(e,"insertBulk")),n=null;if(await l.childTransaction(()=>{for(let r of e){if(void 0!==l.get(r.id))return n=r.id,t.ABORT;l.put(r.id,r)}}),yn(n))throw new Error(`can not insertBulk by existed id[${n}]`);o={n:r,nInserted:r,ok:1}}catch(t){n=!0,o=t}return r=null,n||b("insertBulk",e,o),n?(d("insertBulk",e,o),Promise.reject(o)):o},s.save=async function(t,e={}){if("closed"===l.status)return y("save",t);let n=!1;if(!_n(t)&&!gn(t))return[];t=pn(t);let o=Kt(e,"autoInsert",!0),u=null;try{bn(t)||(t=[t]),t=j(t,"save"),u=await Wn(t,async t=>{let e=null,n=!1;try{let r=await g(t.id);if(_n(r)&&Qr(Wr({},r,t),r))return{n:1,nInserted:0,nModified:0,ok:1};let u=!1,i=!1;await l.transaction(()=>{let e=l.get(t.id);if(u=_n(e),u){let r=Wr({},e,t);Qr(r,e)||(l.put(t.id,r),i=!0)}else o&&(l.put(t.id,t),n=!0)}),e=n?{n:1,nInserted:1,nModified:0,ok:1}:i?{n:1,nInserted:0,nModified:1,ok:1}:{n:u?1:0,nInserted:0,nModified:0,ok:1}}catch(t){e={n:1,nInserted:0,nModified:0,ok:0,err:h(t)}}return n&&(r=null,b("insert",[t],e)),0===e.ok&&d("save",[t],e.err),e})}catch(t){n=!0,u=t}return r=null,n||b("save",t,u),n?(d("save",t,u),Promise.reject(u)):u},s.del=async function(t){if("closed"===l.status)return y("del",t);let e=!1;if(!_n(t)&&!gn(t))return[];t=pn(t);let n=null;try{bn(t)||(t=[t]),n=await Wn(t,async t=>{let e=null;try{let r=Kt(t,"id","");if(yn(r)){_n(await g(r))?(await l.del(r),e={n:1,nDeleted:1,ok:1}):e={n:0,nDeleted:0,ok:1}}else e={n:0,nDeleted:0,ok:0,err:`can not delete by invalid id[${r}]`}}catch(t){e={n:1,nDeleted:0,ok:0,err:h(t)}}return 0===e.ok&&d("del",[t],e.err),e})}catch(t){e=!0,n=t}return r=null,e||b("del",t,n),e?(d("del",t,n),Promise.reject(n)):n},s.delAll=async function(t={}){if("closed"===l.status)return y("delAll",null);let e=!1,o=null;try{let e=await p(),r=gt(e),u=0;if(_n(t)){let o=new n.Query(t).find(e).all();if(u=gt(o),0===u);else if(r===u)for(let t of e)await l.del(t.id);else{let t={};ke(o,(e,r)=>{t[e.id]={k:r,v:e}});for(let r of e)On(t,r.id)&&await l.del(r.id)}}else{u=r;for(let t of e)await l.del(t.id)}o={n:u,nDeleted:u,ok:1}}catch(t){e=!0,o=t}return r=null,e||b("delAll",null,o),e?(d("delAll",null,o),Promise.reject(o)):o},s.close=async()=>{l&&"closed"!==l.status&&await l.close()},s}});
|
|
7
7
|
//# sourceMappingURL=w-orm-lmdb.umd.js.map
|